@eslinted/core 23.1.4 → 24.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.
Files changed (47) hide show
  1. package/dist/_test/index.d.ts +16 -18
  2. package/dist/_test/index.d.ts.map +1 -1
  3. package/dist/_test/index.js +16 -18
  4. package/dist/_test/index.js.map +1 -1
  5. package/dist/factory.d.ts +20 -8
  6. package/dist/factory.d.ts.map +1 -1
  7. package/dist/factory.js +39 -24
  8. package/dist/factory.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -22
  12. package/dist/index.js.map +1 -1
  13. package/dist/interface/input/configuration/extensions.d.ts +4 -1
  14. package/dist/interface/input/configuration/extensions.d.ts.map +1 -1
  15. package/dist/interface/input/configuration/index.d.ts +2 -2
  16. package/dist/interface/input/configuration/index.d.ts.map +1 -1
  17. package/dist/interface/input/configuration/settings.d.ts +1 -1
  18. package/dist/interface/input/configuration/settings.d.ts.map +1 -1
  19. package/dist/interface/input/imports.d.ts +5 -0
  20. package/dist/interface/input/imports.d.ts.map +1 -0
  21. package/dist/interface/input/imports.js +2 -0
  22. package/dist/interface/input/imports.js.map +1 -0
  23. package/dist/interface/input/index.d.ts +4 -4
  24. package/dist/interface/input/index.d.ts.map +1 -1
  25. package/package.json +1 -1
  26. package/src/_test/index.ts +16 -18
  27. package/src/factory.ts +62 -49
  28. package/src/index.ts +10 -35
  29. package/src/interface/input/configuration/extensions.ts +10 -0
  30. package/src/interface/input/configuration/index.ts +6 -2
  31. package/src/interface/input/configuration/settings.ts +1 -1
  32. package/src/interface/input/{imports/required.ts → imports.ts} +1 -1
  33. package/src/interface/input/index.ts +7 -7
  34. package/dist/interface/input/imports/index.d.ts +0 -7
  35. package/dist/interface/input/imports/index.d.ts.map +0 -1
  36. package/dist/interface/input/imports/index.js +0 -2
  37. package/dist/interface/input/imports/index.js.map +0 -1
  38. package/dist/interface/input/imports/optional.d.ts +0 -5
  39. package/dist/interface/input/imports/optional.d.ts.map +0 -1
  40. package/dist/interface/input/imports/optional.js +0 -2
  41. package/dist/interface/input/imports/optional.js.map +0 -1
  42. package/dist/interface/input/imports/required.d.ts +0 -5
  43. package/dist/interface/input/imports/required.d.ts.map +0 -1
  44. package/dist/interface/input/imports/required.js +0 -2
  45. package/dist/interface/input/imports/required.js.map +0 -1
  46. package/src/interface/input/imports/index.ts +0 -16
  47. package/src/interface/input/imports/optional.ts +0 -11
@@ -1,23 +1,21 @@
1
1
  export declare const TEST_INPUT: {
2
2
  imports: {
3
- required: {
4
- plugins: {
5
- "@stylistic": string;
6
- "@typescript-eslint": string;
7
- mocha: string;
8
- "chai-friendly": string;
9
- "chai-expect": string;
10
- "@html-eslint": string;
11
- css: string;
12
- json: string;
13
- jsonc: string;
14
- yml: string;
15
- };
16
- parsers: {
17
- ts: string;
18
- html: string;
19
- yml: string;
20
- };
3
+ plugins: {
4
+ "@stylistic": string;
5
+ "@typescript-eslint": string;
6
+ mocha: string;
7
+ "chai-friendly": string;
8
+ "chai-expect": string;
9
+ "@html-eslint": string;
10
+ css: string;
11
+ json: string;
12
+ jsonc: string;
13
+ yml: string;
14
+ };
15
+ parsers: {
16
+ ts: string;
17
+ html: string;
18
+ yml: string;
21
19
  };
22
20
  };
23
21
  configuration: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_test/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiQtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_test/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+PtB,CAAC"}
@@ -1,24 +1,22 @@
1
1
  const ERROR = "error", OFF = "off", Plugin = "MOCK_PLUGIN", Parser = (scope) => `MOCK_PARSER:${scope}`;
2
2
  export const TEST_INPUT = {
3
3
  imports: {
4
- required: {
5
- plugins: {
6
- "@stylistic": Plugin,
7
- "@typescript-eslint": Plugin,
8
- mocha: Plugin,
9
- "chai-friendly": Plugin,
10
- "chai-expect": Plugin,
11
- "@html-eslint": Plugin,
12
- css: Plugin,
13
- json: Plugin,
14
- jsonc: Plugin,
15
- yml: Plugin,
16
- },
17
- parsers: {
18
- ts: Parser("TS"),
19
- html: Parser("HTML"),
20
- yml: Parser("YML"),
21
- },
4
+ plugins: {
5
+ "@stylistic": Plugin,
6
+ "@typescript-eslint": Plugin,
7
+ mocha: Plugin,
8
+ "chai-friendly": Plugin,
9
+ "chai-expect": Plugin,
10
+ "@html-eslint": Plugin,
11
+ css: Plugin,
12
+ json: Plugin,
13
+ jsonc: Plugin,
14
+ yml: Plugin,
15
+ },
16
+ parsers: {
17
+ ts: Parser("TS"),
18
+ html: Parser("HTML"),
19
+ yml: Parser("YML"),
22
20
  },
23
21
  },
24
22
  configuration: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_test/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_test/index.ts"],"names":[],"mappings":"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"}
package/dist/factory.d.ts CHANGED
@@ -1,9 +1,14 @@
1
1
  import type { Input } from "./interface/index.js";
2
- export declare class Factory<RequiredPlugin extends string, RequiredParser extends string, OptionalImport extends string, Scope extends string> {
2
+ export declare class Factory<RequiredPlugin extends string, RequiredParser extends Scope, Scope extends string, OptionalScope extends Scope> {
3
3
  private readonly settings;
4
- parsers: Record<RequiredParser, unknown> & Partial<Record<OptionalImport, unknown>>;
5
- readonly attachments: Input<RequiredPlugin, RequiredParser, OptionalImport, Scope>["configuration"]["attachments"];
6
- global: {
4
+ readonly attachments: Input<RequiredPlugin, RequiredParser, Scope, OptionalScope>["configuration"]["attachments"];
5
+ globalConfigs: {
6
+ plugins: {
7
+ name: "linted/*/plugins/";
8
+ plugins: Record<RequiredPlugin, unknown> & {
9
+ svelte?: unknown;
10
+ };
11
+ };
7
12
  settings: {
8
13
  name: "linted/*/settings/";
9
14
  linterOptions: {
@@ -28,11 +33,18 @@ export declare class Factory<RequiredPlugin extends string, RequiredParser exten
28
33
  rules: import("./interface/index.js").IConfig["rules"];
29
34
  }[]>;
30
35
  };
31
- constructor(optionalScopes: readonly Scope[], tree: Array<readonly [
36
+ parsers: Record<RequiredParser, unknown> & Partial<Record<OptionalScope, unknown>>;
37
+ constructor(tree: Array<readonly [
32
38
  Scope,
33
39
  readonly Scope[]
34
- ]>, settings: Input<RequiredPlugin, RequiredParser, OptionalImport, Scope>["configuration"]["settings"], parsers: Record<RequiredParser, unknown> & Partial<Record<OptionalImport, unknown>>, defaults: Input<RequiredPlugin, RequiredParser, OptionalImport, Scope>["configuration"]["defaults"], { "*": globalExtension, ...scopeExtensions }?: Input<RequiredPlugin, RequiredParser, OptionalImport, Scope>["configuration"]["extensions"], attachments?: Input<RequiredPlugin, RequiredParser, OptionalImport, Scope>["configuration"]["attachments"]);
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"]);
35
41
  get globals(): readonly [
42
+ {
43
+ name: "linted/*/plugins/";
44
+ plugins: Record<RequiredPlugin, unknown> & {
45
+ svelte?: unknown;
46
+ };
47
+ },
36
48
  {
37
49
  name: "linted/*/settings/";
38
50
  linterOptions: {
@@ -59,9 +71,9 @@ export declare class Factory<RequiredPlugin extends string, RequiredParser exten
59
71
  processor?: string;
60
72
  languageOptions?: {
61
73
  parserOptions?: {
62
- parser?: (Record<RequiredParser, unknown> & Partial<Record<OptionalImport, unknown>>)[RequiredParser | OptionalImport];
74
+ parser?: (Record<RequiredParser, unknown> & Partial<Record<OptionalScope, unknown>>)[RequiredParser | OptionalScope];
63
75
  };
64
- parser?: (Record<RequiredParser, unknown> & Partial<Record<OptionalImport, unknown>>)[RequiredParser | OptionalImport];
76
+ parser?: (Record<RequiredParser, unknown> & Partial<Record<OptionalScope, unknown>>)[RequiredParser | OptionalScope];
65
77
  };
66
78
  name: `linted/${string}/`;
67
79
  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,MAAM,EAC7B,cAAc,SAAS,MAAM,EAC7B,KAAK,SAAS,MAAM;IAalB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAMlB,OAAO,EAAE,MAAM,CACpB,cAAc,EACd,OAAO,CACR,GAAG,OAAO,CACT,MAAM,CACJ,cAAc,EACd,OAAO,CACR,CACF;aAgBe,WAAW,EAAE,KAAK,CAChC,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,CACN,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC;IA9C5B,MAAM;;;;;;;;;;;;;;;;MAAC;IACP,MAAM;;;;;;;MAAC;gBAGZ,cAAc,EAAE,SAAS,KAAK,EAAE,EAChC,IAAI,EAAE,KAAK,CACT,SAAS;QACP,KAAK;QACL,SAAS,KAAK,EAAE;KACjB,CACF,EACgB,QAAQ,EAAE,KAAK,CAC9B,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,CACN,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EACvB,OAAO,EAAE,MAAM,CACpB,cAAc,EACd,OAAO,CACR,GAAG,OAAO,CACT,MAAM,CACJ,cAAc,EACd,OAAO,CACR,CACF,EACD,QAAQ,EAAE,KAAK,CACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,CACN,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAC9B,EACE,GAAG,EAAE,eAAoB,EACzB,GAAG,eAAe,EACnB,GAAE,KAAK,CACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,CACN,CAAC,eAAe,CAAC,CAAC,YAAY,CAAM,EACrB,WAAW,GAAE,KAAK,CAChC,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,CACN,CAAC,eAAe,CAAC,CAAC,aAAa,CAAM;IAgHxC,IAAW,OAAO;;;;;;;;;;;;;OAKjB;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;CAyG1B"}
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;;;;;;;;;;;;;;;;;;CAyG1B"}
package/dist/factory.js CHANGED
@@ -1,12 +1,11 @@
1
1
  export class Factory {
2
2
  settings;
3
- parsers;
4
3
  attachments;
5
- global;
4
+ globalConfigs;
6
5
  scopes;
7
- constructor(optionalScopes, tree, settings, parsers, defaults, { "*": globalExtension = {}, ...scopeExtensions } = {}, attachments = []) {
6
+ parsers;
7
+ constructor(tree, optionalScopes, imports, settings, defaults, { "*": globalExtension = {}, ...scopeExtensions } = {}, attachments = []) {
8
8
  this.settings = settings;
9
- this.parsers = parsers;
10
9
  this.attachments = attachments;
11
10
  const { noInlineConfig = settings
12
11
  .global
@@ -16,8 +15,19 @@ export class Factory {
16
15
  .global
17
16
  .sourceType, ecmaVersion = settings
18
17
  .global
19
- .ecmaVersion, } = globalExtension, { ignores = [], override = false, } = globalExtension;
20
- this.global = {
18
+ .ecmaVersion, } = globalExtension;
19
+ this.globalConfigs = {
20
+ plugins: {
21
+ 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
+ },
30
+ },
21
31
  settings: {
22
32
  name: "linted/*/settings/",
23
33
  linterOptions: {
@@ -32,45 +42,49 @@ export class Factory {
32
42
  ignores: {
33
43
  name: "linted/*/ignores/",
34
44
  ignores: [
35
- ...override
45
+ ...globalExtension.override === true
36
46
  ? []
37
- : defaults
38
- .ignores["*"],
39
- ...ignores,
47
+ : defaults.ignores["*"],
48
+ ...globalExtension.ignores ?? [],
40
49
  ],
41
50
  },
42
51
  };
43
52
  this.scopes = {
44
- files: defaults
45
- .files,
46
- ignores: defaults
47
- .ignores,
48
- rules: defaults
49
- .rules,
53
+ files: defaults.files,
54
+ ignores: defaults.ignores,
55
+ rules: defaults.rules,
56
+ };
57
+ this.parsers = {
58
+ ...imports.parsers,
59
+ ...("svelte" in scopeExtensions && "parser" in scopeExtensions.svelte
60
+ ? {
61
+ svelte: scopeExtensions.svelte.parser,
62
+ }
63
+ : {}),
50
64
  };
51
65
  for (const scope in scopeExtensions) {
52
- const { [scope]: { files: userFiles = [], ignores: userIgnores = [], rules: userRules = null, } = {}, } = scopeExtensions;
66
+ const { [scope]: { files = [], ignores = [], rules = null, } = {}, } = scopeExtensions;
53
67
  this
54
68
  .scopes
55
69
  .files[scope]
56
- .push(...userFiles);
70
+ .push(...files);
57
71
  this
58
72
  .scopes
59
73
  .ignores[scope]
60
- .push(...userIgnores);
61
- if (userRules !== null)
74
+ .push(...ignores);
75
+ if (rules !== null)
62
76
  this
63
77
  .scopes
64
78
  .rules[scope]
65
79
  .push({
66
80
  id: scope + "/override",
67
- rules: userRules,
81
+ rules,
68
82
  });
69
83
  }
70
84
  const OptionalScopes = new Set(optionalScopes);
71
85
  for (const [scope, parents] of tree)
72
86
  if (!OptionalScopes.has(scope)
73
- || scope in parsers)
87
+ || scope in this.parsers)
74
88
  for (const parent of parents) {
75
89
  this
76
90
  .scopes
@@ -88,8 +102,9 @@ export class Factory {
88
102
  }
89
103
  get globals() {
90
104
  return [
91
- this.global.settings,
92
- this.global.ignores,
105
+ this.globalConfigs.plugins,
106
+ this.globalConfigs.settings,
107
+ this.globalConfigs.ignores,
93
108
  ];
94
109
  }
95
110
  scope(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/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Input } from "./interface/index.js";
2
2
  import type { RequiredPlugin, RequiredParser } from "./scope/index.js";
3
3
  import { scopes, optionalScopes } from "./scope/index.js";
4
- export default function ({ imports: { required: { plugins, parsers, }, optional, }, configuration: { settings, defaults, extensions, attachments, }, }: Input<RequiredPlugin, RequiredParser, (typeof optionalScopes[number]), (typeof scopes[number])>): unknown[];
4
+ export default function ({ imports, configuration: { settings, defaults, extensions, attachments, }, }: Input<RequiredPlugin, RequiredParser, (typeof scopes[number]), (typeof optionalScopes[number])>): unknown[];
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEN,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,MAAM,EACN,cAAc,EAEf,MAAM,SAAS,CAAC;AAGjB,MAAM,CAAC,OAAO,WACZ,EACE,OAAO,EAAE,EACP,QAAQ,EAAE,EACR,OAAO,EACP,OAAO,GACR,EACD,QAAa,GACd,EACD,aAAa,EAAE,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,GACF,EAAE,KAAK,CACN,cAAc,EACd,cAAc,EACd,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,EAC/B,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CACxB,aAmDF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEN,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,MAAM,EACN,cAAc,EAEf,MAAM,SAAS,CAAC;AAGjB,MAAM,CAAC,OAAO,WACZ,EACE,OAAO,EACP,aAAa,EAAE,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,GACF,EAAE,KAAK,CACN,cAAc,EACd,cAAc,EACd,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EACvB,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAChC,aAgCF"}
package/dist/index.js CHANGED
@@ -1,30 +1,11 @@
1
1
  import { scopes, optionalScopes, tree, } from "./scope/index.js";
2
2
  import { Factory } from "./factory.js";
3
- export default function ({ imports: { required: { plugins, parsers, }, optional = {}, }, configuration: { settings, defaults, extensions, attachments, }, }) {
3
+ export default function ({ imports, configuration: { settings, defaults, extensions, attachments, }, }) {
4
4
  try {
5
- const factory = new Factory(optionalScopes, tree, settings, {
6
- ...parsers,
7
- ..."svelte" in optional
8
- ? {
9
- svelte: optional.svelte.parser,
10
- }
11
- : {},
12
- }, defaults, extensions, attachments);
5
+ const factory = new Factory(tree, optionalScopes, imports, settings, defaults, extensions, attachments);
13
6
  return [
14
- {
15
- name: "linted/*/plugins/",
16
- plugins: {
17
- ...plugins,
18
- ..."svelte" in optional
19
- ? {
20
- svelte: optional.svelte.plugin,
21
- }
22
- : {},
23
- },
24
- },
25
7
  ...factory.globals,
26
- ...scopes
27
- .flatMap(scope => factory.scope(scope)),
8
+ ...scopes.flatMap(scope => factory.scope(scope)),
28
9
  ...factory.attachments,
29
10
  ];
30
11
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,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,EAAE,EACP,QAAQ,EAAE,EACR,OAAO,EACP,OAAO,GACR,EACD,QAAQ,GAAG,EAAE,GACd,EACD,aAAa,EAAE,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,GAMF;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAMzB,cAAc,EACd,IAAI,EACJ,QAAQ,EACR;YACE,GAAG,OAAO;YACV,GAAG,QAAQ,IAAI,QAAQ;gBACrB,CAAC,CAAC;oBACE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;iBAC/B;gBACH,CAAC,CAAC,EAAE;SACP,EACD,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,OAAO;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,GAAG,QAAQ,IAAI,QAAQ;wBACrB,CAAC,CAAC;4BACE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;yBAC/B;wBACH,CAAC,CAAC,EAAE;iBACP;aACF;YACD,GAAG,OAAO,CAAC,OAAO;YAClB,GAAG,MAAM;iBACN,OAAO,CACN,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9B;YACH,GAAG,OAAO,CAAC,WAAW;SACO,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,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":"AAQA,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,OAAO;YACL,GAAG,OAAO,CAAC,OAAO;YAClB,GAAG,MAAM,CAAC,OAAO,CACf,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAC9B;YACD,GAAG,OAAO,CAAC,WAAW;SACO,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,eAAe,EACf,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IConfig } from "../../config/index.js";
2
- export type Extensions<Scope extends string> = {
2
+ export type Extensions<Scope extends string, OptionalScope extends Scope> = {
3
3
  "*"?: Partial<IConfig["linterOptions"] & IConfig["languageOptions"]> & {
4
4
  ignores?: string[];
5
5
  override?: boolean;
@@ -8,5 +8,8 @@ export type Extensions<Scope extends string> = {
8
8
  files?: string[];
9
9
  ignores?: string[];
10
10
  rules?: IConfig["rules"];
11
+ }>> & Partial<Record<OptionalScope, {
12
+ plugin: unknown;
13
+ parser: unknown;
11
14
  }>>;
12
15
  //# sourceMappingURL=extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/configuration/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,MAAM,IAElB;IACF,GAAG,CAAC,EAAE,OAAO,CACT,OAAO,CAAC,eAAe,CAAC,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAC7B,GAAG;QACF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH,GACC,OAAO,CACP,MAAM,CACJ,KAAK,EACL;IACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B,CACF,CACF,CAAC"}
1
+ {"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/configuration/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,KAAK,IAEzB;IACF,GAAG,CAAC,EAAE,OAAO,CACT,OAAO,CAAC,eAAe,CAAC,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAC7B,GAAG;QACF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH,GACC,OAAO,CACP,MAAM,CACJ,KAAK,EACL;IACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B,CACF,CACF,GACC,OAAO,CACP,MAAM,CACJ,aAAa,EACb;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CACF,CACF,CAAC"}
@@ -2,10 +2,10 @@ import type { Settings } from "./settings.js";
2
2
  import type { Defaults } from "./defaults.js";
3
3
  import type { Extensions } from "./extensions.js";
4
4
  import type { IAttachment } from "./attachment.js";
5
- export interface Configuration<Scope extends string, Parser extends string> {
5
+ export interface Configuration<Parser extends Scope, Scope extends string, OptionalScope extends Scope> {
6
6
  settings: Settings<Scope, Parser>;
7
7
  defaults: Defaults<Scope>;
8
- extensions: Extensions<Scope>;
8
+ extensions: Extensions<Scope, OptionalScope>;
9
9
  attachments: readonly IAttachment[];
10
10
  }
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/configuration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,aAAa,CAC5B,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,MAAM;IAErB,QAAQ,EAAE,QAAQ,CAChB,KAAK,EACL,MAAM,CACP,CAAC;IACF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,WAAW,EAAE,SAAS,WAAW,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/configuration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,aAAa,CAC5B,MAAM,SAAS,KAAK,EACpB,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,KAAK;IAE3B,QAAQ,EAAE,QAAQ,CAChB,KAAK,EACL,MAAM,CACP,CAAC;IACF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,UAAU,EAAE,UAAU,CACpB,KAAK,EACL,aAAa,CACd,CAAC;IACF,WAAW,EAAE,SAAS,WAAW,EAAE,CAAC;CACrC"}
@@ -1,6 +1,6 @@
1
1
  import type { IConfig } from "../../config/index.js";
2
2
  import type { ScopeManifest } from "./manifest/index.js";
3
- export interface Settings<Scope extends string, Parser extends string> {
3
+ export interface Settings<Scope extends string, Parser extends Scope> {
4
4
  global: IConfig["linterOptions"] & IConfig["languageOptions"];
5
5
  registry: Record<Scope, ScopeManifest<Parser>>;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/configuration/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,QAAQ,CACvB,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,MAAM;IAErB,MAAM,EACF,OAAO,CAAC,eAAe,CAAC,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAC7B;IACD,QAAQ,EAAE,MAAM,CACd,KAAK,EACL,aAAa,CACX,MAAM,CACP,CACF,CAAC;CACH"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/configuration/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,QAAQ,CACvB,KAAK,SAAS,MAAM,EACpB,MAAM,SAAS,KAAK;IAEpB,MAAM,EACF,OAAO,CAAC,eAAe,CAAC,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAC7B;IACD,QAAQ,EAAE,MAAM,CACd,KAAK,EACL,aAAa,CACX,MAAM,CACP,CACF,CAAC;CACH"}
@@ -0,0 +1,5 @@
1
+ export interface Imports<RequiredPlugin extends string, RequiredParser extends string> {
2
+ plugins: Record<RequiredPlugin, unknown>;
3
+ parsers: Record<RequiredParser, unknown>;
4
+ }
5
+ //# sourceMappingURL=imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../src/interface/input/imports.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,MAAM;IAE7B,OAAO,EAAE,MAAM,CACb,cAAc,EACd,OAAO,CACR,CAAC;IACF,OAAO,EAAE,MAAM,CACb,cAAc,EACd,OAAO,CACR,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../src/interface/input/imports.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
- import type { Imports } from "./imports/index.js";
1
+ import type { Imports } from "./imports.js";
2
2
  import type { Configuration } from "./configuration/index.js";
3
- export interface Input<RequiredPlugin extends string, RequiredParser extends string, OptionalImport extends string, Scope extends string> {
4
- imports: Imports<RequiredPlugin, RequiredParser, OptionalImport>;
5
- configuration: Configuration<Scope, (RequiredParser | OptionalImport)>;
3
+ export interface Input<RequiredPlugin extends string, RequiredParser extends Scope, Scope extends string, OptionalScope extends Scope> {
4
+ imports: Imports<RequiredPlugin, RequiredParser>;
5
+ configuration: Configuration<(RequiredParser | OptionalScope), Scope, OptionalScope>;
6
6
  }
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,KAAK,CACpB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,MAAM,EAC7B,KAAK,SAAS,MAAM;IAEpB,OAAO,EAAE,OAAO,CACd,cAAc,EACd,cAAc,EACd,cAAc,CACf,CAAC;IACF,aAAa,EAAE,aAAa,CAC1B,KAAK,EACL,CACI,cAAc,GACd,cAAc,CACjB,CACF,CAAC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interface/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,KAAK,CACpB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,KAAK,EAC5B,KAAK,SAAS,MAAM,EACpB,aAAa,SAAS,KAAK;IAE3B,OAAO,EAAE,OAAO,CACd,cAAc,EACd,cAAc,CACf,CAAC;IACF,aAAa,EAAE,aAAa,CAC1B,CACI,cAAc,GACd,aAAa,CAChB,EACD,KAAK,EACL,aAAa,CACd,CAAC;CACH"}
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": "23.1.4",
6
+ "version": "24.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": [],
@@ -6,24 +6,22 @@ Parser = (scope: string) => `MOCK_PARSER:${scope}`;
6
6
 
7
7
  export const TEST_INPUT = {
8
8
  imports: {
9
- required: {
10
- plugins: {
11
- "@stylistic": Plugin,
12
- "@typescript-eslint": Plugin,
13
- mocha: Plugin,
14
- "chai-friendly": Plugin,
15
- "chai-expect": Plugin,
16
- "@html-eslint": Plugin,
17
- css: Plugin,
18
- json: Plugin,
19
- jsonc: Plugin,
20
- yml: Plugin,
21
- },
22
- parsers: {
23
- ts: Parser("TS"),
24
- html: Parser("HTML"),
25
- yml: Parser("YML"),
26
- },
9
+ plugins: {
10
+ "@stylistic": Plugin,
11
+ "@typescript-eslint": Plugin,
12
+ mocha: Plugin,
13
+ "chai-friendly": Plugin,
14
+ "chai-expect": Plugin,
15
+ "@html-eslint": Plugin,
16
+ css: Plugin,
17
+ json: Plugin,
18
+ jsonc: Plugin,
19
+ yml: Plugin,
20
+ },
21
+ parsers: {
22
+ ts: Parser("TS"),
23
+ html: Parser("HTML"),
24
+ yml: Parser("YML"),
27
25
  },
28
26
  },
29
27
  configuration: {
package/src/factory.ts CHANGED
@@ -2,41 +2,39 @@ import type { Input } from "./interface";
2
2
 
3
3
  export class Factory<
4
4
  RequiredPlugin extends string,
5
- RequiredParser extends string,
6
- OptionalImport extends string,
5
+ RequiredParser extends Scope,
7
6
  Scope extends string,
7
+ OptionalScope extends Scope,
8
8
  > {
9
- public global;
9
+ public globalConfigs;
10
10
  public scopes;
11
+ public parsers;
11
12
 
12
13
  constructor(
13
- optionalScopes: readonly Scope[],
14
14
  tree: Array<
15
15
  readonly [
16
16
  Scope,
17
17
  readonly Scope[],
18
18
  ]
19
19
  >,
20
+ optionalScopes: readonly Scope[],
21
+ imports: Input<
22
+ RequiredPlugin,
23
+ RequiredParser,
24
+ Scope,
25
+ OptionalScope
26
+ >["imports"],
20
27
  private readonly settings: Input<
21
28
  RequiredPlugin,
22
29
  RequiredParser,
23
- OptionalImport,
24
- Scope
30
+ Scope,
31
+ OptionalScope
25
32
  >["configuration"]["settings"],
26
- public parsers: Record<
27
- RequiredParser,
28
- unknown
29
- > & Partial<
30
- Record<
31
- OptionalImport,
32
- unknown
33
- >
34
- >,
35
33
  defaults: Input<
36
34
  RequiredPlugin,
37
35
  RequiredParser,
38
- OptionalImport,
39
- Scope
36
+ Scope,
37
+ OptionalScope
40
38
  >["configuration"]["defaults"],
41
39
  {
42
40
  "*": globalExtension = {},
@@ -44,14 +42,14 @@ export class Factory<
44
42
  }: Input<
45
43
  RequiredPlugin,
46
44
  RequiredParser,
47
- OptionalImport,
48
- Scope
45
+ Scope,
46
+ OptionalScope
49
47
  >["configuration"]["extensions"] = {},
50
48
  public readonly attachments: Input<
51
49
  RequiredPlugin,
52
50
  RequiredParser,
53
- OptionalImport,
54
- Scope
51
+ Scope,
52
+ OptionalScope
55
53
  >["configuration"]["attachments"] = [],
56
54
  ) {
57
55
  const {
@@ -67,13 +65,20 @@ export class Factory<
67
65
  ecmaVersion = settings
68
66
  .global
69
67
  .ecmaVersion,
70
- } = globalExtension,
71
- {
72
- ignores = [],
73
- override = false,
74
68
  } = globalExtension;
75
69
 
76
- this.global = {
70
+ this.globalConfigs = {
71
+ plugins: {
72
+ 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
+ },
81
+ },
77
82
  settings: {
78
83
  name: "linted/*/settings/" as const,
79
84
  linterOptions: {
@@ -88,61 +93,68 @@ export class Factory<
88
93
  ignores: {
89
94
  name: "linted/*/ignores/" as const,
90
95
  ignores: [
91
- ...override
96
+ ...globalExtension.override === true
92
97
  ? []
93
- : defaults
94
- .ignores["*"],
95
- ...ignores,
98
+ : defaults.ignores["*"],
99
+ ...globalExtension.ignores ?? [],
96
100
  ],
97
101
  },
98
102
  };
99
103
  this.scopes = {
100
- files: defaults
101
- .files,
102
- ignores: defaults
103
- .ignores,
104
- rules: defaults
105
- .rules,
104
+ files: defaults.files,
105
+ ignores: defaults.ignores,
106
+ rules: defaults.rules,
107
+ };
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
+ >,
106
120
  };
107
121
 
108
122
  for (const scope in scopeExtensions) {
109
123
  const {
110
124
  [scope as keyof typeof scopeExtensions]: {
111
- files: userFiles = [],
112
- ignores: userIgnores = [],
113
- rules: userRules = null,
125
+ files = [],
126
+ ignores = [],
127
+ rules = null,
114
128
  } = {},
115
129
  } = scopeExtensions;
116
130
 
117
131
  this
118
132
  .scopes
119
133
  .files[scope as keyof typeof scopeExtensions]
120
- .push(...userFiles);
134
+ .push(...files);
121
135
  this
122
136
  .scopes
123
137
  .ignores[scope as keyof typeof scopeExtensions]
124
- .push(...userIgnores);
138
+ .push(...ignores);
125
139
 
126
- if (userRules !== null)
140
+ if (rules !== null)
127
141
  this
128
142
  .scopes
129
143
  .rules[scope as keyof typeof scopeExtensions]
130
144
  .push(
131
145
  {
132
146
  id: scope + "/override",
133
- rules: userRules,
147
+ rules,
134
148
  },
135
149
  );
136
150
  }
137
151
 
138
- const OptionalScopes = new Set<Scope>(
139
- optionalScopes,
140
- );
152
+ const OptionalScopes = new Set<Scope>(optionalScopes);
141
153
 
142
154
  for (const [scope, parents] of tree)
143
155
  if (
144
156
  !OptionalScopes.has(scope)
145
- || scope in parsers
157
+ || scope in this.parsers
146
158
  )
147
159
  for (const parent of parents) {
148
160
  this
@@ -166,8 +178,9 @@ export class Factory<
166
178
 
167
179
  public get globals() {
168
180
  return [
169
- this.global.settings,
170
- this.global.ignores,
181
+ this.globalConfigs.plugins,
182
+ this.globalConfigs.settings,
183
+ this.globalConfigs.ignores,
171
184
  ] as const;
172
185
  }
173
186
 
package/src/index.ts CHANGED
@@ -15,13 +15,7 @@ import { Factory } from "./factory";
15
15
 
16
16
  export default function (
17
17
  {
18
- imports: {
19
- required: {
20
- plugins,
21
- parsers,
22
- },
23
- optional = {},
24
- },
18
+ imports,
25
19
  configuration: {
26
20
  settings,
27
21
  defaults,
@@ -31,50 +25,31 @@ export default function (
31
25
  }: Input<
32
26
  RequiredPlugin,
33
27
  RequiredParser,
34
- (typeof optionalScopes[number]),
35
- (typeof scopes[number])
28
+ (typeof scopes[number]),
29
+ (typeof optionalScopes[number])
36
30
  >,
37
31
  ) {
38
32
  try {
39
33
  const factory = new Factory<
40
34
  RequiredPlugin,
41
35
  RequiredParser,
42
- (typeof optionalScopes[number]),
43
- (typeof scopes[number])
36
+ (typeof scopes[number]),
37
+ (typeof optionalScopes[number])
44
38
  >(
45
- optionalScopes,
46
39
  tree,
40
+ optionalScopes,
41
+ imports,
47
42
  settings,
48
- {
49
- ...parsers,
50
- ..."svelte" in optional
51
- ? {
52
- svelte: optional.svelte.parser,
53
- }
54
- : {},
55
- },
56
43
  defaults,
57
44
  extensions,
58
45
  attachments,
59
46
  );
60
47
 
61
48
  return [
62
- {
63
- name: "linted/*/plugins/",
64
- plugins: {
65
- ...plugins,
66
- ..."svelte" in optional
67
- ? {
68
- svelte: optional.svelte.plugin,
69
- }
70
- : {},
71
- },
72
- },
73
49
  ...factory.globals,
74
- ...scopes
75
- .flatMap(
76
- scope => factory.scope(scope),
77
- ),
50
+ ...scopes.flatMap(
51
+ scope => factory.scope(scope),
52
+ ),
78
53
  ...factory.attachments,
79
54
  ] satisfies Output as unknown[];
80
55
  }
@@ -2,6 +2,7 @@ import type { IConfig } from "../../config";
2
2
 
3
3
  export type Extensions<
4
4
  Scope extends string,
5
+ OptionalScope extends Scope,
5
6
  >
6
7
  = & {
7
8
  "*"?: Partial<
@@ -21,4 +22,13 @@ export type Extensions<
21
22
  rules?: IConfig["rules"];
22
23
  }
23
24
  >
25
+ >
26
+ & Partial<
27
+ Record<
28
+ OptionalScope,
29
+ {
30
+ plugin: unknown;
31
+ parser: unknown;
32
+ }
33
+ >
24
34
  >;
@@ -4,14 +4,18 @@ import type { Extensions } from "./extensions";
4
4
  import type { IAttachment } from "./attachment";
5
5
 
6
6
  export interface Configuration<
7
+ Parser extends Scope,
7
8
  Scope extends string,
8
- Parser extends string,
9
+ OptionalScope extends Scope,
9
10
  > {
10
11
  settings: Settings<
11
12
  Scope,
12
13
  Parser
13
14
  >;
14
15
  defaults: Defaults<Scope>;
15
- extensions: Extensions<Scope>;
16
+ extensions: Extensions<
17
+ Scope,
18
+ OptionalScope
19
+ >;
16
20
  attachments: readonly IAttachment[];
17
21
  }
@@ -3,7 +3,7 @@ import type { ScopeManifest } from "./manifest";
3
3
 
4
4
  export interface Settings<
5
5
  Scope extends string,
6
- Parser extends string,
6
+ Parser extends Scope,
7
7
  > {
8
8
  global:
9
9
  & IConfig["linterOptions"]
@@ -1,4 +1,4 @@
1
- export interface RequiredImports<
1
+ export interface Imports<
2
2
  RequiredPlugin extends string,
3
3
  RequiredParser extends string,
4
4
  > {
@@ -3,20 +3,20 @@ import type { Configuration } from "./configuration";
3
3
 
4
4
  export interface Input<
5
5
  RequiredPlugin extends string,
6
- RequiredParser extends string,
7
- OptionalImport extends string,
6
+ RequiredParser extends Scope,
8
7
  Scope extends string,
8
+ OptionalScope extends Scope,
9
9
  > {
10
10
  imports: Imports<
11
11
  RequiredPlugin,
12
- RequiredParser,
13
- OptionalImport
12
+ RequiredParser
14
13
  >;
15
14
  configuration: Configuration<
16
- Scope,
17
15
  (
18
16
  | RequiredParser
19
- | OptionalImport
20
- )
17
+ | OptionalScope
18
+ ),
19
+ Scope,
20
+ OptionalScope
21
21
  >;
22
22
  }
@@ -1,7 +0,0 @@
1
- import type { RequiredImports } from "./required.js";
2
- import type { OptionalImports } from "./optional.js";
3
- export interface Imports<RequiredPlugin extends string, RequiredParser extends string, OptionalImport extends string> {
4
- required: RequiredImports<RequiredPlugin, RequiredParser>;
5
- optional?: OptionalImports<OptionalImport>;
6
- }
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/imports/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,OAAO,CACtB,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,MAAM;IAE7B,QAAQ,EAAE,eAAe,CACvB,cAAc,EACd,cAAc,CACf,CAAC;IACF,QAAQ,CAAC,EAAE,eAAe,CACxB,cAAc,CACf,CAAC;CACH"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/interface/input/imports/index.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export type OptionalImports<OptionalImport extends string> = Partial<Record<OptionalImport, {
2
- plugin: unknown;
3
- parser: unknown;
4
- }>>;
5
- //# sourceMappingURL=optional.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/imports/optional.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,CACzB,cAAc,SAAS,MAAM,IAC3B,OAAO,CACT,MAAM,CACJ,cAAc,EACd;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CACF,CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=optional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../../src/interface/input/imports/optional.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- export interface RequiredImports<RequiredPlugin extends string, RequiredParser extends string> {
2
- plugins: Record<RequiredPlugin, unknown>;
3
- parsers: Record<RequiredParser, unknown>;
4
- }
5
- //# sourceMappingURL=required.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required.d.ts","sourceRoot":"","sources":["../../../../src/interface/input/imports/required.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe,CAC9B,cAAc,SAAS,MAAM,EAC7B,cAAc,SAAS,MAAM;IAE7B,OAAO,EAAE,MAAM,CACb,cAAc,EACd,OAAO,CACR,CAAC;IACF,OAAO,EAAE,MAAM,CACb,cAAc,EACd,OAAO,CACR,CAAC;CACH"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=required.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required.js","sourceRoot":"","sources":["../../../../src/interface/input/imports/required.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import type { RequiredImports } from "./required";
2
- import type { OptionalImports } from "./optional";
3
-
4
- export interface Imports<
5
- RequiredPlugin extends string,
6
- RequiredParser extends string,
7
- OptionalImport extends string,
8
- > {
9
- required: RequiredImports<
10
- RequiredPlugin,
11
- RequiredParser
12
- >;
13
- optional?: OptionalImports<
14
- OptionalImport
15
- >;
16
- }
@@ -1,11 +0,0 @@
1
- export type OptionalImports<
2
- OptionalImport extends string,
3
- > = Partial<
4
- Record<
5
- OptionalImport,
6
- {
7
- plugin: unknown;
8
- parser: unknown;
9
- }
10
- >
11
- >;