Performance regression when updating from 2.9.0 to 2.10.0 #1058
Closed
Description
Eslint check time on whole project takes 50% more time after updating from 2.9.0 to 2.10.0 even with disabled import/no-cycle rule.
My config:
{
/** Import Static analysis https://github.com/benmosher/eslint-plugin-import#rules **/
// Ensure imports point to a file/module that can be resolved
'import/no-unresolved': [2, { caseSensitive: true, commonjs: true, amd: false }],
// Ensure named imports correspond to a named export in the remote file
'import/named': 2,
// Ensure a default export is present, given a default import
'import/default': 2,
// Ensure imported namespaces contain dereferenced properties as they are dereferenced
'import/namespace': [2, { allowComputed: true }],
// Restrict which files can be imported in a given folder
'import/no-restricted-paths': [0, { zones: [
{target: './client', from: './app'},
] }],
// Forbid import of modules using absolute paths
'import/no-absolute-path': [2, { esmodule: true, commonjs: true, amd: false }],
// Forbid require() calls with expressions (We use it for intl, svg icons)
'import/no-dynamic-require': 0,
// Prevent importing the submodules of other modules
'import/no-internal-modules': 0,
// Forbid Webpack loader syntax in imports
'import/no-webpack-loader-syntax': 0,
// Forbid a module from importing itself
'import/no-self-import': 2,
// Forbid useless path segments
'import/no-useless-path-segments': 2,
/** Import Helpful warnings https://github.com/benmosher/eslint-plugin-import#rules **/
// Report any invalid exports, i.e. re-export of the same name
'import/export': 2,
// Report use of exported name as identifier of default export
'import/no-named-as-default': 0,
// Report use of exported name as property of default export
'import/no-named-as-default-member': 2,
// Report imported names marked with @deprecated documentation tag
'import/no-deprecated': 0,
// Forbid the use of extraneous packages, allow devDependencies
'import/no-extraneous-dependencies': [2, { devDependencies: true, packageDir: path.resolve('./') }],
// Forbid the use of mutable exports with var or let
'import/no-mutable-exports': 2,
/** Import Module systems https://github.com/benmosher/eslint-plugin-import#rules **/
// Report potentially ambiguous parse goal
'import/unambiguous': 0,
// Report CommonJS require calls and module.exports or exports.*
'import/no-commonjs': 0,
// Report AMD require and define calls
'import/no-amd': 0,
// No Node.js builtin modules. Allow in general, forbid in ./app
'import/no-nodejs-modules': 0,
/** Import Style guide https://github.com/benmosher/eslint-plugin-import#rules **/
// Ensure all imports appear before other statements
'import/first': 2,
// Ensure all exports appear after other statements
'import/exports-last': 0,
// Report repeated import of the same module in multiple places
'import/no-duplicates': 2,
// Report namespace imports
'import/no-namespace': 0,
// Ensure consistent use of file extension within the import path. Use extensions except .js/jsx
'import/extensions': [2, 'always', { js: 'never', jsx: 'never' }],
// Enforce a convention in module import order. TODO: discuss import order that we want and apply
'import/order': [0, {
'groups': ['builtin'],
'newlines-between': 'ignore',
}],
// Enforce a newline after import statements. 'padding-line-between-statements' handles this for us
'import/newline-after-import': 0,
// Prefer a default export if module exports a single name
'import/prefer-default-export': 0,
// Limit the maximum number of dependencies a module can have
'import/max-dependencies': 0,
// Forbid unassigned imports
'import/no-unassigned-import': 0,
// Forbid named default exports
'import/no-named-default': 0,
// Forbid default exports
'import/no-default-export': 0,
// Forbid anonymous values as default exports
'import/no-anonymous-default-export': 0,
// Prefer named exports to be grouped together in a single export declaration
'import/group-exports': 0,
}
Metadata
Assignees
Labels
No labels