bazel-contrib / rules_nodejs

NodeJS toolchain for Bazel.
https://bazelbuild.github.io/rules_nodejs/
Apache License 2.0
733 stars 522 forks source link

[Bug]: `@bazel/runfiles` should not throw an exception if used outside of a Bazel invocation #3770

Open shs96c opened 3 months ago

shs96c commented 3 months ago

What happened?

I have a library that sometimes expects to be used in a Bazel build, but can also be used in a regular JS project built using npm. One utility function attempts to locate files, using @bazel/runfiles if it can't find the files the regular way.

When used in the regular npm project, the line const { runfiles } = require('@bazel/runfiles') throws an exception. I would expect the check to be done when the resolve function is called, allowing @bazel/runfiles to be used as a regular library in a normal JS project.

Version

Bazel 7.2.1. Runfiles 5.8.1

How to reproduce

Load `const { runfiles } = require('@bazel/runfiles')` in a regular project

Any other information?

No response