Node.jsに関するyumenautのブックマーク (2)

  • 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 と

  • ESモジュールとCommonJSと対応したTypeScriptパッケージの(たぶん)正しい作り方 - Qiita

    先日、JTC-utils という CommonJS と ESM に対応したデュアルパッケージを公開したのですが、とてつもなく苦労したのでここにメモを残しておくことにします。 デュアルパッケージに対応するという記事はいくつかありますが、この記事は次の条件の時に役に立つと思います。 ソースコードは TypeScript で作りたい。 CommonJS と ESモジュールの両方に対応したい。 サブモジュール1を作りたい。(←ここ重要) 2023/07/18 コメントを受け、一部訂正をいれています。 2023/07/19 さらに調べたところ、TypeScript の公式見解としては、たとえ型宣言ファイル(.d.ts)の内容が同じであっても、.cjs に対しては .d.cts を用意すべきとのことでしたので、その前提に基づき記述を全面的に見直しました。 何がそんなに難しいのか TypeScript

    ESモジュールとCommonJSと対応したTypeScriptパッケージの(たぶん)正しい作り方 - Qiita
  • 1