Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ bazel_dep(name = "yq.bzl", version = "0.3.2")
bazel_dep(name = "jq.bzl", version = "0.4.0")
bazel_dep(name = "aspect_tools_telemetry", version = "0.3.3")
bazel_dep(name = "bazel_lib", version = "3.0.0")
bazel_dep(name = "bazel_features", version = "1.41.0")
bazel_dep(name = "bazel_skylib", version = "1.5.0")
bazel_dep(name = "platforms", version = "0.0.5")
bazel_dep(name = "rules_nodejs", version = "6.7.3")
Expand Down
17 changes: 11 additions & 6 deletions examples/npm_package/packages/pkg_a/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,37 @@ function getAcornVersion() {
}

function sandboxAssert() {
if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Use of npm_package() copies files into the npm package store.
if (!__filename.includes('/node_modules/.aspect_rules_js/')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]/.test(__filename)) {
throw new Error(`Not in package store: ${__filename}`)
}

// When running under test, files should be in runfiles.
// This package may also be used as a run_binary(tool) and not in a test.
if (process.env.TEST_WORKSPACE) {
// On Windows, Node.js resolves junctions to their real path so __filename
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that a fs-patch bug? Why does that only happen on windows? 🤔

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not an fs-patch bug. Node.js on Windows resolves junctions (directory symlinks) to their real path when returning __filename. This is expected Windows junction behavior.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean... that is a bug. I'm just not sure if we can ever fix it?

// won't start with RUNFILES_DIR.
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not in runfiles: ${__filename}`)
}
}

// Resolve of third-party package 'uuid'
const uuid_path = require.resolve('uuid')
if (!/-sandbox\/\d+\/execroot\//.test(uuid_path)) {
if (!sandboxRe.test(uuid_path)) {
throw new Error(`uuid not in sandbox: ${uuid_path}`)
}
if (!uuid_path.includes('/node_modules/.aspect_rules_js/uuid@')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]uuid@/.test(uuid_path)) {
throw new Error(`uuid not in package store: ${uuid_path}`)
}
if (process.env.TEST_WORKSPACE) {
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!uuid_path.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(
`uuid not in runfiles while __filename is: ${uuid_path}`
Expand Down
17 changes: 11 additions & 6 deletions examples/npm_package/packages/pkg_b/index.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,37 @@ function getAcornVersion() {
}

function sandboxAssert() {
if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Use of npm_package() copies files into the npm package store.
if (!__filename.includes('/node_modules/.aspect_rules_js/')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]/.test(__filename)) {
throw new Error(`Not in package store: ${__filename}`)
}

// When running under test, files should be in runfiles.
// This package may also be used as a run_binary(tool) and not in a test.
if (process.env.TEST_WORKSPACE) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not in runfiles: ${__filename}`)
}
}

// Resolve of third-party package 'uuid'
const uuid_path = require.resolve('uuid')
if (!/-sandbox\/\d+\/execroot\//.test(uuid_path)) {
if (!sandboxRe.test(uuid_path)) {
throw new Error(`uuid not in sandbox: ${uuid_path}`)
}
if (!uuid_path.includes('/node_modules/.aspect_rules_js/uuid@')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]uuid@/.test(uuid_path)) {
throw new Error(`uuid not in package store: ${uuid_path}`)
}
if (process.env.TEST_WORKSPACE) {
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!uuid_path.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(
`uuid not in runfiles while __filename is: ${uuid_path}`
Expand Down
17 changes: 11 additions & 6 deletions examples/npm_package/packages/pkg_b/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,37 @@ export function getAcornVersion() {
export function sandboxAssert() {
const __filename = fileURLToPath(import.meta.url)

if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Use of npm_package() copies files into the npm package store.
if (!__filename.includes('/node_modules/.aspect_rules_js/')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]/.test(__filename)) {
throw new Error(`Not in package store: ${__filename}`)
}

// When running under test, files should be in runfiles.
// This package may also be used as a run_binary(tool) and not in a test.
if (process.env.TEST_WORKSPACE) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not in runfiles: ${__filename}`)
}
}

// Resolve of third-party package 'uuid'
const uuid_path = fileURLToPath(import.meta.resolve('uuid'))
if (!/-sandbox\/\d+\/execroot\//.test(uuid_path)) {
if (!sandboxRe.test(uuid_path)) {
throw new Error(`uuid not in sandbox: ${uuid_path}`)
}
if (!uuid_path.includes('/node_modules/.aspect_rules_js/uuid@')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]uuid@/.test(uuid_path)) {
throw new Error(`uuid not in package store: ${uuid_path}`)
}
if (process.env.TEST_WORKSPACE) {
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!uuid_path.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(
`uuid not in runfiles while __filename is: ${uuid_path}`
Expand Down
11 changes: 8 additions & 3 deletions examples/npm_package/packages/pkg_c/src/index.cjs
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
const pkgC = require('./pkg-c.json')

function sandboxAssert() {
if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Use of npm_package() copies files into the npm package store.
if (!__filename.includes('/node_modules/.aspect_rules_js/')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]/.test(__filename)) {
throw new Error(`Not in package store: ${__filename}`)
}

// When running under test, files should be in runfiles.
// This package may also be used as a run_binary(tool) and not in a test.
if (process.env.TEST_WORKSPACE) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not in runfiles: ${__filename}`)
}
Expand Down
11 changes: 8 additions & 3 deletions examples/npm_package/packages/pkg_c/src/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,23 @@ export default pkgC
export function sandboxAssert() {
const __filename = fileURLToPath(import.meta.url)

if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Use of npm_package() copies files into the npm package store.
if (!__filename.includes('/node_modules/.aspect_rules_js/')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]/.test(__filename)) {
throw new Error(`Not in package store: ${__filename}`)
}

// When running under test, files should be in runfiles.
// This package may also be used as a run_binary(tool) and not in a test.
if (process.env.TEST_WORKSPACE) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.env.TEST_WORKSPACE && process.platform !== 'win32') {
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not in runfiles: ${__filename}`)
}
Expand Down
15 changes: 10 additions & 5 deletions examples/npm_package/packages/pkg_d/index.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,30 @@ function getAcornVersion() {
}

function sandboxAssert() {
if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Files are in the runfiles directory via js_library(srcs) instead
// of copies in the npm package store.
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.platform !== 'win32' && !__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not runfiles: ${__filename}`)
}

