Skip to content

Latest commit

 

History

History
181 lines (131 loc) · 4.28 KB

README.zh_CN.md

File metadata and controls

181 lines (131 loc) · 4.28 KB

@tomjs/eslint

npm node-current (scoped) NPM

English | 中文

前端项目 eslint js/ts/vue/react 代码风格规范配置,推荐 node>=16

使用

  • 安装依赖
pnpm add -D eslint prettier @tomjs/eslint
  • 根据需要修改 .eslintrc.{js,cjs} 配置,如
module.exports = {
  root: true,
  env: {
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint')],
};

default

基础配置,包含 eslint 基础配置,prettier、import、sort 等

修改配置

修改 .eslintrc.{js,cjs} 配置,如

module.exports = {
  root: true,
  env: {
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint')],
};

制作配置

pnpm add ---save-peer eslint prettier
pnpm add eslint-config-prettier eslint-plugin-import eslint-plugin-prettier eslint-plugin-simple-import-sort

typescript

基础配置,继承 default,增加 typescript 支持

修改配置

修改 .eslintrc.{js,cjs} 配置,如

module.exports = {
  root: true,
  env: {
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint/typescript')],
};

制作配置

pnpm add ---save-peer typescript
pnpm add @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-import-resolver-typescript

vue

vue 项目配置,继承 default

修改配置

修改 .eslintrc.{js,cjs} 配置,如

module.exports = {
  root: true,
  env: {
    browser: true,
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint/vue')],
};

制作配置

pnpm add vue-eslint-parser eslint-plugin-vue

vue/typescript

vue 项目配置,继承 typescriptvue

修改配置

修改 .eslintrc.{js,cjs} 配置,如

module.exports = {
  root: true,
  env: {
    browser: true,
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint/vue/typescript')],
};

react

react 项目配置,继承 default

修改配置

修改 .eslintrc.{js,cjs} 配置,如

module.exports = {
  root: true,
  env: {
    browser: true,
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint/react')],
};

制作配置

pnpm add eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-react-refresh

react/typescript

react 项目配置,继承 typescriptreact

修改配置

修改 .eslintrc.{js,cjs} 配置,如

module.exports = {
  root: true,
  env: {
    browser: true,
    es6: true,
  },
  extends: [require.resolve('@tomjs/eslint/react/typescript')],
};