From 4fedc702c60c4d0358354312e19eadef4d97e922 Mon Sep 17 00:00:00 2001 From: Satya Rohith Date: Wed, 19 May 2021 09:48:01 +0530 Subject: fix(runtime): support source maps with Deno.emit() and bundle (#10510) Closes: #10413 --- cli/tests/compiler_api_test.ts | 57 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 4 deletions(-) (limited to 'cli/tests/compiler_api_test.ts') diff --git a/cli/tests/compiler_api_test.ts b/cli/tests/compiler_api_test.ts index c6e7de651..00116e7e1 100644 --- a/cli/tests/compiler_api_test.ts +++ b/cli/tests/compiler_api_test.ts @@ -2,6 +2,7 @@ import { assert, assertEquals, + assertStringIncludes, assertThrowsAsync, } from "../../test_util/std/testing/asserts.ts"; @@ -188,7 +189,10 @@ Deno.test({ assertEquals(diagnostics.length, 0); assert(!ignoredOptions); assertEquals(stats.length, 12); - assertEquals(Object.keys(files), ["deno:///bundle.js"]); + assertEquals( + Object.keys(files).sort(), + ["deno:///bundle.js", "deno:///bundle.js.map"].sort(), + ); assert(files["deno:///bundle.js"].includes(`const bar1 = "bar"`)); }, }); @@ -205,7 +209,10 @@ Deno.test({ assertEquals(diagnostics.length, 0); assert(!ignoredOptions); assertEquals(stats.length, 12); - assertEquals(Object.keys(files), ["deno:///bundle.js"]); + assertEquals( + Object.keys(files).sort(), + ["deno:///bundle.js", "deno:///bundle.js.map"].sort(), + ); assert(files["deno:///bundle.js"].length); }, }); @@ -226,7 +233,10 @@ Deno.test({ assertEquals(diagnostics.length, 0); assert(!ignoredOptions); assertEquals(stats.length, 12); - assertEquals(Object.keys(files), ["deno:///bundle.js"]); + assertEquals( + Object.keys(files).sort(), + ["deno:///bundle.js.map", "deno:///bundle.js"].sort(), + ); assert(files["deno:///bundle.js"].includes(`const bar1 = "bar"`)); }, }); @@ -333,9 +343,10 @@ Deno.test({ }); assert(diagnostics); assertEquals(diagnostics.length, 0); - assertEquals(Object.keys(files).length, 1); + assertEquals(Object.keys(files).length, 2); assert(files["deno:///bundle.js"].startsWith("(function() {\n")); assert(files["deno:///bundle.js"].endsWith("})();\n")); + assert(files["deno:///bundle.js.map"]); }, }); @@ -357,3 +368,41 @@ Deno.test({ ); }, }); + +Deno.test({ + name: `Deno.emit() - support source maps with bundle option`, + async fn() { + { + const { diagnostics, files } = await Deno.emit("/a.ts", { + bundle: "classic", + sources: { + "/a.ts": `import { b } from "./b.ts"; + console.log(b);`, + "/b.ts": `export const b = "b";`, + }, + compilerOptions: { + inlineSourceMap: true, + sourceMap: false, + }, + }); + assert(diagnostics); + assertEquals(diagnostics.length, 0); + assertEquals(Object.keys(files).length, 1); + assertStringIncludes(files["deno:///bundle.js"], "sourceMappingURL"); + } + + const { diagnostics, files } = await Deno.emit("/a.ts", { + bundle: "classic", + sources: { + "/a.ts": `import { b } from "./b.ts"; + console.log(b);`, + "/b.ts": `export const b = "b";`, + }, + }); + assert(diagnostics); + assertEquals(diagnostics.length, 0); + assertEquals(Object.keys(files).length, 2); + assert(files["deno:///bundle.js"]); + assert(files["deno:///bundle.js.map"]); + }, +}); -- cgit v1.2.3