9af5abba86
Introduces a rule that collects declared JavaScript module output files from a list of dependencies based on a configurable JavaScript module provider. The extracted outputs are exposed within the `DefaultInfo` provider. Targets defined using this rule can be used as input for rules that require JavaScript sources, or if there are multiple JavaScript output variants defined for a target while for example only the `JSModuleInfo` outputs are of interest. As an example: This rule is helpful in combination with `ts_library` and `ng_module` as those rule expose multiple output flavors (which are distinguishable by the JavaScript module providers as imported from `providers.bzl`). i.e. these rules expose flavors for named AMD modules and ECMAScript module output. If we want to ship a NPM package only using ECMAScript modules for example, we could extract all `JSEcmaScriptModuleInfo`-denoted output and feed that into the `pkg_npm` rule, compared to bringing in all output flavors. For reference: https://github.com/bazelbuild/rules_nodejs/blob/stable/packages/typescript/internal/build_defs.bzl#L334-L337 PR Close #42809 |
||
---|---|---|
.. | ||
api-golden | ||
browsers | ||
remote-execution | ||
BUILD.bazel | ||
expand_template.bzl | ||
extract_js_module_output.bzl |