@eslinted/core 13.3.0-rc.1 → 13.3.0-rc.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. package/dist/factory/index.d.ts +230 -2
  2. package/dist/factory/index.d.ts.map +1 -1
  3. package/dist/factory/index.js +65 -2
  4. package/dist/factory/index.js.map +1 -1
  5. package/dist/factory/scopes/html.d.ts +11 -0
  6. package/dist/factory/scopes/html.d.ts.map +1 -0
  7. package/dist/factory/{settings/scopes → scopes}/html.js +3 -5
  8. package/dist/factory/scopes/html.js.map +1 -0
  9. package/dist/factory/scopes/js.d.ts +9 -0
  10. package/dist/factory/scopes/js.d.ts.map +1 -0
  11. package/dist/factory/{settings/scopes → scopes}/js.js +3 -4
  12. package/dist/factory/scopes/js.js.map +1 -0
  13. package/dist/factory/scopes/json.d.ts +11 -0
  14. package/dist/factory/scopes/json.d.ts.map +1 -0
  15. package/dist/factory/{settings/scopes → scopes}/json.js +3 -5
  16. package/dist/factory/scopes/json.js.map +1 -0
  17. package/dist/factory/scopes/jsonc.d.ts +11 -0
  18. package/dist/factory/scopes/jsonc.d.ts.map +1 -0
  19. package/dist/factory/{settings/scopes → scopes}/jsonc.js +3 -5
  20. package/dist/factory/scopes/jsonc.js.map +1 -0
  21. package/dist/factory/{settings/scopes → scopes}/mocha.d.ts +6 -4
  22. package/dist/factory/scopes/mocha.d.ts.map +1 -0
  23. package/dist/factory/scopes/mocha.js +19 -0
  24. package/dist/factory/scopes/mocha.js.map +1 -0
  25. package/dist/factory/{settings/setting.d.ts → scopes/setting/index.d.ts} +52 -39
  26. package/dist/factory/{settings/setting.d.ts.map → scopes/setting/index.d.ts.map} +1 -1
  27. package/dist/factory/{settings/setting.js → scopes/setting/index.js} +6 -7
  28. package/dist/factory/scopes/setting/index.js.map +1 -0
  29. package/dist/factory/{settings/scopes → scopes}/svelte.d.ts +17 -13
  30. package/dist/factory/scopes/svelte.d.ts.map +1 -0
  31. package/dist/factory/scopes/svelte.js +19 -0
  32. package/dist/factory/scopes/svelte.js.map +1 -0
  33. package/dist/factory/{settings/scopes → scopes}/ts.d.ts +11 -7
  34. package/dist/factory/scopes/ts.d.ts.map +1 -0
  35. package/dist/factory/scopes/ts.js +17 -0
  36. package/dist/factory/scopes/ts.js.map +1 -0
  37. package/dist/factory/scopes/yml.d.ts +11 -0
  38. package/dist/factory/scopes/yml.d.ts.map +1 -0
  39. package/dist/factory/{settings/scopes → scopes}/yml.js +3 -5
  40. package/dist/factory/scopes/yml.js.map +1 -0
  41. package/dist/factory/{settings/index.d.ts → settings.d.ts} +1 -2
  42. package/dist/factory/settings.d.ts.map +1 -0
  43. package/dist/factory/{settings/index.js → settings.js} +1 -1
  44. package/dist/factory/settings.js.map +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -12
  47. package/dist/index.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/factory/index.ts +104 -2
  50. package/src/factory/{settings/scopes → scopes}/html.ts +4 -9
  51. package/src/factory/scopes/js.ts +9 -0
  52. package/src/factory/{settings/scopes → scopes}/json.ts +4 -9
  53. package/src/factory/{settings/scopes → scopes}/jsonc.ts +4 -9
  54. package/src/factory/scopes/mocha.ts +24 -0
  55. package/src/factory/scopes/setting/index.ts +61 -0
  56. package/src/factory/scopes/svelte.ts +30 -0
  57. package/src/factory/scopes/ts.ts +27 -0
  58. package/src/factory/{settings/scopes → scopes}/yml.ts +4 -10
  59. package/src/factory/{settings/index.ts → settings.ts} +0 -1
  60. package/src/index.ts +3 -13
  61. package/dist/factory/factory.d.ts +0 -129
  62. package/dist/factory/factory.d.ts.map +0 -1
  63. package/dist/factory/factory.js +0 -46
  64. package/dist/factory/factory.js.map +0 -1
  65. package/dist/factory/settings/index.d.ts.map +0 -1
  66. package/dist/factory/settings/index.js.map +0 -1
  67. package/dist/factory/settings/scopes/html.d.ts +0 -10
  68. package/dist/factory/settings/scopes/html.d.ts.map +0 -1
  69. package/dist/factory/settings/scopes/html.js.map +0 -1
  70. package/dist/factory/settings/scopes/js.d.ts +0 -8
  71. package/dist/factory/settings/scopes/js.d.ts.map +0 -1
  72. package/dist/factory/settings/scopes/js.js.map +0 -1
  73. package/dist/factory/settings/scopes/json.d.ts +0 -10
  74. package/dist/factory/settings/scopes/json.d.ts.map +0 -1
  75. package/dist/factory/settings/scopes/json.js.map +0 -1
  76. package/dist/factory/settings/scopes/jsonc.d.ts +0 -10
  77. package/dist/factory/settings/scopes/jsonc.d.ts.map +0 -1
  78. package/dist/factory/settings/scopes/jsonc.js.map +0 -1
  79. package/dist/factory/settings/scopes/mocha.d.ts.map +0 -1
  80. package/dist/factory/settings/scopes/mocha.js +0 -20
  81. package/dist/factory/settings/scopes/mocha.js.map +0 -1
  82. package/dist/factory/settings/scopes/svelte.d.ts.map +0 -1
  83. package/dist/factory/settings/scopes/svelte.js +0 -20
  84. package/dist/factory/settings/scopes/svelte.js.map +0 -1
  85. package/dist/factory/settings/scopes/ts.d.ts.map +0 -1
  86. package/dist/factory/settings/scopes/ts.js +0 -18
  87. package/dist/factory/settings/scopes/ts.js.map +0 -1
  88. package/dist/factory/settings/scopes/yml.d.ts +0 -10
  89. package/dist/factory/settings/scopes/yml.d.ts.map +0 -1
  90. package/dist/factory/settings/scopes/yml.js.map +0 -1
  91. package/dist/factory/settings/setting.js.map +0 -1
  92. package/src/factory/factory.ts +0 -83
  93. package/src/factory/settings/scopes/js.ts +0 -11
  94. package/src/factory/settings/scopes/mocha.ts +0 -28
  95. package/src/factory/settings/scopes/svelte.ts +0 -32
  96. package/src/factory/settings/scopes/ts.ts +0 -28
  97. package/src/factory/settings/setting.ts +0 -65
