diff --git a/eslint.js b/eslint.js index 689f1a7..7f8f37c 100644 --- a/eslint.js +++ b/eslint.js @@ -1,22 +1,14 @@ module.exports = { - extends: ['eslint:recommended', 'plugin:node/recommended'], + extends: ['eslint:recommended', 'plugin:node/recommended', 'plugin:prettier/recommended'], plugins: ['node'], rules: { // override recommended 'no-console': 'off', 'no-empty': ['error', { allowEmptyCatch: true }], 'no-unused-vars': ['error', { args: 'none' }], - // Possible Errors - 'no-extra-parens': ['error', 'all', { - conditionalAssign: false, - returnAssign: false, - nestedBinaryExpressions: false - }], // Best Practices 'array-callback-return': 'error', 'block-scoped-var': 'error', - 'curly': ['error', 'multi-line'], - 'dot-location': ['error', 'property'], 'dot-notation': 'error', 'eqeqeq': ['error', 'allow-null'], 'no-else-return': 'error', @@ -27,7 +19,6 @@ module.exports = { 'no-implied-eval': 'error', 'no-lone-blocks': 'error', 'no-loop-func': 'error', - 'no-multi-spaces': 'error', 'no-multi-str': 'error', 'no-new': 'error', 'no-new-func': 'error', @@ -47,7 +38,6 @@ module.exports = { 'no-void': 'error', 'prefer-promise-reject-errors': 'error', 'radix': 'error', - 'wrap-iife': 'error', 'yoda': 'error', // Strict Mode 'strict': 'error', @@ -57,75 +47,35 @@ module.exports = { 'no-use-before-define': ['error', 'nofunc'], // Node.js and CommonJS 'handle-callback-err': 'error', - 'no-mixed-operators': 'error', 'no-path-concat': 'error', // Stylistic Issues - 'array-bracket-spacing': 'error', - 'block-spacing': 'error', - 'brace-style': ['error', '1tbs', { allowSingleLine: true }], - 'comma-dangle': 'error', - 'comma-spacing': ['error', { - before: false, - after: true - }], - 'comma-style': ['error', 'last'], - 'computed-property-spacing': 'error', - 'eol-last': 'error', - 'func-call-spacing': 'error', - 'indent': ['error', 2, { SwitchCase: 1 }], - 'key-spacing': ['error', { - beforeColon: false, - afterColon: true - }], - 'keyword-spacing': 'error', 'linebreak-style': 'error', - 'lines-around-comment': ['error', { beforeBlockComment: true }], 'new-cap': 'error', 'new-parens': 'error', 'no-array-constructor': 'error', 'no-extra-label': 'error', - 'no-multiple-empty-lines': 'error', 'no-nested-ternary': 'error', 'no-new-object': 'error', - 'no-trailing-spaces': 'error', 'no-unneeded-ternary': 'error', - 'no-whitespace-before-property': 'error', 'one-var': ['error', { uninitialized: 'always', initialized: 'never' }], - 'operator-linebreak': ['error', 'before'], - 'quotes': ['error', 'single'], - 'semi': 'error', - 'semi-spacing': ['error', { - before: false, - after: true - }], - 'space-before-blocks': 'error', - 'space-before-function-paren': ['error', 'never'], - 'space-in-parens': 'error', - 'space-infix-ops': 'error', - 'space-unary-ops': ['error', { - words: false, - nonwords: false - }], 'spaced-comment': 'error', - 'template-tag-spacing': 'error', - 'unicode-bom': 'error', // ECMAScript 6 - 'arrow-spacing': 'error', - 'generator-star-spacing': ['error', 'after'], - 'no-confusing-arrow': ['error', { allowParens: true }], 'no-duplicate-imports': 'error', 'no-useless-computed-key': 'error', 'no-useless-constructor': 'error', 'no-useless-rename': 'error', - 'rest-spread-spacing': 'error', - 'template-curly-spacing': 'error', - 'yield-star-spacing': 'error', // Node 8 compatibility 'node/no-deprecated-api': ['error', { 'ignoreModuleItems': ['url.parse', 'url.resolve'] + }], + 'prettier/prettier': ['error', { + semi: true, + singleQuote: true, + tabWidth: 2, + useTabs: false }] }, env: { diff --git a/package.json b/package.json index 1820dbb..63959d9 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,10 @@ "eslint": ">= 5.0.0" }, "dependencies": { - "eslint-plugin-node": "^10.0.0" + "eslint-config-prettier": "^6.3.0", + "eslint-plugin-node": "^10.0.0", + "eslint-plugin-prettier": "^3.1.0", + "prettier": "^1.18.2" }, "engines": { "node": ">=8.6.0"