0.4.0 • Published 4 months ago

@wang1212/eslint-config v0.4.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

ESLint Config

LICENSE NPM VERSION DOWNLOAD LAST COMMIT GITHUB PACKAGE CI Commitizen friendly Codacy Badge

English | 简体中文

这个包提供了社区推荐的 ESLint 规则配置,作为一个可扩展的共享配置。(与 Prettier 配合使用)

支持 ESLint V8,Node.js 需要版本 >=16。

用法

npm install --save-dev @wang1212/eslint-config
  1. 安装 peerDependencies

    npm install --save-dev eslint
    npm install --save-dev --save-exact prettier
  2. 在项目根目录创建一个 .prettierrc.yml 文件,配置以下内容:

    # see docs: https://prettier.io/docs/en/configuration.html
    
    # prettier config
    printWidth: 80
    tabWidth: 2
    useTabs: false
    singleQuote: true
    semi: true
    endOfLine: 'auto'

    这只是推荐配置,可以根据你的喜好进行调整。

  3. 然后你需要添加 @wang1212/eslint-config 到你的 .eslintrc.json 配置文件:

    {
    + "extends": ["@wang1212/eslint-config"]
    }

    ESLint 的规则配置是可以根据你自己的要求进行配置覆盖的,请参考官方文档

配置细节

@wang1212/eslint-config

该配置适用于基本的 JavaScript,基于 Airbnb JavaScript Style GuideSonarJSJSDoc,并借助 Browserslist 检测 API 兼容性。(See Source)

@wang1212/eslint-config/typescript

该配置适用于基本的 TypeScript,基于 Airbnb JavaScript Style GuideSonarJSTSDoc,并借助 Browserslist 检测 API 兼容性。(See Source)

这个配置也有一个别名 @wang1212/eslint-config/ts

使用这个配置还需要一些额外的工作。

  1. 安装额外的 peerDependencies:

    npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin

    注意: 按照官方的维护策略,以上依赖安装时应始终保证版本号相同。

  2. 然后你需要添加 @wang1212/eslint-config/typescript 到你的 .eslintrc.json 配置文件:

    {
    - "extends": ["@wang1212/eslint-config"],
    + "extends": ["@wang1212/eslint-config/typescript"],
    + "parser": "@typescript-eslint/parser",
    + "parserOptions": {
    +   "project": './tsconfig.json'
    + },
    }

@wang1212/eslint-config/react

该配置适用于 JavaScript 编写的 react.js 应用,基于 Airbnb JavaScript Style GuideHooksSonarJSJSDoc,并借助 Browserslist 检测 API 兼容性。(See Source)

使用这个配置还需要一些额外的工作。

  • 你需要添加 @wang1212/eslint-config/react 到你的 .eslintrc.json 配置文件:

    {
    - "extends": ["@wang1212/eslint-config"],
    + "extends": ["@wang1212/eslint-config/react"],
    }

@wang1212/eslint-config/react-typescript

该配置适用于 TypeScript 编写的 react.js 应用,基于 Airbnb JavaScript Style GuideHooksSonarJSTSDoc,并借助 Browserslist 检测 API 兼容性。(See Source)

这个配置也有一个别名 @wang1212/eslint-config/react-ts

使用这个配置还需要一些额外的工作。

  1. 安装额外的 peerDependencies:

    npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin

    注意: 按照官方的维护策略,以上依赖安装时应始终保证版本号相同。

  2. 然后你需要添加 @wang1212/eslint-config/react-typescript 到你的 .eslintrc.json 配置文件:

    {
    - "extends": ["@wang1212/eslint-config"],
    + "extends": ["@wang1212/eslint-config/react-typescript"],
    + "parser": "@typescript-eslint/parser",
    + "parserOptions": {
    +   "project": './tsconfig.json'
    + },
    }

@wang1212/eslint-config/node

该配置适用于 JavaScript 编写的 Node.js 程序,基于 Airbnb JavaScript Style GuideSonarJSJSDoc。(See Source)

使用这个配置还需要一些额外的工作。

  • 你需要添加 @wang1212/eslint-config/node 到你的 .eslintrc.json 配置文件:

    {
    - "extends": ["@wang1212/eslint-config"],
    + "extends": ["@wang1212/eslint-config/node"],
    }

开发准则

Git 提交信息格式

采用社区提交格式最佳实践

# 以前
git commit

# 现在
npm run commit

这种约束依赖于社区提供的工具 commitizencommitlint

npm 发布

该模块的版本管理采用社区推荐的规范语义化版本控制。跟随版本变动会维护一个变更日志(CHANGELOG.md)了解为什么这么做)。

# 在发布到 npm 存储库之前更新版本并生成更改日志
npm run release
# 或者,进行预览
npm run release -- --dry-run

# 然后发布到 npm,如果在自动发布到 npm 时没有选择 yes
npm publish # npm publish --access public

这些工作是在社区提供的 release-it 工具的帮助下完成的。

许可

MIT.