import("../npm.gni") template("webpack_build") { assert(defined(invoker.config_file), "Need webpack config file to run") assert(defined(invoker.out_file), "Need output file to run") assert(defined(invoker.inputs), "Need webpack inputs to run") npm_action(target_name) { forward_variables_from(invoker, [ "deps", "public_deps", ]) script = "webpack" inputs = [ invoker.config_file, "//electron/build/webpack/webpack.config.base.js", "//electron/tsconfig.json", "//electron/yarn.lock", "//electron/typings/internal-ambient.d.ts", "//electron/typings/internal-electron.d.ts", ] + invoker.inputs mode = "development" if (is_official_build) { mode = "production" } args = [ "--config", rebase_path(invoker.config_file), "--output-filename=" + get_path_info(invoker.out_file, "file"), "--output-path=" + rebase_path(get_path_info(invoker.out_file, "dir")), "--env.buildflags=" + rebase_path("$target_gen_dir/buildflags/buildflags.h"), "--env.mode=" + mode, ] deps += [ "buildflags" ] outputs = [ invoker.out_file ] } }