All Projects → eggjs → Eslint Config Egg

eggjs / Eslint Config Egg

Licence: mit
Node Style Guide for Egg.

Programming Languages

javascript
184084 projects - #8 most used programming language

eslint-config-egg

Node Style Guide for Egg.

Install

npm i eslint eslint-config-egg --save-dev

Usage

  • package.json
{
  "devDependencies": {
    "eslint-config-egg": "7",
    "eslint": "4"
  }
}
  • .eslintrc.js
module.exports = {
  extends: 'eslint-config-egg',
};

Use with TypeScript project

  • package.json
{
  "devDependencies": {
    "eslint-config-egg": "7",
    "typescript": "^3.5.3"
  }
}
  • .eslintrc.js
module.exports = {
  extends: 'eslint-config-egg/typescript',
  parserOptions: {
    // recommend to use another config file like tsconfig.eslint.json and extends tsconfig.json in it.
    // because you may be need to lint test/**/*.test.ts but no need to emit to js.
    // @see https://github.com/typescript-eslint/typescript-eslint/issues/890
    project: './tsconfig.json'
  }
};
  • scripts
{
  "lint": "eslint . --ext .ts"
}
  • settings.json in vscode
{
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "typescript",
      "autoFix": true
    },
  ]
}

Use with Experimental Features

If you want to use eslint-config-egg with experimental features such as async function, you should use babel-eslint parser:

  • package.json
{
  "devDependencies": {
    "eslint-config-egg": "7",
    "eslint": "4",
    "babel-eslint": "8"
  }
}
  • .eslintrc.js
module.exports = {
  extends: 'eslint-config-egg',
  // for experimental features support
  parser: 'babel-eslint',
  rules: {
    // see https://github.com/eslint/eslint/issues/6274
    'generator-star-spacing': 'off',
    'babel/generator-star-spacing': 'off',
  }
};

Use with React in Front-End

If you want to use eslint-config-egg with react, jsx and es6 modules:

  • package.json
{
  "devDependencies": {
    "eslint-config-egg": "7",
    "eslint": "4",
    "babel-eslint": "8",
    "eslint-plugin-react": "7"
  }
}
  • .eslintrc.js
module.exports = {
  extends: 'eslint-config-egg',
  // for experimental features support
  parser: 'babel-eslint',
  parserOptions: {
    // for es6 module
    sourceType: 'module',
  },
  plugins: [
    'react',
  ],
  rules: {
    // for variables in jsx
    'react/jsx-uses-vars': 'error',
    // see https://github.com/eslint/eslint/issues/6274
    'generator-star-spacing': 'off',
    'babel/generator-star-spacing': 'off',
  },
};

License

MIT

Contributors


popomore


fengmk2


atian25


benjycui


geekdada


dead-horse


bowei-jbw


aladdin-add


hotoo

This project follows the git-contributor spec, auto updated at Mon Mar 11 2019 15:51:28 GMT+0800.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].