@eslinted/core 24.1.9 → 24.3.0-rc.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
@@ -5,9 +5,7 @@ export declare class Factory<RequiredPlugin extends string, RequiredParser exten
5
5
  globalConfigs: {
6
6
  plugins: {
7
7
  name: "linted/*/plugins/";
8
- plugins: Record<RequiredPlugin, unknown> & {
9
- svelte?: unknown;
10
- };
8
+ plugins: Record<RequiredPlugin, unknown>;
11
9
  };
12
10
  settings: {
13
11
  name: "linted/*/settings/";
@@ -33,17 +31,15 @@ export declare class Factory<RequiredPlugin extends string, RequiredParser exten
33
31
  rules: import("./interface/index.js").IConfig["rules"];
34
32
  }[]>;
35
33
  };
36
- parsers: Record<RequiredParser, unknown> & Partial<Record<OptionalScope, unknown>>;
34
+ parsers: Record<RequiredParser, unknown>;
37
35
  constructor(tree: Array<readonly [
38
36
  Scope,
39
37
  readonly Scope[]
40
- ]>, optionalScopes: readonly Scope[], imports: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["imports"], settings: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["settings"], defaults: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["defaults"], { "*": globalExtension, ...scopeExtensions }?: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["extensions"], attachments?: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["attachments"]);
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"]);
41
39
  get globals(): readonly [
42
40
  {
43
41
  name: "linted/*/plugins/";
44
- plugins: Record<RequiredPlugin, unknown> & {
45
- svelte?: unknown;
46
- };
42
+ plugins: Record<RequiredPlugin, unknown>;
47
43
  },
48
44
  {
49
45
  name: "linted/*/settings/";
@@ -71,9 +67,9 @@ export declare class Factory<RequiredPlugin extends string, RequiredParser exten
71
67
  processor?: string;
72
68
  languageOptions?: {
73
69
  parserOptions?: {
74
- parser?: (Record<RequiredParser, unknown> & Partial<Record<OptionalScope, unknown>>)[RequiredParser | OptionalScope];
70
+ parser?: Record<RequiredParser, unknown>[RequiredParser];
75
71
  };
76
- parser?: (Record<RequiredParser, unknown> & Partial<Record<OptionalScope, unknown>>)[RequiredParser | OptionalScope];
72
+ parser?: Record<RequiredParser, unknown>[RequiredParser];
77
73
  };
78
74
  name: `linted/${string}/`;
79
75
  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;IAoBzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aAqBT,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,4EAAC;gBAGb,IAAI,EAAE,KAAK,CACT,SAAS;QACP,KAAK;QACL,SAAS,KAAK,EAAE;KACjB,CACF,EACD,cAAc,EAAE,SAAS,KAAK,EAAE,EAChC,OAAO,EAAE,KAAK,CACZ,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,EACE,GAAG,EAAE,eAAoB,EACzB,GAAG,eAAe,EACnB,GAAE,KAAK,CACN,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;IA8HxC,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;IAmHxC,IAAW,OAAO;;;;;;;;;;;;;;;;OAMjB;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;CAwG1B"}
package/dist/factory.js CHANGED
@@ -4,7 +4,7 @@ export class Factory {
4
4
  globalConfigs;
5
5
  scopes;
6
6
  parsers;
7
- constructor(tree, optionalScopes, imports, settings, defaults, { "*": globalExtension = {}, ...scopeExtensions } = {}, attachments = []) {
7
+ constructor(tree, optionalScopes, { plugins, parsers, }, settings, defaults, extensions = {}, attachments = []) {
8
8
  this.settings = settings;
9
9
  this.attachments = attachments;
10
10
  const { noInlineConfig = settings
@@ -15,18 +15,22 @@ export class Factory {
15
15
  .global
16
16
  .sourceType, ecmaVersion = settings
17
17
  .global
18
- .ecmaVersion, } = globalExtension;
18
+ .ecmaVersion, } = extensions["*"] ?? {};
19
+ if ("svelte" in extensions && "plugin" in extensions.svelte) {
20
+ Object.assign(plugins, {
21
+ svelte: extensions.svelte.plugin,
22
+ });
23
+ Object.assign(parsers, {
24
+ svelte: extensions.svelte.parser,
25
+ });
26
+ }
27
+ const ignores = extensions["*"]?.override === true
28
+ ? extensions["*"].ignores ?? []
29
+ : defaults.ignores["*"].concat(extensions["*"]?.ignores ?? []);
19
30
  this.globalConfigs = {
20
31
  plugins: {
21
32
  name: "linted/*/plugins/",
22
- plugins: {
23
- ...imports.plugins,
24
- ..."svelte" in scopeExtensions && "plugin" in scopeExtensions.svelte
25
- ? {
26
- svelte: scopeExtensions.svelte.plugin,
27
- }
28
- : {},
29
- },
33
+ plugins,
30
34
  },
31
35
  settings: {
32
36
  name: "linted/*/settings/",
@@ -41,12 +45,7 @@ export class Factory {
41
45
  },
42
46
  ignores: {
43
47
  name: "linted/*/ignores/",
44
- ignores: [
45
- ...globalExtension.override === true
46
- ? []
47
- : defaults.ignores["*"],
48
- ...globalExtension.ignores ?? [],
49
- ],
48
+ ignores,
50
49
  },
51
50
  };
52
51
  this.scopes = {
@@ -54,16 +53,9 @@ export class Factory {
54
53
  ignores: defaults.ignores,
55
54
  rules: defaults.rules,
56
55
  };
57
- this.parsers = {
58
- ...imports.parsers,
59
- ...("svelte" in scopeExtensions && "parser" in scopeExtensions.svelte
60
- ? {
61
- svelte: scopeExtensions.svelte.parser,
62
- }
63
- : {}),
64
- };
65
- for (const scope in scopeExtensions) {
66
- const { [scope]: { files = [], ignores = [], rules = null, } = {}, } = scopeExtensions;
56
+ this.parsers = parsers;
57
+ for (const scope in extensions) {
58
+ const { [scope]: { files = [], ignores = [], rules = null, } = {}, } = extensions;
67
59
  this
68
60
  .scopes
69
61
  .files[scope]
@@ -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": "24.1.9",
6
+ "version": "24.3.0-rc.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
@@ -18,7 +18,10 @@ export class Factory<
18
18
  ]
19
19
  >,
20
20
  optionalScopes: readonly Scope[],
21
- imports: Input<
21
+ {
22
+ plugins,
23
+ parsers,
24
+ }: Input<
22
25
  RequiredPlugin,
23
26
  RequiredParser,
24
27
  Scope,
@@ -36,10 +39,7 @@ export class Factory<
36
39
  Scope,
37
40
  OptionalScope
38
41
  >["configuration"]["defaults"],
39
- {
40
- "*": globalExtension = {},
41
- ...scopeExtensions
42
- }: Input<
42
+ extensions: Input<
43
43
  RequiredPlugin,
44
44
  RequiredParser,
45
45
  Scope,
@@ -65,19 +65,25 @@ export class Factory<
65
65
  ecmaVersion = settings
66
66
  .global
67
67
  .ecmaVersion,
68
- } = globalExtension;
68
+ } = extensions["*"] ?? {};
69
+
70
+ if ("svelte" in extensions && "plugin" in (extensions.svelte as object)) {
71
+ Object.assign(plugins, {
72
+ svelte: (extensions.svelte as { plugin: unknown }).plugin,
73
+ });
74
+ Object.assign(parsers, {
75
+ svelte: (extensions.svelte as { parser: unknown }).parser,
76
+ });
77
+ }
78
+
79
+ const ignores = extensions["*"]?.override === true
80
+ ? extensions["*"].ignores ?? []
81
+ : defaults.ignores["*"].concat(extensions["*"]?.ignores ?? []);
69
82
 
70
83
  this.globalConfigs = {
71
84
  plugins: {
72
85
  name: "linted/*/plugins/" as const,
73
- plugins: {
74
- ...imports.plugins,
75
- ..."svelte" in scopeExtensions && "plugin" in (scopeExtensions.svelte as object)
76
- ? {
77
- svelte: (scopeExtensions.svelte as { plugin: unknown }).plugin,
78
- }
79
- : {},
80
- },
86
+ plugins,
81
87
  },
82
88
  settings: {
83
89
  name: "linted/*/settings/" as const,
@@ -92,12 +98,7 @@ export class Factory<
92
98
  },
93
99
  ignores: {
94
100
  name: "linted/*/ignores/" as const,
95
- ignores: [
96
- ...globalExtension.override === true
97
- ? []
98
- : defaults.ignores["*"],
99
- ...globalExtension.ignores ?? [],
100
- ],
101
+ ignores,
101
102
  },
102
103
  };
103
104
  this.scopes = {
@@ -105,42 +106,30 @@ export class Factory<
105
106
  ignores: defaults.ignores,
106
107
  rules: defaults.rules,
107
108
  };
108
- this.parsers = {
109
- ...imports.parsers,
110
- ...("svelte" in scopeExtensions && "parser" in (scopeExtensions.svelte as object)
111
- ? {
112
- svelte: (scopeExtensions.svelte as { parser: unknown }).parser,
113
- }
114
- : {}) as unknown as Partial<
115
- Record<
116
- OptionalScope,
117
- unknown
118
- >
119
- >,
120
- };
109
+ this.parsers = parsers;
121
110
 
122
- for (const scope in scopeExtensions) {
111
+ for (const scope in extensions) {
123
112
  const {
124
- [scope as keyof typeof scopeExtensions]: {
113
+ [scope as keyof typeof extensions]: {
125
114
  files = [],
126
115
  ignores = [],
127
116
  rules = null,
128
117
  } = {},
129
- } = scopeExtensions;
118
+ } = extensions;
130
119
 
131
120
  this
132
121
  .scopes
133
- .files[scope as keyof typeof scopeExtensions]
122
+ .files[scope as Scope]
134
123
  .push(...files);
135
124
  this
136
125
  .scopes
137
- .ignores[scope as keyof typeof scopeExtensions]
126
+ .ignores[scope as Scope]
138
127
  .push(...ignores);
139
128
 
140
129
  if (rules !== null)
141
130
  this
142
131
  .scopes
143
- .rules[scope as keyof typeof scopeExtensions]
132
+ .rules[scope as Scope]
144
133
  .push(
145
134
  {
146
135
  id: scope.concat("/override"),
@@ -249,7 +238,7 @@ export class Factory<
249
238
  ...parser === null
250
239
  ? {}
251
240
  : {
252
- parser: this.parsers[parser],
241
+ parser: this.parsers[parser as RequiredParser],
253
242
  },
254
243
  ...subparser === null
255
244
  && [...Object.keys(extraParserOptions)].length === 0
@@ -260,7 +249,7 @@ export class Factory<
260
249
  ...subparser === null
261
250
  ? {}
262
251
  : {
263
- parser: this.parsers[subparser],
252
+ parser: this.parsers[subparser as RequiredParser],
264
253
  },
265
254
  },
266
255
  },