mirror of
https://github.com/denoland/deno.git
synced 2025-09-27 12:49:10 +00:00
fix(runtime): support source maps with Deno.emit() and bundle (#10510)
Closes: #10413
This commit is contained in:
parent
7cf674d411
commit
5127bb0d89
4 changed files with 102 additions and 15 deletions
|
@ -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"]);
|
||||
},
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue