@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
@@ -0,0 +1,27 @@
1
+ import { ScopeSetting } from "./setting";
2
+
3
+ export default class TsSetting extends ScopeSetting<
4
+ "ts",
5
+ {
6
+ parserOptions: {
7
+ readonly project: "tsconfig.json";
8
+ readonly sourceType: "module";
9
+ readonly ecmaVersion: 2023;
10
+ };
11
+ }
12
+ > {
13
+ public readonly scope = "ts";
14
+ public readonly processor = {} as const;
15
+ public readonly language = {} as const;
16
+ public readonly parserOptions = {
17
+ parserOptions: {
18
+ project: "tsconfig.json",
19
+ sourceType: "module",
20
+ ecmaVersion: 2023,
21
+ } as const,
22
+ } as const;
23
+ public readonly languageOptions = {
24
+ parser: "ts",
25
+
26
+ } as const;
27
+ }
@@ -1,17 +1,11 @@
1
- import { ScopeSetting } from "../setting";
1
+ import { ScopeSetting } from "./setting";
2
2
 
3
3
  export default class YmlSetting extends ScopeSetting<
4
- "yml",
5
- true,
6
- 1
4
+ "yml"
7
5
  > {
8
6
  public readonly scope = "yml";
9
7
  public readonly processor = {} as const;
10
8
  public readonly language = {} as const;
11
-
12
- public get languageOptions() {
13
- const [parser] = this.parser;
14
-
15
- return { parser } as const;
16
- }
9
+ public readonly parserOptions = {} as const;
10
+ public readonly languageOptions = { parser: "yml" } as const;
17
11
  }
@@ -7,7 +7,6 @@ import json from "./scopes/json";
7
7
  import jsonc from "./scopes/jsonc";
8
8
  import yml from "./scopes/yml";
9
9
 
10
- export type * from "./setting";
11
10
  export const ScopeSettings = {
12
11
  js,
13
12
  ts,
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Input, Output } from "./interface";
2
2
  import { scopes } from "./scopes";
3
- import { Factory, ScopeSettings } from "./factory";
3
+ import { Factory } from "./factory";
4
4
 
5
5
  export type * from "./interface";
6
6
  export type * from "./scopes";
