@eslinted/core 33.1.0 → 33.1.2

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.
package/.editorconfig ADDED
@@ -0,0 +1,26 @@
1
+ ##############################
2
+ #### .editorconfig ####
3
+ #### @version 01702.0.0 ####
4
+ ##############################
5
+
6
+ #@doc https://editorconfig.org/
7
+ #@doc https://github.com/editorconfig/editorconfig-vscode?tab=readme-ov-file#supported-properties
8
+
9
+ root = true
10
+
11
+ [*]
12
+ charset = utf-8
13
+ end_of_line = lf
14
+ indent_style = space
15
+ indent_size = 2
16
+ insert_final_newline = true
17
+ trim_trailing_whitespace = true
18
+
19
+ [*.{ics,cmd,bat,reg}]
20
+ end_of_line = crlf
21
+
22
+ [*.{txt,ini,csv,tsv}]
23
+ indent_style = unset
24
+
25
+ [*,{csv,tsv}]
26
+ indent_size = 4
package/.gitattributes CHANGED
@@ -1,16 +1,24 @@
1
1
  ##############################
2
2
  #### .gitattributes ####
3
- #### v253.1.0 ####
3
+ #### @version 253.4.0 ####
4
4
  ##############################
5
5
 
6
+ #@doc https://git-scm.com/docs/gitattributes
7
+
8
+
6
9
  * text=auto
7
10
 
11
+
12
+ #region CRLF
8
13
  *.ics text eol=crlf
9
14
 
10
15
  *.cmd text eol=crlf
11
16
  *.bat text eol=crlf
12
17
  *.reg text eol=crlf working-tree-encoding=UTF-8
18
+ #endregion
13
19
 
20
+
21
+ #region LF
14
22
  *.ps1 text eol=lf working-tree-encoding=UTF-8
15
23
  *.psm1 text eol=lf working-tree-encoding=UTF-8
16
24
  *.psd1 text eol=lf working-tree-encoding=UTF-8
@@ -22,23 +30,57 @@
22
30
  *.bash_aliases text eol=lf
23
31
 
24
32
  LICENSE text eol=lf
25
- *.gitattributes text eol=lf
26
33
  *.gitconfig text eol=lf
27
34
  *.gitignore text eol=lf
35
+ *.gitattributes text eol=lf
36
+ *.editorconfig text eol=lf
37
+ *.npmrc text eol=lf
38
+ *.claspignore text eol=lf
39
+ *.funcignore text eol=lf
28
40
 
29
41
  *.txt text eol=lf
30
42
  *.md text eol=lf
31
- *.h text eol=lf
32
- *.hpp text eol=lf
33
- *.hxx text eol=lf
43
+ *.example text eol=lf
44
+
45
+ *.json text eol=lf
46
+ *.jsonc text eol=lf
47
+ *.jsonl text eol=lf
48
+ *.json5 text eol=lf
49
+ *.JSON-tmLanguage text eol=lf
50
+ *.code-snippets text eol=lf
51
+ *.code-workspace text eol=lf
52
+
53
+ *.yaml text eol=lf
54
+ *.yml text eol=lf
55
+ *.YAML-tmLanguage text eol=lf
56
+
57
+ *.xml text eol=lf
58
+ *.xsd text eol=lf
59
+ *.xsl text eol=lf
60
+ *.dtd text eol=lf
61
+ *.svg text eol=lf
62
+ *.plist text eol=lf
63
+ *.tmLanguage text eol=lf
64
+ *.tmPreferences text eol=lf
65
+ *.tmTheme text eol=lf
66
+ *.csproj text eol=lf
67
+ *.sln text eol=lf
68
+ *.slnx text eol=lf
69
+ *.ps1xml text eol=lf
70
+ *.exportedUI text eol=lf
71
+
72
+ *.csv text eol=lf
73
+ *.tsv text eol=lf
74
+
34
75
  *.c text eol=lf
76
+ *.cc text eol=lf
35
77
  *.cpp text eol=lf
36
78
  *.cxx text eol=lf
37
- *.cc text eol=lf
79
+ *.h text eol=lf
80
+ *.hpp text eol=lf
81
+ *.hxx text eol=lf
38
82
  *.cs text eol=lf
39
- *.csproj text eol=lf
40
- *.sln text eol=lf
41
- *.slnx text eol=lf
83
+
42
84
  *.js text eol=lf
43
85
  *.cjs text eol=lf
44
86
  *.mjs text eol=lf
@@ -47,35 +89,16 @@ LICENSE text eol=lf
47
89
  *.cts text eol=lf
48
90
  *.mts text eol=lf
49
91
  *.tsx text eol=lf
92
+ *.svelte text eol=lf
50
93
  *.html text eol=lf
51
94
  *.css text eol=lf
52
95
  *.scss text eol=lf
53
96
  *.less text eol=lf
54
- *.svelte text eol=lf
97
+
55
98
  *.py text eol=lf
56
99
  *.jinja text eol=lf
100
+
101
+ *.adblock text eol=lf
57
102
  *.lark text eol=lf
58
103
  *.re text eol=lf
59
- *.adblock text eol=lf
60
- *.json text eol=lf
61
- *.jsonc text eol=lf
62
- *.jsonl text eol=lf
63
- *.json5 text eol=lf
64
- *.JSON-tmLanguage text eol=lf
65
- *.code-snippets text eol=lf
66
- *.code-workspace text eol=lf
67
- *.yml text eol=lf
68
- *.yaml text eol=lf
69
- *.YAML-tmLanguage text eol=lf
70
- *.xml text eol=lf
71
- *.svg text eol=lf
72
- *.plist text eol=lf
73
- *.tmLanguage text eol=lf
74
- *.tmPreferences text eol=lf
75
- *.tmTheme text eol=lf
76
- *.csv text eol=lf
77
- *.tsv text eol=lf
78
- *.npmrc text eol=lf
79
- *.funcignore text eol=lf
80
- *.claspignore text eol=lf
81
- *.example text eol=lf
104
+ #endregion
@@ -1,10 +1,7 @@
1
1
  {
2
- // #region v40.2.0
2
+ //@version 40.2.1
3
+ //@doc https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
3
4
  "$schema": "https://raw.githubusercontent.com/jzni/schema/main/app/markdownlint.json",
4
- "$help": {
5
- "link": "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md",
6
- },
7
- // #endregion
8
5
  "heading-increment": {
9
6
  "enabled": true,
10
7
  } /* MD001 */,
package/dist/factory.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  import type Core from "./index.js";
2
- export default function factory<Scope extends string, Optional extends Scope>(scopes: Parameters<typeof Core<Scope, Optional>>[0], optional: Parameters<typeof Core<Scope, Optional>>[1], tree: Parameters<typeof Core<Scope, Optional>>[2], parsers: Parameters<typeof Core<Scope, Optional>>[3], settings: Parameters<typeof Core<Scope, Optional>>[4], defaults: Parameters<typeof Core<Scope, Optional>>[5], extensions: Parameters<typeof Core<Scope, Optional>>[6]): Partial<Record<"rules" | "files" | "ignores" | "languageOptions" | "plugins" | "language" | "processor", unknown>>[];
2
+ export default function factory<Scope extends string, Optional extends Scope>(scopes: Parameters<typeof Core<Scope, Optional>>[0], optional: Parameters<typeof Core<Scope, Optional>>[1], tree: Parameters<typeof Core<Scope, Optional>>[2], parsers: Parameters<typeof Core<Scope, Optional>>[3], settings: Parameters<typeof Core<Scope, Optional>>[4], defaults: Parameters<typeof Core<Scope, Optional>>[5], extensions: Parameters<typeof Core<Scope, Optional>>[6]): (Partial<Record<"rules" | "languageOptions" | "plugins" | "language" | "processor", unknown>> & {
3
+ files?: (string | readonly string[])[];
4
+ ignores?: readonly string[];
5
+ })[];
3
6
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EAEtB,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,UAAU,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,wHAmLxD"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,GAAG,CAAC;AAE1B,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,KAAK,EAEtB,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,IAAI,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACjD,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACpD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,QAAQ,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,UAAU,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YA2F7C,CAAC,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,EAAE;cAC5B,SAAS,MAAM,EAAE;KAoF9B"}
package/dist/factory.js CHANGED
@@ -2,13 +2,12 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
2
2
  const Scopes = new Set(scopes);
3
3
  if (extensions["*"]) {
4
4
  const globalExtension = extensions["*"];
5
- if (globalExtension.override
6
- || !defaults.ignores["*"])
5
+ if (globalExtension.override)
7
6
  defaults.ignores["*"] = (globalExtension.ignores ?? []);
8
7
  else if (globalExtension.ignores?.length) {
9
- const { "*": ignores } = defaults.ignores, { length } = ignores, { length: x } = globalExtension.ignores;
10
- ignores.length = length + x;
11
- for (let i = 0; i < x; ++i)
8
+ const { "*": ignores = [] } = defaults.ignores, { length } = ignores, { length: nGlobalExtendedIgnores } = globalExtension.ignores;
9
+ ignores.length = length + nGlobalExtendedIgnores;
10
+ for (let i = 0; i < nGlobalExtendedIgnores; ++i)
12
11
  ignores[length + i] = globalExtension.ignores[i];
13
12
  }
14
13
  }
@@ -24,16 +23,16 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
24
23
  if (extensions[scope]) {
25
24
  const extension = extensions[scope];
26
25
  if (extension.files?.length) {
27
- const { [scope]: files } = defaults.files, { length } = files, { length: x } = extension.files;
28
- files.length = length + x;
29
- for (let i = 0; i < x; ++i)
26
+ const { [scope]: files } = defaults.files, { length } = files, { length: nExtendedFiles } = extension.files;
27
+ files.length = length + nExtendedFiles;
28
+ for (let i = 0; i < nExtendedFiles; ++i)
30
29
  files[length + i] = extension.files[i];
31
30
  }
32
31
  if (extension.ignores?.length)
33
32
  if (defaults.ignores[scope]?.length) {
34
- const ignores = defaults.ignores[scope], { length } = ignores, { length: x } = extension.ignores;
35
- ignores.length = length + x;
36
- for (let i = 0; i < x; ++i)
33
+ const ignores = defaults.ignores[scope], { length } = ignores, { length: nExtendedIgnores } = extension.ignores;
34
+ ignores.length = length + nExtendedIgnores;
35
+ for (let i = 0; i < nExtendedIgnores; ++i)
37
36
  ignores[length + i] = extension.ignores[i];
38
37
  }
39
38
  else
@@ -46,19 +45,20 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
46
45
  && defaults.files[scope].length) {
47
46
  const { [scope]: files } = defaults.files;
48
47
  for (const parent of parents) {
49
- const { [parent]: parentFiles } = defaults.files, { length } = parentFiles, { length: x } = files;
50
- parentFiles.length = length + x;
51
- for (let i = 0; i < x; ++i)
52
- parentFiles[length + i] = files[i];
48
+ const { [parent]: parentFiles } = defaults.files, { length: nParents } = parentFiles, { length: nChildren } = files;
49
+ parentFiles.length = nParents + nChildren;
50
+ for (let i = 0; i < nChildren; ++i)
51
+ parentFiles[nParents + i] = files[i];
53
52
  }
54
53
  }