@@ -1,3 +1,231 @@
1
- export * from "./factory.js";
2
- export * from "./settings/index.js";
1
+ import { ScopeSettings } from "./settings.js";
2
+ import type { Input } from "../interface/index.js";
3
+ export declare class Factory {
4
+ readonly parsers: Input["imports"]["parsers"];
5
+ readonly common: {
6
+ readonly settings: {
7
+ readonly name: "linted/*/settings";
8
+ readonly linterOptions: {
9
+ readonly noInlineConfig: boolean;
10
+ readonly reportUnusedDisableDirectives: "error" | "warn" | "off";
11
+ };
12
+ readonly languageOptions: {
13
+ readonly sourceType: "module" | "script";
14
+ readonly ecmaVersion: "latest" | 3 | 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024;
15
+ };
16
+ };
17
+ readonly ignores: {
18
+ readonly name: "linted/*/ignores";
19
+ readonly ignores: readonly string[];
20
+ };
21
+ };
22
+ readonly scopes: {
23
+ readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>;
24
+ readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>;
25
+ readonly rules: Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", import("../interface/shared/config/rule/index.js").NamedBag[]>>;
26
+ };
27
+ constructor(parsers: Input["imports"]["parsers"], { settings: defaultSettings, files: defaultFiles, ignores: defaultIgnores, rules: defaultRules, }: Input["defaults"], { "*": commonExtension, ...scopeExtensions }?: Input["extensions"]);
28
+ scope<S extends keyof typeof ScopeSettings>(scope: S): readonly [
29
+ ] | {
30
+ readonly processor?: "svelte/svelte";
31
+ readonly name: `linted/${S}:${string}`;
32
+ readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
33
+ readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
34
+ readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
35
+ import("../interface/shared/config/rule/index.js").State,
36
+ ...unknown[]
37
+ ]>>;
38
+ readonly languageOptions: {
39
+ readonly parser?: unknown;
40
+ readonly parserOptions?: {
41
+ readonly parser?: unknown;
42
+ readonly project: "tsconfig.json";
43
+ readonly sourceType: "module";
44
+ readonly ecmaVersion: 2023;
45
+ } | {
46
+ parser: unknown;
47
+ readonly project: "tsconfig.json";
48
+ readonly sourceType: "module";
49
+ readonly ecmaVersion: 2023;
50
+ readonly extraFileExtensions: readonly [
51
+ ".svelte"
52
+ ];
53
+ } | {
54
+ readonly parser?: unknown;
55
+ readonly project: "tsconfig.json";
56
+ readonly sourceType: "module";
57
+ readonly ecmaVersion: 2023;
58
+ };
59
+ } | {
60
+ parser: unknown;
61
+ readonly parserOptions?: {
62
+ readonly parser?: unknown;
63
+ readonly project: "tsconfig.json";
64
+ readonly sourceType: "module";
65
+ readonly ecmaVersion: 2023;
66
+ } | {
67
+ parser: unknown;
68
+ readonly project: "tsconfig.json";
69
+ readonly sourceType: "module";
70
+ readonly ecmaVersion: 2023;
71
+ readonly extraFileExtensions: readonly [
72
+ ".svelte"
73
+ ];
74
+ } | {
75
+ readonly parser?: unknown;
76
+ readonly project: "tsconfig.json";
77
+ readonly sourceType: "module";
78
+ readonly ecmaVersion: 2023;
79
+ };
80
+ } | {
81
+ parser: unknown;
82
+ readonly parserOptions?: {
83
+ readonly parser?: unknown;
84
+ readonly project: "tsconfig.json";
85
+ readonly sourceType: "module";
86
+ readonly ecmaVersion: 2023;
87
+ } | {
88
+ parser: unknown;
89
+ readonly project: "tsconfig.json";
90
+ readonly sourceType: "module";
91
+ readonly ecmaVersion: 2023;
92
+ readonly extraFileExtensions: readonly [
93
+ ".svelte"
94
+ ];
95
+ } | {
96
+ readonly parser?: unknown;
97
+ readonly project: "tsconfig.json";
98
+ readonly sourceType: "module";
99
+ readonly ecmaVersion: 2023;
100
+ };
101
+ } | {
102
+ parser: unknown;
103
+ readonly parserOptions?: {
104
+ readonly parser?: unknown;
105
+ readonly project: "tsconfig.json";
106
+ readonly sourceType: "module";
107
+ readonly ecmaVersion: 2023;
108
+ } | {
109
+ parser: unknown;
110
+ readonly project: "tsconfig.json";
111
+ readonly sourceType: "module";
112
+ readonly ecmaVersion: 2023;
113
+ readonly extraFileExtensions: readonly [
114
+ ".svelte"
115
+ ];
116
+ } | {
117
+ readonly parser?: unknown;
118
+ readonly project: "tsconfig.json";
119
+ readonly sourceType: "module";
120
+ readonly ecmaVersion: 2023;
121
+ };
122
+ readonly globals: {
123
+ readonly after: false;
124
+ readonly afterEach: false;
125
+ readonly before: false;
126
+ readonly beforeEach: false;
127
+ readonly context: false;
128
+ readonly describe: false;
129
+ readonly it: false;
130
+ readonly mocha: false;
131
+ readonly run: false;
132
+ readonly setup: false;
133
+ readonly specify: false;
134
+ readonly suite: false;
135
+ readonly suiteSetup: false;
136
+ readonly suiteTeardown: false;
137
+ readonly teardown: false;
138
+ readonly test: false;
139
+ readonly xcontext: false;
140
+ readonly xdescribe: false;
141
+ readonly xit: false;
142
+ readonly xspecify: false;
143
+ };
144
+ } | {
145
+ parser: unknown;
146
+ readonly parserOptions?: {
147
+ readonly parser?: unknown;
148
+ readonly project: "tsconfig.json";
149
+ readonly sourceType: "module";
150
+ readonly ecmaVersion: 2023;
151
+ } | {
152
+ parser: unknown;
153
+ readonly project: "tsconfig.json";
154
+ readonly sourceType: "module";
155
+ readonly ecmaVersion: 2023;
156
+ readonly extraFileExtensions: readonly [
157
+ ".svelte"
158
+ ];
159
+ } | {
160
+ readonly parser?: unknown;
161
+ readonly project: "tsconfig.json";
162
+ readonly sourceType: "module";
163
+ readonly ecmaVersion: 2023;
164
+ };
165
+ } | {
166
+ parser: unknown;
167
+ readonly parserOptions?: {
168
+ readonly parser?: unknown;
169
+ readonly project: "tsconfig.json";
170
+ readonly sourceType: "module";
171
+ readonly ecmaVersion: 2023;
172
+ } | {
173
+ parser: unknown;
174
+ readonly project: "tsconfig.json";
175
+ readonly sourceType: "module";
176
+ readonly ecmaVersion: 2023;
177
+ readonly extraFileExtensions: readonly [
178
+ ".svelte"
179
+ ];
180
+ } | {
181
+ readonly parser?: unknown;
182
+ readonly project: "tsconfig.json";
183
+ readonly sourceType: "module";
184
+ readonly ecmaVersion: 2023;
185
+ };
186
+ } | {
187
+ parser: unknown;
188
+ readonly parserOptions?: {
189
+ readonly parser?: unknown;
190
+ readonly project: "tsconfig.json";
191
+ readonly sourceType: "module";
192
+ readonly ecmaVersion: 2023;
193
+ } | {
194
+ parser: unknown;
195
+ readonly project: "tsconfig.json";
196
+ readonly sourceType: "module";
197
+ readonly ecmaVersion: 2023;
198
+ readonly extraFileExtensions: readonly [
199
+ ".svelte"
200
+ ];
201
+ } | {
202
+ readonly parser?: unknown;
203
+ readonly project: "tsconfig.json";
204
+ readonly sourceType: "module";
205
+ readonly ecmaVersion: 2023;
206
+ };
207
+ } | {
208
+ parser: unknown;
209
+ readonly parserOptions?: {
210
+ readonly parser?: unknown;
211
+ readonly project: "tsconfig.json";
212
+ readonly sourceType: "module";
213
+ readonly ecmaVersion: 2023;
214
+ } | {
215
+ parser: unknown;
216
+ readonly project: "tsconfig.json";
217
+ readonly sourceType: "module";
218
+ readonly ecmaVersion: 2023;
219
+ readonly extraFileExtensions: readonly [
220
+ ".svelte"
221
+ ];
222
+ } | {
223
+ readonly parser?: unknown;
224
+ readonly project: "tsconfig.json";
225
+ readonly sourceType: "module";
226
+ readonly ecmaVersion: 2023;
227
+ };
228
+ };
229
+ }[];
230
+ }
3
231
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,qBAAa,OAAO;aAKA,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IAJtD,SAAgB,MAAM;;;;;;;;;;;;;;;;MAAC;IACvB,SAAgB,MAAM;;;;MAAC;gBAGL,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EACpD,EACE,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,GACpB,EAAE,KAAK,CAAC,UAAU,CAAC,EACpB,EAAE,GAAG,EAAE,eAAoB,EAAE,GAAG,eAAe,EAAE,GAAE,KAAK,CAAC,YAAY,CAAe;IAgD/E,KAAK,CAAC,CAAC,SAAS,MAAM,OAAO,aAAa,EAAE,KAAK,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5D"}
@@ -1,3 +1,66 @@
1
- export * from "./factory.js";
2
- export * from "./settings/index.js";
1
+ import { ScopeSettings } from "./settings.js";
2
+ export class Factory {
3
+ parsers;
4
+ common;
5
+ scopes;
6
+ constructor(parsers, { settings: defaultSettings, files: defaultFiles, ignores: defaultIgnores, rules: defaultRules, }, { "*": commonExtension = {}, ...scopeExtensions } = {}) {
7
+ this.parsers = parsers;
8
+ const { noInlineConfig = defaultSettings.noInlineConfig, reportUnusedDisableDirectives = defaultSettings.reportUnusedDisableDirectives, sourceType = defaultSettings.sourceType, ecmaVersion = defaultSettings.ecmaVersion, ignores = [], override = false, } = commonExtension;
9
+ this.common = {
10
+ settings: {
11
+ name: "linted/*/settings",
12
+ linterOptions: { noInlineConfig, reportUnusedDisableDirectives },
13
+ languageOptions: { sourceType, ecmaVersion },
14
+ },
15
+ ignores: {
16
+ name: "linted/*/ignores",
17
+ ignores: [
18
+ ...override ? [] : defaultIgnores["*"],
19
+ ...ignores,
20
+ ],
21
+ },
22
+ };
23
+ this.scopes = {
24
+ files: defaultFiles,
25
+ ignores: defaultIgnores,
26
+ rules: defaultRules,
27
+ };
28
+ for (const s in scopeExtensions) {
29
+ const { [s]: { files: moreFiles = [], ignores: moreIgnores = [], rules: moreRules = null, } = {}, } = scopeExtensions;
30
+ this.scopes.files[s].push(...moreFiles);
31
+ this.scopes.ignores[s].push(...moreIgnores);
32
+ if (moreRules !== null)
33
+ this.scopes.rules[s].push([`${s}:override`, moreRules]);
34
+ }
35
+ }
36
+ scope(scope) {
37
+ const { files: { [scope]: files, }, ignores: { [scope]: ignores }, rules: { [scope]: rules }, } = this.scopes, ruleset = rules.map(([id, rules]) => ({ id: `${scope}:${id}`, rules })), settings = new ScopeSettings[scope](), { languageOptions, parserOptions } = settings, loadedLanguageOptions = {
38
+ ...languageOptions,
39
+ ..."parserOptions" in parserOptions
40
+ ? {
41
+ parserOptions: {
42
+ ...parserOptions.parserOptions,
43
+ ..."parser" in parserOptions.parserOptions
44
+ ? { parser: this.parsers[parserOptions.parserOptions.parser] }
45
+ : {},
46
+ },
47
+ }
48
+ : {},
49
+ ..."parser" in languageOptions
50
+ ? { parser: this.parsers[languageOptions.parser] }
51
+ : {},
52
+ };
53
+ return files.length < 1
54
+ ? []
55
+ : ruleset.map(({ id, rules }) => ({
56
+ name: `linted/${id}`,
57
+ files,
58
+ ignores,
59
+ rules,
60
+ languageOptions: loadedLanguageOptions,
61
+ ...settings.processor,
62
+ ...settings.language,
63
+ }));
64
+ }
65
+ }
3
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ScopeSetting } from "./setting/index.js";
2
+ export default class HtmlSetting extends ScopeSetting<"html"> {
3
+ readonly scope = "html";
4
+ readonly processor: {};
5
+ readonly language: {};
6
+ readonly parserOptions: {};
7
+ readonly languageOptions: {
8
+ readonly parser: "html";
9
+ };
10
+ }
11
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/factory/scopes/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY,CACnD,MAAM,CACP;IACC,SAAgB,KAAK,UAAU;IAC/B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IACvC,SAAgB,aAAa,KAAe;IAC5C,SAAgB,eAAe;;MAA+B;CAC/D"}
@@ -1,11 +1,9 @@
1
- import { ScopeSetting } from "../setting.js";
1
+ import { ScopeSetting } from "./setting/index.js";
2
2
  export default class HtmlSetting extends ScopeSetting {
3
3
  scope = "html";
4
4
  processor = {};
5
5
  language = {};
6
- get languageOptions() {
7
- const [parser] = this.parser;
8
- return { parser };
9
- }
6
+ parserOptions = {};
7
+ languageOptions = { parser: "html" };
10
8
  }
