@eslinted/core 30.1.0 → 31.0.0
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/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +34 -58
- package/dist/factory.js.map +1 -1
- package/package.json +1 -1
- package/src/factory.ts +36 -81
- package/typings/settings/setting.d.ts +4 -4
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAG1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAG1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,MAAM,SAAS,cAAc,GAAG,QAAQ,EAExC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACzF,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7F,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,6CAwFjG"}
|
package/dist/factory.js
CHANGED
|
@@ -1,81 +1,57 @@
|
|
|
1
1
|
import { defineConfig, globalIgnores, } from "@eslint/config-helpers";
|
|
2
2
|
export default function factory(scopes, optional, tree, imports, settings, defaults, extensions) {
|
|
3
3
|
const Scopes = new Set(scopes);
|
|
4
|
-
if (extensions
|
|
4
|
+
if (extensions) {
|
|
5
5
|
for (const scope of optional)
|
|
6
|
-
if (extensions[scope]
|
|
7
|
-
Scopes.delete(scope);
|
|
8
|
-
else {
|
|
6
|
+
if (extensions[scope]) {
|
|
9
7
|
imports.plugins[scope] = extensions[scope].plugin;
|
|
10
8
|
imports.parsers[scope] = extensions[scope].parser;
|
|
11
9
|
}
|
|
10
|
+
else
|
|
11
|
+
Scopes.delete(scope);
|
|
12
12
|
for (const scope of Scopes)
|
|
13
|
-
if (extensions[scope]
|
|
14
|
-
if (extensions[scope].files
|
|
13
|
+
if (extensions[scope]) {
|
|
14
|
+
if (extensions[scope].files)
|
|
15
15
|
void defaults.files[scope].push(...extensions[scope].files);
|
|
16
|
-
if (extensions[scope].ignores
|
|
17
|
-
if (defaults.ignores[scope]
|
|
18
|
-
defaults.ignores[scope] = extensions[scope].ignores;
|
|
19
|
-
else
|
|
16
|
+
if (extensions[scope].ignores)
|
|
17
|
+
if (defaults.ignores[scope])
|
|
20
18
|
void defaults.ignores[scope].push(...extensions[scope].ignores);
|
|
21
|
-
|
|
19
|
+
else
|
|
20
|
+
defaults.ignores[scope] = extensions[scope].ignores;
|
|
21
|
+
if (extensions[scope].rules)
|
|
22
22
|
defaults.rules[scope][defaults.rules[scope].length] = { rules: extensions[scope].rules };
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
for (const [scope, parents] of tree)
|
|
26
26
|
if (Scopes.has(scope)
|
|
27
|
-
&& defaults.files[scope].length
|
|
27
|
+
&& defaults.files[scope].length)
|
|
28
28
|
for (const parent of parents)
|
|
29
29
|
void defaults.files[parent].push(...defaults.files[scope]);
|
|
30
|
-
if (extensions
|
|
31
|
-
if (extensions["*"]
|
|
32
|
-
if (extensions["*"].override
|
|
33
|
-
|| defaults.ignores["*"]
|
|
30
|
+
if (extensions)
|
|
31
|
+
if (extensions["*"])
|
|
32
|
+
if (extensions["*"].override
|
|
33
|
+
|| !defaults.ignores["*"])
|
|
34
34
|
defaults.ignores["*"] = extensions["*"].ignores ?? [];
|
|
35
|
-
else if (extensions["*"].ignores
|
|
36
|
-
&& extensions["*"].ignores.length !== 0)
|
|
35
|
+
else if (extensions["*"].ignores?.length)
|
|
37
36
|
void defaults.ignores["*"].push(...extensions["*"].ignores);
|
|
38
37
|
const enabledScopes = [...Scopes]
|
|
39
|
-
.filter(scope => defaults.files[scope].length
|
|
40
|
-
.filter(scope => defaults.rules[scope].length
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
languageOptions.parser = imports.parsers[languageOptions.parser];
|
|
48
|
-
if (parserOptions?.parser !== undefined)
|
|
49
|
-
parserOptions.parser = imports.parsers[parserOptions.parser];
|
|
50
|
-
if (parserOptions === undefined) {
|
|
51
|
-
if (languageOptions !== undefined)
|
|
52
|
-
definition.languageOptions = languageOptions;
|
|
38
|
+
.filter(scope => defaults.files[scope].length)
|
|
39
|
+
.filter(scope => defaults.rules[scope].length);
|
|
40
|
+
for (const scope of enabledScopes)
|
|
41
|
+
if (settings[scope])
|
|
42
|
+
if (settings[scope].languageOptions) {
|
|
43
|
+
settings[scope].languageOptions.parser &&= imports.parsers[settings[scope].languageOptions.parser];
|
|
44
|
+
if (settings[scope].languageOptions.parserOptions)
|
|
45
|
+
settings[scope].languageOptions.parserOptions.parser &&= imports.parsers[settings[scope].languageOptions.parserOptions.parser];
|
|
53
46
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
definition.processor = processor;
|
|
64
|
-
if (language !== undefined)
|
|
65
|
-
definition.language = language;
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
files: defaults.files[scope],
|
|
69
|
-
ignores: defaults.ignores[scope] ?? [],
|
|
70
|
-
"extends": [
|
|
71
|
-
definition.languageOptions !== undefined
|
|
72
|
-
|| definition.language !== undefined
|
|
73
|
-
|| definition.processor !== undefined
|
|
74
|
-
? definition
|
|
75
|
-
: [],
|
|
76
|
-
defaults.rules[scope],
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
}));
|
|
47
|
+
return defineConfig({ plugins: imports.plugins }, globalIgnores(defaults.ignores["*"] ?? []), enabledScopes
|
|
48
|
+
.map(scope => ({
|
|
49
|
+
files: defaults.files[scope],
|
|
50
|
+
ignores: defaults.ignores[scope] ?? [],
|
|
51
|
+
"extends": [
|
|
52
|
+
settings[scope] ?? [],
|
|
53
|
+
defaults.rules[scope],
|
|
54
|
+
],
|
|
55
|
+
})));
|
|
80
56
|
}
|
|
81
57
|
//# sourceMappingURL=factory.js.map
|
package/dist/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAIhC,MAAM,CAAC,OAAO,UAAU,OAAO,CAO7B,MAA2F,EAC3F,QAA6F,EAC7F,IAAyF,EACzF,OAA4F,EAC5F,QAA6F,EAC7F,QAA6F,EAC7F,UAAgG;IAEhG,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"$schema": "https://json.schemastore.org/package",
|
|
4
4
|
"$help": "https://docs.npmjs.com/cli/configuring-npm/package-json",
|
|
5
5
|
"name": "@eslinted/core",
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "31.0.0",
|
|
7
7
|
"repository": "github:jimmy-zhening-luo/linted-core",
|
|
8
8
|
"description": "Internal core for npm package `linted`, responsible for producing an array of fully-formed ESLint configurations according to `linted` spec.",
|
|
9
9
|
"keywords": [],
|
package/src/factory.ts
CHANGED
|
@@ -22,32 +22,31 @@ export default function factory<
|
|
|
22
22
|
) {
|
|
23
23
|
const Scopes = new Set(scopes);
|
|
24
24
|
|
|
25
|
-
if (extensions
|
|
25
|
+
if (extensions) {
|
|
26
26
|
for (const scope of optional)
|
|
27
|
-
if (extensions[scope]
|
|
28
|
-
Scopes.delete(scope);
|
|
29
|
-
else {
|
|
27
|
+
if (extensions[scope]) {
|
|
30
28
|
imports.plugins[scope] = extensions[scope].plugin as typeof imports.plugins[Optional];
|
|
31
29
|
imports.parsers[scope] = extensions[scope].parser as typeof imports.parsers[Optional];
|
|
32
30
|
}
|
|
31
|
+
else
|
|
32
|
+
Scopes.delete(scope);
|
|
33
33
|
|
|
34
34
|
for (const scope of Scopes)
|
|
35
|
-
if (extensions[scope]
|
|
36
|
-
if (extensions[scope].files
|
|
35
|
+
if (extensions[scope]) {
|
|
36
|
+
if (extensions[scope].files)
|
|
37
37
|
void defaults.files[scope].push(
|
|
38
38
|
...extensions[scope].files,
|
|
39
39
|
);
|
|
40
40
|
|
|
41
|
-
if (extensions[scope].ignores
|
|
42
|
-
if (defaults.ignores[scope]
|
|
43
|
-
|
|
44
|
-
defaults.ignores[scope] = extensions[scope].ignores;
|
|
45
|
-
else
|
|
41
|
+
if (extensions[scope].ignores)
|
|
42
|
+
if (defaults.ignores[scope])
|
|
46
43
|
void defaults.ignores[scope].push(
|
|
47
44
|
...extensions[scope].ignores,
|
|
48
45
|
);
|
|
46
|
+
else
|
|
47
|
+
defaults.ignores[scope] = extensions[scope].ignores;
|
|
49
48
|
|
|
50
|
-
if (extensions[scope].rules
|
|
49
|
+
if (extensions[scope].rules)
|
|
51
50
|
defaults.rules[scope][
|
|
52
51
|
defaults.rules[scope].length
|
|
53
52
|
] = { rules: extensions[scope].rules };
|
|
@@ -57,98 +56,54 @@ export default function factory<
|
|
|
57
56
|
for (const [scope, parents] of tree)
|
|
58
57
|
if (
|
|
59
58
|
Scopes.has(scope)
|
|
60
|
-
&& defaults.files[scope].length
|
|
59
|
+
&& defaults.files[scope].length
|
|
61
60
|
)
|
|
62
61
|
for (const parent of parents)
|
|
63
62
|
void defaults.files[parent].push(
|
|
64
63
|
...defaults.files[scope],
|
|
65
64
|
);
|
|
66
65
|
|
|
67
|
-
if (extensions
|
|
68
|
-
if (extensions["*"]
|
|
66
|
+
if (extensions)
|
|
67
|
+
if (extensions["*"])
|
|
69
68
|
if (
|
|
70
|
-
extensions["*"].override
|
|
71
|
-
|| defaults.ignores["*"]
|
|
69
|
+
extensions["*"].override
|
|
70
|
+
|| !defaults.ignores["*"]
|
|
72
71
|
)
|
|
73
72
|
defaults.ignores["*"] = extensions["*"].ignores ?? [];
|
|
74
73
|
else
|
|
75
74
|
if (
|
|
76
|
-
extensions["*"].ignores
|
|
77
|
-
&& extensions["*"].ignores.length !== 0
|
|
75
|
+
extensions["*"].ignores?.length
|
|
78
76
|
)
|
|
79
77
|
void defaults.ignores["*"].push(
|
|
80
78
|
...extensions["*"].ignores,
|
|
81
79
|
);
|
|
82
80
|
|
|
83
81
|
const enabledScopes = [...Scopes]
|
|
84
|
-
.filter(scope => defaults.files[scope].length
|
|
85
|
-
.filter(scope => defaults.rules[scope].length
|
|
82
|
+
.filter(scope => defaults.files[scope].length)
|
|
83
|
+
.filter(scope => defaults.rules[scope].length);
|
|
84
|
+
|
|
85
|
+
for (const scope of enabledScopes)
|
|
86
|
+
if (settings[scope])
|
|
87
|
+
if (settings[scope].languageOptions) {
|
|
88
|
+
settings[scope].languageOptions.parser &&= imports.parsers[settings[scope].languageOptions.parser] as Parser;
|
|
89
|
+
|
|
90
|
+
if (settings[scope].languageOptions.parserOptions)
|
|
91
|
+
settings[scope].languageOptions.parserOptions.parser &&= imports.parsers[settings[scope].languageOptions.parserOptions.parser] as Parser;
|
|
92
|
+
}
|
|
86
93
|
|
|
87
94
|
return defineConfig(
|
|
88
95
|
{ plugins: imports.plugins },
|
|
89
96
|
globalIgnores(defaults.ignores["*"] ?? []),
|
|
90
97
|
enabledScopes
|
|
91
98
|
.map(
|
|
92
|
-
scope => {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
processor?: string;
|
|
101
|
-
language?: string;
|
|
102
|
-
} = {};
|
|
103
|
-
|
|
104
|
-
if (settings[scope] !== undefined) {
|
|
105
|
-
const {
|
|
106
|
-
languageOptions,
|
|
107
|
-
parserOptions,
|
|
108
|
-
processor,
|
|
109
|
-
language,
|
|
110
|
-
} = settings[scope];
|
|
111
|
-
|
|
112
|
-
if (languageOptions?.parser !== undefined)
|
|
113
|
-
languageOptions.parser = imports.parsers[languageOptions.parser] as Parser;
|
|
114
|
-
|
|
115
|
-
if (parserOptions?.parser !== undefined)
|
|
116
|
-
parserOptions.parser = imports.parsers[parserOptions.parser] as Parser;
|
|
117
|
-
|
|
118
|
-
if (parserOptions === undefined) {
|
|
119
|
-
if (languageOptions !== undefined)
|
|
120
|
-
definition.languageOptions = languageOptions;
|
|
121
|
-
}
|
|
122
|
-
else
|
|
123
|
-
if (languageOptions === undefined)
|
|
124
|
-
definition.languageOptions = {
|
|
125
|
-
parserOptions,
|
|
126
|
-
};
|
|
127
|
-
else {
|
|
128
|
-
(languageOptions as NonNullable<typeof definition.languageOptions>).parserOptions = parserOptions;
|
|
129
|
-
definition.languageOptions = languageOptions;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (processor !== undefined)
|
|
133
|
-
(definition as typeof definition & { processor: string }).processor = processor;
|
|
134
|
-
|
|
135
|
-
if (language !== undefined)
|
|
136
|
-
(definition as typeof definition & { language: string }).language = language;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return {
|
|
140
|
-
files: defaults.files[scope],
|
|
141
|
-
ignores: defaults.ignores[scope] ?? [],
|
|
142
|
-
"extends": [
|
|
143
|
-
definition.languageOptions !== undefined
|
|
144
|
-
|| definition.language !== undefined
|
|
145
|
-
|| definition.processor !== undefined
|
|
146
|
-
? definition
|
|
147
|
-
: [],
|
|
148
|
-
defaults.rules[scope] as MutableRuleConfigs<NonNullable<typeof defaults.rules[typeof scope]>>,
|
|
149
|
-
],
|
|
150
|
-
};
|
|
151
|
-
},
|
|
99
|
+
scope => ({
|
|
100
|
+
files: defaults.files[scope],
|
|
101
|
+
ignores: defaults.ignores[scope] ?? [],
|
|
102
|
+
"extends": [
|
|
103
|
+
settings[scope] ?? [],
|
|
104
|
+
defaults.rules[scope] as MutableRuleConfigs<NonNullable<typeof defaults.rules[typeof scope]>>,
|
|
105
|
+
],
|
|
106
|
+
}),
|
|
152
107
|
),
|
|
153
108
|
);
|
|
154
109
|
}
|
|
@@ -4,10 +4,10 @@ export interface Setting<
|
|
|
4
4
|
languageOptions?: {
|
|
5
5
|
[property: string]: unknown;
|
|
6
6
|
parser?: Parser;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
parserOptions?: {
|
|
8
|
+
[property: string]: unknown;
|
|
9
|
+
parser?: Parser;
|
|
10
|
+
};
|
|
11
11
|
};
|
|
12
12
|
language?: string;
|
|
13
13
|
processor?: string;
|