1.0.0-alpha.4 • Published 1 year ago

@baiducloud/eslint-config-typescript v1.0.0-alpha.4

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

@baiducloud/eslint-config-typescript

Console 控制台前端业务使用的 ESlint 配置,基于v8.21.0引入的新版配置实现,后续的 v9 版本中.eslintrc*将不再支持。

✔ 基于@ecomfe/eslint-config/typescript扩展

开发

添加 Plugin

如果需要添加一个插件,那么这个插件应该被指定为 peerDependency,这是因为插件将在最终用户的项目中被加载,所以最终用户需要自己安装他们需要的插件。之后,在项目的rules目录下创建demo-rule.js规则文件,将需要实现的规则加入到文件中,例如:

// demo-rule.js
export default {
  quotes: [2, 'double']
};

然后在index.js中扩展:

import DemoPlugin from 'eslint-plugin-demo';
import DemoRule from './rules/demo-rule';

{
  plugins: {
    "demo-plugin": DemoPlugin
  }
  rules: {
    ...DemoRule
  }
}

添加 Shared Config

如果需要添加一个外部的可共享配置,则需要在package.json中将这些包指定为依赖项,然后在index.js的数组中添加一个FlatConfig

调试

在当前项目中执行npm link,然后在目标项目中执行npm link @baiducloud/eslint-config-typescript,这样就可以在目标项目中调试当前项目。

安装

npm i -D @baiducloud/eslint-config-typescript

如果使用的 npm 版本小于 7.0,需要手动安装 peerDependencynpm i -D eslint

使用

建议使用新版的 flat config system,即:eslint.config.js是唯一的配置文件名称,.eslintrc*等格式的名称,以及 json、yaml 格式的配置文件都将不再支持。

ESLint 配置扩展:

export default [
  {
    rules: {
      'semi': 'error',
      'prefer-const': 'error'
    }
  }
];

TypeScript

如果项目中使用 TypeScript,需要安装 TypeScript 相关的依赖:

npm i -D @typescript-eslint/parser @typescript-eslint/eslint-plugin

如果使用 TypeScript 配置文件(tsconfig.json),需要指定配置的路径

import path from 'path';
import {fileURLToPath} from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

export default [
  /** @typescript-eslint/parser解析配置 */
  {
    languageOptions: {
      parserOptions: {
        // https://typescript-eslint.io/troubleshooting/#more-details
        project: './tsconfig.json',
        tsconfigRootDir: __dirname,
        ecmaFeatures: {
          jsx: true
        }
      },
      ecmaVersion: 'latest'
    }
  }
];
1.0.0-alpha.4

1 year ago

1.0.0-alpha.3

1 year ago

1.0.0-alpha.2

1 year ago

1.0.0-alpha.1

1 year ago