@@ -10,23 +10,13 @@ export default function ({
10
10
  extensions,
11
11
  }: Input): Output {
12
12
  try {
13
- const factory = new Factory(defaults, extensions),
14
- options: { readonly [S in typeof scopes[number]]: InstanceType<typeof ScopeSettings[S]> } = {
15
- js: new ScopeSettings.js([] as const),
16
- ts: new ScopeSettings.ts([parsers.ts] as const),
17
- svelte: new ScopeSettings.svelte([parsers.svelte, parsers.ts] as const),
18
- mocha: new ScopeSettings.mocha([parsers.ts] as const),
19
- html: new ScopeSettings.html([parsers.html] as const),
20
- json: new ScopeSettings.json([parsers.jsonc] as const),
21
- jsonc: new ScopeSettings.jsonc([parsers.jsonc] as const),
22
- yml: new ScopeSettings.yml([parsers.yml] as const),
23
- } as const;
13
+ const factory = new Factory(parsers, defaults, extensions);
24
14
 
25
15
  return [
26
16
  { name: `linted/*/plugins`, plugins } as const,
27
17
  factory.common.settings,
28
18
  factory.common.ignores,
29
- ...scopes.flatMap(scope => factory.scope(scope, options[scope])),
19
+ ...scopes.flatMap(scope => factory.scope(scope)),
30
20
  ] as const;
31
21
  }
32
22
  catch (e) {
@@ -1,129 +0,0 @@
1
- import type { ScopeSettings } from "./settings/index.js";
2
- import type { Input } from "../interface/input/index.js";
3
- export declare class Factory {
4
- readonly common: {
5
- readonly settings: {
6
- readonly name: "linted/*/settings";
7
- readonly linterOptions: {
8
- readonly noInlineConfig: boolean;
9
- readonly reportUnusedDisableDirectives: "error" | "warn" | "off";
10
- };
11
- readonly languageOptions: {
12
- readonly sourceType: "module" | "script";
13
- readonly ecmaVersion: "latest" | 3 | 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024;
14
- };
15
- };
16
- readonly ignores: {
17
- readonly name: "linted/*/ignores";
18
- readonly ignores: readonly string[];
19
- };
20
- };
21
- readonly scopes: {
22
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>;
23
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>;
24
- readonly rules: Readonly<Record<"svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", import("../interface/shared/config/rule/index.js").NamedBag[]>>;
25
- };
26
- constructor({ settings: defaultSettings, files: defaultFiles, ignores: defaultIgnores, rules: defaultRules, }: Input["defaults"], { "*": commonExtension, ...scopeExtensions }?: Input["extensions"]);
27
- scope<S extends keyof typeof ScopeSettings>(scope: S, settings: InstanceType<typeof ScopeSettings[S]>): readonly [
28
- ] | ({
29
- readonly languageOptions: {
30
- readonly parser: unknown;
31
- readonly parserOptions: {
32
- readonly project: "tsconfig.json";
33
- readonly sourceType: "module";
34
- readonly ecmaVersion: 2023;
35
- };
36
- };
37
- readonly name: `linted/${S}:${string}`;
38
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
39
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
40
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
41
- import("../interface/shared/config/rule/index.js").State,
42
- ...unknown[]
43
- ]>>;
44
- } | {
45
- readonly languageOptions: object;
46
- readonly name: `linted/${S}:${string}`;
47
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
48
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
49
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
50
- import("../interface/shared/config/rule/index.js").State,
51
- ...unknown[]
52
- ]>>;
53
- } | {
54
- readonly languageOptions: {
55
- readonly parser: unknown;
56
- readonly parserOptions: {
57
- readonly parser: unknown;
58
- readonly extraFileExtensions: readonly [
59
- ".svelte"
60
- ];
61
- } & {
62
- readonly project: "tsconfig.json";
63
- readonly sourceType: "module";
64
- readonly ecmaVersion: 2023;
65
- };
66
- };
67
- readonly processor: "svelte/svelte";
68
- readonly name: `linted/${S}:${string}`;
69
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
70
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
71
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
72
- import("../interface/shared/config/rule/index.js").State,
73
- ...unknown[]
74
- ]>>;
75
- } | {
76
- readonly languageOptions: {
77
- readonly parser: unknown;
78
- readonly parserOptions: {
79
- readonly project: "tsconfig.json";
80
- readonly sourceType: "module";
81
- readonly ecmaVersion: 2023;
82
- };
83
- };
84
- readonly name: `linted/${S}:${string}`;
85
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
86
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
87
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
88
- import("../interface/shared/config/rule/index.js").State,
89
- ...unknown[]
90
- ]>>;
91
- } | {
92
- readonly languageOptions: object;
93
- readonly name: `linted/${S}:${string}`;
94
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
95
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
96
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
97
- import("../interface/shared/config/rule/index.js").State,
98
- ...unknown[]
99
- ]>>;
100
- } | {
101
- readonly languageOptions: object;
102
- readonly name: `linted/${S}:${string}`;
103
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
104
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
105
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
106
- import("../interface/shared/config/rule/index.js").State,
107
- ...unknown[]
108
- ]>>;
109
- } | {
110
- readonly languageOptions: object;
111
- readonly name: `linted/${S}:${string}`;
112
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
113
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
114
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
115
- import("../interface/shared/config/rule/index.js").State,
116
- ...unknown[]
117
- ]>>;
118
- } | {
119
- readonly languageOptions: object;
120
- readonly name: `linted/${S}:${string}`;
121
- readonly files: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
122
- readonly ignores: Readonly<Record<"*" | "svelte" | "mocha" | "jsonc" | "yml" | "ts" | "html" | "js" | "json", string[]>>[S];
123
- readonly rules: Readonly<Record<string, import("../interface/shared/config/rule/index.js").State | readonly [
124
- import("../interface/shared/config/rule/index.js").State,
125
- ...unknown[]
126
- ]>>;
127
- })[];
128
- }
129
- //# sourceMappingURL=factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,qBAAa,OAAO;IAClB,SAAgB,MAAM;;;;;;;;;;;;;;;;MAAC;IACvB,SAAgB,MAAM;;;;MAAC;gBAGrB,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,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoB7G"}
@@ -1,46 +0,0 @@
1
- export class Factory {
2
- common;
3
- scopes;
4
- constructor({ settings: defaultSettings, files: defaultFiles, ignores: defaultIgnores, rules: defaultRules, }, { "*": commonExtension = {}, ...scopeExtensions } = {}) {
5
- const { noInlineConfig = defaultSettings.noInlineConfig, reportUnusedDisableDirectives = defaultSettings.reportUnusedDisableDirectives, sourceType = defaultSettings.sourceType, ecmaVersion = defaultSettings.ecmaVersion, ignores = [], override = false, } = commonExtension;
6
- this.common = {
7
- settings: {
8
- name: "linted/*/settings",
9
- linterOptions: { noInlineConfig, reportUnusedDisableDirectives },
10
- languageOptions: { sourceType, ecmaVersion },
11
- },
12
- ignores: {
13
- name: "linted/*/ignores",
14
- ignores: [
15
- ...override ? [] : defaultIgnores["*"],
16
- ...ignores,
17
- ],
18
- },
19
- };
20
- this.scopes = {
21
- files: defaultFiles,
22
- ignores: defaultIgnores,
23
- rules: defaultRules,
24
- };
25
- for (const s in scopeExtensions) {
26
- const { [s]: { files: moreFiles = [], ignores: moreIgnores = [], rules: moreRules = null, } = {}, } = scopeExtensions;
27
- this.scopes.files[s].push(...moreFiles);
28
- this.scopes.ignores[s].push(...moreIgnores);
29
- if (moreRules !== null)
30
- this.scopes.rules[s].push([`${s}:override`, moreRules]);
31
- }
32
- }
33
- scope(scope, settings) {
34
- const { files: { [scope]: files, }, ignores: { [scope]: ignores }, rules: { [scope]: rules }, } = this.scopes, ruleset = rules.map(([id, rules]) => ({ id: `${scope}:${id}`, rules }));
35
- return files.length < 1
36
- ? []
37
- : ruleset.map(({ id, rules }) => ({
38
- name: `linted/${id}`,
39
- files,
40
- ignores,
41
- rules,
42
- ...settings.option,
43
- }));
44
- }
45
- }
46
- //# sourceMappingURL=factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,OAAO;IACF,MAAM,CAAC;IACP,MAAM,CAAC;IAEvB,YACE,EACE,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,GACD,EACpB,EAAE,GAAG,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,eAAe,KAA0B,EAAW;QAEpF,MAAM,EACJ,cAAc,GAAG,eAAe,CAAC,cAAc,EAC/C,6BAA6B,GAAG,eAAe,CAAC,6BAA6B,EAC7E,UAAU,GAAG,eAAe,CAAC,UAAU,EACvC,WAAW,GAAG,eAAe,CAAC,WAAW,EACzC,OAAO,GAAG,EAAW,EACrB,QAAQ,GAAG,KAAK,GACjB,GAAG,eAAe,CAAC;QAEpB,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE;gBACR,IAAI,EAAE,mBAAmB;gBACzB,aAAa,EAAE,EAAE,cAAc,EAAE,6BAA6B,EAAW;gBACzE,eAAe,EAAE,EAAE,UAAU,EAAE,WAAW,EAAW;aAC7C;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE;oBACP,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAW,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;oBAC/C,GAAG,OAAO;iBACF;aACF;SACF,CAAC;QACX,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,YAAY;SACX,CAAC;QAEX,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,MAAM,EACJ,CAAC,CAAiC,CAAC,EAAE,EACnC,KAAK,EAAE,SAAS,GAAG,EAAE,EACrB,OAAO,EAAE,WAAW,GAAG,EAAE,EACzB,KAAK,EAAE,SAAS,GAAG,IAAI,GACxB,GAAG,EAAW,GAChB,GAAG,eAAe,CAAC;YAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;YAE5E,IAAI,SAAS,KAAK,IAAI;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAiC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAEM,KAAK,CAAuC,KAAQ,EAAE,QAA+C;QAC1G,MAAM,EACJ,KAAK,EAAE,EACL,CAAC,KAAK,CAAC,EAAE,KAAK,GACf,EACD,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAC7B,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAC1B,GAAG,IAAI,CAAC,MAAM,EACf,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,KAAK,EAAY,CAAA,CAAC,CAAC;QAEjF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,EAAW;YACb,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,UAAU,EAAE,EAAE;gBACpB,KAAK;gBACL,OAAO;gBACP,KAAK;gBACL,GAAG,QAAQ,CAAC,MAAM;aACT,CAAA,CAAC,CAAC;IACjB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/factory/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,GAAG,MAAM,cAAc,CAAC;AAE/B,mBAAmB,WAAW,CAAC;AAC/B,eAAO,MAAM,aAAa;;;;;;;;;CAShB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/factory/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,GAAG,MAAM,cAAc,CAAC;AAG/B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE;IACF,EAAE;IACF,MAAM;IACN,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,GAAG;CACK,CAAC"}
@@ -1,10 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class HtmlSetting extends ScopeSetting<"html", true> {
3
- readonly scope = "html";
4
- readonly processor: {};
5
- readonly language: {};
6
- get languageOptions(): {
7
- readonly parser: unknown;
8
- };
9
- }
10
- //# sourceMappingURL=html.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY,CACnD,MAAM,EACN,IAAI,CACL;IACC,SAAgB,KAAK,UAAU;IAC/B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe;;MAIzB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAGxC;IACiB,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,OAAO,EAAE,MAAM,EAAW,CAAC;IAC7B,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class JsSetting extends ScopeSetting<"js"> {
3
- readonly scope = "js";
4
- readonly processor: {};
5
- readonly language: {};
6
- get languageOptions(): {};
7
- }
8
- //# sourceMappingURL=js.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAAY,CAAC,IAAI,CAAC;IACvD,SAAgB,KAAK,QAAQ;IAC7B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe,OAEzB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/js.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAAkB;IACvC,KAAK,GAAG,IAAI,CAAC;IACb,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,OAAO,EAAW,CAAC;IACrB,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class JsonSetting extends ScopeSetting<"json", true> {
3
- readonly scope = "json";
4
- readonly processor: {};
5
- readonly language: {};
6
- get languageOptions(): {
7
- readonly parser: unknown;
8
- };
9
- }
10
- //# sourceMappingURL=json.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY,CACnD,MAAM,EACN,IAAI,CACL;IACC,SAAgB,KAAK,UAAU;IAC/B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe;;MAIzB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAGxC;IACiB,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,OAAO,EAAE,MAAM,EAAW,CAAC;IAC7B,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class JsoncSetting extends ScopeSetting<"jsonc", true> {
3
- readonly scope = "jsonc";
4
- readonly processor: {};
5
- readonly language: {};
6
- get languageOptions(): {
7
- readonly parser: unknown;
8
- };
9
- }
10
- //# sourceMappingURL=jsonc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY,CACpD,OAAO,EACP,IAAI,CACL;IACC,SAAgB,KAAK,WAAW;IAChC,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe;;MAIzB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAGzC;IACiB,KAAK,GAAG,OAAO,CAAC;IAChB,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,OAAO,EAAE,MAAM,EAAW,CAAC;IAC7B,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/mocha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,MAAM,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY,CACpD,OAAO,EACP,SAAS,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,EACvD,CAAC,EACD,OAAO,CACR;IACC,SAAgB,KAAK,WAAW;IAChC,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IACvC,SAAgB,KAAK,qBAAsB;IAE3C,IAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYzB;CACF"}
@@ -1,20 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class MochaSetting extends ScopeSetting {
3
- scope = "mocha";
4
- processor = {};
5
- language = {};
6
- types = ["mocha"];
7
- get languageOptions() {
8
- const [parser] = this.parser;
9
- return {
10
- parser,
11
- parserOptions: {
12
- project: "tsconfig.json",
13
- sourceType: "module",
14
- ecmaVersion: 2023,
15
- },
16
- globals: this.globals("mocha"),
17
- };
18
- }
19
- }
20
- //# sourceMappingURL=mocha.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mocha.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/mocha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAKzC;IACiB,KAAK,GAAG,OAAO,CAAC;IAChB,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IACvB,KAAK,GAAG,CAAC,OAAO,CAAU,CAAC;IAE3C,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,OAAO;YACL,MAAM;YACN,aAAa,EAAE;gBACb,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI;aACT;YACV,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACtB,CAAC;IACb,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,MAAM,CAAC;AAElC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY,CACrD,QAAQ,EACR;IACE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACpD,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,EAC3D,CAAC,EACD,KAAK,EACL;IAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;CAAE,CACxC;IACC,SAAgB,KAAK,YAAY;IACjC,SAAgB,SAAS;;MAA2C;IACpE,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe;;;;;;;;;MAazB;CACF"}
@@ -1,20 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class SvelteSetting extends ScopeSetting {
3
- scope = "svelte";
4
- processor = { processor: "svelte/svelte" };
5
- language = {};
6
- get languageOptions() {
7
- const [parser, tsParser] = this.parser;
8
- return {
9
- parser,
10
- parserOptions: {
11
- parser: tsParser,
12
- extraFileExtensions: [".svelte"],
13
- project: "tsconfig.json",
14
- sourceType: "module",
15
- ecmaVersion: 2023,
16
- },
17
- };
18
- }
19
- }
20
- //# sourceMappingURL=svelte.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAS1C;IACiB,KAAK,GAAG,QAAQ,CAAC;IACjB,SAAS,GAAG,EAAE,SAAS,EAAE,eAAe,EAAW,CAAC;IACpD,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAEvC,OAAO;YACL,MAAM;YACN,aAAa,EAAE;gBACb,MAAM,EAAE,QAAQ;gBAChB,mBAAmB,EAAE,CAAC,SAAS,CAAU;gBACzC,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI;aACT;SACF,CAAC;IACb,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/ts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAAY,CACjD,IAAI,EACJ;IACE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;CAC5B,EACD,CAAC,CACF;IACC,SAAgB,KAAK,QAAQ;IAC7B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe;;;;;;;MAWzB;CACF"}
@@ -1,18 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class TsSetting extends ScopeSetting {
3
- scope = "ts";
4
- processor = {};
5
- language = {};
6
- get languageOptions() {
7
- const [parser] = this.parser;
8
- return {
9
- parser,
10
- parserOptions: {
11
- project: "tsconfig.json",
12
- sourceType: "module",
13
- ecmaVersion: 2023,
14
- },
15
- };
16
- }
17
- }
18
- //# sourceMappingURL=ts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ts.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/ts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,YAQtC;IACiB,KAAK,GAAG,IAAI,CAAC;IACb,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,OAAO;YACL,MAAM;YACN,aAAa,EAAE;gBACb,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI;aACT;SACF,CAAC;IACb,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { ScopeSetting } from "../setting.js";
2
- export default class YmlSetting extends ScopeSetting<"yml", true, 1> {
3
- readonly scope = "yml";
4
- readonly processor: {};
5
- readonly language: {};
6
- get languageOptions(): {
7
- readonly parser: unknown;
8
- };
9
- }
10
- //# sourceMappingURL=yml.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yml.d.ts","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/yml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY,CAClD,KAAK,EACL,IAAI,EACJ,CAAC,CACF;IACC,SAAgB,KAAK,SAAS;IAC9B,SAAgB,SAAS,KAAe;IACxC,SAAgB,QAAQ,KAAe;IAEvC,IAAW,eAAe;;MAIzB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"yml.js","sourceRoot":"","sources":["../../../../src/factory/settings/scopes/yml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAIvC;IACiB,KAAK,GAAG,KAAK,CAAC;IACd,SAAS,GAAG,EAAW,CAAC;IACxB,QAAQ,GAAG,EAAW,CAAC;IAEvC,IAAW,eAAe;QACxB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,OAAO,EAAE,MAAM,EAAW,CAAC;IAC7B,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"setting.js","sourceRoot":"","sources":["../../../src/factory/settings/setting.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,MAAM,OAAgB,YAAY;IAyBJ;IAA5B,YAA4B,MAAoD;QAApD,WAAM,GAAN,MAAM,CAA8C;IAAG,CAAC;IAEpF,IAAW,MAAM;QACf,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEtD,OAAO;YACL,eAAe;YACf,GAAG,SAAS;YACZ,GAAG,QAAQ;SACH,CAAC;IACb,CAAC;IAoBS,OAAO,CAAC,MAAgC;QAChD,IAAI,OAAO,MAAM,KAAK,SAAS;YAC7B,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAC;QAE5E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;CACF"}
@@ -1,83 +0,0 @@
1
- import type { ScopeSettings } from "./settings";
2
- import type { Input } from "../interface/input";
3
-
4
- export class Factory {
5
- public readonly common;
6
- public readonly scopes;
7
-
8
- constructor(
9
- {
10
- settings: defaultSettings,
11
- files: defaultFiles,
12
- ignores: defaultIgnores,
13
- rules: defaultRules,
14
- }: Input["defaults"],
15
- { "*": commonExtension = {}, ...scopeExtensions }: Input["extensions"] = {} as const,
16
- ) {
17
- const {
18
- noInlineConfig = defaultSettings.noInlineConfig,
19
- reportUnusedDisableDirectives = defaultSettings.reportUnusedDisableDirectives,
20
- sourceType = defaultSettings.sourceType,
21
- ecmaVersion = defaultSettings.ecmaVersion,
22
- ignores = [] as const,
23
- override = false,
24
- } = commonExtension;
25
-
26
- this.common = {
27
- settings: {
28
- name: "linted/*/settings",
29
- linterOptions: { noInlineConfig, reportUnusedDisableDirectives } as const,
30
- languageOptions: { sourceType, ecmaVersion } as const,
31
- } as const,
32
- ignores: {
33
- name: "linted/*/ignores",
34
- ignores: [
35
- ...override ? [] as const : defaultIgnores["*"],
36
- ...ignores,
37
- ] as const,
38
- } as const,
39
- } as const;
40
- this.scopes = {
41
- files: defaultFiles,
42
- ignores: defaultIgnores,
43
- rules: defaultRules,
44
- } as const;
45
-
46
- for (const s in scopeExtensions) {
47
- const {
48
- [s as keyof typeof scopeExtensions]: {
49
- files: moreFiles = [],
50
- ignores: moreIgnores = [],
51
- rules: moreRules = null,
52
- } = {} as const,
53
- } = scopeExtensions;
54
-
55
- this.scopes.files[s as keyof typeof scopeExtensions].push(...moreFiles);
56
- this.scopes.ignores[s as keyof typeof scopeExtensions].push(...moreIgnores);
57
-
58
- if (moreRules !== null)
59
- this.scopes.rules[s as keyof typeof scopeExtensions].push([`${s}:override`, moreRules]);
60
- }
61
- }
62
-
63
- public scope<S extends keyof typeof ScopeSettings>(scope: S, settings: InstanceType<typeof ScopeSettings[S]>) {
64
- const {
65
- files: {
66
- [scope]: files,
67
- },
68
- ignores: { [scope]: ignores },
69
- rules: { [scope]: rules },
70
- } = this.scopes,
71
- ruleset = rules.map(([id, rules]) => ({ id: `${scope}:${id}`, rules } as const));
72
-
73
- return files.length < 1
74
- ? [] as const
75
- : ruleset.map(({ id, rules }) => ({
76
- name: `linted/${id}`,
77
- files,
78
- ignores,
79
- rules,
80
- ...settings.option,
81
- } as const));
82
- }
83
- }
@@ -1,11 +0,0 @@
1
- import { ScopeSetting } from "../setting";
2
-
3
- export default class JsSetting extends ScopeSetting<"js"> {
4
- public readonly scope = "js";
5
- public readonly processor = {} as const;
6
- public readonly language = {} as const;
7
-
8
- public get languageOptions() {
9
- return {} as const;
10
- }
11
- }
@@ -1,28 +0,0 @@
1
- import { ScopeSetting } from "../setting";
2
- import type TsSetting from "./ts";
3
-
4
- export default class MochaSetting extends ScopeSetting<
5
- "mocha",
6
- TsSetting["option"]["languageOptions"]["parserOptions"],
7
- 1,
8
- "mocha"
9
- > {
10
- public readonly scope = "mocha";
11
- public readonly processor = {} as const;
12
- public readonly language = {} as const;
13
- public readonly types = ["mocha"] as const;
14
-
15
- public get languageOptions() {
16
- const [parser] = this.parser;
17
-
18
- return {
19
- parser,
20
- parserOptions: {
21
- project: "tsconfig.json",
22
- sourceType: "module",
23
- ecmaVersion: 2023,
24
- } as const,
25
- globals: this.globals("mocha"),
26
- } as const;
27
- }
28
- }
@@ -1,32 +0,0 @@
1
- import { ScopeSetting } from "../setting";
2
- import type TsSetting from "./ts";
3
-
4
- export default class SvelteSetting extends ScopeSetting<
5
- "svelte",
6
- {
7
- readonly parser: unknown;
8
- readonly extraFileExtensions: readonly [".svelte"];
9
- } & TsSetting["option"]["languageOptions"]["parserOptions"],
10
- 2,
11
- false,
12
- { readonly processor: "svelte/svelte" }
13
- > {
14
- public readonly scope = "svelte";
15
- public readonly processor = { processor: "svelte/svelte" } as const;
16
- public readonly language = {} as const;
17
-
18
- public get languageOptions() {
19
- const [parser, tsParser] = this.parser;
20
-
21
- return {
22
- parser,
23
- parserOptions: {
24
- parser: tsParser,
25
- extraFileExtensions: [".svelte"] as const,
26
- project: "tsconfig.json",
27
- sourceType: "module",
28
- ecmaVersion: 2023,
29
- } as const,
30
- } as const;
31
- }
32
- }