aspect-build / rules_ts

Bazel rules for the `tsc` compiler from http://typescriptlang.org
https://docs.aspect.build/rules/aspect_rules_ts
Apache License 2.0
106 stars 62 forks source link

[Bug]: “...is a directory; dependency checking of directories is unsound” warning #589

Open shinypb opened 7 months ago

shinypb commented 7 months ago

What happened?

WARNING: /home/ubuntu/.cache/bazel/_bazel_ubuntu/0b37e5958ef8909453aa6cc50b6ee420/external/aspect_rules_ts~~ext~npm_typescript/BUILD.bazel:32:17: input 'package' to @@aspect_rules_ts~~ext~npm_typescript//:.aspect_rules_js/node_modules/typescript is a directory; dependency checking of directories is unsound

This looks very similar to https://github.com/aspect-build/rules_js/issues/1408 over in rules_js, so I'm not going to put too much into this bug report unless asked to.

Version

Development (host) and target OS/architectures: Ubuntu running under Docker, ARM64 and x86_64

Output of bazel --version:

Bazelisk version: v1.15.0
INFO: Invocation ID: 74094144-8cc1-4545-90d6-009778763704
Build label: 7.1.1
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Thu Mar 21 18:08:02 2024 (1711044482)
Build timestamp: 1711044482
Build timestamp as int: 1711044482

Version of the Aspect rules, or other relevant rules from your WORKSPACE or MODULE.bazel file:

bazel_dep(name = "aspect_bazel_lib", version = "2.7.0")
bazel_dep(name = "aspect_rules_js", version = "1.41.0")
bazel_dep(name = "aspect_rules_jest", version = "0.20.0")
bazel_dep(name = "aspect_rules_lint", version = "0.18.0")
bazel_dep(name = "aspect_rules_py", version = "0.7.1")
bazel_dep(name = "aspect_rules_swc", version = "1.2.2")
bazel_dep(name = "aspect_rules_ts", version = "2.2.0")
bazel_dep(name = "aspect_rules_webpack", version = "0.14.0")
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0")
bazel_dep(name = "platforms", version = "0.0.9")
bazel_dep(name = "rules_multirun", version = "0.9.0")
bazel_dep(name = "rules_multitool", version = "0.4.0")
bazel_dep(name = "rules_nodejs", version = "6.1.0")
bazel_dep(name = "rules_oci", version = "1.7.5")
bazel_dep(name = "rules_python", version = "0.31.0")
bazel_dep(name = "rules_shellcheck", version = "0.3.3")

Language(s) and/or frameworks involved: TypeScript

How to reproduce

No response

Any other information?

No response

jbedard commented 7 months ago

This is exactly issue you mentioned, rules_ts just reproducing it. See the comment showing how to suppress the warning.

shinypb commented 7 months ago

This comment made me think there might be work required over here as well: https://github.com/aspect-build/rules_js/issues/1408#issuecomment-2045767314