eslint 9 + typescritp 不带类型模块

问题描述 投票:0回答:1

我正在尝试将

next-json
eslint 升级为 v9

我遵循了官方的入门指南,但为了使其正常工作,我需要在

"type": "module"
文件中设置
package.json

由于我将包同时作为 CJS 和 ESM 分发,因此我担心此设置可能会在 CJS 分发版本上产生问题。

我也可以使用此设置安全地分发包吗?

javascript node.js typescript eslint typescript-eslint
1个回答
0
投票

是的,可以。如果您无法在

"type": "module"
中设置
package.json
,您仍然可以:

  • 通过将 ESLint 配置文件命名为
    eslint.config.mjs
    而不是
    *.cjs
    .js
  • ,强制 ESLint 配置文件作为模块执行
  • 在 ESLint 配置文件中使用 CommonJS 语法。您可以使用
    import
    export default [ ... ]
    ,而不是
    require
    module.exports = [ ... ]
    const eslint = require('eslint');
    const tseslint = require('typescript-eslint');
    
    module.exports = [
      eslint.configs.recommended,
      ...tseslint.configs.recommended,
    ];
    

这个问题出现在 typescript-eslint 文档中:请参阅 https://github.com/typescript-eslint/typescript-eslint/pull/927 及其链接问题。命名 ESLint 配置文件

eslint.config.mjs
是 typescript-eslint 文档现在所做的。

© www.soinside.com 2019 - 2024. All rights reserved.