import("npm.gni") template("asar") { assert(defined(invoker.sources), "Need sources in $target_name listing the JS files.") assert(defined(invoker.outputs), "Need asar name (as 1-element array, e.g. \$root_out_dir/foo.asar)") assert(defined(invoker.root), "Need asar root directory") asar_root = invoker.root copy_target_name = target_name + "_inputs" copy(copy_target_name) { sources = invoker.sources outputs = [ "$target_gen_dir/$target_name/{{source_target_relative}}" ] } npm_action(target_name) { forward_variables_from(invoker, ["deps", "public_deps"]) deps = [":$copy_target_name"] sources = invoker.sources script = "asar" outputs = invoker.outputs args = [ "pack", rebase_path("$target_gen_dir/$target_name/$asar_root") ] + rebase_path(outputs) } }