@digest/eslint-config 4.13.2-next.3 → 4.14.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -7
- package/src/eslint.config.js +47 -43
- package/src/general.eslint.config.js +47 -29
- package/src/index.js +5 -5
- package/src/yaml.eslint.config.js +5 -4
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@digest/eslint-config",
|
|
3
3
|
"title": "ESLint Digest",
|
|
4
4
|
"license": "LGPL-3.0-or-later",
|
|
5
|
-
"version": "4.
|
|
5
|
+
"version": "4.14.0-beta.1",
|
|
6
6
|
"description": "Digested ESLint configurations",
|
|
7
7
|
"author": "wallzero @wallzeroblog (http://wallzero.com)",
|
|
8
8
|
"contributors": [
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"position": "Initial and Lead Developer"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
|
+
"type": "module",
|
|
15
16
|
"main": "src/eslint.config.js",
|
|
16
17
|
"files": [
|
|
17
18
|
"/src/eslint.config.js",
|
|
@@ -37,18 +38,18 @@
|
|
|
37
38
|
"dependencies": {
|
|
38
39
|
"@digest/scripts": "^4.0.0",
|
|
39
40
|
"@eslint/compat": "^1.2.7",
|
|
40
|
-
"@eslint/js": "^9.
|
|
41
|
-
"@stylistic/eslint-plugin-js": "^4.0
|
|
42
|
-
"eslint": "^9.
|
|
43
|
-
"eslint-config-canonical": "^44.
|
|
41
|
+
"@eslint/js": "^9.23.0",
|
|
42
|
+
"@stylistic/eslint-plugin-js": "^4.2.0",
|
|
43
|
+
"eslint": "^9.23.0",
|
|
44
|
+
"eslint-config-canonical": "^44.8.2",
|
|
44
45
|
"eslint-plugin-canonical": "^5.1.3",
|
|
45
46
|
"eslint-plugin-import": "^2.31.0",
|
|
46
47
|
"globals": "^16.0.0",
|
|
47
|
-
"typescript-eslint": "^8.
|
|
48
|
+
"typescript-eslint": "^8.27.0"
|
|
48
49
|
},
|
|
49
50
|
"keywords": [
|
|
50
51
|
"digest",
|
|
51
52
|
"eslint"
|
|
52
53
|
],
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "7b3e0be8864f739b346bbd67503f3fd69c754042"
|
|
54
55
|
}
|
package/src/eslint.config.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
eslint-disable
|
|
3
|
-
unicorn/prefer-module,
|
|
4
|
-
canonical/filename-match-exported
|
|
5
|
-
*/
|
|
6
1
|
/*
|
|
7
2
|
|
|
8
3
|
This file is part of the Node Digest.
|
|
@@ -22,8 +17,14 @@
|
|
|
22
17
|
|
|
23
18
|
*/
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
import generalConfigs from './general.eslint.config.js';
|
|
21
|
+
import yamlConfigs from './yaml.eslint.config.js';
|
|
22
|
+
import {
|
|
23
|
+
createRequire
|
|
24
|
+
} from 'node:module';
|
|
25
|
+
|
|
26
|
+
const require = createRequire(import.meta.url);
|
|
27
|
+
|
|
27
28
|
const {
|
|
28
29
|
config: {
|
|
29
30
|
eslintBabel,
|
|
@@ -35,69 +36,72 @@ const {
|
|
|
35
36
|
}
|
|
36
37
|
} = require('@digest/scripts');
|
|
37
38
|
|
|
38
|
-
const getBabelConfig = () => {
|
|
39
|
+
const getBabelConfig = async () => {
|
|
39
40
|
if (eslintBabel) {
|
|
40
|
-
// eslint-disable-next-line
|
|
41
|
-
return
|
|
41
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
|
|
42
|
+
return (await import('@digest/eslint-config-babel')).default;
|
|
42
43
|
} else {
|
|
43
|
-
return [];
|
|
44
|
+
return await [];
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
47
|
|
|
47
|
-
const getReactConfig = () => {
|
|
48
|
+
const getReactConfig = async () => {
|
|
48
49
|
if (eslintReact) {
|
|
49
|
-
// eslint-disable-next-line
|
|
50
|
-
return
|
|
50
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
|
|
51
|
+
return (await import('@digest/eslint-config-react')).default;
|
|
51
52
|
} else {
|
|
52
|
-
return [];
|
|
53
|
+
return await [];
|
|
53
54
|
}
|
|
54
55
|
};
|
|
55
56
|
|
|
56
|
-
const getReactNativeConfig = () => {
|
|
57
|
+
const getReactNativeConfig = async () => {
|
|
57
58
|
if (eslintReact && eslintReactNative) {
|
|
58
|
-
// eslint-disable-next-line
|
|
59
|
-
return
|
|
59
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
|
|
60
|
+
return (await import('@digest/eslint-config-react-native')).default;
|
|
60
61
|
} else {
|
|
61
|
-
return [];
|
|
62
|
+
return await [];
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
65
|
|
|
65
|
-
const getTypeScriptConfig = () => {
|
|
66
|
+
const getTypeScriptConfig = async () => {
|
|
66
67
|
if (eslintTypeScript) {
|
|
67
|
-
// eslint-disable-next-line
|
|
68
|
-
return
|
|
68
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
|
|
69
|
+
return (await import('@digest/eslint-config-typescript')).default;
|
|
69
70
|
} else {
|
|
70
|
-
return [];
|
|
71
|
+
return await [];
|
|
71
72
|
}
|
|
72
73
|
};
|
|
73
74
|
|
|
74
|
-
const getGraphQLConfig = () => {
|
|
75
|
+
const getGraphQLConfig = async () => {
|
|
75
76
|
if (eslintGraphQL) {
|
|
76
|
-
// eslint-disable-next-line
|
|
77
|
-
return
|
|
77
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
|
|
78
|
+
return (await import('@digest/eslint-config-graphql')).default;
|
|
78
79
|
} else {
|
|
79
|
-
return [];
|
|
80
|
+
return await [];
|
|
80
81
|
}
|
|
81
82
|
};
|
|
82
83
|
|
|
83
|
-
const getJestConfig = () => {
|
|
84
|
+
const getJestConfig = async () => {
|
|
84
85
|
if (eslintJest) {
|
|
85
|
-
// eslint-disable-next-line
|
|
86
|
-
return
|
|
86
|
+
// eslint-disable-next-line import/no-extraneous-dependencies,n/no-extraneous-import
|
|
87
|
+
return (await import('@digest/eslint-config-jest')).default;
|
|
87
88
|
} else {
|
|
88
|
-
return [];
|
|
89
|
+
return await [];
|
|
89
90
|
}
|
|
90
91
|
};
|
|
91
92
|
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
93
|
+
const getConfigs = async () => {
|
|
94
|
+
return [
|
|
95
|
+
...generalConfigs,
|
|
96
|
+
...yamlConfigs
|
|
97
|
+
].concat(
|
|
98
|
+
await getReactConfig(),
|
|
99
|
+
await getReactNativeConfig(),
|
|
100
|
+
await getBabelConfig(),
|
|
101
|
+
await getTypeScriptConfig(),
|
|
102
|
+
await getGraphQLConfig(),
|
|
103
|
+
await getJestConfig()
|
|
104
|
+
);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export default await getConfigs();
|
|
@@ -18,24 +18,42 @@
|
|
|
18
18
|
*/
|
|
19
19
|
/*
|
|
20
20
|
eslint-disable
|
|
21
|
-
unicorn/prefer-module,
|
|
22
21
|
canonical/filename-match-exported,
|
|
23
22
|
no-unused-vars
|
|
24
23
|
*/
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
import {
|
|
26
|
+
includeIgnoreFile
|
|
27
|
+
} from '@eslint/compat';
|
|
28
|
+
import {
|
|
29
|
+
recommended as canonicalBrowser
|
|
30
|
+
} from 'eslint-config-canonical/browser';
|
|
31
|
+
import {
|
|
32
|
+
recommended as canonical
|
|
33
|
+
} from 'eslint-config-canonical/canonical';
|
|
34
|
+
import {
|
|
35
|
+
// eslint-disable-next-line unicorn/prevent-abbreviations
|
|
36
|
+
recommended as canonicalJSDoc
|
|
37
|
+
} from 'eslint-config-canonical/jsdoc';
|
|
38
|
+
import {
|
|
39
|
+
recommended as canonicalJSON
|
|
40
|
+
} from 'eslint-config-canonical/json';
|
|
41
|
+
import {
|
|
42
|
+
recommended as canonicalLodash
|
|
43
|
+
} from 'eslint-config-canonical/lodash';
|
|
44
|
+
import {
|
|
45
|
+
recommended as canonicalModule
|
|
46
|
+
} from 'eslint-config-canonical/module';
|
|
47
|
+
import {
|
|
48
|
+
recommended as canonicalNode
|
|
49
|
+
} from 'eslint-config-canonical/node';
|
|
50
|
+
import {
|
|
51
|
+
recommended as canonicalRegExp
|
|
52
|
+
} from 'eslint-config-canonical/regexp';
|
|
53
|
+
import fs from 'node:fs';
|
|
54
|
+
import path from 'node:path';
|
|
37
55
|
|
|
38
|
-
const gitignorePath = path.resolve(
|
|
56
|
+
const gitignorePath = path.resolve(import.meta.dirname, '.gitignore');
|
|
39
57
|
const gitignoreExists = fs.existsSync(gitignorePath);
|
|
40
58
|
|
|
41
59
|
const {
|
|
@@ -43,22 +61,22 @@ const {
|
|
|
43
61
|
'import/no-deprecated': omit2,
|
|
44
62
|
'import/no-extraneous-dependencies': noExraneousDependencies,
|
|
45
63
|
...canonicalFixedRules
|
|
46
|
-
} = canonical.
|
|
64
|
+
} = canonical[0].rules;
|
|
47
65
|
|
|
48
66
|
const {
|
|
49
67
|
'n/no-extraneous-import': noExraneousImport,
|
|
50
68
|
...canonicalNodeFixedRules
|
|
51
|
-
} = canonicalNode.
|
|
69
|
+
} = canonicalNode[0].rules;
|
|
52
70
|
|
|
53
71
|
const {
|
|
54
72
|
'jsonc/sort-keys': sortKeys,
|
|
55
73
|
...canonicalJSONFixedRules
|
|
56
|
-
} = canonicalJSON.
|
|
74
|
+
} = canonicalJSON[0].rules;
|
|
57
75
|
|
|
58
76
|
const generalConfigs = [
|
|
59
77
|
gitignoreExists ?
|
|
60
78
|
[
|
|
61
|
-
|
|
79
|
+
includeIgnoreFile(gitignorePath)
|
|
62
80
|
] :
|
|
63
81
|
[],
|
|
64
82
|
[
|
|
@@ -70,14 +88,14 @@ const generalConfigs = [
|
|
|
70
88
|
],
|
|
71
89
|
},
|
|
72
90
|
{
|
|
73
|
-
...canonical
|
|
91
|
+
...canonical[0],
|
|
74
92
|
rules: {
|
|
75
93
|
...canonicalFixedRules,
|
|
76
94
|
'@stylistic/comma-dangle': 'off'
|
|
77
95
|
}
|
|
78
96
|
},
|
|
79
97
|
{
|
|
80
|
-
...canonical
|
|
98
|
+
...canonical[0],
|
|
81
99
|
ignores: [
|
|
82
100
|
'**/__tests__/*'
|
|
83
101
|
],
|
|
@@ -87,11 +105,11 @@ const generalConfigs = [
|
|
|
87
105
|
}
|
|
88
106
|
},
|
|
89
107
|
{
|
|
90
|
-
...canonicalNode
|
|
108
|
+
...canonicalNode[0],
|
|
91
109
|
rules: canonicalNodeFixedRules
|
|
92
110
|
},
|
|
93
111
|
{
|
|
94
|
-
...canonicalNode
|
|
112
|
+
...canonicalNode[0],
|
|
95
113
|
ignores: [
|
|
96
114
|
'**/__tests__/*'
|
|
97
115
|
],
|
|
@@ -99,17 +117,17 @@ const generalConfigs = [
|
|
|
99
117
|
'n/no-extraneous-import': noExraneousImport
|
|
100
118
|
}
|
|
101
119
|
},
|
|
102
|
-
canonicalModule
|
|
103
|
-
canonicalBrowser
|
|
104
|
-
canonicalRegExp
|
|
105
|
-
canonicalJSDoc
|
|
106
|
-
canonicalLodash
|
|
120
|
+
canonicalModule[0],
|
|
121
|
+
canonicalBrowser[0],
|
|
122
|
+
canonicalRegExp[0],
|
|
123
|
+
canonicalJSDoc[0],
|
|
124
|
+
canonicalLodash[0],
|
|
107
125
|
{
|
|
108
|
-
...canonicalJSON
|
|
126
|
+
...canonicalJSON[0],
|
|
109
127
|
rules: canonicalJSONFixedRules
|
|
110
128
|
},
|
|
111
129
|
{
|
|
112
|
-
...canonicalJSON
|
|
130
|
+
...canonicalJSON[0],
|
|
113
131
|
ignores: [
|
|
114
132
|
'**/package.json'
|
|
115
133
|
],
|
|
@@ -120,4 +138,4 @@ const generalConfigs = [
|
|
|
120
138
|
]
|
|
121
139
|
].flat();
|
|
122
140
|
|
|
123
|
-
|
|
141
|
+
export default generalConfigs;
|
package/src/index.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
eslint-disable
|
|
3
|
-
unicorn/prefer-module
|
|
4
|
-
*/
|
|
5
1
|
/*
|
|
6
2
|
|
|
7
3
|
This file is part of the Node Digest.
|
|
@@ -20,9 +16,13 @@
|
|
|
20
16
|
along with Node Digest . If not, see <https://www.gnu.org/licenses/>.
|
|
21
17
|
|
|
22
18
|
*/
|
|
19
|
+
|
|
23
20
|
/*
|
|
24
21
|
DO NOT REMOVE
|
|
25
22
|
This file is still required; package.json `main` parameter ignored in some
|
|
26
23
|
cases
|
|
27
24
|
*/
|
|
28
|
-
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
default
|
|
28
|
+
} from './eslint.config.js';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
2
|
eslint-disable
|
|
3
|
-
unicorn/prefer-module,
|
|
4
3
|
canonical/filename-match-exported
|
|
5
4
|
*/
|
|
6
5
|
/*
|
|
@@ -22,10 +21,12 @@
|
|
|
22
21
|
|
|
23
22
|
*/
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
import {
|
|
25
|
+
recommended as canonicalYAML
|
|
26
|
+
} from 'eslint-config-canonical/yaml';
|
|
26
27
|
|
|
27
28
|
const yamlConfigs = [
|
|
28
|
-
canonicalYAML
|
|
29
|
+
canonicalYAML[0]
|
|
29
30
|
];
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
export default yamlConfigs;
|