@eslinted/core 24.4.0-rc.0 → 24.4.0-rc.2

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
@@ -36,27 +36,23 @@ export declare class Factory<RequiredPlugin extends string, RequiredParser exten
36
36
  Scope,
37
37
  readonly Scope[]
38
38
  ]>, optionalScopes: readonly Scope[], { plugins, parsers, }: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["imports"], settings: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["settings"], defaults: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["defaults"], extensions?: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["extensions"], attachments?: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["attachments"]);
39
- get globals(): readonly [
40
- {
41
- name: "linted/*/plugins/";
42
- plugins: Record<RequiredPlugin, unknown>;
43
- },
44
- {
45
- name: "linted/*/settings/";
46
- linterOptions: {
47
- noInlineConfig: boolean;
48
- reportUnusedDisableDirectives: "off" | "warn" | "error";
49
- };
50
- languageOptions: {
51
- sourceType: "script" | "module";
52
- ecmaVersion: 3 | 5 | "latest" | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024;
53
- };
54
- },
55
- {
56
- name: "linted/*/ignores/";
57
- ignores: string[];
58
- }
59
- ];
39
+ get globals(): ({
40
+ name: "linted/*/plugins/";
41
+ plugins: Record<RequiredPlugin, unknown>;
42
+ } | {
43
+ name: "linted/*/settings/";
44
+ linterOptions: {
45
+ noInlineConfig: boolean;
46
+ reportUnusedDisableDirectives: "off" | "warn" | "error";
47
+ };
48
+ languageOptions: {
49
+ sourceType: "script" | "module";
50
+ ecmaVersion: 3 | 5 | "latest" | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024;
51
+ };
52
+ } | {
53
+ name: "linted/*/ignores/";
54
+ ignores: string[];
55
+ })[];
60
56
  scope(scope: Scope): ({
61
57
  name: `linted/${string}/`;
62
58
  files: Record<Scope, string[]>[Scope];
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,OAAO,CAClB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,KAAK;IAuBzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aAkBT,WAAW,EAAE,KAAK,CAChC,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC;IA5C5B,aAAa;;;;;;;;;;;;;;;;;;;;MAAC;IACd,MAAM;;;;;;;MAAC;IACP,OAAO,kCAAC;gBAGb,IAAI,EAAE,KAAK,CACT,SAAS;QACP,KAAK;QACL,SAAS,KAAK,EAAE;KACjB,CACF,EACD,cAAc,EAAE,SAAS,KAAK,EAAE,EAChC,EACE,OAAO,EACP,OAAO,GACR,EAAE,KAAK,CACN,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,SAAS,CAAC,EACK,QAAQ,EAAE,KAAK,CAC9B,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC9B,QAAQ,EAAE,KAAK,CACb,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC9B,UAAU,GAAE,KAAK,CACf,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,YAAY,CAAM,EACrB,WAAW,GAAE,KAAK,CAChC,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,aAAa,CAAM;IAmHxC,IAAW,OAAO;;;;;;;;;;;;;;;;OAMjB;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;CAwG1B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,OAAO,CAClB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,KAAK;IAuBzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aAkBT,WAAW,EAAE,KAAK,CAChC,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC;IA5C5B,aAAa;;;;;;;;;;;;;;;;;;;;MAAC;IACd,MAAM;;;;;;;MAAC;IACP,OAAO,kCAAC;gBAGb,IAAI,EAAE,KAAK,CACT,SAAS;QACP,KAAK;QACL,SAAS,KAAK,EAAE;KACjB,CACF,EACD,cAAc,EAAE,SAAS,KAAK,EAAE,EAChC,EACE,OAAO,EACP,OAAO,GACR,EAAE,KAAK,CACN,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,SAAS,CAAC,EACK,QAAQ,EAAE,KAAK,CAC9B,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC9B,QAAQ,EAAE,KAAK,CACb,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC9B,UAAU,GAAE,KAAK,CACf,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,YAAY,CAAM,EACrB,WAAW,GAAE,KAAK,CAChC,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,CACd,CAAC,eAAe,CAAC,CAAC,aAAa,CAAM;IAsIxC,IAAW,OAAO;;;;;;;;;;;;;;;;SAMjB;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;CAwG1B"}
package/dist/factory.js CHANGED
@@ -54,43 +54,48 @@ export class Factory {
54
54
  rules: defaults.rules,
55
55
  };
56
56
  this.parsers = parsers;
57
- for (const scope in extensions) {
57
+ const extended = new Set(Object.keys(extensions));
58
+ extended.delete("*");
59
+ for (const scope of extended) {
58
60
  const { [scope]: { files = [], ignores = [], rules = null, } = {}, } = extensions;
59
- this
60
- .scopes
61
- .files[scope]
62
- .push(...files);
63
- this
64
- .scopes
65
- .ignores[scope]
66
- .push(...ignores);
61
+ if (files.length !== 0) {
62
+ const defaultFiles = this.scopes.files[scope], fEnd = defaultFiles.length;
63
+ defaultFiles.length += files.length;
64
+ for (let i = 0; i < files.length; i++)
65
+ defaultFiles[fEnd + i] = files[i];
66
+ }
67
+ if (ignores.length !== 0) {
68
+ const defaultIgnores = this.scopes.ignores[scope], iEnd = defaultIgnores.length;
69
+ defaultIgnores.length += ignores.length;
70
+ for (let i = 0; i < ignores.length; i++)
71
+ defaultIgnores[iEnd + i] = ignores[i];
72
+ }
67
73
  if (rules !== null)
68
- this
69
- .scopes
70
- .rules[scope]
71
- .push({
74
+ this.scopes.rules[scope][this.scopes.rules[scope].length] = {
72
75
  id: scope.concat("/override"),
73
76
  rules,
74
- });
77
+ };
75
78
  }
76
79
  const OptionalScopes = new Set(optionalScopes);
77
80
  for (const [scope, parents] of tree)
78
81
  if (!OptionalScopes.has(scope)
79
- || scope in this.parsers)
80
- for (const parent of parents) {
81
- this
82
- .scopes
83
- .files[parent]
84
- .push(...this
85
- .scopes
86
- .files[scope]);
87
- this
88
- .scopes
89
- .ignores[parent]
90
- .push(...this
91
- .scopes
92
- .ignores[scope]);
93
- }
82
+ || scope in this.parsers) {
83
+ const files = this.scopes.files[scope], ignores = this.scopes.ignores[scope];
84
+ if (files.length !== 0)
85
+ for (const parent of parents) {
86
+ const parentFiles = this.scopes.files[parent], fEnd = parentFiles.length;
87
+ parentFiles.length += files.length;
88
+ for (let i = 0; i < files.length; i++)
89
+ parentFiles[fEnd + i] = files[i];
90
+ }
91
+ if (ignores.length !== 0)
92
+ for (const parent of parents) {
93
+ const parentIgnores = this.scopes.ignores[parent], iEnd = parentIgnores.length;
94
+ parentIgnores.length += ignores.length;
95
+ for (let i = 0; i < ignores.length; i++)
96
+ parentIgnores[iEnd + i] = ignores[i];
97
+ }
98
+ }
94
99
  }
95
100
  get globals() {
96
101
  return [
@@ -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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,MAAM,EACN,cAAc,EACd,IAAI,GACL,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,WACZ,EACE,OAAO,EACP,aAAa,EAAE,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,GAMF;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAMzB,IAAI,EACJ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,OAAQ,OAAO,CAAC,OAA8B;aAC3C,MAAM,CACL,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9B,EACD,OAAO,CAAC,WAAW,CACpB,CAAC;IACN,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,CACb,eAAe,EACf,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,MAAM,EACN,cAAc,EACd,IAAI,GACL,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,WACZ,EACE,OAAO,EACP,aAAa,EAAE,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,GAMF;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAMzB,IAAI,EACJ,cAAc,EACd,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,OAAQ,OAAO,CAAC,OAAqB;aAClC,MAAM,CACL,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9B,EACD,OAAO,CAAC,WAAW,CACpB,CAAC;IACN,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,CACb,eAAe,EACf,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;IACJ,CAAC;AACH,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": "24.4.0-rc.0",
6
+ "version": "24.4.0-rc.2",
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
@@ -108,34 +108,46 @@ export class Factory<
108
108
  };
109
109
  this.parsers = parsers;
110
110
 
111
- for (const scope in extensions) {
111
+ const extended = new Set<Scope>(Object.keys(extensions) as unknown[] as readonly Scope[]);
112
+
113
+ extended.delete("*" as unknown as Scope);
114
+
115
+ for (const scope of extended) {
112
116
  const {
113
- [scope as keyof typeof extensions]: {
117
+ [scope]: {
114
118
  files = [],
115
119
  ignores = [],
116
120
  rules = null,
117
121
  } = {},
118
122
  } = extensions;
119
123
 
120
- this
121
- .scopes
122
- .files[scope as Scope]
123
- .push(...files);
124
- this
125
- .scopes
126
- .ignores[scope as Scope]
127
- .push(...ignores);
124
+ if (files.length !== 0) {
125
+ const defaultFiles = this.scopes.files[scope],
126
+ fEnd = defaultFiles.length;
127
+
128
+ defaultFiles.length += files.length;
129
+
130
+ for (let i = 0; i < files.length; i++)
131
+ defaultFiles[fEnd + i] = files[i] as string;
132
+ }
133
+
134
+ if (ignores.length !== 0) {
135
+ const defaultIgnores = this.scopes.ignores[scope],
136
+ iEnd = defaultIgnores.length;
137
+
138
+ defaultIgnores.length += ignores.length;
139
+
140
+ for (let i = 0; i < ignores.length; i++)
141
+ defaultIgnores[iEnd + i] = ignores[i] as string;
142
+ }
128
143
 
129
144
  if (rules !== null)
130
- this
131
- .scopes
132
- .rules[scope as Scope]
133
- .push(
134
- {
135
- id: scope.concat("/override"),
136
- rules,
137
- },
138
- );
145
+ this.scopes.rules[scope][
146
+ this.scopes.rules[scope].length
147
+ ] = {
148
+ id: scope.concat("/override"),
149
+ rules,
150
+ };
139
151
  }
140
152
 
141
153
  const OptionalScopes = new Set<Scope>(optionalScopes);
@@ -144,25 +156,32 @@ export class Factory<
144
156
  if (
145
157
  !OptionalScopes.has(scope)
146
158
  || scope in this.parsers
147
- )
148
- for (const parent of parents) {
149
- this
150
- .scopes
151
- .files[parent]
152
- .push(
153
- ...this
154
- .scopes
155
- .files[scope],
156
- );
157
- this
158
- .scopes
159
- .ignores[parent]
160
- .push(
161
- ...this
162
- .scopes
163
- .ignores[scope],
164
- );
165
- }
159
+ ) {
160
+ const files = this.scopes.files[scope],
161
+ ignores = this.scopes.ignores[scope];
162
+
163
+ if (files.length !== 0)
164
+ for (const parent of parents) {
165
+ const parentFiles = this.scopes.files[parent],
166
+ fEnd = parentFiles.length;
167
+
168
+ parentFiles.length += files.length;
169
+
170
+ for (let i = 0; i < files.length; i++)
171
+ parentFiles[fEnd + i] = files[i] as string;
172
+ }
173
+
174
+ if (ignores.length !== 0)
175
+ for (const parent of parents) {
176
+ const parentIgnores = this.scopes.ignores[parent],
177
+ iEnd = parentIgnores.length;
178
+
179
+ parentIgnores.length += ignores.length;
180
+
181
+ for (let i = 0; i < ignores.length; i++)
182
+ parentIgnores[iEnd + i] = ignores[i] as string;
183
+ }
184
+ }
166
185
  }
167
186
 
168
187
  public get globals() {
@@ -170,7 +189,7 @@ export class Factory<
170
189
  this.globalConfigs.plugins,
171
190
  this.globalConfigs.settings,
172
191
  this.globalConfigs.ignores,
173
- ] as const;
192
+ ];
174
193
  }
175
194
 
176
195
  public scope(scope: Scope) {
package/src/index.ts CHANGED
@@ -42,7 +42,7 @@ export default function (
42
42
  attachments,
43
43
  );
44
44
 
45
- return (factory.globals as readonly unknown[])
45
+ return (factory.globals as unknown[])
46
46
  .concat(
47
47
  scopes.flatMap(
48
48
  scope => factory.scope(scope),