55
- const enabledScopes = [...Scopes].filter(scope => defaults.files[scope].length), setScopes = enabledScopes.filter(scope => scope in settings);
56
- for (const scope of enabledScopes) {
57
- const { files: { [scope]: files }, ignores: { [scope]: ignores }, rules: { [scope]: rules }, } = defaults;
54
+ for (const scope of Scopes)
55
+ if (!defaults.files[scope].length)
56
+ Scopes.delete(scope);
57
+ for (const scope of Scopes) {
58
+ const { rules: { [scope]: rules }, files: { [scope]: files }, ignores: { [scope]: ignores }, } = defaults, setting = settings[scope];
58
59
  rules.files = files;
59
60
  if (ignores)
60
61
  rules.ignores = ignores;
61
- const setting = settings[scope];
62
62
  if (setting) {
63
63
  setting.files = files;
64
64
  if (ignores)
@@ -79,16 +79,16 @@ export default function factory(scopes, optional, tree, parsers, settings, defau
79
79
  }
80
80
  const configs = [
81
81
  {
82
- ignores: defaults.ignores["*"],
82
+ ignores: defaults.ignores["*"] ?? [],
83
83
  },
84
- ], { length: nSettings } = setScopes, preamble = 1 + nSettings;
84
+ ], ruleScopes = [...Scopes], settingScopes = ruleScopes.filter(scope => scope in settings), { length: nSettings } = settingScopes, preamble = 1 + nSettings;
85
85
  configs.length = preamble;
86
86
  for (let i = 0; i < nSettings; ++i)
87
- configs[1 + i] = settings[setScopes[i]];
88
- const { length: nRules } = enabledScopes;
87
+ configs[1 + i] = settings[settingScopes[i]];
88
+ const { length: nRules } = ruleScopes;
89
89
  configs.length = preamble + nRules;
90
90
  for (let i = 0; i < nRules; ++i)
91
- configs[preamble + i] = defaults.rules[enabledScopes[i]];
91
+ configs[preamble + i] = defaults.rules[ruleScopes[i]];
92
92
  if (extensions["*"]?.rules)
93
93
  configs[configs.length] = { rules: extensions["*"].rules };
94
94
  if (Object.keys(extensionPlugins).length)
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dprint.jsonc CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- // $version: 0.5101.7
3
- // $help: https://dprint.dev/config/
2
+ //@version 0.5200.0
3
+ //@doc https://dprint.dev/config/
4
4
  "extends": "https://raw.githubusercontent.com/jimmy-zhening-luo/dprint/main/.dprint.jsonc",
5
5
  }
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
- "$pkg": "2413.0.0",
3
- "$schema": "https://json.schemastore.org/package",
2
+ "$pkg": "2414.0.0",
4
3
  "$help": "https://docs.npmjs.com/cli/configuring-npm/package-json",
4
+ "$schema": "https://json.schemastore.org/package",
5
5
  "name": "@eslinted/core",
6
- "version": "33.1.0",
6
+ "version": "33.1.2",
7
7
  "repository": "github:jimmy-zhening-luo/linted-core",
8
8
  "description": "Internal core for npm package `linted`, responsible for producing an array of fully-formed ESLint configurations according to `linted` spec.",
9
9
  "keywords": [],
package/src/factory.ts CHANGED
@@ -17,19 +17,16 @@ export default function factory<
17
17
  if (extensions["*"]) {
18
18
  const globalExtension = extensions["*"];
19
19
 
20
- if (
21
- globalExtension.override
22
- || !defaults.ignores["*"]
23
- )
20
+ if (globalExtension.override)
24
21
  defaults.ignores["*"] = (globalExtension.ignores ?? []) as string[];
25
22
  else if (globalExtension.ignores?.length) {
26
- const { "*": ignores } = defaults.ignores,
23
+ const { "*": ignores = [] } = defaults.ignores,
27
24
  { length } = ignores,
28
- { length: x } = globalExtension.ignores;
25
+ { length: nGlobalExtendedIgnores } = globalExtension.ignores;
29
26
 
30
- ignores.length = length + x;
27
+ ignores.length = length + nGlobalExtendedIgnores;
31
28
 
32
- for (let i = 0; i < x; ++i)
29
+ for (let i = 0; i < nGlobalExtendedIgnores; ++i)
33
30
  ignores[length + i] = globalExtension.ignores[i]!;
34
31
  }
35
32
  }
@@ -51,11 +48,11 @@ export default function factory<
51
48
  if (extension.files?.length) {
52
49
  const { [scope]: files } = defaults.files,
53
50
  { length } = files,
54
- { length: x } = extension.files;
51
+ { length: nExtendedFiles } = extension.files;
55
52
 
56
- files.length = length + x;
53
+ files.length = length + nExtendedFiles;
57
54
 
58
- for (let i = 0; i < x; ++i)
55
+ for (let i = 0; i < nExtendedFiles; ++i)
59
56
  files[length + i] = extension.files[i]!;
60
57
  }
61
58
 
@@ -63,11 +60,11 @@ export default function factory<
63
60
  if (defaults.ignores[scope]?.length) {
64
61
  const ignores = defaults.ignores[scope],
65
62
  { length } = ignores,
66
- { length: x } = extension.ignores;
63
+ { length: nExtendedIgnores } = extension.ignores;
67
64
 
68
- ignores.length = length + x;
65
+ ignores.length = length + nExtendedIgnores;
69
66
 
70
- for (let i = 0; i < x; ++i)
67
+ for (let i = 0; i < nExtendedIgnores; ++i)
71
68
  ignores[length + i] = extension.ignores[i]!;
72
69
  }
73
70
  else
@@ -89,47 +86,43 @@ export default function factory<
89
86
 
90
87
  for (const parent of parents) {
91
88
  const { [parent]: parentFiles } = defaults.files,
92
- { length } = parentFiles,
93
- { length: x } = files;
89
+ { length: nParents } = parentFiles,
90
+ { length: nChildren } = files;
94
91
 
95
- parentFiles.length = length + x;
92
+ parentFiles.length = nParents + nChildren;
96
93
 
97
- for (let i = 0; i < x; ++i)
98
- parentFiles[length + i] = files[i]!;
94
+ for (let i = 0; i < nChildren; ++i)
95
+ parentFiles[nParents + i] = files[i]!;
99
96
  }
100
97
  }
101
98
 
