@eslinted/core 33.1.0 → 33.1.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/dist/factory.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  import type Core from "./index.js";
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], parsers: 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]): Partial<Record<"rules" | "files" | "ignores" | "languageOptions" | "plugins" | "language" | "processor", unknown>>[];
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], parsers: 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]): (Partial<Record<"rules" | "languageOptions" | "plugins" | "language" | "processor", unknown>> & {
3
+ files?: (string | readonly string[])[];
4
+ ignores?: readonly string[];
5
+ })[];
3
6
  //# sourceMappingURL=factory.d.ts.map
@@ -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,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,wHAmLxD"}
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;YA2F7C,CAAC,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,EAAE;cAC5B,SAAS,MAAM,EAAE;KAoF9B"}
package/dist/factory.js CHANGED
@@ -2,13 +2,12 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
2
2
  const Scopes = new Set(scopes);
3
3
  if (extensions["*"]) {
4
4
  const globalExtension = extensions["*"];
5
- if (globalExtension.override
6
- || !defaults.ignores["*"])
5
+ if (globalExtension.override)
7
6
  defaults.ignores["*"] = (globalExtension.ignores ?? []);
8
7
  else if (globalExtension.ignores?.length) {
9
- const { "*": ignores } = defaults.ignores, { length } = ignores, { length: x } = globalExtension.ignores;
10
- ignores.length = length + x;
11
- for (let i = 0; i < x; ++i)
8
+ const { "*": ignores = [] } = defaults.ignores, { length } = ignores, { length: nGlobalExtendedIgnores } = globalExtension.ignores;
9
+ ignores.length = length + nGlobalExtendedIgnores;
10
+ for (let i = 0; i < nGlobalExtendedIgnores; ++i)
12
11
  ignores[length + i] = globalExtension.ignores[i];
13
12
  }
14
13
  }
@@ -24,16 +23,16 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
24
23
  if (extensions[scope]) {
25
24
  const extension = extensions[scope];
26
25
  if (extension.files?.length) {
27
- const { [scope]: files } = defaults.files, { length } = files, { length: x } = extension.files;
28
- files.length = length + x;
29
- for (let i = 0; i < x; ++i)
26
+ const { [scope]: files } = defaults.files, { length } = files, { length: nExtendedFiles } = extension.files;
27
+ files.length = length + nExtendedFiles;
28
+ for (let i = 0; i < nExtendedFiles; ++i)
30
29
  files[length + i] = extension.files[i];
31
30
  }
32
31
  if (extension.ignores?.length)
33
32
  if (defaults.ignores[scope]?.length) {
34
- const ignores = defaults.ignores[scope], { length } = ignores, { length: x } = extension.ignores;
35
- ignores.length = length + x;
36
- for (let i = 0; i < x; ++i)
33
+ const ignores = defaults.ignores[scope], { length } = ignores, { length: nExtendedIgnores } = extension.ignores;
34
+ ignores.length = length + nExtendedIgnores;
35
+ for (let i = 0; i < nExtendedIgnores; ++i)
37
36
  ignores[length + i] = extension.ignores[i];
38
37
  }
39
38
  else
@@ -46,19 +45,20 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
46
45
  && defaults.files[scope].length) {
47
46
  const { [scope]: files } = defaults.files;
48
47
  for (const parent of parents) {
49
- const { [parent]: parentFiles } = defaults.files, { length } = parentFiles, { length: x } = files;
50
- parentFiles.length = length + x;
51
- for (let i = 0; i < x; ++i)
52
- parentFiles[length + i] = files[i];
48
+ const { [parent]: parentFiles } = defaults.files, { length: nParents } = parentFiles, { length: nChildren } = files;
49
+ parentFiles.length = nParents + nChildren;
50
+ for (let i = 0; i < nChildren; ++i)
51
+ parentFiles[nParents + i] = files[i];
53
52
  }
54
53
  }
55
- const enabledScopes = [...Scopes].filter(scope => defaults.files[scope].length), setScopes = enabledScopes.filter(scope => scope in settings);
56
- for (const scope of enabledScopes) {
57
- const { files: { [scope]: files }, ignores: { [scope]: ignores }, rules: { [scope]: rules }, } = defaults;
54
+ for (const scope of Scopes)
55
+ if (!defaults.files[scope].length)
56
+ Scopes.delete(scope);
57
+ for (const scope of Scopes) {
58
+ const { rules: { [scope]: rules }, files: { [scope]: files }, ignores: { [scope]: ignores }, } = defaults, setting = settings[scope];
58
59
  rules.files = files;
59
60
  if (ignores)
60
61
  rules.ignores = ignores;
61
- const setting = settings[scope];
62
62
  if (setting) {
63
63
  setting.files = files;
64
64
  if (ignores)
@@ -79,16 +79,16 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
79
79
  }
80
80
  const configs = [
81
81
  {
82
- ignores: defaults.ignores["*"],
82
+ ignores: defaults.ignores["*"] ?? [],
83
83
  },
84
- ], { length: nSettings } = setScopes, preamble = 1 + nSettings;
84
+ ], ruleScopes = [...Scopes], settingScopes = ruleScopes.filter(scope => scope in settings), { length: nSettings } = settingScopes, preamble = 1 + nSettings;
85
85
  configs.length = preamble;
86
86
  for (let i = 0; i < nSettings; ++i)
87
- configs[1 + i] = settings[setScopes[i]];
88
- const { length: nRules } = enabledScopes;
87
+ configs[1 + i] = settings[settingScopes[i]];
88
+ const { length: nRules } = ruleScopes;
89
89
  configs.length = preamble + nRules;
90
90
  for (let i = 0; i < nRules; ++i)
91
- configs[preamble + i] = defaults.rules[enabledScopes[i]];
91
+ configs[preamble + i] = defaults.rules[ruleScopes[i]];
92
92
  if (extensions["*"]?.rules)
93
93
  configs[configs.length] = { rules: extensions["*"].rules };
94
94
  if (Object.keys(extensionPlugins).length)
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
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": "33.1.0",
6
+ "version": "33.1.1",
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
@@ -17,19 +17,16 @@ export default function factory<
17
17
  if (extensions["*"]) {
18
18
  const globalExtension = extensions["*"];
19
19
 
20
- if (
21
- globalExtension.override
22
- || !defaults.ignores["*"]
23
- )
20
+ if (globalExtension.override)
24
21
  defaults.ignores["*"] = (globalExtension.ignores ?? []) as string[];
25
22
  else if (globalExtension.ignores?.length) {
26
- const { "*": ignores } = defaults.ignores,
23
+ const { "*": ignores = [] } = defaults.ignores,
27
24
  { length } = ignores,
28
- { length: x } = globalExtension.ignores;
25
+ { length: nGlobalExtendedIgnores } = globalExtension.ignores;
29
26
 
30
- ignores.length = length + x;
27
+ ignores.length = length + nGlobalExtendedIgnores;
31
28
 
32
- for (let i = 0; i < x; ++i)
29
+ for (let i = 0; i < nGlobalExtendedIgnores; ++i)
33
30
  ignores[length + i] = globalExtension.ignores[i]!;
34
31
  }
35
32
  }
@@ -51,11 +48,11 @@ export default function factory<
51
48
  if (extension.files?.length) {
52
49
  const { [scope]: files } = defaults.files,
53
50
  { length } = files,
54
- { length: x } = extension.files;
51
+ { length: nExtendedFiles } = extension.files;
55
52
 
56
- files.length = length + x;
53
+ files.length = length + nExtendedFiles;
57
54
 
58
- for (let i = 0; i < x; ++i)
55
+ for (let i = 0; i < nExtendedFiles; ++i)
59
56
  files[length + i] = extension.files[i]!;
60
57
  }
61
58
 
@@ -63,11 +60,11 @@ export default function factory<
63
60
  if (defaults.ignores[scope]?.length) {
64
61
  const ignores = defaults.ignores[scope],
65
62
  { length } = ignores,
66
- { length: x } = extension.ignores;
63
+ { length: nExtendedIgnores } = extension.ignores;
67
64
 
68
- ignores.length = length + x;
65
+ ignores.length = length + nExtendedIgnores;
69
66
 
70
- for (let i = 0; i < x; ++i)
67
+ for (let i = 0; i < nExtendedIgnores; ++i)
71
68
  ignores[length + i] = extension.ignores[i]!;
72
69
  }
73
70
  else
@@ -89,47 +86,43 @@ export default function factory<
89
86
 
90
87
  for (const parent of parents) {
91
88
  const { [parent]: parentFiles } = defaults.files,
92
- { length } = parentFiles,
93
- { length: x } = files;
89
+ { length: nParents } = parentFiles,
90
+ { length: nChildren } = files;
94
91
 
95
- parentFiles.length = length + x;
92
+ parentFiles.length = nParents + nChildren;
96
93
 
97
- for (let i = 0; i < x; ++i)
98
- parentFiles[length + i] = files[i]!;
94
+ for (let i = 0; i < nChildren; ++i)
95
+ parentFiles[nParents + i] = files[i]!;
99
96
  }
100
97
  }
