@shuyun-ep-team/eslint-config

    1.4.2 • Public • Published

    eslint-config-kylin-typescript

    介绍

    无依赖第三方规则包,启用的所有规则都可以在.eslintc.js 或 rules 文件夹下找到
    启用的所有规则都有注释,所有规则的详细说明都在 docs 文件夹下,可通过规则名搜到对应规则的文件名

    安装

    npm i @shuyun-ep-team/eslint-config --save-dev

    使用

    在 package.json 的 script 里新增一条命令和增加 husky, 如下:

    "scripts": {
      "checkcode": "eslint -c .eslintrc.js \"**/*.{js,jsx,ts,tsx}\"",
    }
    "husky": {
      "hooks": {
        "pre-commit": "echo '执行代码格式检测' && npm run checkcode"
      }
    },

    将下面的代码保存至项目根目录,文件名为.eslintrc.js 默认用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config'],
      rules: {},
    };

    仅使用javascript规则的用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/base'],
      rules: {},
    };

    仅使用react规则的用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/react'],
      rules: {},
    };

    仅使用prettier规则的用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/prettier'],
      rules: {},
    };

    仅使用vue规则的用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/vue'],
      rules: {},
    };

    仅使用typescript规则的用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/typescript'],
      rules: {},
    };

    仅使用comment规则的用法

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/comment'],
      rules: {},
    };

    建议直接使用"extends": ["@shuyun-ep-team/eslint-config"],不要使用"extends": ["@shuyun-ep-team/eslint-config/base", "@shuyun-ep-team/eslint-config/react", "@shuyun-ep-team/eslint-config/typescript"],因为@shuyun-ep-team/eslint-config 还包含了 prettier 相关的规则

    使用 Prettier

    eslint有可能会与prettier冲突,请参考此文档排查规则:https://github.com/prettier/eslint-config-prettier#curly

    npm i prettier -D
    • 使用
    // 在package.json 设置如下
    {
      "prettier": "@shuyun-ep-team/eslint-config/.prettierrc"
    }
    
    // 或者 在 .prettierrc.js,如
    module.exports = {
      ...require("@shuyun-ep-team/eslint-config/.prettierrc"),
      semi: false,
    };

    非 typescript 非 React 项目的配置参考

    module.exports = {
      extends: ['@shuyun-ep-team/eslint-config/base', '@shuyun-ep-team/eslint-config/prettier'],
    };

    发布流程

    先在 package.json 里更新版本号,尽量先发 beta 版
    教程(以 1.1.5 版本为例):在 package.json 的 version 的后面加上'-beta.0',即"version": "1.1.5-beta.0"
    在实际项目里运行一段时间,如果依然没有发现问题,此时可以发布正式版本
    无论是测试版还是正式版,都需要打上 tag

    npm publish --tag=beta --access=public dist
    curl -X PUT https://npm.taobao.org/sync/@shuyun-ep-team/eslint-config
    git tag -a 1.1.5-beta.0 -m 1.1.5-beta.0

    正式版

    npm run publishToNpm

    规则说明

    "0"表示忽略问题,等同于"off"; "1"表示给出警告,等同于"warn"; "2"表示直接报错,等同于"error"。

    若不适用 React 请使用 base.js

    官方地址

    eslint官方地址https://eslint.cn/docs/rules/ eslint-plugin-react官方地址https://github.com/yannickcr/eslint-plugin-react eslint-plugin-jsx-a11y官方地址https://github.com/jsx-eslint/eslint-plugin-jsx-a11y eslint-plugin-react-hooks官方地址https://github.com/facebook/react/tree/c11015ff4f610ac2924d1fc6d569a17657a404fd/packages/eslint-plugin-react-hooks eslint-plugin-import官方地址https://github.com/benmosher/eslint-plugin-import

    代码提交类型说明

    type :(required)代表提交类型;如修改一个 bug 或者是添加一个新的 feature。类型有以下几种:

    • feat :新功能(feature)
    • fix :修复 bug
    • docs :仅修改了文档,如 README、CHANGLOG 等
    • style :仅修改了空格、缩进、逗号、单双引号等,不修改代码逻辑
    • refactor :代码重构,没有新增功能或者修改 bug
    • perf :优化相关,比如提升性能、体验
    • test :测试用例,单元测试、集成测试
    • chore :改进构建流程或添加新依赖、工具等
    • revert :回滚代码到上一次提交

    Install

    npm i @shuyun-ep-team/eslint-config

    DownloadsWeekly Downloads

    5

    Version

    1.4.2

    License

    MIT

    Unpacked Size

    189 kB

    Total Files

    69

    Last publish

    Collaborators

    • yong.tao
    • staryunat
    • wangxinzhuo
    • linweixian
    • markzhang
    • oaooao
    • kezhongfa
    • szhou
    • yiranphp
    • bhxing