11
9
  //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/factory/scopes/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAExC;IACiB,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IACvB,aAAa,GAAG,EAAW,CAAC;IAC5B,eAAe,GAAG,EAAE,MAAM,EAAE,MAAM,EAAW,CAAC;CAC/D"}
@@ -0,0 +1,9 @@
1
+ import { ScopeSetting } from "./setting/index.js";
2
+ export default class JsSetting extends ScopeSetting {
3
+ readonly scope = "js";
4
+ readonly processor: {};
5
+ readonly language: {};
6
+ readonly parserOptions: {};
7
+ readonly languageOptions: {};
8
+ }
9
+ //# sourceMappingURL=js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../src/factory/scopes/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAAY;IACjD,SAAgB,KAAK,QAAQ;IAC7B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IACvC,SAAgB,aAAa,KAAe;IAC5C,SAAgB,eAAe,KAAe;CAC/C"}
@@ -1,10 +1,9 @@
1
- import { ScopeSetting } from "../setting.js";
1
+ import { ScopeSetting } from "./setting/index.js";
2
2
  export default class JsSetting extends ScopeSetting {
3
3
  scope = "js";
4
4
  processor = {};
5
5
  language = {};
6
- get languageOptions() {
7
- return {};
8
- }
6
+ parserOptions = {};
7
+ languageOptions = {};
9
8
  }
