@eslinted/core 13.2.0-rc.0 → 13.2.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.
@@ -1,13 +1,12 @@
1
- import type { Scopes } from "../index.js";
2
- import type Core from "../index.js";
1
+ import type { Scopes, Rule, Input } from "../index.js";
3
2
  import type Options from "./settings/index.js";
4
3
  export declare class Factory {
5
- readonly defaults: Parameters<typeof Core>[0]["defaults"];
4
+ readonly defaults: Input["defaults"];
6
5
  readonly extensions: {
7
- readonly global: NonNullable<Parameters<typeof Core>[0]["extensions"]["*"]>;
8
- readonly scopes: Omit<Parameters<typeof Core>[0]["extensions"], "*">;
6
+ readonly global: NonNullable<Input["extensions"]["*"]>;
7
+ readonly scopes: Omit<Input["extensions"], "*">;
9
8
  };
10
- constructor(defaults: Parameters<typeof Core>[0]["defaults"], { "*": global, ...scopes }?: Parameters<typeof Core>[0]["extensions"]);
9
+ constructor(defaults: Input["defaults"], { "*": global, ...scopes }?: Input["extensions"]);
11
10
  get settings(): {
12
11
  readonly name: "linted/*/settings";
13
12
  readonly linterOptions: {
@@ -35,30 +34,30 @@ export declare class Factory {
35
34
  };
36
35
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
37
36
  readonly files: readonly [
38
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
37
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
39
38
  ...string[]
40
39
  ];
41
40
  readonly ignores: readonly [
42
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
41
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
43
42
  ...string[]
44
43
  ];
45
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
46
- import("../interface/shared/config/rule/index.js").State,
44
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
45
+ Rule.State,
47
46
  ...unknown[]
48
47
  ]>>;
49
48
  } | {
50
49
  readonly languageOptions: object;
51
50
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
52
51
  readonly files: readonly [
53
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
52
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
54
53
  ...string[]
55
54
  ];
56
55
  readonly ignores: readonly [
57
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
56
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
58
57
  ...string[]
59
58
  ];
60
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
61
- import("../interface/shared/config/rule/index.js").State,
59
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
60
+ Rule.State,
62
61
  ...unknown[]
63
62
  ]>>;
64
63
  } | {
@@ -78,15 +77,15 @@ export declare class Factory {
78
77
  readonly processor: "svelte/svelte";
79
78
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
80
79
  readonly files: readonly [
81
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
80
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
82
81
  ...string[]
83
82
  ];
84
83
  readonly ignores: readonly [
85
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
84
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
86
85
  ...string[]
87
86
  ];
88
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
89
- import("../interface/shared/config/rule/index.js").State,
87
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
88
+ Rule.State,
90
89
  ...unknown[]
91
90
  ]>>;
92
91
  } | {
@@ -100,75 +99,75 @@ export declare class Factory {
100
99
  };
101
100
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
102
101
  readonly files: readonly [
103
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
102
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
104
103
  ...string[]
105
104
  ];
106
105
  readonly ignores: readonly [
107
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
106
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
108
107
  ...string[]
109
108
  ];
110
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
111
- import("../interface/shared/config/rule/index.js").State,
109
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
110
+ Rule.State,
112
111
  ...unknown[]
113
112
  ]>>;
114
113
  } | {
115
114
  readonly languageOptions: object;
116
115
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
117
116
  readonly files: readonly [
118
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
117
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
119
118
  ...string[]
120
119
  ];
121
120
  readonly ignores: readonly [
122
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
121
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
123
122
  ...string[]
124
123
  ];
125
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
126
- import("../interface/shared/config/rule/index.js").State,
124
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
125
+ Rule.State,
127
126
  ...unknown[]
128
127
  ]>>;
129
128
  } | {
130
129
  readonly languageOptions: object;
131
130
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
132
131
  readonly files: readonly [
133
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
132
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
134
133
  ...string[]
135
134
  ];
136
135
  readonly ignores: readonly [
137
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
136
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
138
137
  ...string[]
139
138
  ];
140
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
141
- import("../interface/shared/config/rule/index.js").State,
139
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
140
+ Rule.State,
142
141
  ...unknown[]
143
142
  ]>>;
144
143
  } | {
145
144
  readonly languageOptions: object;
146
145
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
147
146
  readonly files: readonly [
148
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
147
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
149
148
  ...string[]
150
149
  ];
151
150
  readonly ignores: readonly [
152
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
151
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
153
152
  ...string[]
154
153
  ];
155
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
156
- import("../interface/shared/config/rule/index.js").State,
154
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
155
+ Rule.State,
157
156
  ...unknown[]
158
157
  ]>>;
159
158
  } | {
160
159
  readonly languageOptions: object;
161
160
  readonly name: `linted/svelte:${string}` | `linted/mocha:${string}` | `linted/jsonc:${string}` | `linted/yml:${string}` | `linted/ts:${string}` | `linted/html:${string}` | `linted/js:${string}` | `linted/json:${string}`;
162
161
  readonly files: readonly [
163
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
162
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
164
163
  ...string[]
165
164
  ];
166
165
  readonly ignores: readonly [
167
- ...Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", readonly string[]>>[S],
166
+ ...Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json" | "*", readonly string[]>>[S],
168
167
  ...string[]
169
168
  ];
170
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
171
- import("../interface/shared/config/rule/index.js").State,
169
+ readonly rules: Readonly<Record<string, Rule.State | readonly [
170
+ Rule.State,
172
171
  ...unknown[]
173
172
  ]>>;
174
173
  })[];
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,IAAI,CAAC;AAE3B,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,qBAAa,OAAO;aAOA,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IANlE,SAAgB,UAAU,EAAE;QAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;KACtE,CAAC;gBAGgB,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAChE,EAAE,GAAG,EAAE,MAAW,EAAE,GAAG,MAAM,EAAE,GAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAe;IAKzF,IAAW,QAAQ;;;;;;;;;;MAkBlB;IAED,IAAW,OAAO;;;MAkBjB;IAEM,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BnF"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAEtC,qBAAa,OAAO;aAOA,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;IAN7C,SAAgB,UAAU,EAAE;QAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD,CAAC;gBAGgB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3C,EAAE,GAAG,EAAE,MAAW,EAAE,GAAG,MAAM,EAAE,GAAE,KAAK,CAAC,YAAY,CAAe;IAKpE,IAAW,QAAQ;;;;;;;;;;MAkBlB;IAED,IAAW,OAAO;;;MAkBjB;IAEM,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCnF"}
@@ -1,4 +1,3 @@
1
- import { Ruleset } from "./ruleset.js";
2
1
  export class Factory {
3
2
  defaults;
4
3
  extensions;
@@ -25,12 +24,18 @@ export class Factory {
25
24
  };
26
25
  }
27
26
  scope(scope, settings) {
28
- const { defaults: { files: { [scope]: defaultFiles }, ignores: { [scope]: defaultIgnores }, rules: { [scope]: defaultRules }, }, extensions: { scopes: { [scope]: scopeExtension = {} } }, } = this, { files: extendFiles = [], ignores: extendIgnores = [], rules: extendRules, } = scopeExtension, files = [...defaultFiles, ...extendFiles], ignores = [...defaultIgnores, ...extendIgnores], ruleset = new Ruleset(scope, defaultRules, extendRules);
29
- if (ruleset.scope !== settings.scope)
30
- throw new TypeError(`Scope mismatch between config "${settings.scope} and inner ruleset "${ruleset.scope}"`);
27
+ function Ruleset(scope, defaults, override) {
28
+ return [
29
+ ...defaults.map(([id, rules]) => ({ id: `${scope}:${id}`, rules })),
30
+ ...typeof override === "undefined"
31
+ ? []
32
+ : [{ id: `${scope}:override`, rules: override }],
33
+ ];
34
+ }
35
+ const { defaults: { files: { [scope]: defaultFiles }, ignores: { [scope]: defaultIgnores }, rules: { [scope]: defaultRules }, }, extensions: { scopes: { [scope]: scopeExtension = {} } }, } = this, { files: extendFiles = [], ignores: extendIgnores = [], rules: extendRules, } = scopeExtension, files = [...defaultFiles, ...extendFiles], ignores = [...defaultIgnores, ...extendIgnores], ruleset = Ruleset(scope, defaultRules, extendRules);
31
36
  return files.length < 1
32
37
  ? []
33
- : ruleset.ruleset.map(({ id, rules }) => ({
38
+ : ruleset.map(({ id, rules }) => ({
34
39
  name: `linted/${id}`,
35
40
  files,
36
41
  ignores,
@@ -39,4 +44,4 @@ export class Factory {
39
44
  }));
40
45
  }
41
46
  }
42
- //# sourceMappingURL=factory.js.map
47
+ //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,OAAO,OAAO;IAOA;IANF,UAAU,CAGxB;IAEF,YACkB,QAAgD,EAChE,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,MAAM,KAA+C,EAAW;QADvE,aAAQ,GAAR,QAAQ,CAAwC;QAGhE,IAAI,CAAC,UAAU,GAAG,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;IAChD,CAAC;IAED,IAAW,QAAQ;QACjB,MAAM,EACJ,QAAQ,EAAE,EAAE,QAAQ,EAAE,EACtB,UAAU,EAAE,EACV,MAAM,EAAE,EACN,cAAc,GAAG,QAAQ,CAAC,cAAc,EACxC,6BAA6B,GAAG,QAAQ,CAAC,6BAA6B,EACtE,UAAU,GAAG,QAAQ,CAAC,UAAU,EAChC,WAAW,GAAG,QAAQ,CAAC,WAAW,GACnC,GACF,GACF,GAAG,IAAI,CAAC;QAET,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,aAAa,EAAE,EAAE,cAAc,EAAE,6BAA6B,EAAW;YACzE,eAAe,EAAE,EAAE,UAAU,EAAE,WAAW,EAAW;SAC7C,CAAC;IACb,CAAC;IAED,IAAW,OAAO;QAChB,MAAM,EACJ,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EACxC,UAAU,EAAE,EACV,MAAM,EAAE,EACN,OAAO,GAAG,EAAW,EACrB,QAAQ,GAAG,KAAK,GACjB,GACF,GACF,GAAG,IAAI,CAAC;QAET,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE;gBACP,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAW,CAAC,CAAC,CAAC,QAAQ;gBACpC,GAAG,OAAO;aACF;SACF,CAAC;IACb,CAAC;IAEM,KAAK,CAAmB,KAAQ,EAAE,QAAyC;QAChF,MAAM,EACJ,QAAQ,EAAE,EACR,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAChC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,EACpC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,GACjC,EACD,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,EAAW,EAAE,EAAE,GAClE,GAAG,IAAI,EACR,EACE,KAAK,EAAE,WAAW,GAAG,EAAW,EAChC,OAAO,EAAE,aAAa,GAAG,EAAW,EACpC,KAAK,EAAE,WAAW,GACnB,GAAG,cAAc,EAClB,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,WAAW,CAAU,EAClD,OAAO,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAU,EACxD,OAAO,GAAG,IAAI,OAAO,CAAS,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAClC,MAAM,IAAI,SAAS,CAAC,kCAAkC,QAAQ,CAAC,KAAK,uBAAuB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAE/G,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,EAAW;YACb,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxC,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpB,KAAK;gBACL,OAAO;gBACP,KAAK;gBACL,GAAG,QAAQ,CAAC,MAAM;aACT,CAAA,CAAC,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import type { Input, Output } from "./interface/index.js";
2
- import type { Scopes, Plugins, Parsers } from "./scopes/index.js";
3
2
  export type * from "./interface/index.js";
4
3
  export type * from "./scopes/index.js";
5
- export default function ({ imports: { plugins, parsers }, defaults, extensions, }: Input<Scopes, Plugins, Parsers>): Output<Scopes, Plugins>;
4
+ export default function ({ imports: { plugins, parsers }, defaults, extensions, }: Input): Output;
6
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,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAIzD,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,UAAU,CAAC;AAC9B,MAAM,CAAC,OAAO,WAAW,EACvB,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7B,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwB3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIjD,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,UAAU,CAAC;AAC9B,MAAM,CAAC,OAAO,WAAW,EACvB,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7B,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,GAAG,MAAM,CAwBhB"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAI7C,MAAM,CAAC,OAAO,WAAW,EACvB,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7B,QAAQ,EACR,UAAU,GACsB;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,EACjD,OAAO,GAA+E;YACpF,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,EAAW,CAAC;YAC/B,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAU,CAAC;YACzC,MAAM,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAU,CAAC;YACjE,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAU,CAAC;YAC/C,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAU,CAAC;YAC/C,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAU,CAAC;YAChD,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAU,CAAC;YAClD,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAU,CAAC;SACpC,CAAC;QAEX,OAAO;YACL,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAW;YAC9C,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,OAAO;YACf,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SACxD,CAAC;IACb,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAI7C,MAAM,CAAC,OAAO,WAAW,EACvB,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7B,QAAQ,EACR,UAAU,GACJ;IACN,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,EACjD,OAAO,GAA+E;YACpF,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,EAAW,CAAC;YAC/B,EAAE,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAU,CAAC;YACzC,MAAM,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAU,CAAC;YACjE,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAU,CAAC;YAC/C,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAU,CAAC;YAC/C,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAU,CAAC;YAChD,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAU,CAAC;YAClD,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAU,CAAC;SACpC,CAAC;QAEX,OAAO;YACL,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAW;YAC9C,OAAO,CAAC,QAAQ;YAChB,OAAO,CAAC,OAAO;YACf,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SACxD,CAAC;IACb,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { Scopes, Plugins, Parsers } from "../scopes/index.js";
1
2
  import type * as Inputs from "./inputs/index.js";
2
- export interface Input<Scopes extends string, Plugins extends string, Parsers extends string> {
3
+ export interface Input {
3
4
  readonly imports: Inputs.Imports<Plugins, Parsers>;
4
5
  readonly defaults: Inputs.Defaults<Scopes>;
5
6
  readonly extensions: Inputs.Extensions<Scopes>;
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/interface/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,KAAK,CACpB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,MAAM;IAEtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAC9B,OAAO,EACP,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CAChD"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/interface/input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAC9B,OAAO,EACP,OAAO,CACR,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CAChD"}
@@ -1,6 +1,7 @@
1
+ import type { Scopes, Plugins } from "../scopes/index.js";
1
2
  import type * as Configs from "./outputs/index.js";
2
3
  export type { Configs };
3
- export type Output<Scopes extends string, Plugins extends string> = readonly [
4
+ export type Output = readonly [
4
5
  Configs.Common.Plugins<Plugins>,
5
6
  Configs.Common.Settings,
6
7
  Configs.Common.Ignores,
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/interface/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAC;AAE1C,YAAY,EAAE,OAAO,EAAE,CAAC;AACxB,MAAM,MAAM,MAAM,CAChB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,MAAM,IACpB,SAAS;IACX,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,OAAO;IACtB,GAAG,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;CACrC,CAAC"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/interface/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAC;AAE1C,YAAY,EAAE,OAAO,EAAE,CAAC;AACxB,MAAM,MAAM,MAAM,GAAG,SAAS;IAC5B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ;IACvB,OAAO,CAAC,MAAM,CAAC,OAAO;IACtB,GAAG,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;CACrC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_schemaVersion": "22.11.0",
3
3
  "name": "@eslinted/core",
4
- "version": "13.2.0-rc.0",
4
+ "version": "13.2.0",
5
5
  "description": "Core ESLint flat config factory npm package `linted`.",
6
6
  "keywords": [],
7
7
  "repository": "github:jimmy-zhening-luo/linted-core",
@@ -1,17 +1,15 @@
1
- import type { Scopes } from "..";
2
- import type Core from "..";
3
- import { Ruleset } from "./ruleset";
1
+ import type { Scopes, Rule, Input } from "..";
4
2
  import type Options from "./settings";
5
3
 
6
4
  export class Factory {
7
5
  public readonly extensions: {
8
- readonly global: NonNullable<Parameters<typeof Core>[0]["extensions"]["*"]>;
9
- readonly scopes: Omit<Parameters<typeof Core>[0]["extensions"], "*">;
6
+ readonly global: NonNullable<Input["extensions"]["*"]>;
7
+ readonly scopes: Omit<Input["extensions"], "*">;
10
8
  };
11
9
 
12
10
  constructor(
13
- public readonly defaults: Parameters<typeof Core>[0]["defaults"],
14
- { "*": global = {}, ...scopes }: Parameters<typeof Core>[0]["extensions"] = {} as const,
11
+ public readonly defaults: Input["defaults"],
12
+ { "*": global = {}, ...scopes }: Input["extensions"] = {} as const,
15
13
  ) {
16
14
  this.extensions = { global, scopes } as const;
17
15
  }
@@ -57,6 +55,19 @@ export class Factory {
57
55
  }
58
56
 
59
57
  public scope<S extends Scopes>(scope: S, settings: InstanceType<typeof Options[S]>) {
58
+ function Ruleset<Scopes extends string>(
59
+ scope: Scopes,
60
+ defaults: readonly Rule.NamedBag[],
61
+ override?: Rule.Bag,
62
+ ) {
63
+ return [
64
+ ...defaults.map(([id, rules]: Rule.NamedBag) => ({ id: `${scope}:${id}`, rules } as const)),
65
+ ...typeof override === "undefined"
66
+ ? [] as const
67
+ : [{ id: `${scope}:override`, rules: override } as const] as const,
68
+ ] as const;
69
+ }
70
+
60
71
  const {
61
72
  defaults: {
62
73
  files: { [scope]: defaultFiles },
@@ -72,14 +83,11 @@ export class Factory {
72
83
  } = scopeExtension,
73
84
  files = [...defaultFiles, ...extendFiles] as const,
74
85
  ignores = [...defaultIgnores, ...extendIgnores] as const,
75
- ruleset = new Ruleset<Scopes>(scope, defaultRules, extendRules);
76
-
77
- if (ruleset.scope !== settings.scope)
78
- throw new TypeError(`Scope mismatch between config "${settings.scope} and inner ruleset "${ruleset.scope}"`);
86
+ ruleset = Ruleset<Scopes>(scope, defaultRules, extendRules);
79
87
 
80
88
  return files.length < 1
81
89
  ? [] as const
82
- : ruleset.ruleset.map(({ id, rules }) => ({
90
+ : ruleset.map(({ id, rules }) => ({
83
91
  name: `linted/${id}`,
84
92
  files,
85
93
  ignores,
package/src/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import type { Input, Output } from "./interface";
2
- import type { Scopes, Plugins, Parsers } from "./scopes";
3
2
  import { scopes } from "./scopes";
4
3
  import { Factory, Options } from "./factory";
5
4
 
@@ -9,7 +8,7 @@ export default function ({
9
8
  imports: { plugins, parsers },
10
9
  defaults,
11
10
  extensions,
12
- }: Input<Scopes, Plugins, Parsers>): Output<Scopes, Plugins> {
11
+ }: Input): Output {
13
12
  try {
14
13
  const factory = new Factory(defaults, extensions),
15
14
  options: { readonly [S in typeof scopes[number]]: InstanceType<typeof Options[S]> } = {
@@ -1,10 +1,7 @@
1
+ import type { Scopes, Plugins, Parsers } from "../scopes";
1
2
  import type * as Inputs from "./inputs";
2
3
 
3
- export interface Input<
4
- Scopes extends string,
5
- Plugins extends string,
6
- Parsers extends string,
7
- > {
4
+ export interface Input {
8
5
  readonly imports: Inputs.Imports<
9
6
  Plugins,
10
7
  Parsers
@@ -1,10 +1,8 @@
1
+ import type { Scopes, Plugins } from "../scopes";
1
2
  import type * as Configs from "./outputs";
2
3
 
3
4
  export type { Configs };
4
- export type Output<
5
- Scopes extends string,
6
- Plugins extends string,
7
- > = readonly [
5
+ export type Output = readonly [
8
6
  Configs.Common.Plugins<Plugins>,
9
7
  Configs.Common.Settings,
10
8
  Configs.Common.Ignores,
@@ -1,10 +0,0 @@
1
- import type { Rule } from "../index.js";
2
- export declare class Ruleset<Scopes extends string> {
3
- readonly scope: Scopes;
4
- readonly ruleset: {
5
- id: `${Scopes}:${string}`;
6
- rules: Rule.Bag;
7
- }[];
8
- constructor(scope: Scopes, defaults: readonly Rule.NamedBag[], override?: Rule.Bag);
9
- }
10
- //# sourceMappingURL=ruleset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ruleset.d.ts","sourceRoot":"","sources":["../../src/factory/ruleset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,qBAAa,OAAO,CAAC,MAAM,SAAS,MAAM;aAItB,KAAK,EAAE,MAAM;IAH/B,SAAgB,OAAO,EAAE;QAAE,EAAE,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAA;KAAE,EAAE,CAAC;gBAGxD,KAAK,EAAE,MAAM,EAC7B,QAAQ,EAAE,SAAS,IAAI,CAAC,QAAQ,EAAE,EAClC,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG;CActB"}
@@ -1,18 +0,0 @@
1
- export class Ruleset {
2
- scope;
3
- ruleset;
4
- constructor(scope, defaults, override) {
5
- this.scope = scope;
6
- const map = ([id, rules]) => ({
7
- id: `${scope}:${id}`,
8
- rules,
9
- });
10
- this.ruleset = [
11
- ...defaults.map(rule => map(rule)),
12
- ...typeof override === "undefined"
13
- ? []
14
- : [map([`${scope}:override`, override])],
15
- ];
16
- }
17
- }
18
- //# sourceMappingURL=ruleset.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../../src/factory/ruleset.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IAIA;IAHF,OAAO,CAAmD;IAE1E,YACkB,KAAa,EAC7B,QAAkC,EAClC,QAAmB;QAFH,UAAK,GAAL,KAAK,CAAQ;QAI7B,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,CAAgB,EAAE,EAAE,CAAC,CAAC;YAC3C,EAAE,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE;YACpB,KAAK;SACI,CAAA,CAAC;QAEZ,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,GAAG,OAAO,QAAQ,KAAK,WAAW;gBAChC,CAAC,CAAC,EAAW;gBACb,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAU;SAC3C,CAAC;IACb,CAAC;CACF"}
@@ -1,23 +0,0 @@
1
- import type { Rule } from "..";
2
-
3
- export class Ruleset<Scopes extends string> {
4
- public readonly ruleset: { id: `${Scopes}:${string}`; rules: Rule.Bag }[];
5
-
6
- constructor(
7
- public readonly scope: Scopes,
8
- defaults: readonly Rule.NamedBag[],
9
- override?: Rule.Bag,
10
- ) {
11
- const map = ([id, rules]: Rule.NamedBag) => ({
12
- id: `${scope}:${id}`,
13
- rules,
14
- } as const);
15
-
16
- this.ruleset = [
17
- ...defaults.map(rule => map(rule)),
18
- ...typeof override === "undefined"
19
- ? [] as const
20
- : [map([`${scope}:override`, override])] as const,
21
- ] as const;
22
- }
23
- }