@eslinted/core 18.11.1 → 18.12.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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAErD,qBAAa,OAAO;IAMT,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IALtC,MAAM;;;;;;;;;;;;;;;;MAAC;IACP,MAAM;;;;MAAC;gBAGZ,IAAI,EAAE,OAAO,IAAI,EACV,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAC3C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,EACE,GAAG,EAAE,eAAoB,EACzB,GAAG,eAAe,EACnB,GAAE,KAAK,CAAC,YAAY,CAAM;IAmE7B,IAAW,OAAO;;;;;;;;;;;;;OAUjB;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqC6F,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CAwB9I"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EACV,KAAK,EACL,IAAI,IAAI,IAAI,EACb,MAAM,WAAW,CAAC;AAEnB,qBAAa,OAAO;IAMT,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IALtC,MAAM;;;;;;;;;;;;;;;;MAAC;IACP,MAAM;;;;MAAC;gBAGZ,IAAI,EAAE,OAAO,IAAI,EACV,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAC3C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,EACE,GAAG,EAAE,eAAoB,EACzB,GAAG,eAAe,EACnB,GAAE,KAAK,CAAC,YAAY,CAAM;IAsG7B,IAAW,OAAO;;;;;;;;;;;;;OAKjB;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2D+C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAAvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;CA6ChG"}
@@ -6,7 +6,15 @@ export class Factory {
6
6
  scopes;
7
7
  constructor(tree, parsers, defaults, { "*": globalExtension = {}, ...scopeExtensions } = {}) {
8
8
  this.parsers = parsers;
9
- const { noInlineConfig = defaults.settings.noInlineConfig, reportUnusedDisableDirectives = defaults.settings.reportUnusedDisableDirectives, sourceType = defaults.settings.sourceType, ecmaVersion = defaults.settings.ecmaVersion, ignores = [], override = false, } = globalExtension;
9
+ const { noInlineConfig = defaults
10
+ .settings
11
+ .noInlineConfig, reportUnusedDisableDirectives = defaults
12
+ .settings
13
+ .reportUnusedDisableDirectives, sourceType = defaults
14
+ .settings
15
+ .sourceType, ecmaVersion = defaults
16
+ .settings
17
+ .ecmaVersion, ignores = [], override = false, } = globalExtension;
10
18
  this.global = {
11
19
  settings: {
12
20
  name: "linted/*/settings/",
@@ -22,43 +30,72 @@ export class Factory {
22
30
  ignores: {
23
31
  name: "linted/*/ignores/",
24
32
  ignores: [
25
- ...override ? [] : defaults.ignores["*"],
33
+ ...override
34
+ ? []
35
+ : defaults
36
+ .ignores["*"],
26
37
  ...ignores,
27
38
  ],
28
39
  },
29
40
  };
30
41
  this.scopes = {
31
- files: defaults.files,
32
- ignores: defaults.ignores,
33
- rules: defaults.rules,
42
+ files: defaults
43
+ .files,
44
+ ignores: defaults
45
+ .ignores,
46
+ rules: defaults
47
+ .rules,
34
48
  };
35
49
  for (const scope in scopeExtensions) {
36
50
  const { [scope]: { files: userFiles = [], ignores: userIgnores = [], rules: userRules = null, } = {}, } = scopeExtensions;
37
- this.scopes.files[scope].push(...userFiles);
38
- this.scopes.ignores[scope].push(...userIgnores);
51
+ this
52
+ .scopes
53
+ .files[scope]
54
+ .push(...userFiles);
55
+ this
56
+ .scopes
57
+ .ignores[scope]
58
+ .push(...userIgnores);
39
59
  if (userRules !== null)
40
- this.scopes.rules[scope].push({
41
- id: `${scope}/override`,
60
+ this
61
+ .scopes
62
+ .rules[scope]
63
+ .push({
64
+ id: scope + "/override",
42
65
  rules: userRules,
43
66
  });
44
67
  }
45
68
  for (const [scope, parents] of tree)
46
69
  for (const parent of parents) {
47
- this.scopes.files[parent].push(...this.scopes.files[scope]);
48
- this.scopes.ignores[parent].push(...this.scopes.ignores[scope]);
70
+ this
71
+ .scopes
72
+ .files[parent]
73
+ .push(...this
74
+ .scopes
75
+ .files[scope]);
76
+ this
77
+ .scopes
78
+ .ignores[parent]
79
+ .push(...this
80
+ .scopes
81
+ .ignores[scope]);
49
82
  }
50
83
  }
51
84
  get globals() {
52
- const { settings, ignores, } = this.global;
53
85
  return [
54
- settings,
55
- ignores,
86
+ this.global.settings,
87
+ this.global.ignores,
56
88
  ];
57
89
  }
58
90
  scope(scope) {
59
- const { files: { [scope]: files }, ignores: { [scope]: ignores }, rules: { [scope]: rules }, } = this.scopes, ruleset = rules.map(({ id, rules }) => {
91
+ const { files: { [scope]: files, }, ignores: { [scope]: ignores, }, rules: { [scope]: rules, }, } = this.scopes, ruleset = rules
92
+ .map(({ id, rules, }) => {
60
93
  return {
61
- id: `${scope}/${id}`,
94
+ id: [
95
+ scope,
96
+ id,
97
+ ]
98
+ .join("/"),
62
99
  rules,
63
100
  };
64
101
  }), { languageOptions: { parser = null, globals: global = null, ...languageOptionsStatic }, parserOptions: { parser: subparser = null, ...parserOptionsStatic }, processor, language, } = new ScopeManifests[scope]();
@@ -73,21 +110,39 @@ export class Factory {
73
110
  ignores,
74
111
  languageOptions: {
75
112
  ...languageOptionsStatic,
76
- ...global === null || !(global in globals) ? {} : { globals: globals[global] },
77
- ...parser === null ? {} : { parser: this.parsers[parser] },
78
- ...Object.keys(parserOptionsStatic).length < 1 && subparser === null
113
+ ...global === null
114
+ || !(global in globals)
115
+ ? {}
116
+ : {
117
+ globals: globals[global],
118
+ },
119
+ ...parser === null
120
+ ? {}
121
+ : {
122
+ parser: this
123
+ .parsers[parser],
124
+ },
125
+ ...Object
126
+ .keys(parserOptionsStatic)
127
+ .length < 1
128
+ && subparser === null
79
129
  ? {}
80
130
  : {
81
131
  parserOptions: {
82
132
  ...parserOptionsStatic,
83
- ...subparser === null ? {} : { parser: this.parsers[subparser] },
133
+ ...subparser === null
134
+ ? {}
135
+ : {
136
+ parser: this
137
+ .parsers[subparser],
138
+ },
84
139
  },
85
140
  },
86
141
  },
87
142
  ...processor,
88
143
  ...language,
89
144
  },
90
- ...ruleset.map(({ id, rules }) => {
145
+ ...ruleset.map(({ id, rules, }) => {
91
146
  return {
92
147
  name: `linted/${id}/`,
93
148
  files,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface Config<Plugins extends string = string> {
15
15
  sourceType: "module" | "script";
16
16
  ecmaVersion: "latest" | 3 | 5 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024;
17
17
  };
18
+ basePath?: string;
18
19
  processor?: string;
19
20
  language?: string;
20
21
  settings?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/proto/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAC;AAEpC,YAAY,EAAE,IAAI,EAAE,CAAC;AACrB,mBAAmB,WAAW,CAAC;AAC/B,MAAM,WAAW,MAAM,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACrD,IAAI,EAAE,UAAU,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,aAAa,EAAE;QACb,cAAc,EAAE,OAAO,CAAC;QACxB,6BAA6B,EACzB,OAAO,GACP,MAAM,GACN,KAAK,CACR;KACF,CAAC;IACF,eAAe,EAAE;QACf,UAAU,EACN,QAAQ,GACR,QAAQ,CACX;QACD,WAAW,EACP,QAAQ,GACR,CAAC,GACD,CAAC,GACD,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CACP;KACF,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interface/proto/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAC;AAEpC,YAAY,EAAE,IAAI,EAAE,CAAC;AACrB,mBAAmB,WAAW,CAAC;AAC/B,MAAM,WAAW,MAAM,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACrD,IAAI,EAAE,UAAU,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;IACpB,aAAa,EAAE;QACb,cAAc,EAAE,OAAO,CAAC;QACxB,6BAA6B,EACzB,OAAO,GACP,MAAM,GACN,KAAK,CACR;KACF,CAAC;IACF,eAAe,EAAE;QACf,UAAU,EACN,QAAQ,GACR,QAAQ,CACX;QACD,WAAW,EACP,QAAQ,GACR,CAAC,GACD,CAAC,GACD,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CACP;KACF,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "$schema": "https://json.schemastore.org/package",
4
4
  "$help": "https://docs.npmjs.com/cli/configuring-npm/package-json",
5
5
  "name": "@eslinted/core",
6
- "version": "18.11.1",
6
+ "version": "18.12.0",
7
7
  "repository": "github:jimmy-zhening-luo/linted-core",
8
8
  "private": false,
9
9
  "engineStrict": true,
@@ -19,7 +19,7 @@
19
19
  "devDependencies": {
20
20
  "@types/chai": "^5.2.2",
21
21
  "@types/mocha": "^10.0.10",
22
- "@types/node": "^24.0.4",
22
+ "@types/node": "^24.0.7",
23
23
  "chai": "^5.2.0",
24
24
  "mocha": "^11.7.1",
25
25
  "npm-run-all": "^4.1.5",
@@ -1,7 +1,10 @@
1
1
  import globals from "globals";
2
2
  import { ScopeManifests } from "./manifests";
3
3
  import type { Input } from "../interface";
4
- import type { Scope, tree as Tree } from "../scopes";
4
+ import type {
5
+ Scope,
6
+ tree as Tree,
7
+ } from "../scopes";
5
8
 
6
9
  export class Factory {
7
10
  public global;
@@ -17,10 +20,18 @@ export class Factory {
17
20
  }: Input["extensions"] = {},
18
21
  ) {
19
22
  const {
20
- noInlineConfig = defaults.settings.noInlineConfig,
21
- reportUnusedDisableDirectives = defaults.settings.reportUnusedDisableDirectives,
22
- sourceType = defaults.settings.sourceType,
23
- ecmaVersion = defaults.settings.ecmaVersion,
23
+ noInlineConfig = defaults
24
+ .settings
25
+ .noInlineConfig,
26
+ reportUnusedDisableDirectives = defaults
27
+ .settings
28
+ .reportUnusedDisableDirectives,
29
+ sourceType = defaults
30
+ .settings
31
+ .sourceType,
32
+ ecmaVersion = defaults
33
+ .settings
34
+ .ecmaVersion,
24
35
  ignores = [],
25
36
  override = false,
26
37
  } = globalExtension;
@@ -40,15 +51,21 @@ export class Factory {
40
51
  ignores: {
41
52
  name: "linted/*/ignores/" as const,
42
53
  ignores: [
43
- ...override ? [] : defaults.ignores["*"],
54
+ ...override
55
+ ? []
56
+ : defaults
57
+ .ignores["*"],
44
58
  ...ignores,
45
59
  ],
46
60
  },
47
61
  };
48
62
  this.scopes = {
49
- files: defaults.files,
50
- ignores: defaults.ignores,
51
- rules: defaults.rules,
63
+ files: defaults
64
+ .files,
65
+ ignores: defaults
66
+ .ignores,
67
+ rules: defaults
68
+ .rules,
52
69
  };
53
70
 
54
71
  for (const scope in scopeExtensions) {
@@ -60,51 +77,85 @@ export class Factory {
60
77
  } = {},
61
78
  } = scopeExtensions;
62
79
 
63
- this.scopes.files[scope as keyof typeof scopeExtensions].push(...userFiles);
64
- this.scopes.ignores[scope as keyof typeof scopeExtensions].push(...userIgnores);
80
+ this
81
+ .scopes
82
+ .files[scope as keyof typeof scopeExtensions]
83
+ .push(...userFiles);
84
+ this
85
+ .scopes
86
+ .ignores[scope as keyof typeof scopeExtensions]
87
+ .push(...userIgnores);
65
88
 
66
89
  if (userRules !== null)
67
- this.scopes.rules[scope as keyof typeof scopeExtensions].push({
68
- id: `${scope}/override`,
69
- rules: userRules,
70
- });
90
+ this
91
+ .scopes
92
+ .rules[scope as keyof typeof scopeExtensions]
93
+ .push(
94
+ {
95
+ id: scope + "/override",
96
+ rules: userRules,
97
+ },
98
+ );
71
99
  }
72
100
 
73
101
  for (const [scope, parents] of tree)
74
102
  for (const parent of parents) {
75
- this.scopes.files[parent].push(
76
- ...this.scopes.files[scope],
77
- );
78
- this.scopes.ignores[parent].push(
79
- ...this.scopes.ignores[scope],
80
- );
103
+ this
104
+ .scopes
105
+ .files[parent]
106
+ .push(
107
+ ...this
108
+ .scopes
109
+ .files[scope],
110
+ );
111
+ this
112
+ .scopes
113
+ .ignores[parent]
114
+ .push(
115
+ ...this
116
+ .scopes
117
+ .ignores[scope],
118
+ );
81
119
  }
82
120
  }
83
121
 
84
122
  public get globals() {
85
- const {
86
- settings,
87
- ignores,
88
- } = this.global;
89
-
90
123
  return [
91
- settings,
92
- ignores,
124
+ this.global.settings,
125
+ this.global.ignores,
93
126
  ] as const;
94
127
  }
95
128
 
96
129
  public scope(scope: Scope) {
97
130
  const {
98
- files: { [scope]: files },
99
- ignores: { [scope]: ignores },
100
- rules: { [scope]: rules },
131
+ files: {
132
+ [scope]: files,
133
+ },
134
+ ignores: {
135
+ [scope]: ignores,
136
+ },
137
+ rules: {
138
+ [scope]: rules,
139
+ },
101
140
  } = this.scopes,
102
- ruleset = rules.map(({ id, rules }) => {
103
- return {
104
- id: `${scope}/${id}`,
105
- rules,
106
- };
107
- }),
141
+ ruleset = rules
142
+ .map(
143
+ (
144
+ {
145
+ id,
146
+ rules,
147
+ },
148
+ ) => {
149
+ return {
150
+ id: [
151
+ scope,
152
+ id,
153
+ ]
154
+ .join("/"),
155
+ rules,
156
+ };
157
+ },
158
+ ),
108
159
  {
109
160
  languageOptions: {
110
161
  parser = null,
@@ -130,28 +181,53 @@ export class Factory {
130
181
  ignores,
131
182
  languageOptions: {
132
183
  ...languageOptionsStatic,
133
- ...global === null || !(global in globals) ? {} : { globals: globals[global as keyof typeof globals] as Record<string, boolean> },
134
- ...parser === null ? {} : { parser: this.parsers[parser] },
135
- ...Object.keys(parserOptionsStatic).length < 1 && subparser === null
184
+ ...global === null
185
+ || !(global in globals)
186
+ ? {}
187
+ : {
188
+ globals: globals[global as keyof typeof globals] as Record<string, boolean>,
189
+ },
190
+ ...parser === null
191
+ ? {}
192
+ : {
193
+ parser: this
194
+ .parsers[parser],
195
+ },
196
+ ...Object
197
+ .keys(parserOptionsStatic)
198
+ .length < 1
199
+ && subparser === null
136
200
  ? {}
137
201
  : {
138
202
  parserOptions: {
139
203
  ...parserOptionsStatic,
140
- ...subparser === null ? {} : { parser: this.parsers[subparser] },
204
+ ...subparser === null
205
+ ? {}
206
+ : {
207
+ parser: this
208
+ .parsers[subparser],
209
+ },
141
210
  },
142
211
  },
143
212
  },
144
213
  ...processor,
145
214
  ...language,
146
215
  },
147
- ...ruleset.map(({ id, rules }) => {
148
- return {
149
- name: `linted/${id}/` as const,
150
- files,
151
- ignores,
152
- rules,
153
- };
154
- }),
216
+ ...ruleset.map(
217
+ (
218
+ {
219
+ id,
220
+ rules,
221
+ },
222
+ ) => {
223
+ return {
224
+ name: `linted/${id}/` as const,
225
+ files,
226
+ ignores,
227
+ rules,
228
+ };
229
+ },
230
+ ),
155
231
  ];
156
232
  }
157
233
  }
@@ -37,6 +37,7 @@ export interface Config<Plugins extends string = string> {
37
37
  | 2024
38
38
  ;
39
39
  };
40
+ basePath?: string;
40
41
  processor?: string;
41
42
  language?: string;
42
43
  settings?: Record<string, unknown>;