template("npm_action") { assert(defined(invoker.script), "Need script name to run (must be defined in package.json)") assert(defined(invoker.args), "Need script arguments") action("npm_pre_flight_" + target_name) { inputs = [ "//electron/package.json", "//electron/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 ] script = "//electron/build/npm-run.py" args = [ "--silent", invoker.script, "--", ] + invoker.args } }