From 5e6bc12a03144c383ff9e892029accf94b5e40ee Mon Sep 17 00:00:00 2001 From: Michael Nahkies Date: Sun, 2 Jun 2024 12:08:18 +0100 Subject: [PATCH] fix: make all moduleResolution values available adds additional members to the `ModuleResolutionKind` enum to make all possible `moduleResolution` values available. the values are based on the enum in `typescriptServices.js`, namely: ```javascript ModuleResolutionKind = /* @__PURE__ */ ((ModuleResolutionKind3) => { ModuleResolutionKind3[ModuleResolutionKind3["Classic"] = 1] = "Classic"; ModuleResolutionKind3[ModuleResolutionKind3["NodeJs"] = 2] = "NodeJs"; ModuleResolutionKind3[ModuleResolutionKind3["Node10"] = 2] = "Node10"; ModuleResolutionKind3[ModuleResolutionKind3["Node16"] = 3] = "Node16"; ModuleResolutionKind3[ModuleResolutionKind3["NodeNext"] = 99] = "NodeNext"; ModuleResolutionKind3[ModuleResolutionKind3["Bundler"] = 100] = "Bundler"; return ModuleResolutionKind3; ``` from a developer experience perspective I would actually prefer if the enum was replaced with the string values that you would use in `tsconfig.json` as I'd find this more intuitive, but this would be a larger breaking change. --- src/language/typescript/monaco.contribution.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/language/typescript/monaco.contribution.ts b/src/language/typescript/monaco.contribution.ts index d272f375fa..12d10b7d14 100644 --- a/src/language/typescript/monaco.contribution.ts +++ b/src/language/typescript/monaco.contribution.ts @@ -49,7 +49,11 @@ export enum ScriptTarget { export enum ModuleResolutionKind { Classic = 1, - NodeJs = 2 + NodeJs = 2, + Node10 = 2, + Node16 = 3, + NodeNext = 99, + Bundler = 100 } //#endregion