You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
const confusingBrowserGlobals = require('confusing-browser-globals'); |
|
|
|
module.exports = { |
|
rules: { |
|
// enforce or disallow variable initializations at definition |
|
'init-declarations': 'off', |
|
|
|
// disallow the catch clause parameter name being the same as a variable in the outer scope |
|
'no-catch-shadow': 'off', |
|
|
|
// disallow deletion of variables |
|
'no-delete-var': 'error', |
|
|
|
// disallow labels that share a name with a variable |
|
// https://eslint.org/docs/rules/no-label-var |
|
'no-label-var': 'error', |
|
|
|
// disallow specific globals |
|
'no-restricted-globals': [ |
|
'error', |
|
{ |
|
name: 'isFinite', |
|
message: |
|
'Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite', |
|
}, |
|
{ |
|
name: 'isNaN', |
|
message: |
|
'Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan', |
|
}, |
|
].concat(confusingBrowserGlobals), |
|
|
|
// disallow declaration of variables already declared in the outer scope |
|
'no-shadow': 'error', |
|
|
|
// disallow shadowing of names such as arguments |
|
'no-shadow-restricted-names': 'error', |
|
|
|
// disallow use of undeclared variables unless mentioned in a /*global */ block |
|
'no-undef': 'error', |
|
|
|
// disallow use of undefined when initializing variables |
|
'no-undef-init': 'error', |
|
|
|
// disallow use of undefined variable |
|
// https://eslint.org/docs/rules/no-undefined |
|
// TODO: enable? |
|
'no-undefined': 'off', |
|
|
|
// disallow declaration of variables that are not used in the code |
|
'no-unused-vars': ['error', { vars: 'all', args: 'after-used', ignoreRestSiblings: true }], |
|
|
|
// disallow use of variables before they are defined |
|
'no-use-before-define': ['error', { functions: true, classes: true, variables: true }], |
|
} |
|
};
|
|
|