Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 34f0c40

Browse files
committed
fix(ts/oxlint): enable tsconfig compilerOptions and oxlint rules
1 parent c6f425b commit 34f0c40

File tree

14 files changed

+389
-376
lines changed

14 files changed

+389
-376
lines changed

‎.oxlintrc.json‎

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"suspicious": "error"
1111
},
1212
"env": {
13-
"browser": true
13+
"es2022": true,
14+
"shared-node-browser": true
1415
},
1516
"plugins": [
1617
"typescript",
@@ -30,7 +31,7 @@
3031
],
3132
"@typescript-eslint/no-explicit-any": "off",
3233
"@typescript-eslint/no-unsafe-declaration-merging": "off",
33-
"eslint/curly": "off",
34+
"eslint/curly": "error",
3435
"eslint/max-depth": "off",
3536
"eslint/max-lines": "off",
3637
"eslint/max-lines-per-function": "off",
@@ -64,22 +65,15 @@
6465
"no-optional-chaining": "off",
6566
"no-ternary": "off",
6667
"no-undefined": "off",
67-
"no-unexpected-multiline": "off",
6868
"oxc/no-barrel-file": "off",
6969
"oxc/no-rest-spread-properties": "off",
70-
"prefer-promise-reject-errors": "off",
7170
"promise/catch-or-return": "off",
72-
"promise/no-nesting": "off",
73-
"promise/no-return-wrap": "off",
74-
"promise/prefer-await-to-callbacks": "off",
75-
"promise/prefer-await-to-then": "off",
7671
"sort-imports": "off",
7772
"sort-keys": "off",
7873
"sort-vars": "off",
7974
"typescript/consistent-indexed-object-style": "error",
8075
"typescript/explicit-function-return-type": "off",
8176
"typescript/no-empty-interface": "off",
82-
"unicorn/empty-brace-spaces": "off",
8377
"unicorn/error-message": "off",
8478
"unicorn/filename-case": [
8579
"error",
@@ -102,9 +96,9 @@
10296
"withinDescribe": "test"
10397
}
10498
],
105-
"vitest/max-expects": "off",
106-
"vitest/no-hooks": "off",
107-
"vitest/prefer-lowercase-title": "off",
99+
"vitest/max-expects": "off",
100+
"vitest/no-hooks": "off",
101+
"vitest/prefer-lowercase-title": "off",
108102
"vitest/prefer-strict-equal": "off",
109103
"vitest/prefer-to-be-falsy": "off",
110104
"vitest/prefer-to-be-truthy": "off",

‎src/graphql/parseGraphQl.ts‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,9 @@ export default async function parseGraphQl(
6767
type.name !== schema.subscriptionType?.name &&
6868
!type.name.startsWith("__") &&
6969
// mutation
70-
!type.name.startsWith(type.name[0].toLowerCase()) &&
70+
(!type.name[0]||!type.name.startsWith(type.name[0].toLowerCase())) &&
7171
!type.name.endsWith("Connection") &&
72-
!type.name.endsWith("Edge") &&
73-
!type.name.endsWith("PageInfo"),
72+
!type.name.endsWith("Edge"),
7473
) as IntrospectionObjectType[];
7574

7675
const resources: Resource[] = [];
@@ -84,7 +83,7 @@ export default async function parseGraphQl(
8483
range: getRangeFromGraphQlType(resourceFieldType.type),
8584
reference: getReferenceFromGraphQlType(resourceFieldType.type),
8685
required: resourceFieldType.type.kind === "NON_NULL",
87-
description: resourceFieldType.description,
86+
description: resourceFieldType.description||"",
8887
deprecated: resourceFieldType.isDeprecated,
8988
});
9089

‎src/hydra/fetchJsonLd.ts‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,21 @@ export default async function fetchJsonLd(
4343
throw reason;
4444
}
4545

46-
return response.json().then((body: JsonLd) => ({
46+
const body = (await response.json()) as JsonLd;
47+
return {
4748
response,
4849
body,
4950
document: body,
5051
documentUrl: url,
51-
}));
52+
};
5253
}
5354

5455
function setHeaders(options: RequestInitExtended): RequestInit {
5556
if (!options.headers) {
5657
return { ...options, headers: {} };
5758
}
5859

59-
let headers: HeadersInit =
60+
let headers =
6061
typeof options.headers === "function" ? options.headers() : options.headers;
6162

6263
headers = new Headers(headers);

‎src/hydra/fetchResource.ts‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
import type { EmptyResponseDocument, ResponseDocument } from "./fetchJsonLd.js";
21
import fetchJsonLd from "./fetchJsonLd.js";
32
import type { IriTemplateMapping, RequestInitExtended } from "./types.js";
43

5-
export default function fetchResource(
4+
export default asyncfunction fetchResource(
65
resourceUrl: string,
76
options: RequestInitExtended = {},
87
): Promise<{ parameters: IriTemplateMapping[] }> {
9-
return fetchJsonLd(
8+
constresponse=await fetchJsonLd(
109
resourceUrl,
1110
// oxlint-disable-next-line prefer-object-spread
1211
Object.assign({ itemsPerPage: 0 }, options),
13-
).then((d: ResponseDocument | EmptyResponseDocument) => {
14-
let hasPrefix = true;
15-
if ((d as ResponseDocument).body) {
16-
hasPrefix = "hydra:search" in (d as ResponseDocument).body;
17-
}
18-
return {
19-
parameters: (hasPrefix
20-
? (d as any)?.body?.["hydra:search"]?.["hydra:mapping"]
21-
: (d as any)?.body?.search?.mapping) as unknown as IriTemplateMapping[],
22-
};
23-
});
12+
);
13+
14+
let hasPrefix = true;
15+
if ("body" in response) {
16+
hasPrefix = "hydra:search" in response.body;
17+
}
18+
return {
19+
parameters: (hasPrefix
20+
? (response as any)?.body?.["hydra:search"]?.["hydra:mapping"]
21+
: (response as any)?.body?.search
22+
?.mapping) as unknown as IriTemplateMapping[],
23+
};
2424
}

‎src/hydra/getParameters.ts‎

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,23 @@ import fetchResource from "./fetchResource.js";
33
import type { Resource } from "../Resource.js";
44
import type { RequestInitExtended } from "./types.js";
55

6-
export default function getParameters(
6+
export default asyncfunction getParameters(
77
resource: Resource,
88
options: RequestInitExtended = {},
99
): Promise<Parameter[]> {
10-
returnfetchResource(resource.url,options).then(({ parameters = [] })=>{
11-
const resourceParameters: Parameter[] = [];
12-
for (const { property = null, required, variable } of parameters) {
13-
if (property === null) {
14-
continue;
15-
}
10+
const{ parameters = [] }=awaitfetchResource(resource.url,options);
11+
const resourceParameters: Parameter[] = [];
12+
for (const { property = null, required, variable } of parameters) {
13+
if (property === null) {
14+
continue;
15+
}
1616

17-
const { range = null } = resource.fields
18-
? resource.fields.find(({ name }) => property === name) || {}
19-
: {};
17+
const { range = null } =
18+
resource.fields?.find(({ name }) => property === name) || {};
2019

21-
resourceParameters.push(new Parameter(variable, range, required, ""));
22-
}
23-
resource.parameters = resourceParameters;
20+
resourceParameters.push(new Parameter(variable, range, required, ""));
21+
}
22+
resource.parameters = resourceParameters;
2423

25-
return resourceParameters;
26-
});
24+
return resourceParameters;
2725
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /