0.4.2 • Published 7 years ago

eslint-config-mysoft v0.4.2

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

eslint-config-mysoft

适用于明源云创前端团队的 ESLint 规则。包含了一些通用的规则,和针对 Vue、 React 项目的可选规则。

安装

npm install eslint-config-mysoft -D
# or
yarn add eslint-config-mysoft -D

使用

项目依赖

为了正常使用 ESLint,你需要为项目安装一些依赖

  • 通用依赖
    • eslint^4.3.0
    • babel-eslint
    • eslint-plugin-import
  • React 项目
    • eslint-plugin-react
  • Vue 项目
    • eslint-plugin-vue >= 3.6.0
  • Webpack
    • eslint-loader
    • eslint-friendly-formatter
    • eslint-import-resolver-webpack
  • Gulp
    • gulp-eslint

配置文件

在项目根目录下面添加配置文件 .eslintrc.js,基础配置如下:

module.exports = {
  root: true,
  parserOptions: {},
  env: {
    browser: true,
    es6: true
  },
  extends: [
    'mysoft'
  ],
  settings: {
    'import/resolver': {
      webpack: {
        // webpack 的 resolve配置
        // 根据项目实际情况可能有所修改
        config: 'build/webpack.base.conf.js'
      }
    }
  },
  rules: {}
}

针对 Vue 和 React 项目,需要增加对应的 extends 及解析器:

module.exports = {
  root: true,
+ parser: 'babel-eslint',    // React
  parserOptions: {
+   parser: 'babel-eslint',  // Vue
  },
  env: {
    browser: true,
    es6: true
  },
  extends: [
    'mysoft',
+   'mysoft/vue',       // Vue
+   'mysoft/react',     // React
  ],
  settings: {
    'import/resolver': {
      webpack: {
        config: 'build/webpack.base.conf.js'
      }
    },
+   // React
+   react: {
+     createClass: "createReactClass",
+     pragma: "React",
+     version: "15.0"
+   }
  },
  rules: {}
}

完整配置

// Vue
module.exports = {
  root: true,
  parserOptions: {
    parser: 'babel-eslint',
  },
  env: {
    browser: true,
    es6: true
  },
  extends: [
    'mysoft',
    'mysoft/vue',
  ],
  settings: {
    'import/resolver': {
      webpack: {
        config: 'build/webpack.base.conf.js'
      }
    }
  },
  rules: {}
}

// React
module.exports = {
  root: true,
  parser: 'babel-eslint',
  parserOptions: {},
  env: {
    browser: true,
    es6: true
  },
  extends: [
    'mysoft',
    'mysoft/react',
  ],
  settings: {
    'import/resolver': {
      webpack: {
        config: 'build/webpack.base.conf.js'
      }
    },
    react: {
      createClass: "createReactClass",
      pragma: "React",
      version: "15.0"
    }
  },
  rules: {}
}

License

MIT. Copyright (c)