mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 07:44:48 -05:00
ee9c627cc5
Speeds up startup time, reduces runtime heap size.
60 lines
1.7 KiB
Text
60 lines
1.7 KiB
Text
# Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
|
|
import("//build/compiled_action.gni")
|
|
|
|
# Tempalte to generate a Rollup bundle of code.
|
|
template("bundle") {
|
|
action(target_name) {
|
|
forward_variables_from(invoker, "*")
|
|
script = "//tools/run_node.py"
|
|
outputs = [
|
|
out_dir + out_name + ".js",
|
|
out_dir + out_name + ".js.map",
|
|
]
|
|
depfile = out_dir + out_name + ".d"
|
|
args = [
|
|
rebase_path("third_party/node_modules/rollup/bin/rollup", root_build_dir),
|
|
"-c",
|
|
rebase_path("rollup.config.js", root_build_dir),
|
|
"-i",
|
|
rebase_path("js/" + out_name + ".ts", root_build_dir),
|
|
"-o",
|
|
rebase_path(out_dir + out_name + ".js", root_build_dir),
|
|
"--sourcemapFile",
|
|
rebase_path("."),
|
|
"--silent",
|
|
]
|
|
}
|
|
}
|
|
|
|
template("run_node") {
|
|
action(target_name) {
|
|
forward_variables_from(invoker, "*")
|
|
script = "//tools/run_node.py"
|
|
}
|
|
}
|
|
|
|
# Template to generate different V8 snapshots based on different runtime flags.
|
|
template("snapshot") {
|
|
compiled_action(target_name) {
|
|
forward_variables_from(invoker,
|
|
[
|
|
"testonly",
|
|
"deps",
|
|
])
|
|
tool = "//libdeno:snapshot_creator"
|
|
visibility = [ ":*" ] # Only targets in this file can depend on this.
|
|
snapshot_out_bin = "$target_gen_dir/$target_name.bin"
|
|
inputs = [
|
|
invoker.source_root,
|
|
]
|
|
|
|
outputs = [
|
|
snapshot_out_bin,
|
|
]
|
|
args = rebase_path(outputs, root_build_dir) +
|
|
rebase_path(inputs, root_build_dir)
|
|
|
|
# To debug snapshotting problems:
|
|
# args += ["--trace-serializer"]
|
|
}
|
|
}
|