angular/tools/bazel/js_binary.bzl

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

21 lines
691 B
Python
Raw Normal View History

"""
Extension of native `js_binary` to install a NodeJS resolution hook
that will help with automatically adding missing ESM extension and
mapping `@angular/<..>` to the local first-party package directory.
"""
load("@aspect_rules_js//js:defs.bzl", _js_binary = "js_binary")
def js_binary(name, chdir = None, data = [], **kwargs):
if chdir != None:
to_root = ["/".join([".."] * len(chdir.split("/")))]
else:
to_root = "./"
_js_binary(
name = name,
data = data + ["//tools/bazel/node_loader", "//packages:tsconfig_build"],
node_options = ["--import", "%s/tools/bazel/node_loader/index.mjs" % to_root],
**kwargs
)