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 {
}