fix(bazel): transitive npm deps in ng_module (#30065)
BREAKING CHANGE: ng_module now depends on a minimum of build_bazel_rules_nodejs 0.27.12 PR Close #30065
This commit is contained in:
parent
3a9d2473ca
commit
61365a94ed
|
@ -41,7 +41,8 @@ Try running `yarn bazel` instead.
|
||||||
# - 0.15.3 Includes a fix for the `jasmine_node_test` rule ignoring target tags
|
# - 0.15.3 Includes a fix for the `jasmine_node_test` rule ignoring target tags
|
||||||
# - 0.16.8 Supports npm installed bazel workspaces
|
# - 0.16.8 Supports npm installed bazel workspaces
|
||||||
# - 0.26.0 Fix for data files in yarn_install and npm_install
|
# - 0.26.0 Fix for data files in yarn_install and npm_install
|
||||||
check_rules_nodejs_version("0.26.0")
|
# - 0.27.12 Adds NodeModuleSources provider for transtive npm deps support
|
||||||
|
check_rules_nodejs_version("0.27.12")
|
||||||
|
|
||||||
# Setup the Node.js toolchain
|
# Setup the Node.js toolchain
|
||||||
node_repositories(
|
node_repositories(
|
||||||
|
|
|
@ -16,6 +16,7 @@ load(
|
||||||
load(
|
load(
|
||||||
"@build_bazel_rules_nodejs//internal/common:node_module_info.bzl",
|
"@build_bazel_rules_nodejs//internal/common:node_module_info.bzl",
|
||||||
_NodeModuleInfo = "NodeModuleInfo",
|
_NodeModuleInfo = "NodeModuleInfo",
|
||||||
|
_NodeModuleSources = "NodeModuleSources",
|
||||||
_collect_node_modules_aspect = "collect_node_modules_aspect",
|
_collect_node_modules_aspect = "collect_node_modules_aspect",
|
||||||
)
|
)
|
||||||
load(
|
load(
|
||||||
|
@ -24,6 +25,7 @@ load(
|
||||||
)
|
)
|
||||||
|
|
||||||
NodeModuleInfo = _NodeModuleInfo
|
NodeModuleInfo = _NodeModuleInfo
|
||||||
|
NodeModuleSources = _NodeModuleSources
|
||||||
collect_node_modules_aspect = _collect_node_modules_aspect
|
collect_node_modules_aspect = _collect_node_modules_aspect
|
||||||
|
|
||||||
tsc_wrapped_tsconfig = _tsc_wrapped_tsconfig
|
tsc_wrapped_tsconfig = _tsc_wrapped_tsconfig
|
||||||
|
|
|
@ -14,6 +14,7 @@ load(
|
||||||
"DEFAULT_NG_XI18N",
|
"DEFAULT_NG_XI18N",
|
||||||
"DEPS_ASPECTS",
|
"DEPS_ASPECTS",
|
||||||
"NodeModuleInfo",
|
"NodeModuleInfo",
|
||||||
|
"NodeModuleSources",
|
||||||
"TsConfigInfo",
|
"TsConfigInfo",
|
||||||
"collect_node_modules_aspect",
|
"collect_node_modules_aspect",
|
||||||
"compile_ts",
|
"compile_ts",
|
||||||
|
@ -498,10 +499,11 @@ def _compile_action(ctx, inputs, outputs, dts_bundles_out, messages_out, tsconfi
|
||||||
file_inputs += ctx.attr.tsconfig[TsConfigInfo].deps
|
file_inputs += ctx.attr.tsconfig[TsConfigInfo].deps
|
||||||
|
|
||||||
# Also include files from npm fine grained deps as action_inputs.
|
# Also include files from npm fine grained deps as action_inputs.
|
||||||
# These deps are identified by the NodeModuleInfo provider.
|
# These deps are identified by the NodeModuleSources provider.
|
||||||
for d in ctx.attr.deps:
|
for d in ctx.attr.deps:
|
||||||
if NodeModuleInfo in d:
|
if NodeModuleSources in d:
|
||||||
file_inputs.extend(_filter_ts_inputs(d.files))
|
# Note: we can't avoid calling .to_list() on sources
|
||||||
|
file_inputs.extend(_filter_ts_inputs(d[NodeModuleSources].sources.to_list()))
|
||||||
|
|
||||||
# Collect the inputs and summary files from our deps
|
# Collect the inputs and summary files from our deps
|
||||||
action_inputs = depset(
|
action_inputs = depset(
|
||||||
|
|
Loading…
Reference in New Issue