Skip to content

Commit

Permalink
test: add test of empty node_modules target (#1513)
Browse files Browse the repository at this point in the history
Close #918
  • Loading branch information
jbedard authored Mar 21, 2024
1 parent 1c7e54d commit 3c7bda8
Show file tree
Hide file tree
Showing 8 changed files with 50 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# Input hashes for repository rule npm_translate_lock(name = "npm", pnpm_lock = "//:pnpm-lock.yaml").
# This file should be checked into version control along with the pnpm-lock.yaml file.
.npmrc=-2065072158
pnpm-lock.yaml=845121446
pnpm-lock.yaml=-2038379638
examples/npm_deps/patches/meaning-of-life@1.0.0-pnpm.patch=-442666336
package.json=-275319675
pnpm-workspace.yaml=116986059
pnpm-workspace.yaml=-871530930
examples/js_binary/package.json=-41174383
examples/macro/package.json=857146175
examples/npm_deps/package.json=283109008
Expand All @@ -20,6 +20,7 @@ npm/private/test/vendored/lodash-4.17.21.tgz=-1206623349
npm/private/test/npm_package/package.json=-1991705133
npm/private/test/vendored/is-odd/package.json=1041695223
npm/private/test/vendored/semver-max/package.json=578664053
examples/linked_empty_node_modules/package.json=-1039372825
js/private/image/package.json=-1260474848
js/private/test/image/package.json=1286417612
js/private/test/js_run_devserver/package.json=-260856079
1 change: 1 addition & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
e2e/
examples/js_binary/node_modules/
examples/linked_empty_node_modules/node_modules
examples/macro/node_modules/
examples/npm_deps/node_modules/
examples/npm_package/libs/lib_a/node_modules/
Expand Down
35 changes: 35 additions & 0 deletions examples/linked_empty_node_modules/BUILD.bazel

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions examples/linked_empty_node_modules/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions examples/linked_empty_node_modules/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions npm/private/test/npm_defs_checked.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -1019,12 +1019,12 @@ load("@@npm__at_types_yauzl__registry.npmjs.org_at_types_yauzl_2.10.0__links//:d
# buildifier: disable=function-docstring
def npm_link_all_packages(name = "node_modules", imported_links = []):
root_package = ""
link_packages = ["", "examples/js_binary", "examples/macro", "examples/npm_deps", "examples/npm_package/libs/lib_a", "examples/npm_package/packages/pkg_a", "examples/npm_package/packages/pkg_b", "examples/webpack_cli", "js/private/coverage/bundle", "js/private/image", "js/private/test/image", "js/private/test/js_run_devserver", "js/private/worker/src", "npm/private/test", "npm/private/test/npm_package"]
link_packages = ["", "examples/js_binary", "examples/linked_empty_node_modules", "examples/macro", "examples/npm_deps", "examples/npm_package/libs/lib_a", "examples/npm_package/packages/pkg_a", "examples/npm_package/packages/pkg_b", "examples/webpack_cli", "js/private/coverage/bundle", "js/private/image", "js/private/test/image", "js/private/test/js_run_devserver", "js/private/worker/src", "npm/private/test", "npm/private/test/npm_package"]
bazel_package = native.package_name()
is_root = bazel_package == root_package
link = bazel_package in link_packages
if not is_root and not link:
msg = "The npm_link_all_packages() macro loaded from @npm//:defs.bzl and called in bazel package '%s' may only be called in bazel packages that correspond to the pnpm root package or pnpm workspace projects. Projects are discovered from the pnpm-lock.yaml and may be missing if the lockfile is out of date. Root package: '', pnpm workspace projects: '', 'examples/js_binary', 'examples/macro', 'examples/npm_deps', 'examples/npm_package/libs/lib_a', 'examples/npm_package/packages/pkg_a', 'examples/npm_package/packages/pkg_b', 'examples/webpack_cli', 'js/private/coverage/bundle', 'js/private/image', 'js/private/test/image', 'js/private/test/js_run_devserver', 'js/private/worker/src', 'npm/private/test', 'npm/private/test/npm_package'" % native.package_name()
msg = "The npm_link_all_packages() macro loaded from @npm//:defs.bzl and called in bazel package '%s' may only be called in bazel packages that correspond to the pnpm root package or pnpm workspace projects. Projects are discovered from the pnpm-lock.yaml and may be missing if the lockfile is out of date. Root package: '', pnpm workspace projects: '', 'examples/js_binary', 'examples/linked_empty_node_modules', 'examples/macro', 'examples/npm_deps', 'examples/npm_package/libs/lib_a', 'examples/npm_package/packages/pkg_a', 'examples/npm_package/packages/pkg_b', 'examples/webpack_cli', 'js/private/coverage/bundle', 'js/private/image', 'js/private/test/image', 'js/private/test/js_run_devserver', 'js/private/worker/src', 'npm/private/test', 'npm/private/test/npm_package'" % native.package_name()
fail(msg)
link_targets = []
scope_targets = {}
Expand Down Expand Up @@ -2401,7 +2401,7 @@ def npm_link_all_packages(name = "node_modules", imported_links = []):

# buildifier: disable=function-docstring
def npm_link_targets(name = "node_modules", package = None):
link_packages = ["", "examples/js_binary", "examples/macro", "examples/npm_deps", "examples/npm_package/libs/lib_a", "examples/npm_package/packages/pkg_a", "examples/npm_package/packages/pkg_b", "examples/webpack_cli", "js/private/coverage/bundle", "js/private/image", "js/private/test/image", "js/private/test/js_run_devserver", "js/private/worker/src", "npm/private/test", "npm/private/test/npm_package"]
link_packages = ["", "examples/js_binary", "examples/linked_empty_node_modules", "examples/macro", "examples/npm_deps", "examples/npm_package/libs/lib_a", "examples/npm_package/packages/pkg_a", "examples/npm_package/packages/pkg_b", "examples/webpack_cli", "js/private/coverage/bundle", "js/private/image", "js/private/test/image", "js/private/test/js_run_devserver", "js/private/worker/src", "npm/private/test", "npm/private/test/npm_package"]
bazel_package = package if package != None else native.package_name()
link = bazel_package in link_packages

Expand Down
2 changes: 2 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ packages:
- 'examples/npm_package/packages/pkg_a'
- 'examples/npm_package/packages/pkg_b'
- 'examples/webpack_cli'
- 'examples/linked_empty_node_modules'
- 'js/private/coverage/bundle'
- 'js/private/worker/src'
- 'js/private/image'
Expand Down

0 comments on commit 3c7bda8

Please sign in to comment.