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