| # Copyright 2013 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//flutter/common/config.gni") |
| |
| template("esbuild") { |
| assert(defined(invoker.entry_point)) |
| assert(defined(invoker.output_bundle)) |
| action(target_name) { |
| forward_variables_from(invoker, [ "public_deps" ]) |
| if (host_os == "win") { |
| executable_subpath = "esbuild.exe" |
| } else { |
| executable_subpath = "bin/esbuild" |
| } |
| esbuild = "$host_prebuilts_path/esbuild/$executable_subpath" |
| |
| script = "//build/gn_run_binary.py" |
| inputs = [ |
| esbuild, |
| invoker.entry_point, |
| ] |
| output_filename = get_path_info(invoker.entry_point, "file") |
| output_path = "${invoker.output_bundle}/$output_filename" |
| outputs = [ output_path ] |
| absolute_output = rebase_path(invoker.output_bundle) |
| args = [ rebase_path(esbuild, root_build_dir) ] |
| if (defined(invoker.bundle) && invoker.bundle) { |
| args += [ "--bundle" ] |
| } |
| if (defined(invoker.minify) && invoker.minify) { |
| args += [ "--minify" ] |
| } |
| if (defined(invoker.sourcemap) && invoker.sourcemap) { |
| args += [ "--sourcemap" ] |
| outputs += [ output_path + ".map" ] |
| } |
| args += [ |
| "--outdir=$absolute_output", |
| rebase_path(invoker.entry_point), |
| ] |
| } |
| } |