From 6cd9c92d50f3565651a385b4a381d4a6bff5f623 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 20 Mar 2024 15:49:38 -0700 Subject: [PATCH] Preserve resolution-mode as-written too --- src/compiler/emitter.ts | 4 ++-- ...TripleSlashReferenceModeDeclarationEmit5(module=node16).js | 2 +- ...ipleSlashReferenceModeDeclarationEmit5(module=nodenext).js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 2ed4041e264d5..15e1847f72ac3 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -4183,10 +4183,10 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri function writeDirectives(kind: "path" | "types" | "lib", directives: readonly FileReference[]) { for (const directive of directives) { - const preserve = directive.preserve ? `preserve="true" ` : ""; - const resolutionMode = directive.resolutionMode && directive.resolutionMode !== currentSourceFile?.impliedNodeFormat + const resolutionMode = directive.resolutionMode ? `resolution-mode="${directive.resolutionMode === ModuleKind.ESNext ? "import" : "require"}" ` : ""; + const preserve = directive.preserve ? `preserve="true" ` : ""; writeComment(`/// `); writeLine(); } diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).js b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).js index 8cff754865c06..c493d944dd946 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).js +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=node16).js @@ -33,6 +33,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [index.d.ts] /// -/// +/// export interface LocalInterface extends ImportInterface, RequireInterface { } diff --git a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).js b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).js index 8cff754865c06..c493d944dd946 100644 --- a/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).js +++ b/tests/baselines/reference/nodeModulesTripleSlashReferenceModeDeclarationEmit5(module=nodenext).js @@ -33,6 +33,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); //// [index.d.ts] /// -/// +/// export interface LocalInterface extends ImportInterface, RequireInterface { }