generated at
package.jsonのtype
Node.jsが使用するmodule formatを指定する
そのproject内の .js のファイルをCommonJS/ES Modulesのどちらで扱うかが変わる
拡張子に.cjsと.mjsを使っているファイルには影響しない
(npmではなく) node.jsによる仕様
最初npmのdocsを見に行っても見つからなかった
何でもかんでもpackage.jsonに指定するの分かりづらすぎでしょ






3つ
未指定
CommonJSとしてloadされる
なんでデフォルトでcjsなんだろう?mrsekut
>This flag currently defaults to "commonjs", but it may change in the future to default to "module". For this reason it is best to be explicit wherever possible ref
今はデフォルトがCJSだが、将来的にESMに変わる可能性があるので明示的に指定しとけ、と書いてあった
type: "commonjs"
CommonJSとしてloadされる
ES Modulesとしてloadされる



こう書いていると
package.json
{ "type": "module" }
そのプロジェクトはESMとして実行される
bash
$ node hoge.jp # runs as ES module