fix: do not return empty struct if there is no compile action
Currently if there is no action for a `ts_library` that just declares
`.d.ts` files, the `replay_params` will be set to an empty struct.
Design-wise this does not make any sense because there is nothing to be
"replayed".
This fixes an issue where the Angular Bazel rules throw an exception if
there are "replay_params", but are referring to a struct that does not
include the "outputs" property.
```
target.typescript.replay_params.outputs
struct' object has no attribute 'outputs'
```
Closes #326
PiperOrigin-RevId: 223888797
diff --git a/internal/build_defs.bzl b/internal/build_defs.bzl
index 7602db6..51d15b1 100644
--- a/internal/build_defs.bzl
+++ b/internal/build_defs.bzl
@@ -94,7 +94,7 @@
# A ts_library that has only .d.ts inputs will have no outputs,
# therefore there are no actions to execute
if not action_outputs:
- return struct()
+ return None
action_inputs.extend(_filter_ts_inputs(ctx.files.node_modules))
diff --git a/package.bzl b/package.bzl
index 2cb87c2..34dbd52 100644
--- a/package.bzl
+++ b/package.bzl
@@ -24,7 +24,7 @@
# It will be automatically synced via the npm "version" script
# that is run when running `npm version` during the release
# process. See `Releasing` section in README.md.
-VERSION = "0.20.3"
+VERSION = "0.21.0"
def rules_typescript_dependencies():
"""
@@ -38,8 +38,8 @@
_maybe(
http_archive,
name = "build_bazel_rules_nodejs",
- urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.16.0.zip"],
- strip_prefix = "rules_nodejs-0.16.0",
+ urls = ["https://github.com/bazelbuild/rules_nodejs/archive/0.16.1.zip"],
+ strip_prefix = "rules_nodejs-0.16.1",
)
# ts_web_test depends on the web testing rules to provision browsers.
diff --git a/package.json b/package.json
index 641b98f..703eed8 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"description": "Monorepo for TypeScript Bazel support. Published packages are in subdirectories under internal/",
"private": true,
- "version": "0.20.3",
+ "version": "0.21.0",
"dependencies": {
"jasmine-core": "2.8.0",
"karma": "alexeagle/karma#fa1a84ac881485b5657cb669e9b4e5da77b79f0a",