// Resolve of third-party package 'uuid'
const uuid_path = require.resolve('uuid')
if (!/-sandbox\/\d+\/execroot\//.test(uuid_path)) {
if (!sandboxRe.test(uuid_path)) {
throw new Error(`uuid not in sandbox: ${uuid_path}`)
}
if (!uuid_path.includes('/node_modules/.aspect_rules_js/uuid@')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]uuid@/.test(uuid_path)) {
throw new Error(`uuid not in package store: ${uuid_path}`)
}
if (!uuid_path.startsWith(process.env.RUNFILES_DIR)) {
if (process.platform !== 'win32' && !uuid_path.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`uuid not in runfiles: ${uuid_path}`)
}
}
Expand Down
15 changes: 10 additions & 5 deletions examples/npm_package/packages/pkg_d/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,30 @@ export { v4 as uuid } from 'uuid'
export function sandboxAssert() {
const __filename = fileURLToPath(import.meta.url)

if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Files are in the runfiles directory via js_library(srcs) instead
// of copies in the npm package store.
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.platform !== 'win32' && !__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not runfiles: ${__filename}`)
}

// Resolve of third-party package 'uuid'
const uuid_path = fileURLToPath(import.meta.resolve('uuid'))
if (!/-sandbox\/\d+\/execroot\//.test(uuid_path)) {
if (!sandboxRe.test(uuid_path)) {
throw new Error(`uuid not in sandbox: ${uuid_path}`)
}
if (!uuid_path.includes('/node_modules/.aspect_rules_js/uuid@')) {
if (!/[/\\]node_modules[/\\]\.aspect_rules_js[/\\]uuid@/.test(uuid_path)) {
throw new Error(`uuid not in package store: ${uuid_path}`)
}
if (!uuid_path.startsWith(process.env.RUNFILES_DIR)) {
if (process.platform !== 'win32' && !uuid_path.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`uuid not in runfiles: ${uuid_path}`)
}
}
Expand Down
13 changes: 9 additions & 4 deletions examples/npm_package/packages/pkg_e/index.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,18 @@ const {
const { sandboxAssert: bSandboxAssert } = require('@mycorp/pkg-b')

function sandboxAssert() {
if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Files are in the runfiles directory via js_library(srcs) instead
// of copies in the npm package store.
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.platform !== 'win32' && !__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not runfiles: ${__filename}`)
}

