aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-07 19:11:12 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-07 19:11:12 -0800
commitce081f15e97055ae6641acc5fb7627acaf215602 (patch)
tree886f28866e8d0ecf1b180416f4f8ccb6928b7cc2 /src/javascript/jsc
parentda9a19037f8bcca0ca2fa641446d04cd827f702f (diff)
downloadbun-ce081f15e97055ae6641acc5fb7627acaf215602.tar.gz
bun-ce081f15e97055ae6641acc5fb7627acaf215602.tar.zst
bun-ce081f15e97055ae6641acc5fb7627acaf215602.zip
Optimize sourcemaps
Diffstat (limited to 'src/javascript/jsc')
-rw-r--r--src/javascript/jsc/api/transpiler.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/javascript/jsc/api/transpiler.zig b/src/javascript/jsc/api/transpiler.zig
index 5863f0a69..5f66247bb 100644
--- a/src/javascript/jsc/api/transpiler.zig
+++ b/src/javascript/jsc/api/transpiler.zig
@@ -481,6 +481,24 @@ fn transformOptionsFromJSC(ctx: JSC.C.JSContextRef, temp_allocator: std.mem.Allo
transpiler.runtime.allow_runtime = flag.toBoolean();
}
+ if (object.get(globalThis, "sourcemap")) |flag| {
+ if (flag.isBoolean() or flag.isUndefinedOrNull()) {
+ if (flag.toBoolean()) {
+ transpiler.transform.source_map = Api.SourceMapMode.external;
+ } else {
+ transpiler.transform.source_map = Api.SourceMapMode.inline_into_file;
+ }
+ } else {
+ var sourcemap = flag.toSlice(globalThis, allocator);
+ if (options.SourceMapOption.map.get(sourcemap.slice())) |source| {
+ transpiler.transform.source_map = source.toAPI();
+ } else {
+ JSC.throwInvalidArguments("sourcemap must be one of \"inline\", \"external\", or \"none\"", .{}, ctx, exception);
+ return transpiler;
+ }
+ }
+ }
+
return transpiler;
}