|
@@ -2,87 +2,87 @@
|
|
module.exports = {
|
|
module.exports = {
|
|
forbidden: [
|
|
forbidden: [
|
|
{
|
|
{
|
|
- name: 'no-circular',
|
|
|
|
- severity: 'warn',
|
|
|
|
|
|
+ name: "no-circular",
|
|
|
|
+ severity: "warn",
|
|
comment:
|
|
comment:
|
|
- 'This dependency is part of a circular relationship. You might want to revise ' +
|
|
|
|
- 'your solution (i.e. use dependency inversion, make sure the modules have a single responsibility) ',
|
|
|
|
|
|
+ "This dependency is part of a circular relationship. You might want to revise " +
|
|
|
|
+ "your solution (i.e. use dependency inversion, make sure the modules have a single responsibility) ",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
circular: true
|
|
circular: true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'no-orphans',
|
|
|
|
|
|
+ name: "no-orphans",
|
|
comment:
|
|
comment:
|
|
"This is an orphan module - it's likely not used (anymore?). Either use it or " +
|
|
"This is an orphan module - it's likely not used (anymore?). Either use it or " +
|
|
"remove it. If it's logical this module is an orphan (i.e. it's a config file), " +
|
|
"remove it. If it's logical this module is an orphan (i.e. it's a config file), " +
|
|
"add an exception for it in your dependency-cruiser configuration. By default " +
|
|
"add an exception for it in your dependency-cruiser configuration. By default " +
|
|
"this rule does not scrutinize dot-files (e.g. .eslintrc.js), TypeScript declaration " +
|
|
"this rule does not scrutinize dot-files (e.g. .eslintrc.js), TypeScript declaration " +
|
|
"files (.d.ts), tsconfig.json and some of the babel and webpack configs.",
|
|
"files (.d.ts), tsconfig.json and some of the babel and webpack configs.",
|
|
- severity: 'warn',
|
|
|
|
|
|
+ severity: "warn",
|
|
from: {
|
|
from: {
|
|
orphan: true,
|
|
orphan: true,
|
|
pathNot: [
|
|
pathNot: [
|
|
- '(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$', // dot files
|
|
|
|
- '[.]d[.]ts$', // TypeScript declaration files
|
|
|
|
- '(^|/)tsconfig[.]json$', // TypeScript config
|
|
|
|
- '(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$' // other configs
|
|
|
|
|
|
+ "(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$", // dot files
|
|
|
|
+ "[.]d[.]ts$", // TypeScript declaration files
|
|
|
|
+ "(^|/)tsconfig[.]json$", // TypeScript config
|
|
|
|
+ "(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$" // other configs
|
|
]
|
|
]
|
|
},
|
|
},
|
|
to: {},
|
|
to: {},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'no-deprecated-core',
|
|
|
|
|
|
+ name: "no-deprecated-core",
|
|
comment:
|
|
comment:
|
|
- 'A module depends on a node core module that has been deprecated. Find an alternative - these are ' +
|
|
|
|
|
|
+ "A module depends on a node core module that has been deprecated. Find an alternative - these are " +
|
|
"bound to exist - node doesn't deprecate lightly.",
|
|
"bound to exist - node doesn't deprecate lightly.",
|
|
- severity: 'warn',
|
|
|
|
|
|
+ severity: "warn",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
dependencyTypes: [
|
|
dependencyTypes: [
|
|
- 'core'
|
|
|
|
|
|
+ "core"
|
|
],
|
|
],
|
|
path: [
|
|
path: [
|
|
- '^v8/tools/codemap$',
|
|
|
|
- '^v8/tools/consarray$',
|
|
|
|
- '^v8/tools/csvparser$',
|
|
|
|
- '^v8/tools/logreader$',
|
|
|
|
- '^v8/tools/profile_view$',
|
|
|
|
- '^v8/tools/profile$',
|
|
|
|
- '^v8/tools/SourceMap$',
|
|
|
|
- '^v8/tools/splaytree$',
|
|
|
|
- '^v8/tools/tickprocessor-driver$',
|
|
|
|
- '^v8/tools/tickprocessor$',
|
|
|
|
- '^node-inspect/lib/_inspect$',
|
|
|
|
- '^node-inspect/lib/internal/inspect_client$',
|
|
|
|
- '^node-inspect/lib/internal/inspect_repl$',
|
|
|
|
- '^async_hooks$',
|
|
|
|
- '^punycode$',
|
|
|
|
- '^domain$',
|
|
|
|
- '^constants$',
|
|
|
|
- '^sys$',
|
|
|
|
- '^_linklist$',
|
|
|
|
- '^_stream_wrap$'
|
|
|
|
|
|
+ "^v8/tools/codemap$",
|
|
|
|
+ "^v8/tools/consarray$",
|
|
|
|
+ "^v8/tools/csvparser$",
|
|
|
|
+ "^v8/tools/logreader$",
|
|
|
|
+ "^v8/tools/profile_view$",
|
|
|
|
+ "^v8/tools/profile$",
|
|
|
|
+ "^v8/tools/SourceMap$",
|
|
|
|
+ "^v8/tools/splaytree$",
|
|
|
|
+ "^v8/tools/tickprocessor-driver$",
|
|
|
|
+ "^v8/tools/tickprocessor$",
|
|
|
|
+ "^node-inspect/lib/_inspect$",
|
|
|
|
+ "^node-inspect/lib/internal/inspect_client$",
|
|
|
|
+ "^node-inspect/lib/internal/inspect_repl$",
|
|
|
|
+ "^async_hooks$",
|
|
|
|
+ "^punycode$",
|
|
|
|
+ "^domain$",
|
|
|
|
+ "^constants$",
|
|
|
|
+ "^sys$",
|
|
|
|
+ "^_linklist$",
|
|
|
|
+ "^_stream_wrap$"
|
|
],
|
|
],
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'not-to-deprecated',
|
|
|
|
|
|
+ name: "not-to-deprecated",
|
|
comment:
|
|
comment:
|
|
- 'This module uses a (version of an) npm module that has been deprecated. Either upgrade to a later ' +
|
|
|
|
- 'version of that module, or find an alternative. Deprecated modules are a security risk.',
|
|
|
|
- severity: 'warn',
|
|
|
|
|
|
+ "This module uses a (version of an) npm module that has been deprecated. Either upgrade to a later " +
|
|
|
|
+ "version of that module, or find an alternative. Deprecated modules are a security risk.",
|
|
|
|
+ severity: "warn",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
dependencyTypes: [
|
|
dependencyTypes: [
|
|
- 'deprecated'
|
|
|
|
|
|
+ "deprecated"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'no-non-package-json',
|
|
|
|
- severity: 'error',
|
|
|
|
|
|
+ name: "no-non-package-json",
|
|
|
|
+ severity: "error",
|
|
comment:
|
|
comment:
|
|
"This module depends on an npm package that isn't in the 'dependencies' section of your package.json. " +
|
|
"This module depends on an npm package that isn't in the 'dependencies' section of your package.json. " +
|
|
"That's problematic as the package either (1) won't be available on live (2 - worse) will be " +
|
|
"That's problematic as the package either (1) won't be available on live (2 - worse) will be " +
|
|
@@ -91,29 +91,29 @@ module.exports = {
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
dependencyTypes: [
|
|
dependencyTypes: [
|
|
- 'npm-no-pkg',
|
|
|
|
- 'npm-unknown'
|
|
|
|
|
|
+ "npm-no-pkg",
|
|
|
|
+ "npm-unknown"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'not-to-unresolvable',
|
|
|
|
|
|
+ name: "not-to-unresolvable",
|
|
comment:
|
|
comment:
|
|
"This module depends on a module that cannot be found ('resolved to disk'). If it's an npm " +
|
|
"This module depends on a module that cannot be found ('resolved to disk'). If it's an npm " +
|
|
- 'module: add it to your package.json. In all other cases you likely already know what to do.',
|
|
|
|
- severity: 'error',
|
|
|
|
|
|
+ "module: add it to your package.json. In all other cases you likely already know what to do.",
|
|
|
|
+ severity: "error",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
couldNotResolve: true
|
|
couldNotResolve: true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'no-duplicate-dep-types',
|
|
|
|
|
|
+ name: "no-duplicate-dep-types",
|
|
comment:
|
|
comment:
|
|
"Likely this module depends on an external ('npm') package that occurs more than once " +
|
|
"Likely this module depends on an external ('npm') package that occurs more than once " +
|
|
"in your package.json i.e. bot as a devDependencies and in dependencies. This will cause " +
|
|
"in your package.json i.e. bot as a devDependencies and in dependencies. This will cause " +
|
|
"maintenance problems later on.",
|
|
"maintenance problems later on.",
|
|
- severity: 'warn',
|
|
|
|
|
|
+ severity: "warn",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
moreThanOneDependencyType: true,
|
|
moreThanOneDependencyType: true,
|
|
@@ -127,47 +127,47 @@ module.exports = {
|
|
/* rules you might want to tweak for your specific situation: */
|
|
/* rules you might want to tweak for your specific situation: */
|
|
|
|
|
|
{
|
|
{
|
|
- name: 'not-to-spec',
|
|
|
|
|
|
+ name: "not-to-spec",
|
|
comment:
|
|
comment:
|
|
- 'This module depends on a spec (test) file. The sole responsibility of a spec file is to test code. ' +
|
|
|
|
|
|
+ "This module depends on a spec (test) file. The sole responsibility of a spec file is to test code. " +
|
|
"If there's something in a spec that's of use to other modules, it doesn't have that single " +
|
|
"If there's something in a spec that's of use to other modules, it doesn't have that single " +
|
|
- 'responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.',
|
|
|
|
- severity: 'error',
|
|
|
|
|
|
+ "responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.",
|
|
|
|
+ severity: "error",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
- path: '[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$'
|
|
|
|
|
|
+ path: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$"
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'not-to-dev-dep',
|
|
|
|
- severity: 'error',
|
|
|
|
|
|
+ name: "not-to-dev-dep",
|
|
|
|
+ severity: "error",
|
|
comment:
|
|
comment:
|
|
"This module depends on an npm package from the 'devDependencies' section of your " +
|
|
"This module depends on an npm package from the 'devDependencies' section of your " +
|
|
- 'package.json. It looks like something that ships to production, though. To prevent problems ' +
|
|
|
|
|
|
+ "package.json. It looks like something that ships to production, though. To prevent problems " +
|
|
"with npm packages that aren't there on production declare it (only!) in the 'dependencies'" +
|
|
"with npm packages that aren't there on production declare it (only!) in the 'dependencies'" +
|
|
- 'section of your package.json. If this module is development only - add it to the ' +
|
|
|
|
- 'from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration',
|
|
|
|
|
|
+ "section of your package.json. If this module is development only - add it to the " +
|
|
|
|
+ "from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration",
|
|
from: {
|
|
from: {
|
|
- path: '^(src)',
|
|
|
|
- pathNot: '[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$'
|
|
|
|
|
|
+ path: "^(src)",
|
|
|
|
+ pathNot: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$"
|
|
},
|
|
},
|
|
to: {
|
|
to: {
|
|
dependencyTypes: [
|
|
dependencyTypes: [
|
|
- 'npm-dev',
|
|
|
|
|
|
+ "npm-dev",
|
|
],
|
|
],
|
|
// type only dependencies are not a problem as they don't end up in the
|
|
// type only dependencies are not a problem as they don't end up in the
|
|
// production code or are ignored by the runtime.
|
|
// production code or are ignored by the runtime.
|
|
dependencyTypesNot: [
|
|
dependencyTypesNot: [
|
|
- 'type-only'
|
|
|
|
|
|
+ "type-only"
|
|
],
|
|
],
|
|
pathNot: [
|
|
pathNot: [
|
|
- 'node_modules/@types/'
|
|
|
|
|
|
+ "node_modules/@types/"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'optional-deps-used',
|
|
|
|
- severity: 'info',
|
|
|
|
|
|
+ name: "optional-deps-used",
|
|
|
|
+ severity: "info",
|
|
comment:
|
|
comment:
|
|
"This module depends on an npm package that is declared as an optional dependency " +
|
|
"This module depends on an npm package that is declared as an optional dependency " +
|
|
"in your package.json. As this makes sense in limited situations only, it's flagged here. " +
|
|
"in your package.json. As this makes sense in limited situations only, it's flagged here. " +
|
|
@@ -176,22 +176,22 @@ module.exports = {
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
dependencyTypes: [
|
|
dependencyTypes: [
|
|
- 'npm-optional'
|
|
|
|
|
|
+ "npm-optional"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- name: 'peer-deps-used',
|
|
|
|
|
|
+ name: "peer-deps-used",
|
|
comment:
|
|
comment:
|
|
"This module depends on an npm package that is declared as a peer dependency " +
|
|
"This module depends on an npm package that is declared as a peer dependency " +
|
|
"in your package.json. This makes sense if your package is e.g. a plugin, but in " +
|
|
"in your package.json. This makes sense if your package is e.g. a plugin, but in " +
|
|
"other cases - maybe not so much. If the use of a peer dependency is intentional " +
|
|
"other cases - maybe not so much. If the use of a peer dependency is intentional " +
|
|
"add an exception to your dependency-cruiser configuration.",
|
|
"add an exception to your dependency-cruiser configuration.",
|
|
- severity: 'warn',
|
|
|
|
|
|
+ severity: "warn",
|
|
from: {},
|
|
from: {},
|
|
to: {
|
|
to: {
|
|
dependencyTypes: [
|
|
dependencyTypes: [
|
|
- 'npm-peer'
|
|
|
|
|
|
+ "npm-peer"
|
|
]
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -201,7 +201,7 @@ module.exports = {
|
|
/* Which modules not to follow further when encountered */
|
|
/* Which modules not to follow further when encountered */
|
|
doNotFollow: {
|
|
doNotFollow: {
|
|
/* path: an array of regular expressions in strings to match against */
|
|
/* path: an array of regular expressions in strings to match against */
|
|
- path: ['node_modules']
|
|
|
|
|
|
+ path: ["node_modules"]
|
|
},
|
|
},
|
|
|
|
|
|
/* Which modules to exclude */
|
|
/* Which modules to exclude */
|
|
@@ -263,7 +263,7 @@ module.exports = {
|
|
defaults to './tsconfig.json'.
|
|
defaults to './tsconfig.json'.
|
|
*/
|
|
*/
|
|
tsConfig: {
|
|
tsConfig: {
|
|
- fileName: 'tsconfig.json'
|
|
|
|
|
|
+ fileName: "tsconfig.json"
|
|
},
|
|
},
|
|
|
|
|
|
/* Webpack configuration to use to get resolve options from.
|
|
/* Webpack configuration to use to get resolve options from.
|
|
@@ -337,7 +337,7 @@ module.exports = {
|
|
collapses everything in node_modules to one folder deep so you see
|
|
collapses everything in node_modules to one folder deep so you see
|
|
the external modules, but their innards.
|
|
the external modules, but their innards.
|
|
*/
|
|
*/
|
|
- collapsePattern: 'node_modules/(?:@[^/]+/[^/]+|[^/]+)',
|
|
|
|
|
|
+ collapsePattern: "node_modules/(?:@[^/]+/[^/]+|[^/]+)",
|
|
|
|
|
|
/* Options to tweak the appearance of your graph.See
|
|
/* Options to tweak the appearance of your graph.See
|
|
https://github.com/sverweij/dependency-cruiser/blob/main/doc/options-reference.md#reporteroptions
|
|
https://github.com/sverweij/dependency-cruiser/blob/main/doc/options-reference.md#reporteroptions
|
|
@@ -359,7 +359,7 @@ module.exports = {
|
|
dependency graph reporter (`archi`) you probably want to tweak
|
|
dependency graph reporter (`archi`) you probably want to tweak
|
|
this collapsePattern to your situation.
|
|
this collapsePattern to your situation.
|
|
*/
|
|
*/
|
|
- collapsePattern: '^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)',
|
|
|
|
|
|
+ collapsePattern: "^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)",
|
|
|
|
|
|
/* Options to tweak the appearance of your graph. If you don't specify a
|
|
/* Options to tweak the appearance of your graph. If you don't specify a
|
|
theme for 'archi' dependency-cruiser will use the one specified in the
|
|
theme for 'archi' dependency-cruiser will use the one specified in the
|