102
- const enabledScopes = [...Scopes].filter(
103
- scope => defaults.files[scope].length,
104
- ),
105
- setScopes = enabledScopes.filter(
106
- scope => scope in settings,
107
- );
99
+ for (const scope of Scopes)
100
+ if (!defaults.files[scope].length)
101
+ Scopes.delete(scope);
102
+
103
+ type Scoped<PartialConfig> = PartialConfig & {
104
+ files?: (string | readonly string[])[];
105
+ ignores?: readonly string[];
106
+ };
108
107
 
109
- for (const scope of enabledScopes) {
108
+ for (const scope of Scopes) {
110
109
  const {
110
+ rules: { [scope]: rules },
111
111
  files: { [scope]: files },
112
112
  ignores: { [scope]: ignores },
113
- rules: { [scope]: rules },
114
- } = defaults;
115
-
116
- type Enscope<Config> = Config & {
117
- files?: typeof files;
118
- ignores?: typeof ignores;
119
- };
113
+ } = defaults,
114
+ setting = settings[scope];
120
115
 
121
- (rules as Enscope<typeof rules>).files = files;
116
+ (rules as Scoped<typeof rules>).files = files;
122
117
 
123
118
  if (ignores)
124
- (rules as Enscope<typeof rules>).ignores = ignores;
125
-
126
- const setting = settings[scope];
119
+ (rules as Scoped<typeof rules>).ignores = ignores;
127
120
 
128
121
  if (setting) {
129
- (setting as Enscope<typeof setting>).files = files;
122
+ (setting as Scoped<typeof setting>).files = files;
130
123
 
131
124
  if (ignores)
132
- (setting as Enscope<typeof setting>).ignores = ignores;
125
+ (setting as Scoped<typeof setting>).ignores = ignores;
133
126
 
134
127
  if (setting.languageOptions) {
135
128
  const {
@@ -151,36 +144,40 @@ export default function factory<
151
144
  }
152
145
  }
153
146
 
154
- const configs: Partial<
155
- Record<
156
- | "plugins"
157
- | "rules"
158
- | "files"
159
- | "ignores"
160
- | "languageOptions"
161
- | "language"
162
- | "processor",
163
- unknown
147
+ const configs: Scoped<
148
+ Partial<
149
+ Record<
150
+ | "plugins"
151
+ | "rules"
152
+ | "languageOptions"
153
+ | "language"
154
+ | "processor",
155
+ unknown
156
+ >
164
157
  >
165
158
  >[] = [
166
159
  {
167
- ignores: defaults.ignores["*"]!,
160
+ ignores: defaults.ignores["*"] ?? [],
168
161
  },
169
162
  ],
170
- { length: nSettings } = setScopes,
163
+ ruleScopes = [...Scopes],
164
+ settingScopes = ruleScopes.filter(
165
+ scope => scope in settings,
166
+ ),
167
+ { length: nSettings } = settingScopes,
171
168
  preamble = 1 + nSettings;
172
169
 
173
170
  configs.length = preamble;
174
171
 
175
172
  for (let i = 0; i < nSettings; ++i)
176
- configs[1 + i] = settings[setScopes[i]]!;
173
+ configs[1 + i] = settings[settingScopes[i]]!;
177
174
 
178
- const { length: nRules } = enabledScopes;
175
+ const { length: nRules } = ruleScopes;
179
176
 
180
177
  configs.length = preamble + nRules;
181
178
 
182
179
  for (let i = 0; i < nRules; ++i)
183
- configs[preamble + i] = defaults.rules[enabledScopes[i]!]!;
180
+ configs[preamble + i] = defaults.rules[ruleScopes[i]!]!;
184
181
 
185
182
  if (extensions["*"]?.rules)
186
183
  configs[configs.length] = { rules: extensions["*"].rules };
@@ -1,6 +1,7 @@
1
1
  {
2
- "display": "tsc@509.7.1",
2
+ "display": "@version509.8.0",
3
3
  "$help": "https://aka.ms/tsconfig/#quick-nav-Top%20Level",
4
+ "$schema": "https://www.schemastore.org/tsconfig.json",
4
5
  "compilerOptions": {
5
6
  "allowUnreachableCode": false,
6
7
  "allowUnusedLabels": false,
@@ -26,7 +27,7 @@
26
27
  // "verbatimModuleSyntax": true,
27
28
  "lib": [
28
29
  "esnext",
29
- /* {CONFIGURE} */
30
+ /* @configure */
30
31
  ],
31
32
  "target": "esnext",
32
33
  // "skipLibCheck": true,