並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 140件

新着順 人気順

esmの検索結果1 - 40 件 / 140件

  • Native ESM 時代のフロントエンドビルドツールの動向

    No Bundle ツールの流行: vite / snowpack モダンブラウザは Native ESM を備えているので、開発時は高速な localhost アクセスを頼って直接 import する、外部ライブラリだけ事前にコンパイルしておく、という手法が流行ってきている。プロダクション用は今まで通りビルドする。 webpack はすべてを一つにバンドルするためにメモリ上にファイルの実体と依存グラフを持っているが、これによりメモリと CPU を圧迫する問題があった。特に巨大なリポジトリではそれが顕著になる。 No bundle ツールの実装として vite と snowpack がある。 https://github.com/vitejs/vite https://www.snowpack.dev/ vite は使ってみた限り、更新時の差分ビルドが爆速で、明らかに体感が良い。 Vue

      Native ESM 時代のフロントエンドビルドツールの動向
    • TypeScript 4.5 以降で ESM 対応はどうなるのか?

      本記事で記述した Node.js ESM 対応は2022 年 5 月に TypeScript 4.7 で正式版としてリリースされました。 本記事の内容との差分はmodule:node12がmodule:node16に変更されたことぐらいです。node16では top-level await が使え、現時点ではnodenextとの差分はありません。 他に関連する機能としてresolution-modeや--moduleDetectionが追加されましたが、一般利用者が意識することはないでしょう。 先日リリースされた TypeScript 4.5 Beta で、待望の Node.js ESM 対応がアナウンスされました。 その後、ユーザーからのフィードバックを経て、TypeScript チームは TS 4.5(11/16 リリース予定)では ESM 対応を stable リリースせず、Nigh

        TypeScript 4.5 以降で ESM 対応はどうなるのか?
      • Git 2.27.0 から git pull をすると表示されるようになった "Pulling without specifying how to reconcile divergent branches is discouraged." について - ESM アジャイル事業部 開発者ブログ

        最近の趣味はもっぱら L7 より下のお勉強、な @yucao24hours です。 梅雨入りもどこ吹く風の暑いある日、いつものように git pull を実行すると、以下のような警告が出るようになりました。 $ git pull warning: Pulling without specifying how to reconcile divergent branches is discouraged. You can squelch this message by running one of the following commands sometime before your next pull: git config pull.rebase false # merge (the default strategy) git config pull.rebase true # rebas

          Git 2.27.0 から git pull をすると表示されるようになった "Pulling without specifying how to reconcile divergent branches is discouraged." について - ESM アジャイル事業部 開発者ブログ
        • TypeScriptのmoduleオプションの話、あるいはTypeScript開発者の苦悩、あるいはCJSとESMの話

          皆さんこんにちは。早速ですが、TypeScriptのmoduleオプションはご存じでしょうか。moduleオプションは、例えば次のような値をサポートしています。 commonjs umd es2015 esnext node16 nodenext 皆さんは、moduleオプションが何を設定するオプションなのか一言で説明できますか? 実は、TypeScriptの熟練者であってもmoduleオプションを一言で説明することは難しいはずです。なぜなら、そもそもこのmoduleオプションが複数の異なる意味で使われており、もはや一言で説明できるようなものではなくなってしまったからです。 この記事では、TypeScriptのメンテナーが書いた次のGitHub issueをベースに、moduleオプションを取り巻く状況を説明します。 moduleオプションの意味とは 昔はmoduleオプションの意味は明確

            TypeScriptのmoduleオプションの話、あるいはTypeScript開発者の苦悩、あるいはCJSとESMの話
          • TypeScript 4.7 と Native Node.js ESM

            TypeScript 4.7 がリリースされたので、Node.js ESM 対応の現状をまとめておく。 @teppeis さんの TypeScript 4.5 以降で ESM 対応はどうなるのか? を先に読んでおくと、以降の話も読み進めやすいかも。 このエントリの中でも、teppeis さんの定義した用語をそのまま用いさせてもらう。 * CommonJS (CJS): 従来式の Node.js CommonJS で書かれたファイルまたはパッケージ * ES Modules (ESM): ES2015 で定義されたモジュール仕様。Node.js では v12 以降でネイティブにサポートされている。 * Native ESM: ESM 形式で記述されたファイルを、Node.js またはブラウザで直接 ESM として実行する方式またはそのファイル。擬似 ESM と区別するために Native と

            • Native ESM時代とはなにか

              最近の日本のフロントエンド界隈では「Native ESM時代」という言葉が聞こえてきます。Native ESM時代におけるビルドツールがどうなるかといったことが主な話題です。 個人的には面白い概念なので流行ってほしいと思い、Native ESM時代とは何かを解説する基礎的な資料を用意しました。 そもそもNative ESMとは Native ESMとは、ES Modulesのことです。つまり、ECMAScript仕様の一部として定義されたモジュールシステムを指します。現在、モダンな部類のフロントエンド開発において広く用いられている、import宣言でインポートしexport宣言でエクスポートするのがES Modulesです。 特に、ES Modulesはブラウザによって直接理解されるモジュールシステムです。Nativeという単語はこのことを強調しています。 Native ESM時代とは N

                Native ESM時代とはなにか
              • うおおおおおおおおおおおおお - ESM アジャイル事業部 開発者ブログ

                うおおおおおおおおおおおおおおおおおおおおおおおおおお。 子育て奮闘中の @wat-aro です。 この記事は ESM Advent Calendar 2022 - Adventar 19日目の記事です。 ある日 Slack のチャンネル一覧を眺めていると #うおおおおおおおおおおおおお というチャンネルがありました。 みんなで うおおおおおおおおおおおおお しています。 うおおおおしている様子 このチャンネル見つけてから毎日 うおおおおおおおおおおおおお しているわけですが、もっと うおおおおおおおおおおおおお したいわけです。 そんなわけで うおおおおおおおおおおおおお するプログラミング言語をつくりましょう。 繰り返し同じ言葉を使えるような言語であればたくさん うおおおおおおおおおおおおお できます。 そうですね。 Brainf**k*1 ですね。 Brainf**k での Hell

                  うおおおおおおおおおおおおお - ESM アジャイル事業部 開発者ブログ
                • Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜

                  2021/02/25(木) Node学園 35時限目の発表資料 https://nodejs.connpass.com/event/203464/ Node.js の ES Modules 対応についてRead less

                    Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
                  • 実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog

                    Wantedlyではこのたび、フロントエンドアプリケーションのひとつをNative ESM化しました。本記事ではNative ESM化の必要性と、必要な作業について説明します。 この記事の概要Node.jsにはNative ESMというモードがある。Native ESMはまだ普及していないが、ライブラリ側の更新が進み、移行が必要になりつつある。Native ESMをめぐる状況は (この記事の長さからわかるように) 色々複雑で、概念をちゃんと説明するだけでも大変。Native ESMへの移行にあたってはさまざまな困難が待ち受けている。Native ESMとは歴史的経緯から、JavaScriptには複数のモジュールシステムがあります。そのうちNode.js周辺でよく使われるのはCommonJS ModulesとES Modulesです。 CommonJS Modules (CJS) は実質的に

                      実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog
                    • ダブルチェックを低減する技術 - ESM アジャイル事業部 開発者ブログ

                      @koic です。 運用上の作業を開発者が行うというのは、昨今の DevOps ではよく見る光景だと思います。そして、運用手順の実施などにおいてダブルチェックというものを聞いたことあるでしょう。いや、むしろプロジェクトのルールで必要とされ、聞いたことがあるというレベルではないケースもあると思います。 そんなダブルチェック文化について、個人的には「ダブルチェックと聞いたらまず必要性を疑って判断する」という立ち位置で、本稿はそういった音楽性の人が書いた記事となります。 なお、一口に「ダブルチェック」といっても定義は広いため、「リアルタイムでの2人以上の指差し確認」を本稿でのダブルチェックの定義として位置付けます。 そもそも人間は間違えうるもの 本番環境へのショートサーキット 👿 Ops でも Dev のレビューフローにする 👼 形骸化したただの着席プロセスになっていないか疑う そもそも人間

                        ダブルチェックを低減する技術 - ESM アジャイル事業部 開発者ブログ
                      • Native ESM + TypeScript 拡張子問題: 歯にものが挟まったようなスッキリしない書き流し

                        Node.jsのNative ESM対応は夢の機能ですが、夢を詰め込みすぎたせいかCJSからの移行を難しくしているポイントが依然として存在します。そのひとつが拡張子問題で、Node.jsのNative ESMではモジュールの拡張子を明示しなければいけなくなりました。 (これはWebブラウザの挙動に近づけるための判断だと考えられます。) 特にTypeScriptと他のツール (JestやWebpack) と組み合わせて利用している状態でのNative ESM化は実質的に未解決の状態だと言えます。本稿ではこの現状についてできる範囲で状況説明を試みます。 Node.jsの拡張子の扱い Node.jsはCJSとESMの2つのモジュールフォーマットをサポートしていますが、これらは単にパーサーが異なるだけではなく、実質的には「2種類の異なるモジュールシステムがFFIで繋がっている」程度には隔たりがあり

                          Native ESM + TypeScript 拡張子問題: 歯にものが挟まったようなスッキリしない書き流し
                        • Rubyでできる!RISC-Vシミュレータの作りかた 〜 From 4649 To HELLO WORLD 〜 - ESM アジャイル事業部 開発者ブログ

                          HELLO WORLD〜 はじめに こんにちは、永和システムマネジメントの自作CPUおじさん、はたけやまたかし( @htkymtks )です。 今回はRubyを使った小さなRISC-Vシミュレータの作り方をご紹介します(以前もシミュレータの記事を書いたのですが、シミュレータに大幅に手を入れたので、それに対応したHDリマスター版です) リポジトリ (今回ご紹介するシミュレータのリポジトリはこちら) thata / rv32sim https://github.com/thata/rv32sim RISC-Vとは RISC-VはCPUの命令セットアーキテクチャ(ISA)のひとつで、使用料のかからないオープンソースライセンスで提供されていることや、命令セットの美しさから最近注目を集めています。 仕様 RISC-Vの仕様にはワード幅(32ビット、64ビット)や浮動小数点数サポートの有無など、いくつ

                            Rubyでできる!RISC-Vシミュレータの作りかた 〜 From 4649 To HELLO WORLD 〜 - ESM アジャイル事業部 開発者ブログ
                          • Deep Dive: Node.jsのESMデフォルト化への道

                            Node.js 21では --experimental-default-type=module フラグで、JavaScriptファイルのデフォルトの解釈をCJS(CommonJS)からESM(ECMAScript Modules)に変更できるようになっています。 Node.js 21 is now available! | Node.js これは、Node.jsにおいてJavaScriptファイル(.js)のデフォルトをESMに変更するための第一歩です。 今回のDeep Diveでは、Node.jsのESMデフォルト化に向けたIssueや実装について紹介します。 Node.jsのESMデフォルト化 Discussion: New “ESM by default” mode · Issue #49432 · nodejs/node このIssueは、Node.jsにおけるambiguous

                              Deep Dive: Node.jsのESMデフォルト化への道
                            • Node.jsに入る新しいCJSからESMへの読み込み方法の紹介 - hiroppy's site

                              新しくCJSとESMの間での解決方法が変わる提案が出てきました。 まだマージされてませんが、すでに複数の承認があり、この方針から変わることはないように見えるので紹介したいと思います。 module: support require()ing synchronous ESM graphs by joyeecheung · Pull Request #51977 · nodejs/node Summary This patch adds require() support for synchronous ESM graphs under the flag --experimental-r... 新しい提案 この仕組みを利用する場合、--experimental-require-moduleフラグが必要となります。 以下は、わかりやすいようにpackage typeを指定せずにデフォルトはCJS

                                Node.jsに入る新しいCJSからESMへの読み込み方法の紹介 - hiroppy's site
                              • アプリケーションコードに変更を加えないNode.js Native ESMへの移行

                                LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは。フロントエンド開発センター(UIT) Front-end Dev.9チームの鴻巣(@kazushikonosu)です。LINEスキマニおよびLINE Creators Marketのフロントエンド開発を担当しています。 LINEスキマニのフロントエンドチームでは、React/TypeScript製のWebアプリを開発しています。主にクライアントサイド向けのコードを扱っていますが、SSRのため同じリポジトリ内でNode.jsを使って実行されるTypeScriptコードも扱っています。クライアントサイドのモジュールバンドラとして長らくwebpackが使われていましたが、webpackを使い続けることでチームの

                                  アプリケーションコードに変更を加えないNode.js Native ESMへの移行
                                • Emacs でだって Docker で開発したい! - ESM アジャイル事業部 開発者ブログ

                                  こんにちは。wat-aro です。 Docker 環境で開発する際に VSCode の Remote Container はとても便利ですね。 でも今まで Emacs で開発してきた人は VSCode ではなく Emacs を使いたいはずです。 ここでは僕が Emacs + Docker 環境でどのように開発しているかを紹介します。 docker コマンド まずは docker コマンドを使えなくてはなりません。 Emacs 使いのみなさんはターミナルでなく Emacs から docker コマンドを叩きたいですよね。 そんなときは docker.el です。 https://github.com/Silex/docker.el docker image コマンドや docker compose コマンドが Emacs から実行できます。 docker compose up で立ち上げたコ

                                    Emacs でだって Docker で開発したい! - ESM アジャイル事業部 開発者ブログ
                                  • CJSとESMの挙動早見表 - hiroppy's site

                                    厳格モード時に変数として使えなくなる予約語です。 arguments eval implements interface package private protected public static let yield // index.js var arguments; arguments = []; var eval = 1; eval = eval; // constは予約語ですが、letは違います var implements, interface, package, private, protected, public, static, let, yield, await; 上記以外の許容されない記法 特殊な記法のケースです。 CodeCJSESMSCRIPT

                                      CJSとESMの挙動早見表 - hiroppy's site
                                    • 🌕 moonでのmonorepo管理とpackemonでのCJS/ESMのdual package

                                      🌕 moonでのmonorepo管理とpackemonでのCJS/ESMのdual package 🌕 moon 一貫性を持ったmonorepo管理ツール for JavaScript ハッシュを使ったファイルキャッシュ プロジェクトのパッケージ間の依存関係の分析とタスク実行 Node.js/npmパッケージマネージャーのバージョン管理と一貫性 TypeScriptのProject Referendcesの一貫性 比較 Nx: The Framework + Pluginで拡張する Lerna: Nx傘下、ライブラリ公開向け Turborepo: タスク実行の最適化をする moon: monorepoでの一貫性を提供する Packemon: moonと同じ作者。ESM/CJSのライブラリ公開向け 比較(言語) Nx: TypeScript + C++[^1] Turborepo: Go

                                      • 神田オフィス閉鎖と今後の働き方についてのお知らせ - ESM アジャイル事業部 開発者ブログ

                                        永和システムマネジメント東京支社オフィスは2022年10月を持って閉鎖します。 2015年5月に神田須田町に移転して以来、コワーキングスペースを設けたオフィスとして、 Asakusa.rb をはじめ多くのコミュニティに活用いただいておりましたが、リモートワークの推進もあり、この度閉鎖する運びとなりました。 今後については、固定オフィスを閉鎖した代わりに、レンタルオフィスである WeWork との契約を進めました。リモートワークに加えて WeWork を、働き方の選択肢のひとつに加えて業務を推進していきます。 WeWork の会議室を活用した対面でのコミュニティ活動についても、コロナ禍の様子を見ながら検討していきたいと考えております。引き続き多くの皆様とお会いできることを楽しみにしています。 最後に、来ていただいた多くの方々のサインを貼っておきます。皆様、ありがとうございました! 株式会社永

                                          神田オフィス閉鎖と今後の働き方についてのお知らせ - ESM アジャイル事業部 開発者ブログ
                                        • Get Ready For ESM

                                          JavaScript Modules will soon be a reality for Node.js package maintainers. Edit: It’s now a reality! This blog post is targeted Node.js package maintainers. At the end of April 2021, Node.js 10 will be end-of-life, which means that package maintainers can target Node.js 12. This Node.js version has full support for JavaScript Modules, also known as ESM. From the left: Addy Osmani, Dave Herman, and

                                            Get Ready For ESM
                                          • TypeScript 4.5 Beta で実装された Node.js ESM 対応を試してみた - mizdra's blog

                                            ご存じの方もいるかもしれませんが、TypeScript 4.5 Beta で遂に Node.js ESM がサポートされました。まだ Stable に来ていない実験的な機能なのですが、どういうものなのか気になったので、先日趣味で作っているプロダクトに導入してみました。で、この記事はその備忘録です。実験的な機能で、これから状況もどんどん変わっていくので、数カ月後にはこの記事の内容も古くなっているかもしれません。未来から来た人がこの記事を読んでいる場合は、注意して読んで下さい。 今回 TypeScript の Node.js ESM 対応を導入してみたのはこちらの eslint-interactive というプロダクトです。以前このブログでも紹介した ESLint の API を使った CLI ツールです。 github.com www.mizdra.net www.mizdra.net どう

                                              TypeScript 4.5 Beta で実装された Node.js ESM 対応を試してみた - mizdra's blog
                                            • TypeScript and native ESM on Node.js

                                              In this blog post, I’ll explain everything you need to know in order to use and produce native ECMAScript modules on Node.js. The GitHub repository iterable is an example of a TypeScript ESM package that works on Node.js. It still uses the "typesVersions" workaround (which isn’t needed in TypeScript 4.7 and later). (Thanks to Guy Beford and Oleg Drapeza for their feedback on this post.) TypeScript

                                              • ESM アジャイル事業部が購入している書籍たち (2022 秋) - ESM アジャイル事業部 開発者ブログ

                                                読書の秋ですね。書棚を見ればその人がわかるといいますが、永和システムマネジメント アジャイル事業部でも運用している書籍購入支援制度で購入されている書籍をリストアップします。 この制度自体が運用し始めて長くなってきているため、直近の一年くらいに絞った内容です。メンバーたちがどのような書籍を購入しているか、読書の秋の参考にどうぞ。 Ruby JavaScript / TypeScript Rust Web データベース クラウド ソフトウェア設計 Linux 運用 その他 最も購入されていた書籍 (ESM Bookshelf of the Year 2022) 🥇 ★は複数人が購入。★★はその中でも購入が多かったタイトルです。 Ruby @kakutani フェローが絶賛翻訳中の『研鑽Rubyプログラミング β版』がよく購入されており、特に昨年の Kaigi on Rails での @kak

                                                  ESM アジャイル事業部が購入している書籍たち (2022 秋) - ESM アジャイル事業部 開発者ブログ
                                                • Rust でもできる!RISC-Vシミュレータの作りかた 〜 From Ruby To Rust 〜 - ESM アジャイル事業部 開発者ブログ

                                                  最近 ESM と RISC-V のロゴの配色が似ていると感じている @wat-aro です。 はたけやまさん の blog.agile.esm.co.jp はおもしろい記事でしたね。 この記事は最後こう締めくくられています。 以上、Rubyを使ったシンプルなRISC-Vシミュレータの作り方のご紹介しました。 皆さんも梅雨の時期のおうち時間にお好きなプログラム言語でCPUシミュレータ自作なんていかがですか? なのでこの記事を参考に Rust で RISC-V シミュレータを作成しました。 https://github.com/wat-aro/rv32sim.rs 処理の流れはだいたい元記事と同じですのでもっと詳しく知りたい人は元記事からどうぞ。 メモリ まずメモリの定義です。 write と read と、初期データの読み込み用の initialize メソッドを持っています。 32 bit

                                                    Rust でもできる!RISC-Vシミュレータの作りかた 〜 From Ruby To Rust 〜 - ESM アジャイル事業部 開発者ブログ
                                                  • Pure ESM package

                                                    esm-package.md Pure ESM package The package that linked you here is now pure ESM. It cannot be require()'d from CommonJS. This means you have the following choices: Use ESM yourself. (preferred) Use import foo from 'foo' instead of const foo = require('foo') to import the package. You also need to put "type": "module" in your package.json and more. Follow the below guide. If the package is used in

                                                      Pure ESM package
                                                    • ESM>CDN

                                                      Create modern(es2015+) web apps easily with NPM packages in browser/deno.No build tools needed!import confetti from "https://esm.sh/canvas-confetti@1.6.0" esm.sh is a modern CDN that allows you to import es6 modules from a URL: import Module from "https://esm.sh/PKG@SEMVER[/PATH]"; or build a module with custom input(code): import { esm } from "https://esm.sh/build"; const { render } = await esm`

                                                        ESM>CDN
                                                      • require(ESM)とECMAScript仕様

                                                        Meguro.es #27 @ oRo

                                                          require(ESM)とECMAScript仕様
                                                        • [復刻]ドキュメント記述の心構え - ESM アジャイル事業部 開発者ブログ

                                                          2004年中途入社の koic です。来月で入社17年。長いですね。 17年の間で人や技術が流転する長い勤務の中で伝承の途切れを観測していることから、私がいまの勤務先に入ったころ Wiki への考え方への影響を受けたものを発掘してみました。今回、私的解釈を交えて一般公開します。 はじめに 『ドキュメント記述の心構え』原文 私的解釈 {{toc}} 木構造よりも、ネットワーク構造を好め ネストしたリストよりも、見出しによる構造化を好め リストで文章を区切るよりも、空行をあけてPタグでレンダリングせよ 安易に項目追加する前に、リオーガナイズを検討せよ 正規化と重複の均衡点を探せ PREとQUOTEを使い分けよ リオーガナイズのメカニクスを用意せよ おわりに はじめに 本記事で取りあげるのは 2006年以前に「ドキュメント記述の心構え」 (WikiName は DeciplinesOfWriti

                                                            [復刻]ドキュメント記述の心構え - ESM アジャイル事業部 開発者ブログ
                                                          • 100秒で理解するESM(ESModules)

                                                            ESMとは まず、ESMの定義から見てみましょう。 JavaScript Primer には、以下のように書かれていました。 ECMAScriptモジュールは、ES2015で導入されたJavaScriptファイルをモジュール化する言語標準の機能です。 jsprimer - [ES2015] ECMAScriptモジュール この定義を見て、「2015年から?」「それまではどうしてたの?」って思いますよね(私はそう思いました。)実は、ESMが登場するまでは「CommonJS modules」という、標準ではない仕様が使われていたのです。 CommonJSとは CommonJSについては、以下で分かりやすく解説動画を作成したので、ぜひご覧ください! CommonJSの問題点 CommonJSでは、「require」や「module.exports」というキーワードを作って、モジュールを扱うことが

                                                              100秒で理解するESM(ESModules)
                                                            • GitHub - privatenumber/tsx: ⚡️ TypeScript Execute: Node.js enhanced to run TypeScript & ESM

                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                GitHub - privatenumber/tsx: ⚡️ TypeScript Execute: Node.js enhanced to run TypeScript & ESM
                                                              • ESM treeshake に対応したバンドルサイズを計算してくれる Shakerphobia を作った

                                                                bundlephobia.com というサイトがあります。これは npm のモジュールを参照した際のバンドルサイズを算出してくれるサービスです。 便利なんですが、基本的に dist/.. 等の package.json の main で配られるものだけをターゲットにしているので、 ESM Treeshake で一部のモジュールだけ import {} from ... した際のバンドルサイズがわからない、という問題がありました。 なので、それに対応したものを自分で作りました。netlify にデプロイしてあります。 こんな感じです。 使い方 https://shakerphobia.netlify.app/?pkg=<>&imports=<a,b,c> どうやって動いてるか URL を踏むと、 cdn.skypack.dev (その実体は npm) からソースコードを落としてきて、 Web

                                                                  ESM treeshake に対応したバンドルサイズを計算してくれる Shakerphobia を作った
                                                                • eslint-cjs-to-esm: CJSをESMへとマイグレーションするツールを書いた

                                                                  最近、色々なライブラリをCommonJS(CJS)からECMAScript Module(ESM)へとマイグレーションしています。 その際に、ESMでは__dirnameやrequireなどCommonJS特有の機能は使えなくなっています。 また、TypeScriptやBabelなど多くのツールはCJSではimport時に拡張子はなくても大丈夫ですが、ESMの場合はimport時に拡張子が必要になります。 import url from "node:url"; - import { mdEscape } from "./mdEscape"; + import { mdEscape } from "./mdEscape.js"; // ESMでは相対パスに拡張子は省略できない + const __filename = url.fileURLToPath(import.meta.url); /

                                                                    eslint-cjs-to-esm: CJSをESMへとマイグレーションするツールを書いた
                                                                  • GitHub - tsmodule/tsmodule: Create standardized TypeScript ESM packages for Node or browser.

                                                                    A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

                                                                      GitHub - tsmodule/tsmodule: Create standardized TypeScript ESM packages for Node or browser.
                                                                    • Prettier 2.2: new JavaScript parsers, TS 4.1 and ESM standalone bundles · Prettier

                                                                      This release supports new JavaScript parsers espree and meriyah, supports TypeScript 4.1, ships ESM standalone bundles for modern browsers, and includes many bug fixes and improvements! Highlights Add espree and meriyah parser (#9000, #9514 by @fisker) Two new values for the parser option has been added: espree - which is the default parser used by ESLint. Note that espree only works for Finished

                                                                        Prettier 2.2: new JavaScript parsers, TS 4.1 and ESM standalone bundles · Prettier
                                                                      • リモートワークスタイルチェックをやってみた (永和システムマネジメント アジャイル事業部の場合) - ESM アジャイル事業部 開発者ブログ

                                                                        エンジニアリングマネージャーの @koic です。富山Ruby会議01の主催者でもあった @mugi_uno さんがまとめられたリモートワークスタイルチェックを行ってみました。 ここ最近やった何件かのカジュアル面談を通して、"リモートワーク" のスタイルの認識に企業・個人によって大きく差がある印象を受けたので、ミスマッチを防ぐためにチェックリスト的なものを作ってみました(こういう観点もあるよ〜とかあれば知りたい)https://t.co/1faTEwNzKB— mugi (@mugi_uno) 2022年3月22日 受託開発企業である弊社アジャイル事業部でのリモートワークのチェックリストとなります。サービス企業でない受託開発企業の、ひとつのリモートワーク度合いとしてご参考ください。それでは見ていきましょう。 リモートワーク比重度 リモートワークの導入期間 どの程度リモートワークを導入してい

                                                                          リモートワークスタイルチェックをやってみた (永和システムマネジメント アジャイル事業部の場合) - ESM アジャイル事業部 開発者ブログ
                                                                        • Hybrid npm packages (ESM and CommonJS)

                                                                          Warning: This blog post is outdated. It may contain incorrect information. Update 2019-11-22: ESM support in Node.js is not experimental, anymore. This post was updated to reflect that. Conditional exports are now explained. In this blog post, we look at npm packages that contain both ES modules and CommonJS modules. Required knowledge: How ES modules are supported natively on Node.js. You can rea

                                                                          • ts-jestとESM - lacolaco notes

                                                                            #Jest v27 / ts-jest v27 https://jestjs.io/ja/docs/next/ecmascript-modules Node.js の --experimental-vm-modules オプションが必要 ESMとして扱いたいファイルの拡張子を extensionsToTreatAsEsm で宣言する必要あり JestがESMをサポートしている状態では内部的に supportsStaticESM フラグがtrueになる このフラグを明示的に外から指定はできない。総合的判断される ts-jestに渡したtsconfigのmodule設定はリスペクトされていない https://github.com/kulshekhar/ts-jest/blob/a4b88ca076e1e2a367e01341b8bd0e21033ec422/src/compiler/ts-c

                                                                              ts-jestとESM - lacolaco notes
                                                                            • Prettierのあまりに行儀の悪い Pure ESM パッケージ対応

                                                                              期末テストやらなんやらで忙しく、一週間くらいアドベントカレンダーをさぼってしまいました。この記事も電車の中で書いています。 さて、今日は Node.js ライブラリにおける Pure ESM 対応の話です。 前提 Prettier で採用していた方法を紹介する目的でこの記事を書いています。 Prettier は npm にパブリッシュするときには esbuild でバンドルしていますが、ソースコードは CommonJS Modules で記述されていて Node.js からそのまま実行できます。これは GitHub から直接 Prettier をインストールした場合でも Node.js で動作するようにするためです。 こういったケースはほとんどないと思いますので、ここで紹介する手法で有効である場合は少ないでしょうし、後述しますがデメリットが多いので普通にやらないほうがよいと思います。 世は

                                                                                Prettierのあまりに行儀の悪い Pure ESM パッケージ対応
                                                                              • Deno + dntでCJS・ESMに対応したnpmパッケージを作ろう

                                                                                3 行まとめ CJS、ESM に対応した npm パッケージが Deno + dntで簡単に作成できる Deno で開発できるので、Lint、Format、Test、TypeCheck が設定なしですぐに使える dntで作成した CJS、ESM のファイルに対して、それぞれ Node.js でもテストを実行してくれる Deno のモジュールを npm パッケージに変換するdnt Deno のdntモジュールを使うと、Deno で実装したモジュールを CommonJS(CJS) と ESM、TypeScript に対応した npm パッケージとして公開できます。 実際、今回 Deno とdntを試してみましたが、Deno には Linter、Formatter、Test などが組み込まれているので、すぐに npm パッケージの作成に取り掛かれるのが良かったです。また、CICD の自動化(Gi

                                                                                  Deno + dntでCJS・ESMに対応したnpmパッケージを作ろう
                                                                                • イシューを閉じる技術 - ESM アジャイル事業部 開発者ブログ

                                                                                  @koic です。 GitHub などでイシュー管理しているプロジェクトは多いと思います。プロジェクトで開いているイシューの数はいくつありますか? 私はいくつかのプロジェクトで 100 以上のイシューが開いているのを確認しています。Rust では 8,000 以上のイシューが開いているので全然大したことないかもしれませんが、いつまでも放置していても見通しが悪いままなので整理するのは悪くないアクションです。 これは人それぞれの好みもありますが、オープンソースのような自由時間で行っている活動で、地球の裏側から開かれた (良かれとオープンされた) イシューをクローズするのは精神力を使うので、Stale bot のようなものでクローズするのは「問題 vs 私たち」の構図にするひとつの選択です。一方で業務の方ではもう少しきめ細かくクローズできると良さそうという考えを持っていて、本稿ではそんなお仕事で

                                                                                    イシューを閉じる技術 - ESM アジャイル事業部 開発者ブログ