mirror of
https://github.com/denoland/deno.git
synced 2025-09-30 06:04:48 +00:00
Deno.bundle supports targets < ES2017. (#6328)
This commit provides a "system_loader_es5.js" bundle loader which will be added to the bundle when the target is < ES2017, which is the minimum target syntax required for "system_loader.js". Supports #5913 (via Deno.bundle()) with a couple caveats: * Allowing "deno bundle" to take a different target is not supported, as we specifically ignore "target" when passed in a TypeScript config file. This is because deno bundle is really intended to generate bundles that work in Deno. It is an unintentional side effect that some bundles are loadable in browsers. * While a target of "es3" will be accepted, the module loader will still only be compatible with ES5 or later. Realistically no one should be expecting bundles generated by Deno to be used on IE8 and prior, and there is just too much "baggage" to support that at this point.
This commit is contained in:
parent
e88d72f101
commit
75bb9dbdfc
7 changed files with 430 additions and 185 deletions
|
@ -208,7 +208,7 @@ pub fn mksnapshot_bundle(
|
|||
js_check(
|
||||
isolate.execute(&bundle_filename.to_string_lossy(), bundle_source_code),
|
||||
);
|
||||
let script = &format!("__instantiate(\"{}\");", main_module_name);
|
||||
let script = &format!("__instantiate(\"{}\", false);", main_module_name);
|
||||
js_check(isolate.execute("anon", script));
|
||||
write_snapshot(isolate, snapshot_filename)?;
|
||||
Ok(())
|
||||
|
@ -252,6 +252,7 @@ pub fn get_asset(name: &str) -> Option<&'static str> {
|
|||
}
|
||||
match name {
|
||||
"system_loader.js" => Some(include_str!("system_loader.js")),
|
||||
"system_loader_es5.js" => Some(include_str!("system_loader_es5.js")),
|
||||
"bootstrap.ts" => Some("console.log(\"hello deno\");"),
|
||||
"typescript.d.ts" => inc!("typescript.d.ts"),
|
||||
"lib.dom.d.ts" => inc!("lib.dom.d.ts"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue