1.3.0 • Published 6 years ago

eslint-config-airbnb-base-extend v1.3.0

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

代码规则

npm.io

普通代码规则

vue 项目代码规则

// https://eslint.org/docs/user-guide/configuring

module.exports = {
  root: true,
  parserOptions: {
    parser: 'babel-eslint'
  },
  env: {
    browser: true
  },
  // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
  // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
  extends: ['plugin:vue/essential', 'airbnb-base'],
  plugins: ['vue'],
  settings: {
    'import/resolver': {
      webpack: {
        config: 'build/webpack.base.conf.js'
      }
    }
  },
  // add your custom rules here
  rules: {
    semi: ['error', 'never'],
    'no-shadow': ['error', { hoist: 'functions', allow: ['state'] }],
    'comma-dangle': ['error', 'never'],
    'arrow-parens': ['error', 'always'], // 箭头函数总是需要括号
    // don't require .vue extension when importing
    'import/extensions': [
      'error',
      'always',
      {
        js: 'never',
        vue: 'never'
      }
    ],
    // disallow reassignment of function parameters
    // disallow parameter object manipulation except for specific exclusions
    'no-param-reassign': [
      'error',
      {
        props: true,
        ignorePropertyModificationsFor: [
          'state', // for vuex state
          'acc', // for reduce accumulators
          'e' // for e.returnvalue
        ]
      }
    ],
    // allow optionalDependencies
    'import/no-extraneous-dependencies': [
      'error',
      {
        optionalDependencies: ['test/unit/index.js']
      }
    ],
    // allow debugger during development
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  }
}

react 项目代码规则

使用方法

$ touch .eslintrc
$ touch .eslintignore

输入下面代码:

.eslintrc

{
  "parser": "babel-eslint",
  "env": {
    "browser": true,
    "node": true,
    "es6": true,
    "mocha": true,
    "jest": true,
    "jasmine": true
  },
  "extends": ["airbnb-base-extend/eslint-config-react"],
  "rules": {
    "semi": ["error", "never"],
    "comma-dangle": ["error", "never"]
  }
}

.eslintignore

node_modules
.DS_Store