Open2

ESLinstのeslint-plugin-importがnode.jsのesmoduleに対応していない

haru256haru256

そもそもmodule周りが複雑。自分の認識だと以下の3つがある

  1. ESModule
  2. CommonJS (Node特有)
  3. Node.jsのESModule (Node特有)

Node.jsのESModuleは、ESModuleの様式(import, from)なんだけど、拡張子まで必要なfull pathを要求される(それがTypescriptでもトランスパイル後の.jsという拡張子が必要)。ただし、これはNodeがESModuleに対応するための一時的な対応で、今後はTypescript側のupdateで.tsc, .tsmという拡張子がサポートされ、拡張子まで必要なfull pathは要求されない見込みらしい。以下の本に書いてあった。

https://gihyo.jp/book/2022/978-4-297-12747-3