1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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 }],
- }
- };
|