Expand All @@ -25,10 +30,10 @@ function sandboxAssert() {

// Resolve of pkg-d
const pkgDPath = require.resolve('@mycorp/pkg-d')
if (!/-sandbox\/\d+\/execroot\//.test(pkgDPath)) {
if (!sandboxRe.test(pkgDPath)) {
throw new Error(`pkg-d not in sandbox: ${pkgDPath}`)
}
if (!pkgDPath.startsWith(process.env.RUNFILES_DIR)) {
if (process.platform !== 'win32' && !pkgDPath.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`pkg-d not in runfiles: ${pkgDPath}`)
}
}
Expand Down
13 changes: 9 additions & 4 deletions examples/npm_package/packages/pkg_e/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,18 @@ export { getAcornVersion, toAst, uuid } from '@mycorp/pkg-d'
export async function sandboxAssert() {
const __filename = fileURLToPath(import.meta.url)

if (!/-sandbox\/\d+\/execroot\//.test(__filename)) {
const sandboxRe = process.platform === 'win32'
? /[/\\]execroot[/\\]/
: /-sandbox\/\d+\/execroot\//;
if (!sandboxRe.test(__filename)) {
throw new Error(`Not in sandbox: ${__filename}`)
}

// Files are in the runfiles directory via js_library(srcs) instead
// of copies in the npm package store.
if (!__filename.startsWith(process.env.RUNFILES_DIR)) {
// On Windows, Node.js resolves junctions to their real path so __filename
// won't start with RUNFILES_DIR.
if (process.platform !== 'win32' && !__filename.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`Not runfiles: ${__filename}`)
}

Expand All @@ -32,10 +37,10 @@ export async function sandboxAssert() {

// Resolve of pkg-d
const pkgDPath = fileURLToPath(import.meta.resolve('@mycorp/pkg-d'))
if (!/-sandbox\/\d+\/execroot\//.test(pkgDPath)) {
if (!sandboxRe.test(pkgDPath)) {
throw new Error(`pkg-d not in sandbox: ${pkgDPath}`)
}
if (!pkgDPath.startsWith(process.env.RUNFILES_DIR)) {
if (process.platform !== 'win32' && !pkgDPath.startsWith(process.env.RUNFILES_DIR)) {
throw new Error(`pkg-d not in runfiles: ${pkgDPath}`)
}
}
Expand Down
2 changes: 1 addition & 1 deletion js/private/test/image/checksum_test.expected
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
d593b54327e834bc737c57553f55c5f1e25370850ad0e9b594804acfd7957b98 js/private/test/image/cksum_node.tar
c6c899aac772f0dd98117f2a469af76d8fb6ad27ccc7bfbc68f5e4ed274bf0ea js/private/test/image/cksum_package_store_3p.tar
bcd3826edb788a083e88ae3dbfb7fbd86bb1de8d8ef1db881b6488d63d715245 js/private/test/image/cksum_package_store_1p.tar
78ffb39795e4707c65724572129dad2ff31c62921093422c7d866eb77aab05fe js/private/test/image/cksum_package_store_1p.tar
febf95a6d554c9bda3f0515bfd5ef273ac67d31c231d8162beaef8c4b7bc72f3 js/private/test/image/cksum_node_modules.tar
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ drwxr-xr-x 0 0 0 0 Jan 1 1970 ./app/js/private/test/image/bin.
-r-xr-xr-x 0 0 0 224 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/a/a2/index.js
-r-xr-xr-x 0 0 0 31 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/a/index.d.ts
-r-xr-xr-x 0 0 0 237 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/a/index.js
-r-xr-xr-x 0 0 0 1848 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/index.js
-r-xr-xr-x 0 0 0 2132 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/index.js
-r-xr-xr-x 0 0 0 166 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/package.json
lrwxrwxr-x 0 0 0 0 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/acorn -> ../../acorn@8.7.1/node_modules/acorn
lrwxrwxr-x 0 0 0 0 Jan 1 1970 ./app/js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/chalk -> ../../chalk@5.0.1/node_modules/chalk
Expand Down
4 changes: 2 additions & 2 deletions js/private/test/image/custom_owner_test_app.listing
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runf
drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/
drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/
drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/pkg_d/
-r-xr-xr-x 0 100 0 1420 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/pkg_d/index.cjs
-r-xr-xr-x 0 100 0 1470 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/pkg_d/index.mjs
-r-xr-xr-x 0 100 0 1695 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/pkg_d/index.cjs
-r-xr-xr-x 0 100 0 1745 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/pkg_d/index.mjs
-r-xr-xr-x 0 100 0 336 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/examples/npm_package/packages/pkg_d/package.json
drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/js/
drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/js/private/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ drwxr-xr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runf
-r-xr-xr-x 0 100 0 224 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/a/a2/index.js
-r-xr-xr-x 0 100 0 31 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/a/index.d.ts
-r-xr-xr-x 0 100 0 237 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/a/index.js
-r-xr-xr-x 0 100 0 1848 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/index.js
-r-xr-xr-x 0 100 0 2132 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/index.js
-r-xr-xr-x 0 100 0 166 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/@mycorp/pkg-a/package.json
lrwxrwxr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/acorn -> ../../acorn@8.7.1/node_modules/acorn
lrwxrwxr-x 0 100 0 0 Jan 1 1970 ./js/private/test/image/bin.runfiles/_main/node_modules/.aspect_rules_js/@mycorp+pkg-a@0.0.0/node_modules/chalk -> ../../chalk@5.0.1/node_modules/chalk
Expand Down
Loading