Export maps and node support
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- javascript, node.js
- 領域
- build-system
調査の方向性
package.json の exports フィールドと main フィールド、および生成された dist/index.modern.js と dist/index.js から始め、Node.js v14.15.3 で require('color2k') を再現します。パッケージの exports の解決を、条件付き exports に関する Node のドキュメントと比較します。公開されたパッケージの設定または出力が、ブラウザーのエントリーポイントを維持したまま require() で読み込めれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Hello there 👋,
I recently switched to microbundle for a bunch of my libs and I love it so far, however, I ran into an issue where the modern bundle (via exports) doesn't seem to run inside node.js.
My (simplified) package.json looks like this:
{
"name": "color2k",
"sideEffects": false,
"exports": "./dist/index.modern.js",
"main": "./dist/index.js",
"unpkg": "./dist/index.umd.js",
"module": "./dist/index.module.js",
"source": "./src/index.ts",
"types": "./dist/index.d.ts",
"scripts": {
"build": "microbundle"
}
}
And after I run microbundle, my dist folder looks like this
index.d.ts
index.js
index.js.map
index.modern.js
index.modern.js.map
index.module.js
index.module.js.map
index.umd.js
index.umd.js.map
And after I publish with this config and run the following code with Node.js, I get the following error:
// my-file.js
const color2k = require('color2k');
// ...
SyntaxError: Unexpected token 'export'
at wrapSafe (internal/modules/cjs/loader.js:979:16)
at Module._compile (internal/modules/cjs/loader.js:1027:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
I suspect this is due to Node.js not knowing what to do with exports. For more context, I'm not using the mjs extension when running this code in node LTS v14.15.3.
Maybe this is more of a question rather than a bug but in general: How do I use exports with microbundle? How can I author a package that is both for Node.js and browsers?
- Do I need to write a conditional exports map?
- Do I need to post-fix the modern bundle with the
.mjsextension? If so how do I do that with microbundle?
Thanks for any support!
For now, I'll just remove the exports field.
- 主要言語
- JavaScript
- スター
- 8.1k
- フォーク
- 358
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
developit/microbundle のほかの issue
-
CSS
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
developit/microbundle#1002 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
developit/microbundle#789 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
developit/microbundle#1100 · コメント 4 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
developit/microbundle#1094 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
developit/microbundle#1093 · コメント 3 件 · リアクション 1 件 ·
developit/microbundle の issue をすべて見る
似ている issue
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·