summaryrefslogtreecommitdiff
path: root/js/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'js/build.rs')
-rw-r--r--js/build.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/js/build.rs b/js/build.rs
new file mode 100644
index 000000000..1063fd8eb
--- /dev/null
+++ b/js/build.rs
@@ -0,0 +1,28 @@
+// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+use std::env;
+use std::path::PathBuf;
+
+fn main() {
+ // To debug snapshot issues uncomment:
+ // deno_typescript::trace_serializer();
+
+ println!(
+ "cargo:rustc-env=TS_VERSION={}",
+ deno_typescript::ts_version()
+ );
+
+ let c = PathBuf::from(env::var_os("CARGO_MANIFEST_DIR").unwrap());
+ let o = PathBuf::from(env::var_os("OUT_DIR").unwrap());
+
+ let root_names = vec![c.join("main.ts")];
+ let bundle = o.join("CLI_SNAPSHOT.js");
+ let state = deno_typescript::compile_bundle(&bundle, root_names).unwrap();
+ assert!(bundle.exists());
+ deno_typescript::mksnapshot_bundle(&bundle, state).unwrap();
+
+ let root_names = vec![c.join("compiler.ts")];
+ let bundle = o.join("COMPILER_SNAPSHOT.js");
+ let state = deno_typescript::compile_bundle(&bundle, root_names).unwrap();
+ assert!(bundle.exists());
+ deno_typescript::mksnapshot_bundle_ts(&bundle, state).unwrap();
+}