-
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node.js ESMの対応 #1355
Comments
大まかな方針としては、次のやり方が考えられそう
@lacolaco どうするのがよさそうですかね? |
理想的には1かなーと思いますが現実問題CJSの話がどれくらい必要になるか確かめてみて次第ですかね 年末に調べてみますが、CJSが捨てられるのはまだ先だろうし3を選んでもいい時期でもありそうです |
例えばnode-fech v3はESMになりましたがそれに依存するgaxiosは当面移行する気なさそうですね。 |
一旦、3で進めるかなー |
Node.js 16のLTSが今年の後半だから、npm 8の対応はやっておかないといけないのか。 |
https://deploy-preview-1457--js-primer.netlify.app/use-case/nodecli/argument-parse/#commonjs-module
これを書き換える必要はある。 |
1 の方針でやる。 |
概要
Node.jsのLTSはESMをネイティブサポートしているので、Node.jsでCLIアプリの章をESMベースに書き直したい。
しかし、現状のNode.js ESMは色々中途半端な部分があって完全に切り替えるかが迷いどころ。
refs Pure ESM package
#1337 ES2022の対応と合わせてやりたいので、大体2022年6月ぐらいまでに完了させたいイメージ。
Node.jsでのESMの現状
今Node ESMを扱う問題は
type:module
かmjsが必要で一手間)__dirname
とか、resolve
とか普通に使えて欲しいものも、今はイディオムがいる)今Node ESMを扱うべき理由は
直接Node.jsでJavaScriptを書くならESMでなんとかなるけど、
他のツールを使おうとすると結構ハマり所があると言うのが所感。
CLIの章をESMにする場合に決めないといけないこと
ESMからCJSとESMは特に問題なくimportできるinteropがNode.jsにはあるはずなので、パッケージ自体が対応してるかはあんまり気にしなくていいけど一応(mochaだけは対応が必須ではあるけど、対応してたので問題ないはず)
その他 関連する変更
node:
prefix module New in Node.js:node:
protocol importsThe text was updated successfully, but these errors were encountered: