Skip to content

Commit

Permalink
feat: Port more airbnb rules
Browse files Browse the repository at this point in the history
  • Loading branch information
Jan Krems committed Aug 25, 2017
1 parent b8c7123 commit 7951d90
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 18 deletions.
2 changes: 1 addition & 1 deletion examples/eslint/node6/ugly.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
function f (){

const x = 42;
return 2 * x;
return 2 * x;;



Expand Down
71 changes: 69 additions & 2 deletions lib/rules/mistakes.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,94 @@
* documented (class of) bug it prevents.
*/
module.exports = {
// See: https://eslint.org/docs/rules/getter-return
'getter-return': ['error', { allowImplicit: true }],

// See: https://eslint.org/docs/rules/no-compare-neg-zero
'no-compare-neg-zero': 'off',

// See: https://eslint.org/docs/rules/no-compare-neg-zero
'no-constant-condition': 'error',

// See: https://eslint.org/docs/rules/no-dupe-args
'no-dupe-args': 'error',
// See: https://eslint.org/docs/rules/no-dupe-keys
'no-dupe-keys': 'error',
// See: https://eslint.org/docs/rules/no-duplicate-case
'no-duplicate-case': 'error',

// # RegExp
// See: https://eslint.org/docs/rules/no-empty-character-class
'no-empty-character-class': 'error',
// See: https://eslint.org/docs/rules/no-invalid-regexp
'no-invalid-regexp': 'error',
// See: https://eslint.org/docs/rules/no-regex-spaces
// TODO: Can't be auto-fixed
'no-regex-spaces': 'off',

// # Debug & Refactor Leftovers

// See: https://eslint.org/docs/rules/no-debugger
'no-debugger': 'error',
// See: https://eslint.org/docs/rules/no-empty
'no-empty': 'error',
'no-func-assign': 'error',
// See: https://eslint.org/docs/rules/no-template-curly-in-string
'no-template-curly-in-string': 'error',
// See: https://eslint.org/docs/rules/no-unreachable
'no-unreachable': 'error',
// See: https://eslint.org/docs/rules/no-unexpected-multiline
'no-unexpected-multiline': 'error',

// See: https://eslint.org/docs/rules/no-unsafe-finally
'no-unsafe-finally': 'error',

// See: https://eslint.org/docs/rules/use-isnan
'use-isnan': 'error',

// See: https://eslint.org/docs/rules/no-extra-boolean-cast
'no-extra-boolean-cast': 'error',

// # Variables & Assignment

// See: https://eslint.org/docs/rules/no-func-assign
'no-func-assign': 'error',

// See: https://eslint.org/docs/rules/no-unused-vars
'no-unused-vars': [
'error',
{ vars: 'all', args: 'after-used', ignoreRestSiblings: true },
],

// See: https://eslint.org/docs/rules/no-use-before-define
'no-use-before-define': [
'error',
{ functions: true, classes: true, variables: true },
// Disable functions because there *are* valid reasons to do it and can't be auto-fixed
{ functions: false, classes: true, variables: true },
],

// See: https://eslint.org/docs/rules/no-undef
'no-undef': 'error',

// See: https://eslint.org/docs/rules/no-shadow
'no-shadow': 'error',

// See: https://eslint.org/docs/rules/no-label-var
'no-label-var': 'error',

// See: https://eslint.org/docs/rules/no-delete-var
'no-delete-var': 'error',

// See: https://eslint.org/docs/rules/no-catch-shadow
'no-catch-shadow': 'off',

// See: https://eslint.org/docs/rules/no-ex-assign
'no-ex-assign': 'error',

// # Dependencies & Imports

// See: https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-unresolved.md
'import/no-unresolved': ['error', { commonjs: true, caseSensitive: true }],
// See: https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md
'import/no-extraneous-dependencies': [
'error',
{
Expand Down Expand Up @@ -61,5 +127,6 @@ module.exports = {
optionalDependencies: true, // allow optional deps to be required
},
],
// See: https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-duplicates.md
'import/no-duplicates': 'error',
};
21 changes: 6 additions & 15 deletions lib/rules/opinions.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,7 @@
* If it can't be --fix'ed, it doesn't belong in here.
*/
module.exports = {
/**
* Everything reported by prettier will be fixed by prettier.
*
* See: https://github.com/prettier/eslint-plugin-prettier
*/
// See: https://github.com/prettier/eslint-plugin-prettier
'prettier/prettier': [
'error',
{
Expand All @@ -20,17 +16,12 @@ module.exports = {
},
],

/**
* After 'use strict' there's a newline.
*
* See: https://eslint.org/docs/rules/lines-around-directive
*/
// See: https://eslint.org/docs/rules/lines-around-directive
'lines-around-directive': ['error', 'always'],

/**
* After the last require/import statement, there's a newline.
*
* See: https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/newline-after-import.md
*/
// See: https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/newline-after-import.md
'import/newline-after-import': 'error',

// See: https://eslint.org/docs/rules/no-extra-semi
'no-extra-semi': 'error',
};

0 comments on commit 7951d90

Please sign in to comment.