Skip to content

Commit 41e17bb

Browse files
committed
chore: upgrade TypeScript from 5.6.3 to 6.0.3
- Update typescript to ^6.0.3 and @types/node to ^24.12.2 - Change tsconfig module/moduleResolution from esnext/node to nodenext - Fix catch clause variables typed as unknown (stricter in TS 6) - Replace @ts-ignore with @ts-expect-error - Fix definite assignment assertion for Logger.result - Fix view-engine type compatibility with express
1 parent 39ce491 commit 41e17bb

16 files changed

Lines changed: 51 additions & 40 deletions

File tree

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@
5353
"@types/cors": "^2.8.19",
5454
"@types/express": "^5.0.6",
5555
"@types/morgan": "^1.9.10",
56-
"@types/node": "^22.9.0",
56+
"@types/node": "^24.12.2",
5757
"@types/split2": "^4.2.3",
5858
"jasmine": "^6.2.0",
5959
"simple-git-hooks": "^2.13.1",
60-
"typescript": "^5.6.3"
60+
"typescript": "^6.0.3"
6161
}
6262
}

pnpm-lock.yaml

Lines changed: 20 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

routes/caniuse/feature.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@ export default async function route(req: IRequest, res: Response) {
2424
}
2525
res.json({ result });
2626
} catch (error) {
27-
const errorCode = error.message === "INTERNAL_ERROR" ? 500 : 404;
27+
const message = error instanceof Error ? error.message : String(error);
28+
const errorCode = message === "INTERNAL_ERROR" ? 500 : 404;
2829
res.status(errorCode);
2930
res.setHeader("Content-Type", "text/plain");
30-
res.send(error.message);
31+
res.send(message);
3132
}
3233
}
3334

routes/caniuse/update.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { cache } from "./lib/index.js";
55
import { Request, Response } from "express";
66

77
const workerFile = path.join(import.meta.dirname, "update.worker.js");
8-
const taskQueue = new BackgroundTaskQueue<typeof import("./update.worker")>(
8+
const taskQueue = new BackgroundTaskQueue<typeof import("./update.worker.ts")>(
99
workerFile,
1010
"caniuse_update",
1111
);

routes/docs/update.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ export default async function route(_req: Request, res: Response) {
1414
console.log(`Successfully regenerated docs in ${Date.now() - start}ms.`);
1515
res.sendStatus(200); // ok
1616
} catch (error) {
17-
const { message = "", statusCode = 500 } = error;
17+
const message = error instanceof Error ? error.message : String(error);
18+
const statusCode = error instanceof HTTPError ? error.statusCode : 500;
1819
console.error(`Failed to regenerate docs: ${message.slice(0, 400)}...`);
1920
res.status(statusCode);
2021
res.send(message);

routes/github/commits.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export default async function route(req: IRequest, res: Response) {
3737
res.json(commits);
3838
} catch (error) {
3939
res.set("Content-Type", "text/plain");
40-
res.status(404).send(error.message);
40+
const message = error instanceof Error ? error.message : String(error);
41+
res.status(404).send(message);
4142
}
4243
}

routes/github/contributors.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export default async function route(req: IRequest, res: Response) {
4141
contributors.push(contributor);
4242
}
4343
} catch (err) {
44-
if (err.message && err.message.includes("404 Not Found")) {
44+
if (err instanceof Error && err.message.includes("404 Not Found")) {
4545
await cache.set(cacheKey, null);
4646
return res.sendStatus(404);
4747
} else {

routes/github/files.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ export default async function route(req: IRequest, res: Response) {
1717
res.set("Cache-Control", `max-age=${seconds("30m")}`);
1818
res.json({ entries });
1919
} catch (error) {
20-
const errorCode = error.message === "INTERNAL_ERROR" ? 500 : 404;
20+
const message = error instanceof Error ? error.message : String(error);
21+
const errorCode = message === "INTERNAL_ERROR" ? 500 : 404;
2122
res.status(errorCode);
2223
res.setHeader("Content-Type", "text/plain");
23-
res.send(error.message);
24+
res.send(message);
2425
}
2526
}
2627

routes/respec/builds/update.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { mkdir, readFile } from "node:fs/promises";
33

44
import type { Request, Response } from "express";
55

6-
import { env } from "../../../utils/misc.js";
6+
import { env, HTTPError } from "../../../utils/misc.js";
77
import sh from "../../../utils/sh.js";
88

99
export const PKG_DIR = path.join(env("DATA_DIR"), "respec", "package");
@@ -25,7 +25,8 @@ export default async function route(req: Request, res: Response) {
2525
await pullRelease();
2626
res.sendStatus(200); // ok
2727
} catch (error) {
28-
const { message = "", statusCode = 500 } = error;
28+
const message = error instanceof Error ? error.message : String(error);
29+
const statusCode = error instanceof HTTPError ? error.statusCode : 500;
2930
console.error(`Failed to pull respec release: ${message.slice(0, 400)}...`);
3031
res.status(statusCode);
3132
res.send(message);

routes/w3c/group.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ export default async function route(req: IRequest, res: Response) {
6565
res.set("Cache-Control", `max-age=${seconds("24h")}`);
6666
res.json(groupInfo);
6767
} catch (error) {
68-
const { statusCode = 500, message } = error;
68+
const statusCode = error instanceof HTTPError ? error.statusCode : 500;
69+
const message = error instanceof Error ? error.message : String(error);
6970
res.set("Content-Type", "text/plain");
7071
res.status(statusCode).send(message);
7172
}
@@ -118,8 +119,8 @@ async function fetchGroupInfo(
118119
var json = (await res.json()) as APIResponse;
119120
} catch (error) {
120121
throw new HTTPError(
121-
error.statusCode || 500,
122-
error.message
122+
error instanceof HTTPError ? error.statusCode : 500,
123+
error instanceof Error ? error.message : String(error),
123124
);
124125
}
125126

0 commit comments

Comments
 (0)