Skip to content

Commit 07a0b86

Browse files
committed
docs(eslintrc/import): add rules URL 🔗
1 parent dd30f19 commit 07a0b86

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed

‎configs/eslint/src/import/helpful-warnings.ts‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22
module.exports = {
33
rules: {
44
// Report any invalid exports, i.e. re-export of the same name
5+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/export.md
56
'import/export': 'error',
67

78
// Report use of exported name as identifier of default export
9+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-as-default.md
810
'import/no-named-as-default': 'error',
911

1012
// Report use of exported name as property of default export
13+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-as-default-member.md
1114
'import/no-named-as-default-member': 'error',
1215

1316
// Report imported names marked with `@deprecated` documentation tag
17+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-deprecated.md
1418
'import/no-deprecated': 'off',
1519

1620
// Forbid the use of extraneous packages
21+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-extraneous-dependencies.md
1722
'import/no-extraneous-dependencies': [
1823
'error',
1924
{
@@ -42,9 +47,11 @@ module.exports = {
4247
],
4348

4449
// Forbid the use of mutable exports with `var` or `let`.
50+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-mutable-exports.md
4551
'import/no-mutable-exports': 'error',
4652

4753
// Report modules without exports, or exports without matching import in another module
54+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unused-modules.md
4855
'import/no-unused-modules': 'off',
4956
},
5057
};

‎configs/eslint/src/import/module-systems.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22
module.exports = {
33
rules: {
44
// Report potentially ambiguous parse goal (`script` vs. `module`)
5+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/unambiguous.md
56
'import/unambiguous': 'off',
67

78
// Report CommonJS `require` calls and `module.exports` or `exports.*`.
9+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-commonjs.md
810
'import/no-commonjs': 'off',
911

1012
// Report AMD `require` and `define` calls.
13+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-amd.md
1114
'import/no-amd': 'error',
1215

1316
// No Node.js builtin modules.
17+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-nodejs-modules.md
1418
'import/no-nodejs-modules': 'off',
1519

1620
// Forbid imports with CommonJS exports
21+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-import-module-exports.md
1722
'import/no-import-module-exports': 'off',
1823
},
1924
};

‎configs/eslint/src/import/static-analysis.ts‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,59 @@
22
module.exports = {
33
rules: {
44
// Ensure imports point to a file/module that can be resolved.
5+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unresolved.md
56
'import/no-unresolved': ['error', { commonjs: true, caseSensitive: true }],
67

78
// Ensure named imports correspond to a named export in the remote file.
9+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/named.md
810
'import/named': 'error',
911

1012
// Ensure a default export is present, given a default import.
13+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/default.md
1114
'import/default': 'off',
1215

1316
// Ensure imported namespaces contain dereferenced properties as they are dereferenced.
17+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/namespace.md
1418
'import/namespace': 'off',
1519

1620
// Restrict which files can be imported in a given folder
21+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-restricted-paths.md
1722
'import/no-restricted-paths': 'off',
1823

1924
// Forbid import of modules using absolute paths
25+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-absolute-path.md
2026
'import/no-absolute-path': 'error',
2127

2228
// Forbid `require()` calls with expressions
29+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-dynamic-require.md
2330
'import/no-dynamic-require': 'error',
2431

2532
// Prevent importing the submodules of other modules
33+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-internal-modules.md
2634
'import/no-internal-modules': 'off',
2735

2836
// Forbid webpack loader syntax in imports
37+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-webpack-loader-syntax.md
2938
'import/no-webpack-loader-syntax': 'error',
3039

3140
// Forbid a module from importing itself
41+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-self-import.md
3242
'import/no-self-import': 'error',
3343

3444
// Forbid a module from importing a module with a dependency path back to itself
45+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-cycle.md
3546
'import/no-cycle': ['error', { maxDepth: '∞' }],
3647

3748
// Prevent unnecessary path segments in import and require statements
49+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-useless-path-segments.md
3850
'import/no-useless-path-segments': ['error', { commonjs: true }],
3951

4052
// Forbid importing modules from parent directories
53+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-parent-imports.md
4154
'import/no-relative-parent-imports': 'off',
4255

4356
// Prevent importing packages through relative paths
57+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-packages.md
4458
'import/no-relative-packages': 'error',
4559
},
4660
};

‎configs/eslint/src/import/style-guide.ts‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,23 @@
22
module.exports = {
33
rules: {
44
// Ensure all imports appear before other statements
5+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/first.md
56
'import/first': 'error',
67

78
// Ensure all exports appear after other statements
9+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/exports-last.md
810
'import/exports-last': 'off',
911

1012
// Report repeated import of the same module in multiple places
13+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-duplicates.md
1114
'import/no-duplicates': 'error',
1215

1316
// Forbid namespace (a.k.a. "wildcard" *) imports
17+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-namespace.md
1418
'import/no-namespace': 'off',
1519

1620
// Ensure consistent use of file extension within the import path
21+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/extensions.md
1722
'import/extensions': [
1823
'error',
1924
'ignorePackages',
@@ -27,39 +32,50 @@ module.exports = {
2732
],
2833

2934
// Enforce a convention in module import order
35+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/order.md
3036
'import/order': [
3137
'error',
3238
{ groups: [['builtin', 'external', 'internal']] },
3339
],
3440

3541
// Enforce a newline after import statements
42+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/newline-after-import.md
3643
'import/newline-after-import': 'error',
3744

3845
// Prefer a default export if module exports a single name
46+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/prefer-default-export.md
3947
'import/prefer-default-export': 'error',
4048

4149
// Limit the maximum number of dependencies a module can have
50+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/max-dependencies.md
4251
'import/max-dependencies': 'off',
4352

4453
// Forbid unassigned imports
54+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-unassigned-import.md
4555
'import/no-unassigned-import': 'off',
4656

4757
// Forbid named default exports
58+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-default.md
4859
'import/no-named-default': 'error',
4960

5061
// Forbid default exports
62+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-default-export.md
5163
'import/no-default-export': 'off',
5264

5365
// Forbid named exports
66+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-named-export.md
5467
'import/no-named-export': 'off',
5568

5669
// Forbid anonymous values as default exports
70+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-anonymous-default-export.md
5771
'import/no-anonymous-default-export': 'off',
5872

5973
// Prefer named exports to be grouped together in a single export declaration
74+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/group-exports.md
6075
'import/group-exports': 'off',
6176

6277
// Enforce a leading comment with the webpackChunkName for dynamic imports
78+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/dynamic-import-chunkname.md
6379
'import/dynamic-import-chunkname': 'off',
6480
},
6581
};

0 commit comments

Comments
 (0)