10
9
  //# sourceMappingURL=js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../src/factory/scopes/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAAY;IACjC,KAAK,GAAG,IAAI,CAAC;IACb,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IACvB,aAAa,GAAG,EAAW,CAAC;IAC5B,eAAe,GAAG,EAAW,CAAC;CAC/C"}
@@ -0,0 +1,11 @@
1
+ import { ScopeSetting } from "./setting/index.js";
2
+ export default class JsonSetting extends ScopeSetting<"jsonc"> {
3
+ readonly scope = "json";
4
+ readonly processor: {};
5
+ readonly language: {};
6
+ readonly parserOptions: {};
7
+ readonly languageOptions: {
8
+ readonly parser: "jsonc";
9
+ };
10
+ }
11
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/factory/scopes/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY,CACnD,OAAO,CACR;IACC,SAAgB,KAAK,UAAU;IAC/B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IACvC,SAAgB,aAAa,KAAe;IAC5C,SAAgB,eAAe;;MAAgC;CAChE"}
@@ -1,11 +1,9 @@
1
- import { ScopeSetting } from "../setting.js";
1
+ import { ScopeSetting } from "./setting/index.js";
2
2
  export default class JsonSetting extends ScopeSetting {
3
3
  scope = "json";
4
4
  processor = {};
5
5
  language = {};
6
- get languageOptions() {
7
- const [parser] = this.parser;
8
- return { parser };
9
- }
6
+ parserOptions = {};
7
+ languageOptions = { parser: "jsonc" };
10
8
  }
11
9
  //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/factory/scopes/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAExC;IACiB,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IACvB,aAAa,GAAG,EAAW,CAAC;IAC5B,eAAe,GAAG,EAAE,MAAM,EAAE,OAAO,EAAW,CAAC;CAChE"}
@@ -0,0 +1,11 @@
1
+ import { ScopeSetting } from "./setting/index.js";
2
+ export default class JsoncSetting extends ScopeSetting<"jsonc"> {
3
+ readonly scope = "jsonc";
4
+ readonly processor: {};
5
+ readonly language: {};
6
+ readonly parserOptions: {};
7
+ readonly languageOptions: {
8
+ readonly parser: "jsonc";
9
+ };
10
+ }
11
+ //# sourceMappingURL=jsonc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../../src/factory/scopes/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY,CACpD,OAAO,CACR;IACC,SAAgB,KAAK,WAAW;IAChC,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IACvC,SAAgB,aAAa,KAAe;IAC5C,SAAgB,eAAe;;MAAgC;CAChE"}
@@ -1,11 +1,9 @@
1
- import { ScopeSetting } from "../setting.js";
1
+ import { ScopeSetting } from "./setting/index.js";
2
2
  export default class JsoncSetting extends ScopeSetting {
3
3
  scope = "jsonc";
4
4
  processor = {};
5
5
  language = {};
6
- get languageOptions() {
7
- const [parser] = this.parser;
8
- return { parser };
9
- }
6
+ parserOptions = {};
7
+ languageOptions = { parser: "jsonc" };
10
8
  }
