template("npm_action") {
assert(defined(invoker.script),
"Need script name to run (must be defined in package.json)")
assert(defined(invoker.args), "Need script argumets")
action("npm_pre_flight_" + target_name) {
inputs = [
"package.json",
"yarn.lock",
]
script = "//electron/build/npm-run.py"
outputs = [ "$target_gen_dir/npm_pre_stamps/" + target_name + ".stamp" ]
args = [
"--silent",
"pre-flight",
"--",
"--stamp",
rebase_path(outputs[0]),
}
action(target_name) {
forward_variables_from(invoker,
[
"deps",
"public_deps",
"sources",
"inputs",
"outputs",
])
if (!defined(deps)) {
deps = []
deps += [ ":npm_pre_flight_" + target_name ]
invoker.script,
] + invoker.args