@eslinted/core 31.2.3 → 31.2.4
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 +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +27 -30
- package/dist/factory.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/factory.ts +60 -61
- package/src/index.ts +3 -10
- package/typings/settings/index.d.ts +1 -2
- package/typings/settings/setting.d.ts +3 -3
package/dist/factory.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Core from "./index.js";
|
|
2
|
-
export default function factory<Scope extends string, Optional extends Scope
|
|
2
|
+
export default function factory<Scope extends string, Optional extends Scope>(scopes: Parameters<typeof Core<Scope, Optional>>[0], optional: Parameters<typeof Core<Scope, Optional>>[1], tree: Parameters<typeof Core<Scope, Optional>>[2], imports: Parameters<typeof Core<Scope, Optional>>[3], settings: Parameters<typeof Core<Scope, Optional>>[4], defaults: Parameters<typeof Core<Scope, Optional>>[5], extensions: Parameters<typeof Core<Scope, Optional>>[6]): {
|
|
3
3
|
plugins?: unknown;
|
|
4
4
|
rules?: (typeof defaults.rules)[Scope][number]["rules"];
|
|
5
5
|
files?: Array<string | [
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EAEtB,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,UAAU,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;cA0GzC,OAAO;YACT,CAAA,OAAO,QAAQ,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YAC7C,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;cAC9B,MAAM,EAAE;sBACA,OAAO;eACd,MAAM;gBACL,MAAM;IAqBvB"}
|
package/dist/factory.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
export default function factory(scopes, optional, tree, imports, settings, defaults, extensions) {
|
|
2
|
-
const Scopes = new Set(scopes);
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
defaults.rules[scope][defaults.rules[scope].length] = { rules: extension.rules };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
2
|
+
const Scopes = new Set(scopes), global = extensions["*"];
|
|
3
|
+
if (global)
|
|
4
|
+
if (global.override
|
|
5
|
+
|| !defaults.ignores["*"])
|
|
6
|
+
defaults.ignores["*"] = global.ignores ?? [];
|
|
7
|
+
else if (global.ignores?.length)
|
|
8
|
+
void defaults.ignores["*"].push(...global.ignores);
|
|
9
|
+
for (const scope of optional)
|
|
10
|
+
if (extensions[scope]) {
|
|
11
|
+
imports.plugins[scope] = extensions[scope].plugin;
|
|
12
|
+
imports.parsers[scope] = extensions[scope].parser;
|
|
13
|
+
}
|
|
14
|
+
else
|
|
15
|
+
Scopes.delete(scope);
|
|
16
|
+
for (const scope of Scopes)
|
|
17
|
+
if (extensions[scope]) {
|
|
18
|
+
const extension = extensions[scope];
|
|
19
|
+
if (extension.files)
|
|
20
|
+
void defaults.files[scope].push(...extension.files);
|
|
21
|
+
if (extension.ignores)
|
|
22
|
+
if (defaults.ignores[scope])
|
|
23
|
+
void defaults.ignores[scope].push(...extension.ignores);
|
|
24
|
+
else
|
|
25
|
+
defaults.ignores[scope] = extension.ignores;
|
|
26
|
+
if (extension.rules)
|
|
27
|
+
defaults.rules[scope][defaults.rules[scope].length] = { rules: extension.rules };
|
|
28
|
+
}
|
|
32
29
|
for (const [scope, parents] of tree)
|
|
33
30
|
if (Scopes.has(scope)
|
|
34
31
|
&& defaults.files[scope].length) {
|
package/dist/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Settings, Defaults, Extensions } from "../typings";
|
|
2
2
|
import type { Rules } from "../typings/rules";
|
|
3
|
-
export default function <Scope extends string, Optional extends Scope
|
|
4
|
-
plugins: Record<
|
|
5
|
-
parsers:
|
|
6
|
-
}, settings: Settings<Scope
|
|
3
|
+
export default function <Scope extends string, Optional extends Scope>(scopes: readonly Scope[], optional: readonly Optional[], tree: Array<readonly [Scope, readonly Scope[]]>, imports: {
|
|
4
|
+
plugins: Record<string, unknown>;
|
|
5
|
+
parsers: Partial<Record<Scope, unknown>>;
|
|
6
|
+
}, settings: Settings<Scope>, defaults: Defaults<Scope>, extensions: Extensions<Scope, Optional>): Array<{
|
|
7
7
|
files?: Array<string | [string, string]>;
|
|
8
8
|
ignores?: string[];
|
|
9
9
|
rules?: Rules;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,OAAO,WACZ,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,OAAO,WACZ,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EAEtB,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,QAAQ,EAAE,SAAS,QAAQ,EAAE,EAC7B,IAAI,EAAE,KAAK,CACT,SAAS,CAAC,KAAK,EAAE,SAAS,KAAK,EAAE,CAAC,CACnC,EACD,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1C,EACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EACzB,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EACzB,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,GACtC,KAAK,CACN;IACE,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CACF,CAUA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAQhC,MAAM,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAQhC,MAAM,CAAC,OAAO,WAIZ,MAAwB,EACxB,QAA6B,EAC7B,IAEC,EACD,OAGC,EACD,QAAyB,EACzB,QAAyB,EACzB,UAAuC;IAQvC,OAAO,OAAO,CACZ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,CACX,CAAC;AACJ,CAAC"}
|
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": "31.2.
|
|
6
|
+
"version": "31.2.4",
|
|
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
|
@@ -3,66 +3,60 @@ import type Core from ".";
|
|
|
3
3
|
export default function factory<
|
|
4
4
|
Scope extends string,
|
|
5
5
|
Optional extends Scope,
|
|
6
|
-
RequiredPlugin extends string,
|
|
7
|
-
RequiredParser extends Scope,
|
|
8
|
-
Parser extends RequiredParser | Optional,
|
|
9
6
|
>(
|
|
10
|
-
scopes: Parameters<typeof Core<Scope, Optional
|
|
11
|
-
optional: Parameters<typeof Core<Scope, Optional
|
|
12
|
-
tree: Parameters<typeof Core<Scope, Optional
|
|
13
|
-
imports: Parameters<typeof Core<Scope, Optional
|
|
14
|
-
settings: Parameters<typeof Core<Scope, Optional
|
|
15
|
-
defaults: Parameters<typeof Core<Scope, Optional
|
|
16
|
-
extensions
|
|
7
|
+
scopes: Parameters<typeof Core<Scope, Optional>>[0],
|
|
8
|
+
optional: Parameters<typeof Core<Scope, Optional>>[1],
|
|
9
|
+
tree: Parameters<typeof Core<Scope, Optional>>[2],
|
|
10
|
+
imports: Parameters<typeof Core<Scope, Optional>>[3],
|
|
11
|
+
settings: Parameters<typeof Core<Scope, Optional>>[4],
|
|
12
|
+
defaults: Parameters<typeof Core<Scope, Optional>>[5],
|
|
13
|
+
extensions: Parameters<typeof Core<Scope, Optional>>[6],
|
|
17
14
|
) {
|
|
18
|
-
const Scopes = new Set(scopes)
|
|
19
|
-
|
|
20
|
-
if (extensions) {
|
|
21
|
-
const global = extensions["*"];
|
|
22
|
-
|
|
23
|
-
if (global)
|
|
24
|
-
if (
|
|
25
|
-
global.override
|
|
26
|
-
|| !defaults.ignores["*"]
|
|
27
|
-
)
|
|
28
|
-
defaults.ignores["*"] = global.ignores ?? [];
|
|
29
|
-
else
|
|
30
|
-
if (global.ignores?.length)
|
|
31
|
-
void defaults.ignores["*"].push(
|
|
32
|
-
...global.ignores,
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
for (const scope of optional)
|
|
36
|
-
if (extensions[scope]) {
|
|
37
|
-
imports.plugins[scope] = extensions[scope].plugin as typeof imports.plugins[Optional];
|
|
38
|
-
imports.parsers[scope] = extensions[scope].parser as typeof imports.parsers[Optional];
|
|
39
|
-
}
|
|
40
|
-
else
|
|
41
|
-
Scopes.delete(scope);
|
|
15
|
+
const Scopes = new Set(scopes),
|
|
16
|
+
global = extensions["*"];
|
|
42
17
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
18
|
+
if (global)
|
|
19
|
+
if (
|
|
20
|
+
global.override
|
|
21
|
+
|| !defaults.ignores["*"]
|
|
22
|
+
)
|
|
23
|
+
defaults.ignores["*"] = global.ignores ?? [];
|
|
24
|
+
else
|
|
25
|
+
if (global.ignores?.length)
|
|
26
|
+
void defaults.ignores["*"].push(
|
|
27
|
+
...global.ignores,
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
for (const scope of optional)
|
|
31
|
+
if (extensions[scope]) {
|
|
32
|
+
imports.plugins[scope] = extensions[scope].plugin;
|
|
33
|
+
imports.parsers[scope] = extensions[scope].parser;
|
|
34
|
+
}
|
|
35
|
+
else
|
|
36
|
+
Scopes.delete(scope);
|
|
37
|
+
|
|
38
|
+
for (const scope of Scopes)
|
|
39
|
+
if (extensions[scope]) {
|
|
40
|
+
const extension = extensions[scope];
|
|
41
|
+
|
|
42
|
+
if (extension.files)
|
|
43
|
+
void defaults.files[scope].push(
|
|
44
|
+
...extension.files,
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
if (extension.ignores)
|
|
48
|
+
if (defaults.ignores[scope])
|
|
49
|
+
void defaults.ignores[scope].push(
|
|
50
|
+
...extension.ignores,
|
|
50
51
|
);
|
|
52
|
+
else
|
|
53
|
+
defaults.ignores[scope] = extension.ignores;
|
|
51
54
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
else
|
|
58
|
-
defaults.ignores[scope] = extension.ignores;
|
|
59
|
-
|
|
60
|
-
if (extension.rules)
|
|
61
|
-
defaults.rules[scope][
|
|
62
|
-
defaults.rules[scope].length
|
|
63
|
-
] = { rules: extension.rules };
|
|
64
|
-
}
|
|
65
|
-
}
|
|
55
|
+
if (extension.rules)
|
|
56
|
+
defaults.rules[scope][
|
|
57
|
+
defaults.rules[scope].length
|
|
58
|
+
] = { rules: extension.rules };
|
|
59
|
+
}
|
|
66
60
|
|
|
67
61
|
for (const [scope, parents] of tree)
|
|
68
62
|
if (
|
|
@@ -84,16 +78,21 @@ export default function factory<
|
|
|
84
78
|
const files = defaults.files[scope],
|
|
85
79
|
ignores = defaults.ignores[scope] ?? [];
|
|
86
80
|
|
|
81
|
+
type Enscope<Config> = Config & {
|
|
82
|
+
files?: typeof files;
|
|
83
|
+
ignores?: typeof ignores;
|
|
84
|
+
};
|
|
85
|
+
|
|
87
86
|
for (const rule of defaults.rules[scope]) {
|
|
88
|
-
(rule as typeof rule
|
|
89
|
-
(rule as typeof rule
|
|
87
|
+
(rule as Enscope<typeof rule>).files = files;
|
|
88
|
+
(rule as Enscope<typeof rule>).ignores = ignores;
|
|
90
89
|
}
|
|
91
90
|
|
|
92
91
|
const setting = settings[scope];
|
|
93
92
|
|
|
94
93
|
if (setting) {
|
|
95
|
-
(setting as typeof setting
|
|
96
|
-
(setting as typeof setting
|
|
94
|
+
(setting as Enscope<typeof setting>).files = files;
|
|
95
|
+
(setting as Enscope<typeof setting>).ignores = ignores;
|
|
97
96
|
|
|
98
97
|
if (setting.languageOptions) {
|
|
99
98
|
const {
|
|
@@ -104,13 +103,13 @@ export default function factory<
|
|
|
104
103
|
if (parser)
|
|
105
104
|
setting
|
|
106
105
|
.languageOptions
|
|
107
|
-
.parser = imports.parsers[parser] as
|
|
106
|
+
.parser = imports.parsers[parser] as Scope;
|
|
108
107
|
|
|
109
108
|
if (subparser)
|
|
110
109
|
setting
|
|
111
110
|
.languageOptions
|
|
112
111
|
.parserOptions!
|
|
113
|
-
.parser = imports.parsers[subparser] as
|
|
112
|
+
.parser = imports.parsers[subparser] as Scope;
|
|
114
113
|
}
|
|
115
114
|
}
|
|
116
115
|
}
|
package/src/index.ts
CHANGED
|
@@ -9,9 +9,6 @@ import type { Rules } from "../typings/rules";
|
|
|
9
9
|
export default function<
|
|
10
10
|
Scope extends string,
|
|
11
11
|
Optional extends Scope,
|
|
12
|
-
RequiredPlugin extends string,
|
|
13
|
-
RequiredParser extends Scope,
|
|
14
|
-
Parser extends RequiredParser | Optional,
|
|
15
12
|
>(
|
|
16
13
|
scopes: readonly Scope[],
|
|
17
14
|
optional: readonly Optional[],
|
|
@@ -19,14 +16,10 @@ export default function<
|
|
|
19
16
|
readonly [Scope, readonly Scope[]]
|
|
20
17
|
>,
|
|
21
18
|
imports: {
|
|
22
|
-
plugins:
|
|
23
|
-
|
|
24
|
-
& Partial<Record<Optional, unknown>>;
|
|
25
|
-
parsers:
|
|
26
|
-
& Record<RequiredParser, unknown>
|
|
27
|
-
& Partial<Record<Optional, unknown>>;
|
|
19
|
+
plugins: Record<string, unknown>;
|
|
20
|
+
parsers: Partial<Record<Scope, unknown>>;
|
|
28
21
|
},
|
|
29
|
-
settings: Settings<Scope
|
|
22
|
+
settings: Settings<Scope>,
|
|
30
23
|
defaults: Defaults<Scope>,
|
|
31
24
|
extensions: Extensions<Scope, Optional>,
|
|
32
25
|
): Array<
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export interface Setting<
|
|
2
|
-
|
|
2
|
+
Scope extends string,
|
|
3
3
|
> {
|
|
4
4
|
languageOptions?: {
|
|
5
5
|
[property: string]: unknown;
|
|
6
|
-
parser?:
|
|
6
|
+
parser?: Scope;
|
|
7
7
|
parserOptions?: {
|
|
8
8
|
[property: string]: unknown;
|
|
9
|
-
parser?:
|
|
9
|
+
parser?: Scope;
|
|
10
10
|
};
|
|
11
11
|
};
|
|
12
12
|
language?: string;
|