diff --git a/docs/npm_import.md b/docs/npm_import.md index 8c4e2a27f..cbbbd8243 100644 --- a/docs/npm_import.md +++ b/docs/npm_import.md @@ -26,11 +26,11 @@ for a given lockfile.
npm_import(name, package, version, deps, extra_build_content, transitive_closure, root_package, link_workspace, link_packages, lifecycle_hooks, lifecycle_hooks_execution_requirements, - lifecycle_hooks_env, integrity, url, commit, replace_package, package_visibility, - patch_args, patches, custom_postinstall, npm_auth, npm_auth_basic, npm_auth_username, - npm_auth_password, bins, dev, register_copy_directory_toolchains, - register_copy_to_directory_toolchains, run_lifecycle_hooks, lifecycle_hooks_no_sandbox, - kwargs) + lifecycle_hooks_env, lifecycle_hooks_use_default_shell_env, integrity, url, commit, + replace_package, package_visibility, patch_args, patches, custom_postinstall, npm_auth, + npm_auth_basic, npm_auth_username, npm_auth_password, bins, dev, + register_copy_directory_toolchains, register_copy_to_directory_toolchains, + run_lifecycle_hooks, lifecycle_hooks_no_sandbox, kwargs)Import a single npm package into Bazel. @@ -147,6 +147,7 @@ Read more about the downloader config: <https://blog.aspect.dev/configuring-b | lifecycle_hooks | List of lifecycle hook
package.json
scripts to run for this package if they exist. | []
|
| lifecycle_hooks_execution_requirements | Execution requirements when running the lifecycle hooks. lifecycle_hooks_execution_requirements: ["no-sandbox', "requires-network"]
["no-sandbox"]
|
| lifecycle_hooks_env | Environment variables set for the lifecycle hooks action for this npm package if there is one. lifecycle_hooks_env: ["PREBULT_BINARY=https://downloadurl"],
| []
|
+| lifecycle_hooks_use_default_shell_env | If True, the use_default_shell_env
attribute of lifecycle hook actions is set to True.use_default_shell_env
. Requires bazel-lib >= 2.4.2. | False
|
| integrity | Expected checksum of the file downloaded, in Subresource Integrity format. This must match the checksum of the file downloaded.""
|
| url | Optional url for this package. If unset, a default npm registry url is generated from the package name and version.git+ssh://
or git+https://
to indicate a git repository. For example, git+ssh://git@github.com/org/repo.git
""
|
| commit | Specific commit to be checked out if url is a git repository. | ""
|
diff --git a/docs/npm_translate_lock.md b/docs/npm_translate_lock.md
index ad57d458a..4ce888e32 100644
--- a/docs/npm_translate_lock.md
+++ b/docs/npm_translate_lock.md
@@ -64,7 +64,8 @@ npm_translate_lock(name, public_hoist_packages, dev, no_optional, run_lifecycle_hooks, lifecycle_hooks,
lifecycle_hooks_envs, lifecycle_hooks_exclude,
lifecycle_hooks_execution_requirements, lifecycle_hooks_no_sandbox,
- replace_packages, bins, verify_node_modules_ignored, verify_patches, quiet,
+ lifecycle_hooks_use_default_shell_env, replace_packages, bins,
+ verify_node_modules_ignored, verify_patches, quiet,
external_repository_action_cache, link_workspace, pnpm_version,
register_copy_directory_toolchains, register_copy_to_directory_toolchains,
register_yq_toolchains, npm_package_target_name, use_starlark_yaml_parser,
@@ -122,6 +123,7 @@ For more about how to use npm_translate_lock, read [pnpm and rules_js](/docs/pnp
| lifecycle_hooks_exclude | A list of package names or package names with their version (e.g., "my-package" or "my-package@v1.2.3") to not run any lifecycle hooks on.<value>: []
to lifecycle_hooks
.[]
|
| lifecycle_hooks_execution_requirements | Execution requirements applied to the preinstall, install and postinstall lifecycle hooks on npm packages.{}
|
| lifecycle_hooks_no_sandbox | If True, a "no-sandbox" execution requirement is added to all lifecycle hooks unless overridden by lifecycle_hooks_execution_requirements
."*": ["no-sandbox"]
to lifecycle_hooks_execution_requirements
.True
|
+| lifecycle_hooks_use_default_shell_env | The use_default_shell_env
attribute of the lifecycle hooks actions on npm packages.use_default_shell_env
. Requires bazel-lib >= 2.4.2.{}
|
| replace_packages | A dict of package names to npm_package targets to link instead of the sources specified in the pnpm lock file for the corresponding packages.package.json
files, which are used to determine the generated bin entries for packages.lifecycle_hooks
attribute. | {}
|
| bins | Binary files to create in node_modules/.bin
for packages in this lock file. bins = { "@foo/bar": { "foo": "./foo.js", "bar": "./bar.js" }, }
bins = { "@foo/bar": [ "foo=./foo.js", "bar=./bar.js" ], }
| {}
|
| verify_node_modules_ignored | node_modules folders in the source tree should be ignored by Bazel..bazelignore
file to verify that all nested node_modules directories pnpm will create are listed.None
|
diff --git a/docs/pnpm.md b/docs/pnpm.md
index 2f2b0c8e3..7abb2f73d 100644
--- a/docs/pnpm.md
+++ b/docs/pnpm.md
@@ -275,6 +275,8 @@ which is equivalent to setting the `lifecycle_hooks` to an empty list for that p
You can set environment variables for hook build actions using the `lifecycle_hooks_envs` attribute of `npm_translate_lock`.
+Some hooks may depend on environment variables specified depending on [use_default_shell_env](https://bazel.build/rules/lib/builtins/actions#run.use_default_shell_env) which may be enabled for hook build actions using the `lifecycle_hooks_use_default_shell_env` attribute of `npm_translate_lock`. Requires bazel-lib >= 2.4.2.
+
In case there are multiple matches, some attributes are additive.
(More specific matches are appended to previous matches.)
Other attributes have specificity: the most specific match wins and the others are ignored.
diff --git a/e2e/gyp_no_install_script/BUILD.bazel b/e2e/gyp_no_install_script/BUILD.bazel
index ff12f4166..ef49c8b1b 100644
--- a/e2e/gyp_no_install_script/BUILD.bazel
+++ b/e2e/gyp_no_install_script/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
load("@npm//:defs.bzl", "npm_link_all_packages")
load("@aspect_rules_js//js:defs.bzl", "js_test")
@@ -10,3 +11,15 @@ js_test(
],
entry_point = "test.js",
)
+
+write_source_files(
+ name = "write_npm_translate_lock",
+ files = {
+ "test/repositories.bzl.checked": "@npm//:repositories.bzl",
+ "test/segfault-handler_defs.bzl.checked": "@npm__segfault-handler__1.3.0__links//:defs.bzl",
+ },
+ target_compatible_with = select({
+ "@aspect_bazel_lib//lib:bzlmod": ["@platforms//:incompatible"],
+ "//conditions:default": [],
+ }),
+)
diff --git a/e2e/gyp_no_install_script/MODULE.bazel b/e2e/gyp_no_install_script/MODULE.bazel
index 9f99ccbff..4704b0dd8 100644
--- a/e2e/gyp_no_install_script/MODULE.bazel
+++ b/e2e/gyp_no_install_script/MODULE.bazel
@@ -1,3 +1,4 @@
+bazel_dep(name = "aspect_bazel_lib", version = "2.4.2")
bazel_dep(name = "aspect_rules_js", version = "0.0.0")
local_path_override(
module_name = "aspect_rules_js",
@@ -8,6 +9,9 @@ npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
npm.npm_translate_lock(
name = "npm",
data = ["//:package.json"],
+ lifecycle_hooks_use_default_shell_env = {
+ "segfault-handler": "true",
+ },
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
update_pnpm_lock = True,
diff --git a/e2e/gyp_no_install_script/WORKSPACE b/e2e/gyp_no_install_script/WORKSPACE
index 8e31b6545..f7f3fc00e 100644
--- a/e2e/gyp_no_install_script/WORKSPACE
+++ b/e2e/gyp_no_install_script/WORKSPACE
@@ -1,8 +1,17 @@
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+
local_repository(
name = "aspect_rules_js",
path = "../..",
)
+http_archive(
+ name = "aspect_bazel_lib",
+ sha256 = "f75d03783588e054899eb0729a97fb5b8973c1a26f30373fafd485c90bf207d1",
+ strip_prefix = "bazel-lib-2.4.2",
+ url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.4.2/bazel-lib-v2.4.2.tar.gz",
+)
+
load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")
rules_js_dependencies()
@@ -19,6 +28,9 @@ load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
npm_translate_lock(
name = "npm",
data = ["//:package.json"],
+ lifecycle_hooks_use_default_shell_env = {
+ "segfault-handler": True,
+ },
npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
update_pnpm_lock = True,
diff --git a/e2e/gyp_no_install_script/test/repositories.bzl.checked b/e2e/gyp_no_install_script/test/repositories.bzl.checked
new file mode 100644
index 000000000..5b7f1693d
--- /dev/null
+++ b/e2e/gyp_no_install_script/test/repositories.bzl.checked
@@ -0,0 +1,2322 @@
+"""@generated by npm_translate_lock(name = "npm", pnpm_lock = "//:pnpm-lock.yaml")"""
+
+load("@aspect_rules_js//npm:repositories.bzl", "npm_import")
+
+# Generated npm_import repository rules corresponding to npm packages in //:pnpm-lock.yaml
+# buildifier: disable=function-docstring
+def npm_repositories():
+ npm_import(
+ name = "npm__at_gar_promisify__1.1.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "@gar/promisify",
+ version = "1.1.3",
+ url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ transitive_closure = {
+ "@gar/promisify": ["1.1.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__at_npmcli_fs__2.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "@npmcli/fs",
+ version = "2.1.2",
+ url = "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==",
+ deps = {
+ "@gar/promisify": "1.1.3",
+ "semver": "7.3.8",
+ },
+ transitive_closure = {
+ "@gar/promisify": ["1.1.3"],
+ "@npmcli/fs": ["2.1.2"],
+ "lru-cache": ["6.0.0"],
+ "semver": ["7.3.8"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__at_npmcli_move-file__2.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "@npmcli/move-file",
+ version = "2.0.1",
+ url = "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==",
+ deps = {
+ "mkdirp": "1.0.4",
+ "rimraf": "3.0.2",
+ },
+ transitive_closure = {
+ "@npmcli/move-file": ["2.0.1"],
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11"],
+ "concat-map": ["0.0.1"],
+ "fs.realpath": ["1.0.0"],
+ "glob": ["7.2.3"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "minimatch": ["3.1.2"],
+ "mkdirp": ["1.0.4"],
+ "once": ["1.4.0"],
+ "path-is-absolute": ["1.0.1"],
+ "rimraf": ["3.0.2"],
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__at_tootallnate_once__2.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "@tootallnate/once",
+ version = "2.0.0",
+ url = "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
+ transitive_closure = {
+ "@tootallnate/once": ["2.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__abbrev__1.1.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "abbrev",
+ version = "1.1.1",
+ url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ transitive_closure = {
+ "abbrev": ["1.1.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__agent-base__6.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "agent-base",
+ version = "6.0.2",
+ url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ deps = {
+ "debug": "4.3.4",
+ },
+ transitive_closure = {
+ "agent-base": ["6.0.2"],
+ "debug": ["4.3.4"],
+ "ms": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__agentkeepalive__4.2.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "agentkeepalive",
+ version = "4.2.1",
+ url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==",
+ deps = {
+ "debug": "4.3.4",
+ "depd": "1.1.2",
+ "humanize-ms": "1.2.1",
+ },
+ transitive_closure = {
+ "agentkeepalive": ["4.2.1"],
+ "debug": ["4.3.4"],
+ "depd": ["1.1.2"],
+ "humanize-ms": ["1.2.1"],
+ "ms": ["2.1.2", "2.1.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__aggregate-error__3.1.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "aggregate-error",
+ version = "3.1.0",
+ url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ deps = {
+ "clean-stack": "2.2.0",
+ "indent-string": "4.0.0",
+ },
+ transitive_closure = {
+ "aggregate-error": ["3.1.0"],
+ "clean-stack": ["2.2.0"],
+ "indent-string": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__ansi-regex__5.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "ansi-regex",
+ version = "5.0.1",
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ transitive_closure = {
+ "ansi-regex": ["5.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__aproba__2.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "aproba",
+ version = "2.0.0",
+ url = "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ transitive_closure = {
+ "aproba": ["2.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__are-we-there-yet__3.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "are-we-there-yet",
+ version = "3.0.1",
+ url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
+ deps = {
+ "delegates": "1.0.0",
+ "readable-stream": "3.6.1",
+ },
+ transitive_closure = {
+ "are-we-there-yet": ["3.0.1"],
+ "delegates": ["1.0.0"],
+ "inherits": ["2.0.4"],
+ "readable-stream": ["3.6.1"],
+ "safe-buffer": ["5.2.1"],
+ "string_decoder": ["1.3.0"],
+ "util-deprecate": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__balanced-match__1.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "balanced-match",
+ version = "1.0.2",
+ url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__bindings__1.5.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "bindings",
+ version = "1.5.0",
+ url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ deps = {
+ "file-uri-to-path": "1.0.0",
+ },
+ transitive_closure = {
+ "bindings": ["1.5.0"],
+ "file-uri-to-path": ["1.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__brace-expansion__1.1.11",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "brace-expansion",
+ version = "1.1.11",
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ deps = {
+ "balanced-match": "1.0.2",
+ "concat-map": "0.0.1",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11"],
+ "concat-map": ["0.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__brace-expansion__2.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "brace-expansion",
+ version = "2.0.1",
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ deps = {
+ "balanced-match": "1.0.2",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["2.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__cacache__16.1.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "cacache",
+ version = "16.1.3",
+ url = "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==",
+ deps = {
+ "@npmcli/fs": "2.1.2",
+ "@npmcli/move-file": "2.0.1",
+ "chownr": "2.0.0",
+ "fs-minipass": "2.1.0",
+ "glob": "8.1.0",
+ "infer-owner": "1.0.4",
+ "lru-cache": "7.17.0",
+ "minipass": "3.3.6",
+ "minipass-collect": "1.0.2",
+ "minipass-flush": "1.0.5",
+ "minipass-pipeline": "1.2.4",
+ "mkdirp": "1.0.4",
+ "p-map": "4.0.0",
+ "promise-inflight": "1.0.1",
+ "rimraf": "3.0.2",
+ "ssri": "9.0.1",
+ "tar": "6.1.13",
+ "unique-filename": "2.0.1",
+ },
+ transitive_closure = {
+ "@gar/promisify": ["1.1.3"],
+ "@npmcli/fs": ["2.1.2"],
+ "@npmcli/move-file": ["2.0.1"],
+ "aggregate-error": ["3.1.0"],
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11", "2.0.1"],
+ "cacache": ["16.1.3"],
+ "chownr": ["2.0.0"],
+ "clean-stack": ["2.2.0"],
+ "concat-map": ["0.0.1"],
+ "fs-minipass": ["2.1.0"],
+ "fs.realpath": ["1.0.0"],
+ "glob": ["7.2.3", "8.1.0"],
+ "imurmurhash": ["0.1.4"],
+ "indent-string": ["4.0.0"],
+ "infer-owner": ["1.0.4"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "lru-cache": ["6.0.0", "7.17.0"],
+ "minimatch": ["3.1.2", "5.1.6"],
+ "minipass": ["3.3.6", "4.2.4"],
+ "minipass-collect": ["1.0.2"],
+ "minipass-flush": ["1.0.5"],
+ "minipass-pipeline": ["1.2.4"],
+ "minizlib": ["2.1.2"],
+ "mkdirp": ["1.0.4"],
+ "once": ["1.4.0"],
+ "p-map": ["4.0.0"],
+ "path-is-absolute": ["1.0.1"],
+ "promise-inflight": ["1.0.1"],
+ "rimraf": ["3.0.2"],
+ "semver": ["7.3.8"],
+ "ssri": ["9.0.1"],
+ "tar": ["6.1.13"],
+ "unique-filename": ["2.0.1"],
+ "unique-slug": ["3.0.0"],
+ "wrappy": ["1.0.2"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__chownr__2.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "chownr",
+ version = "2.0.0",
+ url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ transitive_closure = {
+ "chownr": ["2.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__clean-stack__2.2.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "clean-stack",
+ version = "2.2.0",
+ url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ transitive_closure = {
+ "clean-stack": ["2.2.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__color-support__1.1.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "color-support",
+ version = "1.1.3",
+ url = "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ transitive_closure = {
+ "color-support": ["1.1.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__concat-map__0.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "concat-map",
+ version = "0.0.1",
+ url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ transitive_closure = {
+ "concat-map": ["0.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__console-control-strings__1.1.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "console-control-strings",
+ version = "1.1.0",
+ url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ transitive_closure = {
+ "console-control-strings": ["1.1.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__debug__4.3.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "debug",
+ version = "4.3.4",
+ url = "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ deps = {
+ "ms": "2.1.2",
+ },
+ transitive_closure = {
+ "debug": ["4.3.4"],
+ "ms": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__delegates__1.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "delegates",
+ version = "1.0.0",
+ url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ transitive_closure = {
+ "delegates": ["1.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__depd__1.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "depd",
+ version = "1.1.2",
+ url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ transitive_closure = {
+ "depd": ["1.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__emoji-regex__8.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "emoji-regex",
+ version = "8.0.0",
+ url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ transitive_closure = {
+ "emoji-regex": ["8.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__encoding__0.1.13",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "encoding",
+ version = "0.1.13",
+ url = "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ deps = {
+ "iconv-lite": "0.6.3",
+ },
+ transitive_closure = {
+ "encoding": ["0.1.13"],
+ "iconv-lite": ["0.6.3"],
+ "safer-buffer": ["2.1.2"],
+ },
+ lifecycle_hooks = ["preinstall", "install", "postinstall"],
+ lifecycle_hooks_execution_requirements = ["no-sandbox"],
+ )
+
+ npm_import(
+ name = "npm__env-paths__2.2.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "env-paths",
+ version = "2.2.1",
+ url = "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ transitive_closure = {
+ "env-paths": ["2.2.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__err-code__2.0.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "err-code",
+ version = "2.0.3",
+ url = "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+ transitive_closure = {
+ "err-code": ["2.0.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__file-uri-to-path__1.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "file-uri-to-path",
+ version = "1.0.0",
+ url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ transitive_closure = {
+ "file-uri-to-path": ["1.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__fs-minipass__2.1.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "fs-minipass",
+ version = "2.1.0",
+ url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ deps = {
+ "minipass": "3.3.6",
+ },
+ transitive_closure = {
+ "fs-minipass": ["2.1.0"],
+ "minipass": ["3.3.6"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__fs.realpath__1.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "fs.realpath",
+ version = "1.0.0",
+ url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ transitive_closure = {
+ "fs.realpath": ["1.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__gauge__4.0.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "gauge",
+ version = "4.0.4",
+ url = "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
+ deps = {
+ "aproba": "2.0.0",
+ "color-support": "1.1.3",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "signal-exit": "3.0.7",
+ "string-width": "4.2.3",
+ "strip-ansi": "6.0.1",
+ "wide-align": "1.1.5",
+ },
+ transitive_closure = {
+ "ansi-regex": ["5.0.1"],
+ "aproba": ["2.0.0"],
+ "color-support": ["1.1.3"],
+ "console-control-strings": ["1.1.0"],
+ "emoji-regex": ["8.0.0"],
+ "gauge": ["4.0.4"],
+ "has-unicode": ["2.0.1"],
+ "is-fullwidth-code-point": ["3.0.0"],
+ "signal-exit": ["3.0.7"],
+ "string-width": ["4.2.3"],
+ "strip-ansi": ["6.0.1"],
+ "wide-align": ["1.1.5"],
+ },
+ )
+
+ npm_import(
+ name = "npm__glob__7.2.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "glob",
+ version = "7.2.3",
+ url = "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ deps = {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.4",
+ "minimatch": "3.1.2",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11"],
+ "concat-map": ["0.0.1"],
+ "fs.realpath": ["1.0.0"],
+ "glob": ["7.2.3"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "minimatch": ["3.1.2"],
+ "once": ["1.4.0"],
+ "path-is-absolute": ["1.0.1"],
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__glob__8.1.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "glob",
+ version = "8.1.0",
+ url = "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ deps = {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.4",
+ "minimatch": "5.1.6",
+ "once": "1.4.0",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["2.0.1"],
+ "fs.realpath": ["1.0.0"],
+ "glob": ["8.1.0"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "minimatch": ["5.1.6"],
+ "once": ["1.4.0"],
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__graceful-fs__4.2.10",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "graceful-fs",
+ version = "4.2.10",
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ transitive_closure = {
+ "graceful-fs": ["4.2.10"],
+ },
+ )
+
+ npm_import(
+ name = "npm__has-unicode__2.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "has-unicode",
+ version = "2.0.1",
+ url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ transitive_closure = {
+ "has-unicode": ["2.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__http-cache-semantics__4.1.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "http-cache-semantics",
+ version = "4.1.1",
+ url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+ transitive_closure = {
+ "http-cache-semantics": ["4.1.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__http-proxy-agent__5.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "http-proxy-agent",
+ version = "5.0.0",
+ url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+ deps = {
+ "@tootallnate/once": "2.0.0",
+ "agent-base": "6.0.2",
+ "debug": "4.3.4",
+ },
+ transitive_closure = {
+ "@tootallnate/once": ["2.0.0"],
+ "agent-base": ["6.0.2"],
+ "debug": ["4.3.4"],
+ "http-proxy-agent": ["5.0.0"],
+ "ms": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__https-proxy-agent__5.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "https-proxy-agent",
+ version = "5.0.1",
+ url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ deps = {
+ "agent-base": "6.0.2",
+ "debug": "4.3.4",
+ },
+ transitive_closure = {
+ "agent-base": ["6.0.2"],
+ "debug": ["4.3.4"],
+ "https-proxy-agent": ["5.0.1"],
+ "ms": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__humanize-ms__1.2.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "humanize-ms",
+ version = "1.2.1",
+ url = "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ deps = {
+ "ms": "2.1.3",
+ },
+ transitive_closure = {
+ "humanize-ms": ["1.2.1"],
+ "ms": ["2.1.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__iconv-lite__0.6.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "iconv-lite",
+ version = "0.6.3",
+ url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ deps = {
+ "safer-buffer": "2.1.2",
+ },
+ transitive_closure = {
+ "iconv-lite": ["0.6.3"],
+ "safer-buffer": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__imurmurhash__0.1.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "imurmurhash",
+ version = "0.1.4",
+ url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ transitive_closure = {
+ "imurmurhash": ["0.1.4"],
+ },
+ )
+
+ npm_import(
+ name = "npm__indent-string__4.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "indent-string",
+ version = "4.0.0",
+ url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ transitive_closure = {
+ "indent-string": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__infer-owner__1.0.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "infer-owner",
+ version = "1.0.4",
+ url = "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+ transitive_closure = {
+ "infer-owner": ["1.0.4"],
+ },
+ )
+
+ npm_import(
+ name = "npm__inflight__1.0.6",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "inflight",
+ version = "1.0.6",
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ deps = {
+ "once": "1.4.0",
+ "wrappy": "1.0.2",
+ },
+ transitive_closure = {
+ "inflight": ["1.0.6"],
+ "once": ["1.4.0"],
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__inherits__2.0.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "inherits",
+ version = "2.0.4",
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ transitive_closure = {
+ "inherits": ["2.0.4"],
+ },
+ )
+
+ npm_import(
+ name = "npm__ip__2.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "ip",
+ version = "2.0.0",
+ url = "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+ transitive_closure = {
+ "ip": ["2.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__is-fullwidth-code-point__3.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "is-fullwidth-code-point",
+ version = "3.0.0",
+ url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ transitive_closure = {
+ "is-fullwidth-code-point": ["3.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__is-lambda__1.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "is-lambda",
+ version = "1.0.1",
+ url = "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
+ transitive_closure = {
+ "is-lambda": ["1.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__isexe__2.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "isexe",
+ version = "2.0.0",
+ url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ transitive_closure = {
+ "isexe": ["2.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__lru-cache__6.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "lru-cache",
+ version = "6.0.0",
+ url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ deps = {
+ "yallist": "4.0.0",
+ },
+ transitive_closure = {
+ "lru-cache": ["6.0.0"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__lru-cache__7.17.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "lru-cache",
+ version = "7.17.0",
+ url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.17.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-zSxlVVwOabhVyTi6E8gYv2cr6bXK+8ifYz5/uyJb9feXX6NACVDwY4p5Ut3WC3Ivo/QhpARHU3iujx2xGAYHbQ==",
+ transitive_closure = {
+ "lru-cache": ["7.17.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__make-fetch-happen__10.2.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "make-fetch-happen",
+ version = "10.2.1",
+ url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==",
+ deps = {
+ "agentkeepalive": "4.2.1",
+ "cacache": "16.1.3",
+ "http-cache-semantics": "4.1.1",
+ "http-proxy-agent": "5.0.0",
+ "https-proxy-agent": "5.0.1",
+ "is-lambda": "1.0.1",
+ "lru-cache": "7.17.0",
+ "minipass": "3.3.6",
+ "minipass-collect": "1.0.2",
+ "minipass-fetch": "2.1.2",
+ "minipass-flush": "1.0.5",
+ "minipass-pipeline": "1.2.4",
+ "negotiator": "0.6.3",
+ "promise-retry": "2.0.1",
+ "socks-proxy-agent": "7.0.0",
+ "ssri": "9.0.1",
+ },
+ transitive_closure = {
+ "@gar/promisify": ["1.1.3"],
+ "@npmcli/fs": ["2.1.2"],
+ "@npmcli/move-file": ["2.0.1"],
+ "@tootallnate/once": ["2.0.0"],
+ "agent-base": ["6.0.2"],
+ "agentkeepalive": ["4.2.1"],
+ "aggregate-error": ["3.1.0"],
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11", "2.0.1"],
+ "cacache": ["16.1.3"],
+ "chownr": ["2.0.0"],
+ "clean-stack": ["2.2.0"],
+ "concat-map": ["0.0.1"],
+ "debug": ["4.3.4"],
+ "depd": ["1.1.2"],
+ "encoding": ["0.1.13"],
+ "err-code": ["2.0.3"],
+ "fs-minipass": ["2.1.0"],
+ "fs.realpath": ["1.0.0"],
+ "glob": ["7.2.3", "8.1.0"],
+ "http-cache-semantics": ["4.1.1"],
+ "http-proxy-agent": ["5.0.0"],
+ "https-proxy-agent": ["5.0.1"],
+ "humanize-ms": ["1.2.1"],
+ "iconv-lite": ["0.6.3"],
+ "imurmurhash": ["0.1.4"],
+ "indent-string": ["4.0.0"],
+ "infer-owner": ["1.0.4"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "ip": ["2.0.0"],
+ "is-lambda": ["1.0.1"],
+ "lru-cache": ["6.0.0", "7.17.0"],
+ "make-fetch-happen": ["10.2.1"],
+ "minimatch": ["3.1.2", "5.1.6"],
+ "minipass": ["3.3.6", "4.2.4"],
+ "minipass-collect": ["1.0.2"],
+ "minipass-fetch": ["2.1.2"],
+ "minipass-flush": ["1.0.5"],
+ "minipass-pipeline": ["1.2.4"],
+ "minipass-sized": ["1.0.3"],
+ "minizlib": ["2.1.2"],
+ "mkdirp": ["1.0.4"],
+ "ms": ["2.1.2", "2.1.3"],
+ "negotiator": ["0.6.3"],
+ "once": ["1.4.0"],
+ "p-map": ["4.0.0"],
+ "path-is-absolute": ["1.0.1"],
+ "promise-inflight": ["1.0.1"],
+ "promise-retry": ["2.0.1"],
+ "retry": ["0.12.0"],
+ "rimraf": ["3.0.2"],
+ "safer-buffer": ["2.1.2"],
+ "semver": ["7.3.8"],
+ "smart-buffer": ["4.2.0"],
+ "socks": ["2.7.1"],
+ "socks-proxy-agent": ["7.0.0"],
+ "ssri": ["9.0.1"],
+ "tar": ["6.1.13"],
+ "unique-filename": ["2.0.1"],
+ "unique-slug": ["3.0.0"],
+ "wrappy": ["1.0.2"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minimatch__3.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minimatch",
+ version = "3.1.2",
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ deps = {
+ "brace-expansion": "1.1.11",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11"],
+ "concat-map": ["0.0.1"],
+ "minimatch": ["3.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minimatch__5.1.6",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minimatch",
+ version = "5.1.6",
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ deps = {
+ "brace-expansion": "2.0.1",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["2.0.1"],
+ "minimatch": ["5.1.6"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass-collect__1.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass-collect",
+ version = "1.0.2",
+ url = "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+ deps = {
+ "minipass": "3.3.6",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "minipass-collect": ["1.0.2"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass-fetch__2.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass-fetch",
+ version = "2.1.2",
+ url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==",
+ deps = {
+ "encoding": "0.1.13",
+ "minipass": "3.3.6",
+ "minipass-sized": "1.0.3",
+ "minizlib": "2.1.2",
+ },
+ transitive_closure = {
+ "encoding": ["0.1.13"],
+ "iconv-lite": ["0.6.3"],
+ "minipass": ["3.3.6"],
+ "minipass-fetch": ["2.1.2"],
+ "minipass-sized": ["1.0.3"],
+ "minizlib": ["2.1.2"],
+ "safer-buffer": ["2.1.2"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass-flush__1.0.5",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass-flush",
+ version = "1.0.5",
+ url = "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
+ deps = {
+ "minipass": "3.3.6",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "minipass-flush": ["1.0.5"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass-pipeline__1.2.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass-pipeline",
+ version = "1.2.4",
+ url = "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+ deps = {
+ "minipass": "3.3.6",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "minipass-pipeline": ["1.2.4"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass-sized__1.0.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass-sized",
+ version = "1.0.3",
+ url = "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+ deps = {
+ "minipass": "3.3.6",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "minipass-sized": ["1.0.3"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass__3.3.6",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass",
+ version = "3.3.6",
+ url = "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ deps = {
+ "yallist": "4.0.0",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minipass__4.2.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minipass",
+ version = "4.2.4",
+ url = "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==",
+ transitive_closure = {
+ "minipass": ["4.2.4"],
+ },
+ )
+
+ npm_import(
+ name = "npm__minizlib__2.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "minizlib",
+ version = "2.1.2",
+ url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ deps = {
+ "minipass": "3.3.6",
+ "yallist": "4.0.0",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "minizlib": ["2.1.2"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__mkdirp__1.0.4",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "mkdirp",
+ version = "1.0.4",
+ url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ transitive_closure = {
+ "mkdirp": ["1.0.4"],
+ },
+ )
+
+ npm_import(
+ name = "npm__ms__2.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "ms",
+ version = "2.1.2",
+ url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ transitive_closure = {
+ "ms": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__ms__2.1.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "ms",
+ version = "2.1.3",
+ url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ transitive_closure = {
+ "ms": ["2.1.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__nan__2.17.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "nan",
+ version = "2.17.0",
+ url = "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
+ transitive_closure = {
+ "nan": ["2.17.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__negotiator__0.6.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "negotiator",
+ version = "0.6.3",
+ url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ transitive_closure = {
+ "negotiator": ["0.6.3"],
+ },
+ )
+
+ npm_import(
+ name = "npm__node-gyp__9.3.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "node-gyp",
+ version = "9.3.1",
+ url = "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==",
+ deps = {
+ "env-paths": "2.2.1",
+ "glob": "7.2.3",
+ "graceful-fs": "4.2.10",
+ "make-fetch-happen": "10.2.1",
+ "nopt": "6.0.0",
+ "npmlog": "6.0.2",
+ "rimraf": "3.0.2",
+ "semver": "7.3.8",
+ "tar": "6.1.13",
+ "which": "2.0.2",
+ },
+ transitive_closure = {
+ "@gar/promisify": ["1.1.3"],
+ "@npmcli/fs": ["2.1.2"],
+ "@npmcli/move-file": ["2.0.1"],
+ "@tootallnate/once": ["2.0.0"],
+ "abbrev": ["1.1.1"],
+ "agent-base": ["6.0.2"],
+ "agentkeepalive": ["4.2.1"],
+ "aggregate-error": ["3.1.0"],
+ "ansi-regex": ["5.0.1"],
+ "aproba": ["2.0.0"],
+ "are-we-there-yet": ["3.0.1"],
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11", "2.0.1"],
+ "cacache": ["16.1.3"],
+ "chownr": ["2.0.0"],
+ "clean-stack": ["2.2.0"],
+ "color-support": ["1.1.3"],
+ "concat-map": ["0.0.1"],
+ "console-control-strings": ["1.1.0"],
+ "debug": ["4.3.4"],
+ "delegates": ["1.0.0"],
+ "depd": ["1.1.2"],
+ "emoji-regex": ["8.0.0"],
+ "encoding": ["0.1.13"],
+ "env-paths": ["2.2.1"],
+ "err-code": ["2.0.3"],
+ "fs-minipass": ["2.1.0"],
+ "fs.realpath": ["1.0.0"],
+ "gauge": ["4.0.4"],
+ "glob": ["7.2.3", "8.1.0"],
+ "graceful-fs": ["4.2.10"],
+ "has-unicode": ["2.0.1"],
+ "http-cache-semantics": ["4.1.1"],
+ "http-proxy-agent": ["5.0.0"],
+ "https-proxy-agent": ["5.0.1"],
+ "humanize-ms": ["1.2.1"],
+ "iconv-lite": ["0.6.3"],
+ "imurmurhash": ["0.1.4"],
+ "indent-string": ["4.0.0"],
+ "infer-owner": ["1.0.4"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "ip": ["2.0.0"],
+ "is-fullwidth-code-point": ["3.0.0"],
+ "is-lambda": ["1.0.1"],
+ "isexe": ["2.0.0"],
+ "lru-cache": ["6.0.0", "7.17.0"],
+ "make-fetch-happen": ["10.2.1"],
+ "minimatch": ["3.1.2", "5.1.6"],
+ "minipass": ["3.3.6", "4.2.4"],
+ "minipass-collect": ["1.0.2"],
+ "minipass-fetch": ["2.1.2"],
+ "minipass-flush": ["1.0.5"],
+ "minipass-pipeline": ["1.2.4"],
+ "minipass-sized": ["1.0.3"],
+ "minizlib": ["2.1.2"],
+ "mkdirp": ["1.0.4"],
+ "ms": ["2.1.2", "2.1.3"],
+ "negotiator": ["0.6.3"],
+ "node-gyp": ["9.3.1"],
+ "nopt": ["6.0.0"],
+ "npmlog": ["6.0.2"],
+ "once": ["1.4.0"],
+ "p-map": ["4.0.0"],
+ "path-is-absolute": ["1.0.1"],
+ "promise-inflight": ["1.0.1"],
+ "promise-retry": ["2.0.1"],
+ "readable-stream": ["3.6.1"],
+ "retry": ["0.12.0"],
+ "rimraf": ["3.0.2"],
+ "safe-buffer": ["5.2.1"],
+ "safer-buffer": ["2.1.2"],
+ "semver": ["7.3.8"],
+ "set-blocking": ["2.0.0"],
+ "signal-exit": ["3.0.7"],
+ "smart-buffer": ["4.2.0"],
+ "socks": ["2.7.1"],
+ "socks-proxy-agent": ["7.0.0"],
+ "ssri": ["9.0.1"],
+ "string-width": ["4.2.3"],
+ "string_decoder": ["1.3.0"],
+ "strip-ansi": ["6.0.1"],
+ "tar": ["6.1.13"],
+ "unique-filename": ["2.0.1"],
+ "unique-slug": ["3.0.0"],
+ "util-deprecate": ["1.0.2"],
+ "which": ["2.0.2"],
+ "wide-align": ["1.1.5"],
+ "wrappy": ["1.0.2"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__nopt__6.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "nopt",
+ version = "6.0.0",
+ url = "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+ deps = {
+ "abbrev": "1.1.1",
+ },
+ transitive_closure = {
+ "abbrev": ["1.1.1"],
+ "nopt": ["6.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__npmlog__6.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "npmlog",
+ version = "6.0.2",
+ url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
+ deps = {
+ "are-we-there-yet": "3.0.1",
+ "console-control-strings": "1.1.0",
+ "gauge": "4.0.4",
+ "set-blocking": "2.0.0",
+ },
+ transitive_closure = {
+ "ansi-regex": ["5.0.1"],
+ "aproba": ["2.0.0"],
+ "are-we-there-yet": ["3.0.1"],
+ "color-support": ["1.1.3"],
+ "console-control-strings": ["1.1.0"],
+ "delegates": ["1.0.0"],
+ "emoji-regex": ["8.0.0"],
+ "gauge": ["4.0.4"],
+ "has-unicode": ["2.0.1"],
+ "inherits": ["2.0.4"],
+ "is-fullwidth-code-point": ["3.0.0"],
+ "npmlog": ["6.0.2"],
+ "readable-stream": ["3.6.1"],
+ "safe-buffer": ["5.2.1"],
+ "set-blocking": ["2.0.0"],
+ "signal-exit": ["3.0.7"],
+ "string-width": ["4.2.3"],
+ "string_decoder": ["1.3.0"],
+ "strip-ansi": ["6.0.1"],
+ "util-deprecate": ["1.0.2"],
+ "wide-align": ["1.1.5"],
+ },
+ )
+
+ npm_import(
+ name = "npm__once__1.4.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "once",
+ version = "1.4.0",
+ url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ deps = {
+ "wrappy": "1.0.2",
+ },
+ transitive_closure = {
+ "once": ["1.4.0"],
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__p-map__4.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "p-map",
+ version = "4.0.0",
+ url = "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ deps = {
+ "aggregate-error": "3.1.0",
+ },
+ transitive_closure = {
+ "aggregate-error": ["3.1.0"],
+ "clean-stack": ["2.2.0"],
+ "indent-string": ["4.0.0"],
+ "p-map": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__path-is-absolute__1.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "path-is-absolute",
+ version = "1.0.1",
+ url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ transitive_closure = {
+ "path-is-absolute": ["1.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__promise-inflight__1.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "promise-inflight",
+ version = "1.0.1",
+ url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
+ transitive_closure = {
+ "promise-inflight": ["1.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__promise-retry__2.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "promise-retry",
+ version = "2.0.1",
+ url = "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
+ deps = {
+ "err-code": "2.0.3",
+ "retry": "0.12.0",
+ },
+ transitive_closure = {
+ "err-code": ["2.0.3"],
+ "promise-retry": ["2.0.1"],
+ "retry": ["0.12.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__readable-stream__3.6.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "readable-stream",
+ version = "3.6.1",
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==",
+ deps = {
+ "inherits": "2.0.4",
+ "string_decoder": "1.3.0",
+ "util-deprecate": "1.0.2",
+ },
+ transitive_closure = {
+ "inherits": ["2.0.4"],
+ "readable-stream": ["3.6.1"],
+ "safe-buffer": ["5.2.1"],
+ "string_decoder": ["1.3.0"],
+ "util-deprecate": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__retry__0.12.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "retry",
+ version = "0.12.0",
+ url = "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
+ transitive_closure = {
+ "retry": ["0.12.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__rimraf__3.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "rimraf",
+ version = "3.0.2",
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ deps = {
+ "glob": "7.2.3",
+ },
+ transitive_closure = {
+ "balanced-match": ["1.0.2"],
+ "brace-expansion": ["1.1.11"],
+ "concat-map": ["0.0.1"],
+ "fs.realpath": ["1.0.0"],
+ "glob": ["7.2.3"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "minimatch": ["3.1.2"],
+ "once": ["1.4.0"],
+ "path-is-absolute": ["1.0.1"],
+ "rimraf": ["3.0.2"],
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__safe-buffer__5.2.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "safe-buffer",
+ version = "5.2.1",
+ url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ transitive_closure = {
+ "safe-buffer": ["5.2.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__safer-buffer__2.1.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "safer-buffer",
+ version = "2.1.2",
+ url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ transitive_closure = {
+ "safer-buffer": ["2.1.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__segfault-handler__1.3.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {
+ "": ["segfault-handler"],
+ },
+ package = "segfault-handler",
+ version = "1.3.0",
+ url = "https://registry.npmjs.org/segfault-handler/-/segfault-handler-1.3.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-p7kVHo+4uoYkr0jmIiTBthwV5L2qmWtben/KDunDZ834mbos+tY+iO0//HpAJpOFSQZZ+wxKWuRo4DxV02B7Lg==",
+ deps = {
+ "bindings": "1.5.0",
+ "nan": "2.17.0",
+ "node-gyp": "9.3.1",
+ },
+ transitive_closure = {
+ "@gar/promisify": ["1.1.3"],
+ "@npmcli/fs": ["2.1.2"],
+ "@npmcli/move-file": ["2.0.1"],
+ "@tootallnate/once": ["2.0.0"],
+ "abbrev": ["1.1.1"],
+ "agent-base": ["6.0.2"],
+ "agentkeepalive": ["4.2.1"],
+ "aggregate-error": ["3.1.0"],
+ "ansi-regex": ["5.0.1"],
+ "aproba": ["2.0.0"],
+ "are-we-there-yet": ["3.0.1"],
+ "balanced-match": ["1.0.2"],
+ "bindings": ["1.5.0"],
+ "brace-expansion": ["1.1.11", "2.0.1"],
+ "cacache": ["16.1.3"],
+ "chownr": ["2.0.0"],
+ "clean-stack": ["2.2.0"],
+ "color-support": ["1.1.3"],
+ "concat-map": ["0.0.1"],
+ "console-control-strings": ["1.1.0"],
+ "debug": ["4.3.4"],
+ "delegates": ["1.0.0"],
+ "depd": ["1.1.2"],
+ "emoji-regex": ["8.0.0"],
+ "encoding": ["0.1.13"],
+ "env-paths": ["2.2.1"],
+ "err-code": ["2.0.3"],
+ "file-uri-to-path": ["1.0.0"],
+ "fs-minipass": ["2.1.0"],
+ "fs.realpath": ["1.0.0"],
+ "gauge": ["4.0.4"],
+ "glob": ["7.2.3", "8.1.0"],
+ "graceful-fs": ["4.2.10"],
+ "has-unicode": ["2.0.1"],
+ "http-cache-semantics": ["4.1.1"],
+ "http-proxy-agent": ["5.0.0"],
+ "https-proxy-agent": ["5.0.1"],
+ "humanize-ms": ["1.2.1"],
+ "iconv-lite": ["0.6.3"],
+ "imurmurhash": ["0.1.4"],
+ "indent-string": ["4.0.0"],
+ "infer-owner": ["1.0.4"],
+ "inflight": ["1.0.6"],
+ "inherits": ["2.0.4"],
+ "ip": ["2.0.0"],
+ "is-fullwidth-code-point": ["3.0.0"],
+ "is-lambda": ["1.0.1"],
+ "isexe": ["2.0.0"],
+ "lru-cache": ["6.0.0", "7.17.0"],
+ "make-fetch-happen": ["10.2.1"],
+ "minimatch": ["3.1.2", "5.1.6"],
+ "minipass": ["3.3.6", "4.2.4"],
+ "minipass-collect": ["1.0.2"],
+ "minipass-fetch": ["2.1.2"],
+ "minipass-flush": ["1.0.5"],
+ "minipass-pipeline": ["1.2.4"],
+ "minipass-sized": ["1.0.3"],
+ "minizlib": ["2.1.2"],
+ "mkdirp": ["1.0.4"],
+ "ms": ["2.1.2", "2.1.3"],
+ "nan": ["2.17.0"],
+ "negotiator": ["0.6.3"],
+ "node-gyp": ["9.3.1"],
+ "nopt": ["6.0.0"],
+ "npmlog": ["6.0.2"],
+ "once": ["1.4.0"],
+ "p-map": ["4.0.0"],
+ "path-is-absolute": ["1.0.1"],
+ "promise-inflight": ["1.0.1"],
+ "promise-retry": ["2.0.1"],
+ "readable-stream": ["3.6.1"],
+ "retry": ["0.12.0"],
+ "rimraf": ["3.0.2"],
+ "safe-buffer": ["5.2.1"],
+ "safer-buffer": ["2.1.2"],
+ "segfault-handler": ["1.3.0"],
+ "semver": ["7.3.8"],
+ "set-blocking": ["2.0.0"],
+ "signal-exit": ["3.0.7"],
+ "smart-buffer": ["4.2.0"],
+ "socks": ["2.7.1"],
+ "socks-proxy-agent": ["7.0.0"],
+ "ssri": ["9.0.1"],
+ "string-width": ["4.2.3"],
+ "string_decoder": ["1.3.0"],
+ "strip-ansi": ["6.0.1"],
+ "tar": ["6.1.13"],
+ "unique-filename": ["2.0.1"],
+ "unique-slug": ["3.0.0"],
+ "util-deprecate": ["1.0.2"],
+ "which": ["2.0.2"],
+ "wide-align": ["1.1.5"],
+ "wrappy": ["1.0.2"],
+ "yallist": ["4.0.0"],
+ },
+ lifecycle_hooks = ["preinstall", "install", "postinstall"],
+ lifecycle_hooks_execution_requirements = ["no-sandbox"],
+ lifecycle_hooks_use_default_shell_env = True,
+ )
+
+ npm_import(
+ name = "npm__semver__7.3.8",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "semver",
+ version = "7.3.8",
+ url = "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ deps = {
+ "lru-cache": "6.0.0",
+ },
+ transitive_closure = {
+ "lru-cache": ["6.0.0"],
+ "semver": ["7.3.8"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__set-blocking__2.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "set-blocking",
+ version = "2.0.0",
+ url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ transitive_closure = {
+ "set-blocking": ["2.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__signal-exit__3.0.7",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "signal-exit",
+ version = "3.0.7",
+ url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ transitive_closure = {
+ "signal-exit": ["3.0.7"],
+ },
+ )
+
+ npm_import(
+ name = "npm__smart-buffer__4.2.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "smart-buffer",
+ version = "4.2.0",
+ url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ transitive_closure = {
+ "smart-buffer": ["4.2.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__socks-proxy-agent__7.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "socks-proxy-agent",
+ version = "7.0.0",
+ url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+ deps = {
+ "agent-base": "6.0.2",
+ "debug": "4.3.4",
+ "socks": "2.7.1",
+ },
+ transitive_closure = {
+ "agent-base": ["6.0.2"],
+ "debug": ["4.3.4"],
+ "ip": ["2.0.0"],
+ "ms": ["2.1.2"],
+ "smart-buffer": ["4.2.0"],
+ "socks": ["2.7.1"],
+ "socks-proxy-agent": ["7.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__socks__2.7.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "socks",
+ version = "2.7.1",
+ url = "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ deps = {
+ "ip": "2.0.0",
+ "smart-buffer": "4.2.0",
+ },
+ transitive_closure = {
+ "ip": ["2.0.0"],
+ "smart-buffer": ["4.2.0"],
+ "socks": ["2.7.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__ssri__9.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "ssri",
+ version = "9.0.1",
+ url = "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==",
+ deps = {
+ "minipass": "3.3.6",
+ },
+ transitive_closure = {
+ "minipass": ["3.3.6"],
+ "ssri": ["9.0.1"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__string-width__4.2.3",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "string-width",
+ version = "4.2.3",
+ url = "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ deps = {
+ "emoji-regex": "8.0.0",
+ "is-fullwidth-code-point": "3.0.0",
+ "strip-ansi": "6.0.1",
+ },
+ transitive_closure = {
+ "ansi-regex": ["5.0.1"],
+ "emoji-regex": ["8.0.0"],
+ "is-fullwidth-code-point": ["3.0.0"],
+ "string-width": ["4.2.3"],
+ "strip-ansi": ["6.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__string_decoder__1.3.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "string_decoder",
+ version = "1.3.0",
+ url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ deps = {
+ "safe-buffer": "5.2.1",
+ },
+ transitive_closure = {
+ "safe-buffer": ["5.2.1"],
+ "string_decoder": ["1.3.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__strip-ansi__6.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "strip-ansi",
+ version = "6.0.1",
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ deps = {
+ "ansi-regex": "5.0.1",
+ },
+ transitive_closure = {
+ "ansi-regex": ["5.0.1"],
+ "strip-ansi": ["6.0.1"],
+ },
+ )
+
+ npm_import(
+ name = "npm__tar__6.1.13",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "tar",
+ version = "6.1.13",
+ url = "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==",
+ deps = {
+ "chownr": "2.0.0",
+ "fs-minipass": "2.1.0",
+ "minipass": "4.2.4",
+ "minizlib": "2.1.2",
+ "mkdirp": "1.0.4",
+ "yallist": "4.0.0",
+ },
+ transitive_closure = {
+ "chownr": ["2.0.0"],
+ "fs-minipass": ["2.1.0"],
+ "minipass": ["3.3.6", "4.2.4"],
+ "minizlib": ["2.1.2"],
+ "mkdirp": ["1.0.4"],
+ "tar": ["6.1.13"],
+ "yallist": ["4.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__unique-filename__2.0.1",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "unique-filename",
+ version = "2.0.1",
+ url = "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==",
+ deps = {
+ "unique-slug": "3.0.0",
+ },
+ transitive_closure = {
+ "imurmurhash": ["0.1.4"],
+ "unique-filename": ["2.0.1"],
+ "unique-slug": ["3.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__unique-slug__3.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "unique-slug",
+ version = "3.0.0",
+ url = "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==",
+ deps = {
+ "imurmurhash": "0.1.4",
+ },
+ transitive_closure = {
+ "imurmurhash": ["0.1.4"],
+ "unique-slug": ["3.0.0"],
+ },
+ )
+
+ npm_import(
+ name = "npm__util-deprecate__1.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "util-deprecate",
+ version = "1.0.2",
+ url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ transitive_closure = {
+ "util-deprecate": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__which__2.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "which",
+ version = "2.0.2",
+ url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ deps = {
+ "isexe": "2.0.0",
+ },
+ transitive_closure = {
+ "isexe": ["2.0.0"],
+ "which": ["2.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__wide-align__1.1.5",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "wide-align",
+ version = "1.1.5",
+ url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ deps = {
+ "string-width": "4.2.3",
+ },
+ transitive_closure = {
+ "ansi-regex": ["5.0.1"],
+ "emoji-regex": ["8.0.0"],
+ "is-fullwidth-code-point": ["3.0.0"],
+ "string-width": ["4.2.3"],
+ "strip-ansi": ["6.0.1"],
+ "wide-align": ["1.1.5"],
+ },
+ )
+
+ npm_import(
+ name = "npm__wrappy__1.0.2",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "wrappy",
+ version = "1.0.2",
+ url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ transitive_closure = {
+ "wrappy": ["1.0.2"],
+ },
+ )
+
+ npm_import(
+ name = "npm__yallist__4.0.0",
+ root_package = "",
+ link_workspace = "",
+ link_packages = {},
+ package = "yallist",
+ version = "4.0.0",
+ url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ package_visibility = ["//visibility:public"],
+ npm_translate_lock_repo = "npm",
+ integrity = "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ transitive_closure = {
+ "yallist": ["4.0.0"],
+ },
+ )
diff --git a/e2e/gyp_no_install_script/test/segfault-handler_defs.bzl.checked b/e2e/gyp_no_install_script/test/segfault-handler_defs.bzl.checked
new file mode 100644
index 000000000..8b06ba4ce
--- /dev/null
+++ b/e2e/gyp_no_install_script/test/segfault-handler_defs.bzl.checked
@@ -0,0 +1,461 @@
+"@generated by @aspect_rules_js//npm/private:npm_import.bzl for npm package segfault-handler@1.3.0"
+
+load("@aspect_rules_js//npm/private:npm_package_store_internal.bzl", _npm_package_store = "npm_package_store_internal")
+load("@aspect_rules_js//npm/private:npm_link_package_store.bzl", _npm_link_package_store = "npm_link_package_store")
+load("@aspect_rules_js//npm/private:utils.bzl", _utils = "utils")
+load("@aspect_rules_js//js:defs.bzl", _js_run_binary = "js_run_binary")
+load("@aspect_rules_js//npm/private:npm_package_internal.bzl", _npm_package_internal = "npm_package_internal")
+
+# Generated npm_package_store targets for npm package segfault-handler@1.3.0
+# buildifier: disable=function-docstring
+def npm_imported_package_store(name):
+ root_package = ""
+ is_root = native.package_name() == root_package
+ if not is_root:
+ msg = "No store links in bazel package '%s' for npm package npm package segfault-handler@1.3.0. This is neither the root package nor a link package of this package." % native.package_name()
+ fail(msg)
+ if not name.endswith("/segfault-handler"):
+ msg = "name must end with one of '/segfault-handler' when linking the store in package 'segfault-handler'; recommended value is 'node_modules/segfault-handler'"
+ fail(msg)
+ link_root_name = name[:-len("/segfault-handler")]
+
+ deps = {
+ ":.aspect_rules_js/{}/@gar+promisify@1.1.3/pkg".format(link_root_name): "@gar/promisify",
+ ":.aspect_rules_js/{}/@npmcli+fs@2.1.2/pkg".format(link_root_name): "@npmcli/fs",
+ ":.aspect_rules_js/{}/@npmcli+move-file@2.0.1/pkg".format(link_root_name): "@npmcli/move-file",
+ ":.aspect_rules_js/{}/@tootallnate+once@2.0.0/pkg".format(link_root_name): "@tootallnate/once",
+ ":.aspect_rules_js/{}/abbrev@1.1.1/pkg".format(link_root_name): "abbrev",
+ ":.aspect_rules_js/{}/agent-base@6.0.2/pkg".format(link_root_name): "agent-base",
+ ":.aspect_rules_js/{}/agentkeepalive@4.2.1/pkg".format(link_root_name): "agentkeepalive",
+ ":.aspect_rules_js/{}/aggregate-error@3.1.0/pkg".format(link_root_name): "aggregate-error",
+ ":.aspect_rules_js/{}/ansi-regex@5.0.1/pkg".format(link_root_name): "ansi-regex",
+ ":.aspect_rules_js/{}/aproba@2.0.0/pkg".format(link_root_name): "aproba",
+ ":.aspect_rules_js/{}/are-we-there-yet@3.0.1/pkg".format(link_root_name): "are-we-there-yet",
+ ":.aspect_rules_js/{}/balanced-match@1.0.2/pkg".format(link_root_name): "balanced-match",
+ ":.aspect_rules_js/{}/bindings@1.5.0/pkg".format(link_root_name): "bindings",
+ ":.aspect_rules_js/{}/brace-expansion@1.1.11/pkg".format(link_root_name): "brace-expansion",
+ ":.aspect_rules_js/{}/brace-expansion@2.0.1/pkg".format(link_root_name): "brace-expansion",
+ ":.aspect_rules_js/{}/cacache@16.1.3/pkg".format(link_root_name): "cacache",
+ ":.aspect_rules_js/{}/chownr@2.0.0/pkg".format(link_root_name): "chownr",
+ ":.aspect_rules_js/{}/clean-stack@2.2.0/pkg".format(link_root_name): "clean-stack",
+ ":.aspect_rules_js/{}/color-support@1.1.3/pkg".format(link_root_name): "color-support",
+ ":.aspect_rules_js/{}/concat-map@0.0.1/pkg".format(link_root_name): "concat-map",
+ ":.aspect_rules_js/{}/console-control-strings@1.1.0/pkg".format(link_root_name): "console-control-strings",
+ ":.aspect_rules_js/{}/debug@4.3.4/pkg".format(link_root_name): "debug",
+ ":.aspect_rules_js/{}/delegates@1.0.0/pkg".format(link_root_name): "delegates",
+ ":.aspect_rules_js/{}/depd@1.1.2/pkg".format(link_root_name): "depd",
+ ":.aspect_rules_js/{}/emoji-regex@8.0.0/pkg".format(link_root_name): "emoji-regex",
+ ":.aspect_rules_js/{}/encoding@0.1.13/pkg".format(link_root_name): "encoding",
+ ":.aspect_rules_js/{}/env-paths@2.2.1/pkg".format(link_root_name): "env-paths",
+ ":.aspect_rules_js/{}/err-code@2.0.3/pkg".format(link_root_name): "err-code",
+ ":.aspect_rules_js/{}/file-uri-to-path@1.0.0/pkg".format(link_root_name): "file-uri-to-path",
+ ":.aspect_rules_js/{}/fs-minipass@2.1.0/pkg".format(link_root_name): "fs-minipass",
+ ":.aspect_rules_js/{}/fs.realpath@1.0.0/pkg".format(link_root_name): "fs.realpath",
+ ":.aspect_rules_js/{}/gauge@4.0.4/pkg".format(link_root_name): "gauge",
+ ":.aspect_rules_js/{}/glob@7.2.3/pkg".format(link_root_name): "glob",
+ ":.aspect_rules_js/{}/glob@8.1.0/pkg".format(link_root_name): "glob",
+ ":.aspect_rules_js/{}/graceful-fs@4.2.10/pkg".format(link_root_name): "graceful-fs",
+ ":.aspect_rules_js/{}/has-unicode@2.0.1/pkg".format(link_root_name): "has-unicode",
+ ":.aspect_rules_js/{}/http-cache-semantics@4.1.1/pkg".format(link_root_name): "http-cache-semantics",
+ ":.aspect_rules_js/{}/http-proxy-agent@5.0.0/pkg".format(link_root_name): "http-proxy-agent",
+ ":.aspect_rules_js/{}/https-proxy-agent@5.0.1/pkg".format(link_root_name): "https-proxy-agent",
+ ":.aspect_rules_js/{}/humanize-ms@1.2.1/pkg".format(link_root_name): "humanize-ms",
+ ":.aspect_rules_js/{}/iconv-lite@0.6.3/pkg".format(link_root_name): "iconv-lite",
+ ":.aspect_rules_js/{}/imurmurhash@0.1.4/pkg".format(link_root_name): "imurmurhash",
+ ":.aspect_rules_js/{}/indent-string@4.0.0/pkg".format(link_root_name): "indent-string",
+ ":.aspect_rules_js/{}/infer-owner@1.0.4/pkg".format(link_root_name): "infer-owner",
+ ":.aspect_rules_js/{}/inflight@1.0.6/pkg".format(link_root_name): "inflight",
+ ":.aspect_rules_js/{}/inherits@2.0.4/pkg".format(link_root_name): "inherits",
+ ":.aspect_rules_js/{}/ip@2.0.0/pkg".format(link_root_name): "ip",
+ ":.aspect_rules_js/{}/is-fullwidth-code-point@3.0.0/pkg".format(link_root_name): "is-fullwidth-code-point",
+ ":.aspect_rules_js/{}/is-lambda@1.0.1/pkg".format(link_root_name): "is-lambda",
+ ":.aspect_rules_js/{}/isexe@2.0.0/pkg".format(link_root_name): "isexe",
+ ":.aspect_rules_js/{}/lru-cache@6.0.0/pkg".format(link_root_name): "lru-cache",
+ ":.aspect_rules_js/{}/lru-cache@7.17.0/pkg".format(link_root_name): "lru-cache",
+ ":.aspect_rules_js/{}/make-fetch-happen@10.2.1/pkg".format(link_root_name): "make-fetch-happen",
+ ":.aspect_rules_js/{}/minimatch@3.1.2/pkg".format(link_root_name): "minimatch",
+ ":.aspect_rules_js/{}/minimatch@5.1.6/pkg".format(link_root_name): "minimatch",
+ ":.aspect_rules_js/{}/minipass@3.3.6/pkg".format(link_root_name): "minipass",
+ ":.aspect_rules_js/{}/minipass@4.2.4/pkg".format(link_root_name): "minipass",
+ ":.aspect_rules_js/{}/minipass-collect@1.0.2/pkg".format(link_root_name): "minipass-collect",
+ ":.aspect_rules_js/{}/minipass-fetch@2.1.2/pkg".format(link_root_name): "minipass-fetch",
+ ":.aspect_rules_js/{}/minipass-flush@1.0.5/pkg".format(link_root_name): "minipass-flush",
+ ":.aspect_rules_js/{}/minipass-pipeline@1.2.4/pkg".format(link_root_name): "minipass-pipeline",
+ ":.aspect_rules_js/{}/minipass-sized@1.0.3/pkg".format(link_root_name): "minipass-sized",
+ ":.aspect_rules_js/{}/minizlib@2.1.2/pkg".format(link_root_name): "minizlib",
+ ":.aspect_rules_js/{}/mkdirp@1.0.4/pkg".format(link_root_name): "mkdirp",
+ ":.aspect_rules_js/{}/ms@2.1.2/pkg".format(link_root_name): "ms",
+ ":.aspect_rules_js/{}/ms@2.1.3/pkg".format(link_root_name): "ms",
+ ":.aspect_rules_js/{}/nan@2.17.0/pkg".format(link_root_name): "nan",
+ ":.aspect_rules_js/{}/negotiator@0.6.3/pkg".format(link_root_name): "negotiator",
+ ":.aspect_rules_js/{}/node-gyp@9.3.1/pkg".format(link_root_name): "node-gyp",
+ ":.aspect_rules_js/{}/nopt@6.0.0/pkg".format(link_root_name): "nopt",
+ ":.aspect_rules_js/{}/npmlog@6.0.2/pkg".format(link_root_name): "npmlog",
+ ":.aspect_rules_js/{}/once@1.4.0/pkg".format(link_root_name): "once",
+ ":.aspect_rules_js/{}/p-map@4.0.0/pkg".format(link_root_name): "p-map",
+ ":.aspect_rules_js/{}/path-is-absolute@1.0.1/pkg".format(link_root_name): "path-is-absolute",
+ ":.aspect_rules_js/{}/promise-inflight@1.0.1/pkg".format(link_root_name): "promise-inflight",
+ ":.aspect_rules_js/{}/promise-retry@2.0.1/pkg".format(link_root_name): "promise-retry",
+ ":.aspect_rules_js/{}/readable-stream@3.6.1/pkg".format(link_root_name): "readable-stream",
+ ":.aspect_rules_js/{}/retry@0.12.0/pkg".format(link_root_name): "retry",
+ ":.aspect_rules_js/{}/rimraf@3.0.2/pkg".format(link_root_name): "rimraf",
+ ":.aspect_rules_js/{}/safe-buffer@5.2.1/pkg".format(link_root_name): "safe-buffer",
+ ":.aspect_rules_js/{}/safer-buffer@2.1.2/pkg".format(link_root_name): "safer-buffer",
+ ":.aspect_rules_js/{}/segfault-handler@1.3.0/pkg".format(link_root_name): "segfault-handler",
+ ":.aspect_rules_js/{}/semver@7.3.8/pkg".format(link_root_name): "semver",
+ ":.aspect_rules_js/{}/set-blocking@2.0.0/pkg".format(link_root_name): "set-blocking",
+ ":.aspect_rules_js/{}/signal-exit@3.0.7/pkg".format(link_root_name): "signal-exit",
+ ":.aspect_rules_js/{}/smart-buffer@4.2.0/pkg".format(link_root_name): "smart-buffer",
+ ":.aspect_rules_js/{}/socks@2.7.1/pkg".format(link_root_name): "socks",
+ ":.aspect_rules_js/{}/socks-proxy-agent@7.0.0/pkg".format(link_root_name): "socks-proxy-agent",
+ ":.aspect_rules_js/{}/ssri@9.0.1/pkg".format(link_root_name): "ssri",
+ ":.aspect_rules_js/{}/string-width@4.2.3/pkg".format(link_root_name): "string-width",
+ ":.aspect_rules_js/{}/string_decoder@1.3.0/pkg".format(link_root_name): "string_decoder",
+ ":.aspect_rules_js/{}/strip-ansi@6.0.1/pkg".format(link_root_name): "strip-ansi",
+ ":.aspect_rules_js/{}/tar@6.1.13/pkg".format(link_root_name): "tar",
+ ":.aspect_rules_js/{}/unique-filename@2.0.1/pkg".format(link_root_name): "unique-filename",
+ ":.aspect_rules_js/{}/unique-slug@3.0.0/pkg".format(link_root_name): "unique-slug",
+ ":.aspect_rules_js/{}/util-deprecate@1.0.2/pkg".format(link_root_name): "util-deprecate",
+ ":.aspect_rules_js/{}/which@2.0.2/pkg".format(link_root_name): "which",
+ ":.aspect_rules_js/{}/wide-align@1.1.5/pkg".format(link_root_name): "wide-align",
+ ":.aspect_rules_js/{}/wrappy@1.0.2/pkg".format(link_root_name): "wrappy",
+ ":.aspect_rules_js/{}/yallist@4.0.0/pkg".format(link_root_name): "yallist",
+ }
+ ref_deps = {
+ ":.aspect_rules_js/{}/bindings@1.5.0/ref".format(link_root_name): "bindings",
+ ":.aspect_rules_js/{}/nan@2.17.0/ref".format(link_root_name): "nan",
+ ":.aspect_rules_js/{}/node-gyp@9.3.1/ref".format(link_root_name): "node-gyp",
+ }
+
+ store_target_name = ".aspect_rules_js/{}/segfault-handler@1.3.0".format(link_root_name)
+
+ # reference target used to avoid circular deps
+ _npm_package_store(
+ name = "{}/ref".format(store_target_name),
+ package = "segfault-handler",
+ version = "1.3.0",
+ dev = False,
+ tags = ["manual"],
+ use_declare_symlink = select({
+ "@aspect_rules_js//js:allow_unresolved_symlinks": True,
+ "//conditions:default": False,
+ }),
+ )
+
+ # post-lifecycle target with reference deps for use in terminal target with transitive closure
+ _npm_package_store(
+ name = "{}/pkg".format(store_target_name),
+ src = "{}/pkg_lc".format(store_target_name) if True else "@npm//:npm__segfault-handler__1.3.0_source_directory",
+ package = "segfault-handler",
+ version = "1.3.0",
+ dev = False,
+ deps = ref_deps,
+ tags = ["manual"],
+ use_declare_symlink = select({
+ "@aspect_rules_js//js:allow_unresolved_symlinks": True,
+ "//conditions:default": False,
+ }),
+ )
+
+ # virtual store target with transitive closure of all npm package dependencies
+ _npm_package_store(
+ name = store_target_name,
+ src = None if True else "@npm//:npm__segfault-handler__1.3.0_source_directory",
+ package = "segfault-handler",
+ version = "1.3.0",
+ dev = False,
+ deps = deps,
+ visibility = ["//visibility:public"],
+ tags = ["manual"],
+ use_declare_symlink = select({
+ "@aspect_rules_js//js:allow_unresolved_symlinks": True,
+ "//conditions:default": False,
+ }),
+ )
+
+ # filegroup target that provides a single file which is
+ # package directory for use in $(execpath) and $(rootpath)
+ native.filegroup(
+ name = "{}/dir".format(store_target_name),
+ srcs = [":{}".format(store_target_name)],
+ output_group = _utils.package_directory_output_group,
+ visibility = ["//visibility:public"],
+ tags = ["manual"],
+ )
+
+ lc_deps = {
+ ":.aspect_rules_js/{}/@gar+promisify@1.1.3/pkg".format(link_root_name): "@gar/promisify",
+ ":.aspect_rules_js/{}/@npmcli+fs@2.1.2/pkg".format(link_root_name): "@npmcli/fs",
+ ":.aspect_rules_js/{}/@npmcli+move-file@2.0.1/pkg".format(link_root_name): "@npmcli/move-file",
+ ":.aspect_rules_js/{}/@tootallnate+once@2.0.0/pkg".format(link_root_name): "@tootallnate/once",
+ ":.aspect_rules_js/{}/abbrev@1.1.1/pkg".format(link_root_name): "abbrev",
+ ":.aspect_rules_js/{}/agent-base@6.0.2/pkg".format(link_root_name): "agent-base",
+ ":.aspect_rules_js/{}/agentkeepalive@4.2.1/pkg".format(link_root_name): "agentkeepalive",
+ ":.aspect_rules_js/{}/aggregate-error@3.1.0/pkg".format(link_root_name): "aggregate-error",
+ ":.aspect_rules_js/{}/ansi-regex@5.0.1/pkg".format(link_root_name): "ansi-regex",
+ ":.aspect_rules_js/{}/aproba@2.0.0/pkg".format(link_root_name): "aproba",
+ ":.aspect_rules_js/{}/are-we-there-yet@3.0.1/pkg".format(link_root_name): "are-we-there-yet",
+ ":.aspect_rules_js/{}/balanced-match@1.0.2/pkg".format(link_root_name): "balanced-match",
+ ":.aspect_rules_js/{}/bindings@1.5.0/pkg".format(link_root_name): "bindings",
+ ":.aspect_rules_js/{}/brace-expansion@1.1.11/pkg".format(link_root_name): "brace-expansion",
+ ":.aspect_rules_js/{}/brace-expansion@2.0.1/pkg".format(link_root_name): "brace-expansion",
+ ":.aspect_rules_js/{}/cacache@16.1.3/pkg".format(link_root_name): "cacache",
+ ":.aspect_rules_js/{}/chownr@2.0.0/pkg".format(link_root_name): "chownr",
+ ":.aspect_rules_js/{}/clean-stack@2.2.0/pkg".format(link_root_name): "clean-stack",
+ ":.aspect_rules_js/{}/color-support@1.1.3/pkg".format(link_root_name): "color-support",
+ ":.aspect_rules_js/{}/concat-map@0.0.1/pkg".format(link_root_name): "concat-map",
+ ":.aspect_rules_js/{}/console-control-strings@1.1.0/pkg".format(link_root_name): "console-control-strings",
+ ":.aspect_rules_js/{}/debug@4.3.4/pkg".format(link_root_name): "debug",
+ ":.aspect_rules_js/{}/delegates@1.0.0/pkg".format(link_root_name): "delegates",
+ ":.aspect_rules_js/{}/depd@1.1.2/pkg".format(link_root_name): "depd",
+ ":.aspect_rules_js/{}/emoji-regex@8.0.0/pkg".format(link_root_name): "emoji-regex",
+ ":.aspect_rules_js/{}/encoding@0.1.13/pkg".format(link_root_name): "encoding",
+ ":.aspect_rules_js/{}/env-paths@2.2.1/pkg".format(link_root_name): "env-paths",
+ ":.aspect_rules_js/{}/err-code@2.0.3/pkg".format(link_root_name): "err-code",
+ ":.aspect_rules_js/{}/file-uri-to-path@1.0.0/pkg".format(link_root_name): "file-uri-to-path",
+ ":.aspect_rules_js/{}/fs-minipass@2.1.0/pkg".format(link_root_name): "fs-minipass",
+ ":.aspect_rules_js/{}/fs.realpath@1.0.0/pkg".format(link_root_name): "fs.realpath",
+ ":.aspect_rules_js/{}/gauge@4.0.4/pkg".format(link_root_name): "gauge",
+ ":.aspect_rules_js/{}/glob@7.2.3/pkg".format(link_root_name): "glob",
+ ":.aspect_rules_js/{}/glob@8.1.0/pkg".format(link_root_name): "glob",
+ ":.aspect_rules_js/{}/graceful-fs@4.2.10/pkg".format(link_root_name): "graceful-fs",
+ ":.aspect_rules_js/{}/has-unicode@2.0.1/pkg".format(link_root_name): "has-unicode",
+ ":.aspect_rules_js/{}/http-cache-semantics@4.1.1/pkg".format(link_root_name): "http-cache-semantics",
+ ":.aspect_rules_js/{}/http-proxy-agent@5.0.0/pkg".format(link_root_name): "http-proxy-agent",
+ ":.aspect_rules_js/{}/https-proxy-agent@5.0.1/pkg".format(link_root_name): "https-proxy-agent",
+ ":.aspect_rules_js/{}/humanize-ms@1.2.1/pkg".format(link_root_name): "humanize-ms",
+ ":.aspect_rules_js/{}/iconv-lite@0.6.3/pkg".format(link_root_name): "iconv-lite",
+ ":.aspect_rules_js/{}/imurmurhash@0.1.4/pkg".format(link_root_name): "imurmurhash",
+ ":.aspect_rules_js/{}/indent-string@4.0.0/pkg".format(link_root_name): "indent-string",
+ ":.aspect_rules_js/{}/infer-owner@1.0.4/pkg".format(link_root_name): "infer-owner",
+ ":.aspect_rules_js/{}/inflight@1.0.6/pkg".format(link_root_name): "inflight",
+ ":.aspect_rules_js/{}/inherits@2.0.4/pkg".format(link_root_name): "inherits",
+ ":.aspect_rules_js/{}/ip@2.0.0/pkg".format(link_root_name): "ip",
+ ":.aspect_rules_js/{}/is-fullwidth-code-point@3.0.0/pkg".format(link_root_name): "is-fullwidth-code-point",
+ ":.aspect_rules_js/{}/is-lambda@1.0.1/pkg".format(link_root_name): "is-lambda",
+ ":.aspect_rules_js/{}/isexe@2.0.0/pkg".format(link_root_name): "isexe",
+ ":.aspect_rules_js/{}/lru-cache@6.0.0/pkg".format(link_root_name): "lru-cache",
+ ":.aspect_rules_js/{}/lru-cache@7.17.0/pkg".format(link_root_name): "lru-cache",
+ ":.aspect_rules_js/{}/make-fetch-happen@10.2.1/pkg".format(link_root_name): "make-fetch-happen",
+ ":.aspect_rules_js/{}/minimatch@3.1.2/pkg".format(link_root_name): "minimatch",
+ ":.aspect_rules_js/{}/minimatch@5.1.6/pkg".format(link_root_name): "minimatch",
+ ":.aspect_rules_js/{}/minipass@3.3.6/pkg".format(link_root_name): "minipass",
+ ":.aspect_rules_js/{}/minipass@4.2.4/pkg".format(link_root_name): "minipass",
+ ":.aspect_rules_js/{}/minipass-collect@1.0.2/pkg".format(link_root_name): "minipass-collect",
+ ":.aspect_rules_js/{}/minipass-fetch@2.1.2/pkg".format(link_root_name): "minipass-fetch",
+ ":.aspect_rules_js/{}/minipass-flush@1.0.5/pkg".format(link_root_name): "minipass-flush",
+ ":.aspect_rules_js/{}/minipass-pipeline@1.2.4/pkg".format(link_root_name): "minipass-pipeline",
+ ":.aspect_rules_js/{}/minipass-sized@1.0.3/pkg".format(link_root_name): "minipass-sized",
+ ":.aspect_rules_js/{}/minizlib@2.1.2/pkg".format(link_root_name): "minizlib",
+ ":.aspect_rules_js/{}/mkdirp@1.0.4/pkg".format(link_root_name): "mkdirp",
+ ":.aspect_rules_js/{}/ms@2.1.2/pkg".format(link_root_name): "ms",
+ ":.aspect_rules_js/{}/ms@2.1.3/pkg".format(link_root_name): "ms",
+ ":.aspect_rules_js/{}/nan@2.17.0/pkg".format(link_root_name): "nan",
+ ":.aspect_rules_js/{}/negotiator@0.6.3/pkg".format(link_root_name): "negotiator",
+ ":.aspect_rules_js/{}/node-gyp@9.3.1/pkg".format(link_root_name): "node-gyp",
+ ":.aspect_rules_js/{}/nopt@6.0.0/pkg".format(link_root_name): "nopt",
+ ":.aspect_rules_js/{}/npmlog@6.0.2/pkg".format(link_root_name): "npmlog",
+ ":.aspect_rules_js/{}/once@1.4.0/pkg".format(link_root_name): "once",
+ ":.aspect_rules_js/{}/p-map@4.0.0/pkg".format(link_root_name): "p-map",
+ ":.aspect_rules_js/{}/path-is-absolute@1.0.1/pkg".format(link_root_name): "path-is-absolute",
+ ":.aspect_rules_js/{}/promise-inflight@1.0.1/pkg".format(link_root_name): "promise-inflight",
+ ":.aspect_rules_js/{}/promise-retry@2.0.1/pkg".format(link_root_name): "promise-retry",
+ ":.aspect_rules_js/{}/readable-stream@3.6.1/pkg".format(link_root_name): "readable-stream",
+ ":.aspect_rules_js/{}/retry@0.12.0/pkg".format(link_root_name): "retry",
+ ":.aspect_rules_js/{}/rimraf@3.0.2/pkg".format(link_root_name): "rimraf",
+ ":.aspect_rules_js/{}/safe-buffer@5.2.1/pkg".format(link_root_name): "safe-buffer",
+ ":.aspect_rules_js/{}/safer-buffer@2.1.2/pkg".format(link_root_name): "safer-buffer",
+ ":.aspect_rules_js/{}/segfault-handler@1.3.0/pkg_pre_lc_lite".format(link_root_name): "segfault-handler",
+ ":.aspect_rules_js/{}/semver@7.3.8/pkg".format(link_root_name): "semver",
+ ":.aspect_rules_js/{}/set-blocking@2.0.0/pkg".format(link_root_name): "set-blocking",
+ ":.aspect_rules_js/{}/signal-exit@3.0.7/pkg".format(link_root_name): "signal-exit",
+ ":.aspect_rules_js/{}/smart-buffer@4.2.0/pkg".format(link_root_name): "smart-buffer",
+ ":.aspect_rules_js/{}/socks@2.7.1/pkg".format(link_root_name): "socks",
+ ":.aspect_rules_js/{}/socks-proxy-agent@7.0.0/pkg".format(link_root_name): "socks-proxy-agent",
+ ":.aspect_rules_js/{}/ssri@9.0.1/pkg".format(link_root_name): "ssri",
+ ":.aspect_rules_js/{}/string-width@4.2.3/pkg".format(link_root_name): "string-width",
+ ":.aspect_rules_js/{}/string_decoder@1.3.0/pkg".format(link_root_name): "string_decoder",
+ ":.aspect_rules_js/{}/strip-ansi@6.0.1/pkg".format(link_root_name): "strip-ansi",
+ ":.aspect_rules_js/{}/tar@6.1.13/pkg".format(link_root_name): "tar",
+ ":.aspect_rules_js/{}/unique-filename@2.0.1/pkg".format(link_root_name): "unique-filename",
+ ":.aspect_rules_js/{}/unique-slug@3.0.0/pkg".format(link_root_name): "unique-slug",
+ ":.aspect_rules_js/{}/util-deprecate@1.0.2/pkg".format(link_root_name): "util-deprecate",
+ ":.aspect_rules_js/{}/which@2.0.2/pkg".format(link_root_name): "which",
+ ":.aspect_rules_js/{}/wide-align@1.1.5/pkg".format(link_root_name): "wide-align",
+ ":.aspect_rules_js/{}/wrappy@1.0.2/pkg".format(link_root_name): "wrappy",
+ ":.aspect_rules_js/{}/yallist@4.0.0/pkg".format(link_root_name): "yallist",
+ }
+
+ # pre-lifecycle target with reference deps for use terminal pre-lifecycle target
+ _npm_package_store(
+ name = "{}/pkg_pre_lc_lite".format(store_target_name),
+ package = "segfault-handler",
+ version = "1.3.0",
+ dev = False,
+ deps = ref_deps,
+ tags = ["manual"],
+ use_declare_symlink = select({
+ "@aspect_rules_js//js:allow_unresolved_symlinks": True,
+ "//conditions:default": False,
+ }),
+ )
+
+ # terminal pre-lifecycle target for use in lifecycle build target below
+ _npm_package_store(
+ name = "{}/pkg_pre_lc".format(store_target_name),
+ package = "segfault-handler",
+ version = "1.3.0",
+ dev = False,
+ deps = lc_deps,
+ tags = ["manual"],
+ use_declare_symlink = select({
+ "@aspect_rules_js//js:allow_unresolved_symlinks": True,
+ "//conditions:default": False,
+ }),
+ )
+
+ # lifecycle build action
+ _js_run_binary(
+ name = "{}/lc".format(store_target_name),
+ srcs = [
+ "@@npm__segfault-handler__1.3.0//:pkg",
+ ":{}/pkg_pre_lc".format(store_target_name),
+ ],
+ # js_run_binary runs in the output dir; must add "../../../" because paths are relative to the exec root
+ args = [
+ "segfault-handler",
+ "../../../$(execpath @@npm__segfault-handler__1.3.0//:pkg)",
+ "../../../$(@D)",
+ ] +
+ select({
+ "@aspect_rules_js//platforms/os:osx": ["--platform=darwin"],
+ "@aspect_rules_js//platforms/os:linux": ["--platform=linux"],
+ "@aspect_rules_js//platforms/os:windows": ["--platform=win32"],
+ "//conditions:default": [],
+ }) +
+ select({
+ "@aspect_rules_js//platforms/cpu:arm64": ["--arch=arm64"],
+ "@aspect_rules_js//platforms/cpu:x86_64": ["--arch=x64"],
+ "//conditions:default": [],
+ }) +
+ select({
+ "@aspect_rules_js//platforms/libc:glibc": ["--libc=glibc"],
+ "@aspect_rules_js//platforms/libc:musl": ["--libc=musl"],
+ "//conditions:default": [],
+ }),
+ copy_srcs_to_bin = False,
+ tool = "@aspect_rules_js//npm/private/lifecycle:lifecycle-hooks",
+ out_dirs = ["node_modules/.aspect_rules_js/segfault-handler@1.3.0/node_modules/segfault-handler"],
+ tags = ["manual"],
+ execution_requirements = {
+ "no-sandbox": "1",
+ },
+ mnemonic = "NpmLifecycleHook",
+ progress_message = "Running lifecycle hooks on npm package segfault-handler@1.3.0",
+ env = {},
+ use_default_shell_env = True,
+ )
+
+ # post-lifecycle npm_package
+ _npm_package_internal(
+ name = "{}/pkg_lc".format(store_target_name),
+ src = ":{}/lc".format(store_target_name),
+ package = "segfault-handler",
+ version = "1.3.0",
+ tags = ["manual"],
+ )
+
+# Generated npm_package_store and npm_link_package_store targets for npm package segfault-handler@1.3.0
+# buildifier: disable=function-docstring
+def npm_link_imported_package_store(name):
+ link_packages = {
+ "": ["segfault-handler"],
+ }
+ if native.package_name() in link_packages:
+ link_aliases = link_packages[native.package_name()]
+ else:
+ link_aliases = ["segfault-handler"]
+
+ link_alias = None
+ for _link_alias in link_aliases:
+ if name.endswith("/{}".format(_link_alias)):
+ # longest match wins
+ if not link_alias or len(_link_alias) > len(link_alias):
+ link_alias = _link_alias
+ if not link_alias:
+ msg = "name must end with one of '/{{ {link_aliases_comma_separated} }}' when called from package 'segfault-handler'; recommended value(s) are 'node_modules/{{ {link_aliases_comma_separated} }}'".format(link_aliases_comma_separated = ", ".join(link_aliases))
+ fail(msg)
+
+ link_root_name = name[:-len("/{}".format(link_alias))]
+ store_target_name = ".aspect_rules_js/{}/segfault-handler@1.3.0".format(link_root_name)
+
+ # terminal package store target to link
+ _npm_link_package_store(
+ name = name,
+ package = link_alias,
+ src = "//:{}".format(store_target_name),
+ visibility = ["//visibility:public"],
+ tags = ["manual"],
+ use_declare_symlink = select({
+ "@aspect_rules_js//js:allow_unresolved_symlinks": True,
+ "//conditions:default": False,
+ }),
+ )
+
+ # filegroup target that provides a single file which is
+ # package directory for use in $(execpath) and $(rootpath)
+ native.filegroup(
+ name = "{}/dir".format(name),
+ srcs = [":{}".format(name)],
+ output_group = _utils.package_directory_output_group,
+ visibility = ["//visibility:public"],
+ tags = ["manual"],
+ )
+
+ return [":{}".format(name)] if True else []
+
+# Generated npm_package_store and npm_link_package_store targets for npm package segfault-handler@1.3.0
+# buildifier: disable=function-docstring
+def npm_link_imported_package(
+ name = "node_modules",
+ link = None,
+ fail_if_no_link = True):
+ root_package = ""
+ link_packages = {
+ "": ["segfault-handler"],
+ }
+
+ if link_packages and link != None:
+ fail("link attribute cannot be specified when link_packages are set")
+
+ is_link = (link == True) or (link == None and native.package_name() in link_packages)
+ is_root = native.package_name() == root_package
+
+ if fail_if_no_link and not is_root and not link:
+ msg = "Nothing to link in bazel package '%s' for npm package npm package segfault-handler@1.3.0. This is neither the root package nor a link package of this package." % native.package_name()
+ fail(msg)
+
+ link_targets = []
+ scoped_targets = {}
+
+ if is_link:
+ link_aliases = []
+ if native.package_name() in link_packages:
+ link_aliases = link_packages[native.package_name()]
+ if not link_aliases:
+ link_aliases = ["segfault-handler"]
+ for link_alias in link_aliases:
+ link_target_name = "{}/{}".format(name, link_alias)
+ npm_link_imported_package_store(name = link_target_name)
+ if True:
+ link_targets.append(":{}".format(link_target_name))
+ if len(link_alias.split("/", 1)) > 1:
+ link_scope = link_alias.split("/", 1)[0]
+ if link_scope not in scoped_targets:
+ scoped_targets[link_scope] = []
+ scoped_targets[link_scope].append(link_target_name)
+
+ if is_root:
+ npm_imported_package_store("{}/segfault-handler".format(name))
+
+ return (link_targets, scoped_targets)
diff --git a/npm/extensions.bzl b/npm/extensions.bzl
index 9eca2c114..5c7ee5016 100644
--- a/npm/extensions.bzl
+++ b/npm/extensions.bzl
@@ -30,6 +30,7 @@ def _extension_impl(module_ctx):
lifecycle_hooks_execution_requirements = attr.lifecycle_hooks_execution_requirements,
lifecycle_hooks_exclude = attr.lifecycle_hooks_exclude,
lifecycle_hooks_no_sandbox = attr.lifecycle_hooks_no_sandbox,
+ lifecycle_hooks_use_default_shell_env = attr.lifecycle_hooks_use_default_shell_env,
link_workspace = attr.link_workspace,
no_optional = attr.no_optional,
npmrc = attr.npmrc,
@@ -117,12 +118,13 @@ def _extension_impl(module_ctx):
WARNING: Cannot determine home directory in order to load home `.npmrc` file in module extension `npm_translate_lock(name = "{attr_name}")`.
""".format(attr_name = attr.name))
- lifecycle_hooks, lifecycle_hooks_execution_requirements = macro_helpers.macro_lifecycle_args_to_rule_attrs(
+ lifecycle_hooks, lifecycle_hooks_execution_requirements, lifecycle_hooks_use_default_shell_env = macro_helpers.macro_lifecycle_args_to_rule_attrs(
lifecycle_hooks = attr.lifecycle_hooks,
lifecycle_hooks_exclude = attr.lifecycle_hooks_exclude,
run_lifecycle_hooks = attr.run_lifecycle_hooks,
lifecycle_hooks_no_sandbox = attr.lifecycle_hooks_no_sandbox,
lifecycle_hooks_execution_requirements = attr.lifecycle_hooks_execution_requirements,
+ lifecycle_hooks_use_default_shell_env = attr.lifecycle_hooks_use_default_shell_env,
)
imports = npm_translate_lock_helpers.get_npm_imports(
importers = importers,
@@ -133,6 +135,7 @@ WARNING: Cannot determine home directory in order to load home `.npmrc` file in
attr = attr,
all_lifecycle_hooks = lifecycle_hooks,
all_lifecycle_hooks_execution_requirements = lifecycle_hooks_execution_requirements,
+ all_lifecycle_hooks_use_default_shell_env = lifecycle_hooks_use_default_shell_env,
registries = registries,
default_registry = utils.default_registry(),
npm_auth = npm_auth,
@@ -151,6 +154,7 @@ WARNING: Cannot determine home directory in order to load home `.npmrc` file in
lifecycle_hooks = i.run_lifecycle_hooks if i.run_lifecycle_hooks and i.lifecycle_hooks else [],
lifecycle_hooks_env = i.lifecycle_hooks_env if i.run_lifecycle_hooks and i.lifecycle_hooks_env else {},
lifecycle_hooks_execution_requirements = i.lifecycle_hooks_execution_requirements if i.run_lifecycle_hooks else [],
+ lifecycle_hooks_use_default_shell_env = i.lifecycle_hooks_use_default_shell_env,
link_packages = i.link_packages,
link_workspace = attr.link_workspace if attr.link_workspace else attr.pnpm_lock.workspace_name,
npm_auth = i.npm_auth,
@@ -184,6 +188,7 @@ WARNING: Cannot determine home directory in order to load home `.npmrc` file in
lifecycle_hooks_env = i.lifecycle_hooks_env,
lifecycle_hooks_execution_requirements = i.lifecycle_hooks_execution_requirements,
lifecycle_hooks_no_sandbox = i.lifecycle_hooks_no_sandbox,
+ lifecycle_hooks_use_default_shell_env = i.lifecycle_hooks_use_default_shell_env,
link_packages = i.link_packages,
link_workspace = i.link_workspace,
npm_auth = i.npm_auth,
diff --git a/npm/private/npm_import.bzl b/npm/private/npm_import.bzl
index 2a66d54fa..b9701e85a 100644
--- a/npm/private/npm_import.bzl
+++ b/npm/private/npm_import.bzl
@@ -185,7 +185,7 @@ _LINK_JS_PACKAGE_LIFECYCLE_TMPL = """\
execution_requirements = {lifecycle_hooks_execution_requirements},
mnemonic = "NpmLifecycleHook",
progress_message = "Running lifecycle hooks on npm package {package}@{version}",
- env = {lifecycle_hooks_env},
+ env = {lifecycle_hooks_env},{maybe_use_default_shell_env}
)
# post-lifecycle npm_package
@@ -792,6 +792,10 @@ def _impl_links(rctx):
virtual_store_root = utils.virtual_store_root,
maybe_bins = maybe_bins,
dev = rctx.attr.dev,
+ # Insert nothing when `lifecycle_hooks_use_default_shell_env` is None to remain backwards-compatible
+ # with bazel-lib `run_binary` before `use_default_shell_env` was added.
+ # TODO(2.0): remove support for old bazel-lib without `run_binary(use_default_shell_env)`
+ maybe_use_default_shell_env = "\n use_default_shell_env = True," if rctx.attr.lifecycle_hooks_use_default_shell_env else "",
)
npm_link_package_bzl = [
@@ -827,6 +831,7 @@ _ATTRS_LINKS = dicts.add(_COMMON_ATTRS, {
"lifecycle_build_target": attr.bool(),
"lifecycle_hooks_env": attr.string_list(),
"lifecycle_hooks_execution_requirements": attr.string_list(),
+ "lifecycle_hooks_use_default_shell_env": attr.bool(),
"npm_translate_lock_repo": attr.string(),
"transitive_closure": attr.string_list_dict(),
"package_visibility": attr.string_list(),
@@ -899,6 +904,7 @@ def npm_import(
lifecycle_hooks = [],
lifecycle_hooks_execution_requirements = ["no-sandbox"],
lifecycle_hooks_env = [],
+ lifecycle_hooks_use_default_shell_env = False,
integrity = "",
url = "",
commit = "",
@@ -1069,6 +1075,13 @@ def npm_import(
This defaults to ["no-sandbox"] to limit the overhead of sandbox creation and copying the output
TreeArtifact out of the sandbox.
+ lifecycle_hooks_use_default_shell_env: If True, the `use_default_shell_env` attribute of lifecycle hook
+ actions is set to True.
+
+ See [use_default_shell_env](https://bazel.build/rules/lib/builtins/actions#run.use_default_shell_env)
+
+ This defaults to False reduce the negative effects of `use_default_shell_env`. Requires bazel-lib >= 2.4.2.
+
integrity: Expected checksum of the file downloaded, in Subresource Integrity format.
This must match the checksum of the file downloaded.
@@ -1232,6 +1245,7 @@ def npm_import(
lifecycle_build_target = has_lifecycle_hooks or has_custom_postinstall,
lifecycle_hooks_env = lifecycle_hooks_env,
lifecycle_hooks_execution_requirements = lifecycle_hooks_execution_requirements,
+ lifecycle_hooks_use_default_shell_env = lifecycle_hooks_use_default_shell_env,
bins = bins,
npm_translate_lock_repo = npm_translate_lock_repo,
package_visibility = package_visibility,
diff --git a/npm/private/npm_translate_lock.bzl b/npm/private/npm_translate_lock.bzl
index 5a00bd70d..0a0ca6ac2 100644
--- a/npm/private/npm_translate_lock.bzl
+++ b/npm/private/npm_translate_lock.bzl
@@ -56,6 +56,7 @@ _ATTRS = {
"replace_packages": attr.string_dict(),
"lifecycle_hooks_envs": attr.string_list_dict(),
"lifecycle_hooks_execution_requirements": attr.string_list_dict(),
+ "lifecycle_hooks_use_default_shell_env": attr.string_dict(),
"lifecycle_hooks": attr.string_list_dict(),
"link_workspace": attr.string(),
"no_optional": attr.bool(),
@@ -174,6 +175,7 @@ def npm_translate_lock(
lifecycle_hooks_exclude = [],
lifecycle_hooks_execution_requirements = {},
lifecycle_hooks_no_sandbox = True,
+ lifecycle_hooks_use_default_shell_env = {},
replace_packages = {},
bins = {},
verify_node_modules_ignored = None,
@@ -384,6 +386,15 @@ def npm_translate_lock(
Read more: [lifecycles](/docs/pnpm.md#lifecycles)
+ lifecycle_hooks_use_default_shell_env: The `use_default_shell_env` attribute of the lifecycle hooks
+ actions on npm packages.
+
+ See [use_default_shell_env](https://bazel.build/rules/lib/builtins/actions#run.use_default_shell_env)
+
+ This defaults to False reduce the negative effects of `use_default_shell_env`. Requires bazel-lib >= 2.4.2.
+
+ Read more: [lifecycles](/docs/pnpm.md#lifecycles)
+
replace_packages: A dict of package names to npm_package targets to link instead of the sources specified in the pnpm lock file for the corresponding packages.
The injected npm_package targets may optionally contribute transitive npm package dependencies on top
@@ -604,12 +615,13 @@ WARNING: `package_json` attribute in `npm_translate_lock(name = "{name}")` is de
if not update_pnpm_lock and preupdate:
fail("expected update_pnpm_lock to be True when preupdate are specified")
- lifecycle_hooks, lifecycle_hooks_execution_requirements = macro_helpers.macro_lifecycle_args_to_rule_attrs(
+ lifecycle_hooks, lifecycle_hooks_execution_requirements, lifecycle_hooks_use_default_shell_env = macro_helpers.macro_lifecycle_args_to_rule_attrs(
lifecycle_hooks,
lifecycle_hooks_exclude,
run_lifecycle_hooks,
lifecycle_hooks_no_sandbox,
lifecycle_hooks_execution_requirements,
+ lifecycle_hooks_use_default_shell_env,
)
npm_translate_lock_rule(
@@ -631,6 +643,7 @@ WARNING: `package_json` attribute in `npm_translate_lock(name = "{name}")` is de
lifecycle_hooks = lifecycle_hooks,
lifecycle_hooks_envs = lifecycle_hooks_envs,
lifecycle_hooks_execution_requirements = lifecycle_hooks_execution_requirements,
+ lifecycle_hooks_use_default_shell_env = lifecycle_hooks_use_default_shell_env,
replace_packages = replace_packages,
bins = bins_string_list_dict,
verify_node_modules_ignored = verify_node_modules_ignored,
diff --git a/npm/private/npm_translate_lock_generate.bzl b/npm/private/npm_translate_lock_generate.bzl
index 41925f126..59739e206 100644
--- a/npm/private/npm_translate_lock_generate.bzl
+++ b/npm/private/npm_translate_lock_generate.bzl
@@ -17,7 +17,7 @@ _NPM_IMPORT_TMPL = \
version = "{version}",
url = "{url}",
package_visibility = {package_visibility},
- npm_translate_lock_repo = "{npm_translate_lock_repo}",{maybe_dev}{maybe_commit}{maybe_generate_bzl_library_targets}{maybe_integrity}{maybe_deps}{maybe_transitive_closure}{maybe_patches}{maybe_patch_args}{maybe_lifecycle_hooks}{maybe_custom_postinstall}{maybe_lifecycle_hooks_env}{maybe_lifecycle_hooks_execution_requirements}{maybe_bins}{maybe_npm_auth}{maybe_npm_auth_basic}{maybe_npm_auth_username}{maybe_npm_auth_password}{maybe_replace_package}
+ npm_translate_lock_repo = "{npm_translate_lock_repo}",{maybe_dev}{maybe_commit}{maybe_generate_bzl_library_targets}{maybe_integrity}{maybe_deps}{maybe_transitive_closure}{maybe_patches}{maybe_patch_args}{maybe_lifecycle_hooks}{maybe_custom_postinstall}{maybe_lifecycle_hooks_env}{maybe_lifecycle_hooks_execution_requirements}{maybe_bins}{maybe_npm_auth}{maybe_npm_auth_basic}{maybe_npm_auth_username}{maybe_npm_auth_password}{maybe_replace_package}{maybe_lifecycle_hooks_use_default_shell_env}
)
"""
@@ -95,7 +95,7 @@ def generate_repository_files(rctx, pnpm_lock_label, importers, packages, patche
"", # empty line after bzl docstring since buildifier expects this if this file is vendored in
]
- npm_imports = helpers.get_npm_imports(importers, packages, patched_dependencies, root_package, rctx.name, rctx.attr, rctx.attr.lifecycle_hooks, rctx.attr.lifecycle_hooks_execution_requirements, npm_registries, default_registry, npm_auth)
+ npm_imports = helpers.get_npm_imports(importers, packages, patched_dependencies, root_package, rctx.name, rctx.attr, rctx.attr.lifecycle_hooks, rctx.attr.lifecycle_hooks_execution_requirements, rctx.attr.lifecycle_hooks_use_default_shell_env, npm_registries, default_registry, npm_auth)
repositories_bzl = []
@@ -305,6 +305,8 @@ def npm_link_all_packages(name = "node_modules", imported_links = []):
lifecycle_hooks_env = %s,""" % _import.lifecycle_hooks_env) if _import.run_lifecycle_hooks and _import.lifecycle_hooks_env else ""
maybe_lifecycle_hooks_execution_requirements = ("""
lifecycle_hooks_execution_requirements = %s,""" % _import.lifecycle_hooks_execution_requirements) if _import.run_lifecycle_hooks else ""
+ maybe_lifecycle_hooks_use_default_shell_env = ("""
+ lifecycle_hooks_use_default_shell_env = True,""") if _import.lifecycle_hooks_use_default_shell_env else ""
maybe_bins = ("""
bins = %s,""" % starlark_codegen_utils.to_dict_attr(_import.bins, 2)) if len(_import.bins) > 0 else ""
maybe_generate_bzl_library_targets = ("""
@@ -337,6 +339,7 @@ def npm_link_all_packages(name = "node_modules", imported_links = []):
maybe_lifecycle_hooks = maybe_lifecycle_hooks,
maybe_lifecycle_hooks_env = maybe_lifecycle_hooks_env,
maybe_lifecycle_hooks_execution_requirements = maybe_lifecycle_hooks_execution_requirements,
+ maybe_lifecycle_hooks_use_default_shell_env = maybe_lifecycle_hooks_use_default_shell_env,
maybe_npm_auth = maybe_npm_auth,
maybe_npm_auth_basic = maybe_npm_auth_basic,
maybe_npm_auth_password = maybe_npm_auth_password,
diff --git a/npm/private/npm_translate_lock_helpers.bzl b/npm/private/npm_translate_lock_helpers.bzl
index 20c054fdb..3bd14859f 100644
--- a/npm/private/npm_translate_lock_helpers.bzl
+++ b/npm/private/npm_translate_lock_helpers.bzl
@@ -236,7 +236,7 @@ def _select_npm_auth(url, npm_auth):
return npm_auth_bearer, npm_auth_basic, npm_auth_username, npm_auth_password
################################################################################
-def _get_npm_imports(importers, packages, patched_dependencies, root_package, rctx_name, attr, all_lifecycle_hooks, all_lifecycle_hooks_execution_requirements, registries, default_registry, npm_auth):
+def _get_npm_imports(importers, packages, patched_dependencies, root_package, rctx_name, attr, all_lifecycle_hooks, all_lifecycle_hooks_execution_requirements, all_lifecycle_hooks_use_default_shell_env, registries, default_registry, npm_auth):
"Converts packages from the lockfile to a struct of attributes for npm_import"
if attr.prod and attr.dev:
fail("prod and dev attributes cannot both be set to true")
@@ -399,6 +399,7 @@ ERROR: patch_args for package {package} contains a strip prefix that is incompat
lifecycle_hooks, _ = _gather_values_from_matching_names(False, all_lifecycle_hooks, "*", name, friendly_name, unfriendly_name)
lifecycle_hooks_env, _ = _gather_values_from_matching_names(True, attr.lifecycle_hooks_envs, "*", name, friendly_name, unfriendly_name)
lifecycle_hooks_execution_requirements, _ = _gather_values_from_matching_names(False, all_lifecycle_hooks_execution_requirements, "*", name, friendly_name, unfriendly_name)
+ lifecycle_hooks_use_default_shell_env, _ = _gather_values_from_matching_names(False, all_lifecycle_hooks_use_default_shell_env, "*", name, friendly_name, unfriendly_name)
run_lifecycle_hooks = requires_build and lifecycle_hooks
bins = {}
@@ -449,6 +450,7 @@ ERROR: patch_args for package {package} contains a strip prefix that is incompat
lifecycle_hooks = lifecycle_hooks,
lifecycle_hooks_env = lifecycle_hooks_env,
lifecycle_hooks_execution_requirements = lifecycle_hooks_execution_requirements,
+ lifecycle_hooks_use_default_shell_env = lifecycle_hooks_use_default_shell_env[0] == "true",
npm_auth = npm_auth_bearer,
npm_auth_basic = npm_auth_basic,
npm_auth_username = npm_auth_username,
diff --git a/npm/private/npm_translate_lock_macro_helpers.bzl b/npm/private/npm_translate_lock_macro_helpers.bzl
index 37ba06ea9..87b81126a 100644
--- a/npm/private/npm_translate_lock_macro_helpers.bzl
+++ b/npm/private/npm_translate_lock_macro_helpers.bzl
@@ -2,7 +2,7 @@
load("@bazel_skylib//lib:dicts.bzl", "dicts")
-def _macro_lifecycle_args_to_rule_attrs(lifecycle_hooks, lifecycle_hooks_exclude, run_lifecycle_hooks, lifecycle_hooks_no_sandbox, lifecycle_hooks_execution_requirements):
+def _macro_lifecycle_args_to_rule_attrs(lifecycle_hooks, lifecycle_hooks_exclude, run_lifecycle_hooks, lifecycle_hooks_no_sandbox, lifecycle_hooks_execution_requirements, lifecycle_hooks_use_default_shell_env):
"""Convert lifecycle-related macro args into attribute values to pass to the rule"""
# lifecycle_hooks_exclude is a convenience attribute to set `