Skip to content

Commit 1584e19

Browse files
authored
fix: build error due to types (#376)
1 parent af64fa5 commit 1584e19

File tree

3 files changed

+11
-14
lines changed

3 files changed

+11
-14
lines changed

.github/workflows/NodeCI.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
node-version: 14.x
6666
- name: Install Target Packages
6767
run: |+
68-
yarn add -D eslint@6 --ignore-engines
68+
yarn add -D eslint@6 espree@9 --ignore-engines
6969
yarn --ignore-engines
7070
- name: Test
7171
run: yarn test
@@ -78,7 +78,7 @@ jobs:
7878
node-version: 14.x
7979
- name: Install Target Packages
8080
run: |+
81-
yarn add -D eslint@7 --ignore-engines
81+
yarn add -D eslint@7 espree@9 --ignore-engines
8282
yarn --ignore-engines
8383
- name: Test
8484
run: yarn test

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
"@types/debug": "^4.1.5",
7777
"@types/eslint": "^9.0.0",
7878
"@types/eslint-scope": "^3.7.0",
79-
"@types/eslint-visitor-keys": "^3.0.0",
8079
"@types/estree": "^1.0.0",
8180
"@types/mocha": "^10.0.0",
8281
"@types/node": "^22.0.0",

src/utils/schema.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,16 @@ export function loadSchema(
1818
schemaPath: string,
1919
context: RuleContext,
2020
): null | SchemaObject {
21-
return loadJsonInternal(schemaPath, context, (schema) => {
22-
migrateToDraft7(schema as SchemaObject);
21+
return loadJsonInternal(schemaPath, context, (schema_) => {
22+
const schema = schema_ as SchemaObject;
23+
migrateToDraft7(schema);
2324
return schema;
2425
});
2526
}
2627
/**
2728
* Load json data
2829
*/
29-
export function loadJson<
30-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ignore
31-
T = any,
32-
>(jsonPath: string, context: RuleContext): null | T {
30+
export function loadJson<T>(jsonPath: string, context: RuleContext): null | T {
3331
return loadJsonInternal(jsonPath, context);
3432
}
3533

@@ -39,7 +37,7 @@ export function loadJson<
3937
function loadJsonInternal<T>(
4038
jsonPath: string,
4139
context: RuleContext,
42-
edit?: (json: unknown) => unknown,
40+
edit?: (json: unknown) => T,
4341
): null | T {
4442
if (jsonPath.startsWith("http://") || jsonPath.startsWith("https://")) {
4543
return loadJsonFromURL(jsonPath, context, edit);
@@ -52,7 +50,7 @@ function loadJsonInternal<T>(
5250
url = `${url}.json`;
5351
}
5452
return loadJsonFromURL(url, context, (orig) => {
55-
const result = edit?.(orig) ?? orig;
53+
const result = edit?.(orig) ?? (orig as T);
5654
if (jsonPath === "vscode://schemas/settings/machine") {
5755
// Adjust `vscode://schemas/settings/machine` resource to avoid bugs.
5856
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ignore
@@ -111,7 +109,7 @@ function removeEmptyEnum(
111109
function loadJsonFromURL<T>(
112110
jsonPath: string,
113111
context: RuleContext,
114-
edit?: (json: unknown) => unknown,
112+
edit?: (json: unknown) => T,
115113
): null | T {
116114
let jsonFileName = jsonPath.replace(/^https?:\/\//u, "");
117115
if (!jsonFileName.endsWith(".json")) {
@@ -180,9 +178,9 @@ function postProcess<T>(
180178
jsonFilePath: string,
181179
json: string,
182180
context: RuleContext,
183-
edit: ((json: unknown) => unknown) | undefined,
181+
edit: ((json: unknown) => T) | undefined,
184182
): T | null {
185-
let data;
183+
let data: T;
186184
try {
187185
data = JSON.parse(json);
188186
} catch {

0 commit comments

Comments
 (0)