From d061f6b70a65de50ff1a7577e4acceeb4f5cfd69 Mon Sep 17 00:00:00 2001 From: silverwind Date: Tue, 10 Dec 2024 09:44:39 +0100 Subject: [PATCH] Change typescript `module` to `nodenext` (#32757) Typescript 5.7 changed semantics around JSON imports and `nodenext` is now [treated differently](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7-beta/#validated-json-imports-in---module-nodenext) than `node16` for JSON imports and it requires the import attribute, so change the value to that and add the attribute to eliminate this typescript error. [`moduleResolution`](https://www.typescriptlang.org/tsconfig/#moduleResolution) is treated as an alias when `module` is `nodenext`, so we don't need to specify it. Also see https://github.com/microsoft/TypeScript/issues/60589. It appears the next Typescript release will fix this for `node16`, but I guess it'll still be good to switch to `nodenext`. --- tsconfig.json | 3 +-- web_src/js/utils/match.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 744f1511e9..e006535c02 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,8 +7,7 @@ ], "compilerOptions": { "target": "es2020", - "module": "node16", - "moduleResolution": "node16", + "module": "nodenext", "lib": ["dom", "dom.iterable", "dom.asynciterable", "esnext"], "allowImportingTsExtensions": true, "allowJs": true, diff --git a/web_src/js/utils/match.ts b/web_src/js/utils/match.ts index 274c9322ff..af669116a2 100644 --- a/web_src/js/utils/match.ts +++ b/web_src/js/utils/match.ts @@ -1,4 +1,4 @@ -import emojis from '../../../assets/emoji.json'; +import emojis from '../../../assets/emoji.json' with {type: 'json'}; import {GET} from '../modules/fetch.ts'; import type {Issue} from '../types.ts';