11
9
  //# sourceMappingURL=jsonc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../../src/factory/scopes/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAEzC;IACiB,KAAK,GAAG,OAAO,CAAC;IAChB,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IACvB,aAAa,GAAG,EAAW,CAAC;IAC5B,eAAe,GAAG,EAAE,MAAM,EAAE,OAAO,EAAW,CAAC;CAChE"}
@@ -1,19 +1,21 @@
1
- import { ScopeSetting } from "../setting.js";
1
+ import { ScopeSetting } from "./setting/index.js";
2
2
  import type TsSetting from "./ts.js";
3
- export default class MochaSetting extends ScopeSetting<"mocha", TsSetting["option"]["languageOptions"]["parserOptions"], 1, "mocha"> {
3
+ export default class MochaSetting extends ScopeSetting<"ts", TsSetting["parserOptions"], "mocha"> {
4
4
  readonly scope = "mocha";
5
5
  readonly processor: {};
6
6
  readonly language: {};
7
7
  readonly types: readonly [
8
8
  "mocha"
9
9
  ];
10
- get languageOptions(): {
11
- readonly parser: unknown;
10
+ readonly parserOptions: {
12
11
  readonly parserOptions: {
13
12
  readonly project: "tsconfig.json";
14
13
  readonly sourceType: "module";
15
14
  readonly ecmaVersion: 2023;
16
15
  };
16
+ };
17
+ readonly languageOptions: {
18
+ readonly parser: "ts";
17
19
  readonly globals: {
18
20
  readonly after: false;
19
21
  readonly afterEach: false;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../../src/factory/scopes/mocha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,MAAM,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY,CACpD,IAAI,EACJ,SAAS,CAAC,eAAe,CAAC,EAC1B,OAAO,CACR;IACC,SAAgB,KAAK,WAAW;IAChC,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IACvC,SAAgB,KAAK,qBAAsB;IAC3C,SAAgB,aAAa;;;;;;MAMlB;IACX,SAAgB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;MAGpB;CACZ"}
@@ -0,0 +1,19 @@
1
+ import { ScopeSetting } from "./setting/index.js";
2
+ export default class MochaSetting extends ScopeSetting {
3
+ scope = "mocha";
4
+ processor = {};
5
+ language = {};
6
+ types = ["mocha"];
7
+ parserOptions = {
8
+ parserOptions: {
9
+ project: "tsconfig.json",
10
+ sourceType: "module",
11
+ ecmaVersion: 2023,
12
+ },
13
+ };
14
+ languageOptions = {
15
+ parser: "ts",
16
+ globals: this.globals("mocha"),
17
+ };
18
+ }
19
+ //# sourceMappingURL=mocha.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocha.js","sourceRoot":"","sources":["../../../src/factory/scopes/mocha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAIzC;IACiB,KAAK,GAAG,OAAO,CAAC;IAChB,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IACvB,KAAK,GAAG,CAAC,OAAO,CAAU,CAAC;IAC3B,aAAa,GAAG;QAC9B,aAAa,EAAE;YACb,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,IAAI;SACT;KACF,CAAC;IACK,eAAe,GAAG;QAChC,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KACtB,CAAC;CACZ"}
@@ -1,50 +1,63 @@
1
1
  import globals from "globals";
2
- import type { Scopes } from "../../index.js";
3
- export declare abstract class ScopeSetting<S extends Scopes, ParserOptions extends object | boolean = false, ParserCount extends 0 | 1 | 2 = ParserOptions extends false ? 0 : 1, G extends keyof typeof globals | false = false, Processor extends object = object, Language extends object = object> {
4
- readonly parser: readonly unknown[] & {
5
- length: ParserCount;
6
- };
7
- abstract readonly scope: S;
8
- abstract readonly processor: (Processor extends never ? object : Processor extends {
2
+ import type { Scopes } from "../../../scopes/index.js";
3
+ export declare abstract class ScopeSetting<Parser extends Scopes | false = false, ParserOptions extends object = object, Global extends keyof typeof globals | false = false, Processor extends object = object, Language extends object = object> {
4
+ abstract readonly scope: Scopes;
5
+ abstract readonly processor: (Processor extends {
9
6
  readonly processor: infer P;
10
- } ? string extends P ? object : {
7
+ } ? string extends P ? Record<string, never> : {
11
8
  readonly processor: P;
12
- } : object);
13
- abstract readonly language: (Language extends never ? object : Language extends {
9
+ } : Record<string, never>);
10
+ abstract readonly language: (Language extends {
14
11
  readonly language: infer L;
15
- } ? string extends L ? object : {
12
+ } ? string extends L ? Record<string, never> : {
16
13
  readonly language: L;
17
- } : object);
18
- constructor(parser: readonly unknown[] & {
19
- length: ParserCount;
14
+ } : Record<string, never>);
15
+ abstract readonly parserOptions: (ParserOptions extends {
16
+ readonly parserOptions: infer PO;
17
+ } ? PO extends {
18
+ readonly parser: infer P;
19
+ } ? P extends Parser ? ParserOptions : Record<string, never> : ParserOptions : Record<string, never>);
20
+ abstract readonly languageOptions: ([
21
+ Parser
22
+ ] extends [
23
+ boolean
24
+ ] ? {
25
+ readonly parser?: never;
26
+ } : {
27
+ parser: Parser;
28
+ }) & (Global extends boolean ? {
29
+ readonly globals?: never;
30
+ } : {
31
+ readonly globals: Readonly<Record<string, unknown>>;
20
32
  });
21
33
  get option(): {
22
- readonly languageOptions: (G extends never ? object : G extends boolean ? object : G extends string ? string extends G ? object : {
34
+ readonly languageOptions: ([
35
+ Parser
36
+ ] extends [
37
+ boolean
38
+ ] ? {
39
+ readonly parser?: never;
40
+ } : {
41
+ parser: Parser;
42
+ }) & (Global extends boolean ? {
43
+ readonly globals?: never;
44
+ } : {
23
45
  readonly globals: Readonly<Record<string, unknown>>;
24
- } : object) & ParserOptions extends never ? object : ParserOptions extends boolean ? ParserOptions extends true ? {
25
- readonly parser: unknown;
26
- } : object : {
27
- readonly parser: unknown;
28
- readonly parserOptions: ParserOptions;
29
- };
30
- } & (Processor extends never ? object : Processor extends {
31
- readonly processor: infer P;
32
- } ? string extends P ? object : {
33
- readonly processor: P;
34
- } : object) & (Language extends never ? object : Language extends {
46
+ }) & (ParserOptions extends {
47
+ readonly parserOptions: infer PO;
48
+ } ? PO extends {
49
+ readonly parser: infer P;
50
+ } ? P extends Parser ? ParserOptions : Record<string, never> : ParserOptions : Record<string, never>);
51
+ } & (Processor extends {
52
+ readonly processor: infer P_1;
53
+ } ? string extends P_1 ? Record<string, never> : {
54
+ readonly processor: P_1;
55
+ } : Record<string, never>) & (Language extends {
35
56
  readonly language: infer L;
36
- } ? string extends L ? object : {
57
+ } ? string extends L ? Record<string, never> : {
37
58
  readonly language: L;
38
- } : object);
39
- protected abstract get languageOptions(): (G extends never ? object : G extends boolean ? object : G extends string ? string extends G ? object : {
40
- readonly globals: Readonly<Record<string, unknown>>;
41
- } : object) & ParserOptions extends never ? object : ParserOptions extends boolean ? ParserOptions extends true ? {
42
- readonly parser: unknown;
43
- } : object : {
44
- readonly parser: unknown;
45
- readonly parserOptions: ParserOptions;
46
- };
47
- protected globals(global: G & keyof typeof globals): {
59
+ } : Record<string, never>);
60
+ protected globals(global: Global & keyof typeof globals): {
48
61
  readonly amd: {
49
62
  readonly define: false;
50
63
  readonly require: false;
@@ -3015,7 +3028,7 @@ export declare abstract class ScopeSetting<S extends Scopes, ParserOptions exten
3015
3028
  readonly YUI: false;
3016
3029
  readonly YUI_config: false;
3017
3030
  };
3018
- }[G & keyof {
3031
+ }[Global & keyof {
3019
3032
  readonly amd: {
3020
3033
  readonly define: false;
3021
3034
  readonly require: false;
@@ -5988,4 +6001,4 @@ export declare abstract class ScopeSetting<S extends Scopes, ParserOptions exten
5988
6001
  };
5989
6002
  }];
5990
6003
  }
5991
- //# sourceMappingURL=setting.d.ts.map
6004
+ //# sourceMappingURL=index.d.ts.map