101
98
 
102
- const enabledScopes = [...Scopes].filter(
103
- scope => defaults.files[scope].length,
104
- ),
105
- setScopes = enabledScopes.filter(
106
- scope => scope in settings,
107
- );
99
+ for (const scope of Scopes)
100
+ if (!defaults.files[scope].length)
101
+ Scopes.delete(scope);
102
+
103
+ type Scoped<PartialConfig> = PartialConfig & {
104
+ files?: (string | readonly string[])[];
105
+ ignores?: readonly string[];
106
+ };
108
107
 
109
- for (const scope of enabledScopes) {
108
+ for (const scope of Scopes) {
110
109
  const {
110
+ rules: { [scope]: rules },
111
111
  files: { [scope]: files },
112
112
  ignores: { [scope]: ignores },
113
- rules: { [scope]: rules },
114
- } = defaults;
115
-
116
- type Enscope<Config> = Config & {
117
- files?: typeof files;
118
- ignores?: typeof ignores;
119
- };
113
+ } = defaults,
114
+ setting = settings[scope];
120
115
 
121
- (rules as Enscope<typeof rules>).files = files;
116
+ (rules as Scoped<typeof rules>).files = files;
122
117
 
123
118
  if (ignores)
124
- (rules as Enscope<typeof rules>).ignores = ignores;
125
-
126
- const setting = settings[scope];
119
+ (rules as Scoped<typeof rules>).ignores = ignores;
127
120
 
128
121
  if (setting) {
129
- (setting as Enscope<typeof setting>).files = files;
122
+ (setting as Scoped<typeof setting>).files = files;
130
123
 
131
124
  if (ignores)
132
- (setting as Enscope<typeof setting>).ignores = ignores;
125
+ (setting as Scoped<typeof setting>).ignores = ignores;
133
126
 
134
127
  if (setting.languageOptions) {
135
128
  const {
@@ -151,36 +144,40 @@ export default function factory<
151
144
  }
152
145
  }
153
146
 
154
- const configs: Partial<
155
- Record<
156
- | "plugins"
157
- | "rules"
158
- | "files"
159
- | "ignores"
160
- | "languageOptions"
161
- | "language"
162
- | "processor",
163
- unknown
147
+ const configs: Scoped<
148
+ Partial<
149
+ Record<
150
+ | "plugins"
151
+ | "rules"
152
+ | "languageOptions"
153
+ | "language"
154
+ | "processor",
155
+ unknown
156
+ >
164
157
  >
165
158
  >[] = [
166
159
  {
167
- ignores: defaults.ignores["*"]!,
160
+ ignores: defaults.ignores["*"] ?? [],
168
161
  },
169
162
  ],
170
- { length: nSettings } = setScopes,
163
+ ruleScopes = [...Scopes],
164
+ settingScopes = ruleScopes.filter(
165
+ scope => scope in settings,
166
+ ),
167
+ { length: nSettings } = settingScopes,
171
168
  preamble = 1 + nSettings;
172
169
 
173
170
  configs.length = preamble;
174
171
 
175
172
  for (let i = 0; i < nSettings; ++i)
176
- configs[1 + i] = settings[setScopes[i]]!;
173
+ configs[1 + i] = settings[settingScopes[i]]!;
177
174
 
178
- const { length: nRules } = enabledScopes;
175
+ const { length: nRules } = ruleScopes;
179
176
 
180
177
  configs.length = preamble + nRules;
181
178
 
182
179
  for (let i = 0; i < nRules; ++i)
183
- configs[preamble + i] = defaults.rules[enabledScopes[i]!]!;
180
+ configs[preamble + i] = defaults.rules[ruleScopes[i]!]!;
184
181
 
185
182
  if (extensions["*"]?.rules)
186
183
  configs[configs.length] = { rules: extensions["*"].rules };