refactor: upgrade to rules_nodejs 7 and move toolchain registration call to new rules_js_configure WORKSPACE function
diff --git a/MODULE.bazel b/MODULE.bazel index 08140c9..ace3343 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -15,6 +15,13 @@ bazel_dep(name = "rules_nodejs", version = "6.0.5") bazel_dep(name = "platforms", version = "0.0.5") +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") use_repo(node, "nodejs_darwin_amd64") use_repo(node, "nodejs_darwin_arm64")
diff --git a/WORKSPACE b/WORKSPACE index 17abf41..d5d5c86 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -3,15 +3,6 @@ name = "aspect_rules_js", ) -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "rules_nodejs", - sha256 = "a50986c7d2f2dc43a5b9b81a6245fd89bdc4866f1d5e316d9cef2782dd859292", - strip_prefix = "rules_nodejs-6.0.5", - url = "https://github.com/bazelbuild/rules_nodejs/releases/download/v6.0.5/rules_nodejs-v6.0.5.tar.gz", -) - load("//js:dev_repositories.bzl", "rules_js_dev_dependencies") rules_js_dev_dependencies() @@ -20,19 +11,16 @@ rules_js_dependencies() -load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "register_jq_toolchains") +load("//js:configure.bzl", "rules_js_configure") + +rules_js_configure(node_version = "16.14.2") + +load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies") aspect_bazel_lib_dependencies() -register_jq_toolchains() - load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.14.2", -) - # Alternate toolchains for testing across versions nodejs_register_toolchains( name = "node16",
diff --git a/docs/npm_import.md b/docs/npm_import.md index 7617c7e..11040ad 100644 --- a/docs/npm_import.md +++ b/docs/npm_import.md
@@ -28,8 +28,7 @@ <a href="#npm_import-link_workspace">link_workspace</a>, <a href="#npm_import-link_packages">link_packages</a>, <a href="#npm_import-lifecycle_hooks">lifecycle_hooks</a>, <a href="#npm_import-lifecycle_hooks_execution_requirements">lifecycle_hooks_execution_requirements</a>, <a href="#npm_import-lifecycle_hooks_env">lifecycle_hooks_env</a>, <a href="#npm_import-lifecycle_hooks_use_default_shell_env">lifecycle_hooks_use_default_shell_env</a>, <a href="#npm_import-integrity">integrity</a>, <a href="#npm_import-url">url</a>, <a href="#npm_import-commit">commit</a>, <a href="#npm_import-replace_package">replace_package</a>, <a href="#npm_import-package_visibility">package_visibility</a>, <a href="#npm_import-patch_args">patch_args</a>, <a href="#npm_import-patches">patches</a>, <a href="#npm_import-custom_postinstall">custom_postinstall</a>, <a href="#npm_import-npm_auth">npm_auth</a>, - <a href="#npm_import-npm_auth_basic">npm_auth_basic</a>, <a href="#npm_import-npm_auth_username">npm_auth_username</a>, <a href="#npm_import-npm_auth_password">npm_auth_password</a>, <a href="#npm_import-bins">bins</a>, <a href="#npm_import-dev">dev</a>, - <a href="#npm_import-register_copy_directory_toolchains">register_copy_directory_toolchains</a>, <a href="#npm_import-register_copy_to_directory_toolchains">register_copy_to_directory_toolchains</a>, <a href="#npm_import-kwargs">kwargs</a>) + <a href="#npm_import-npm_auth_basic">npm_auth_basic</a>, <a href="#npm_import-npm_auth_username">npm_auth_username</a>, <a href="#npm_import-npm_auth_password">npm_auth_password</a>, <a href="#npm_import-bins">bins</a>, <a href="#npm_import-dev">dev</a>, <a href="#npm_import-kwargs">kwargs</a>) </pre> Import a single npm package into Bazel. @@ -161,8 +160,6 @@ | <a id="npm_import-npm_auth_password"></a>npm_auth_password | Auth password to authenticate with npm. When using Basic authentication. | <code>""</code> | | <a id="npm_import-bins"></a>bins | Dictionary of <code>node_modules/.bin</code> binary files to create mapped to their node entry points.<br><br>This is typically derived from the "bin" attribute in the package.json file of the npm package being linked.<br><br>For example:<br><br><pre><code> bins = { "foo": "./foo.js", "bar": "./bar.js", } </code></pre><br><br>In the future, this field may be automatically populated by npm_translate_lock from information in the pnpm lock file. That feature is currently blocked on https://github.com/pnpm/pnpm/issues/5131. | <code>{}</code> | | <a id="npm_import-dev"></a>dev | Whether this npm package is a dev dependency | <code>False</code> | -| <a id="npm_import-register_copy_directory_toolchains"></a>register_copy_directory_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_copy_directory_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | -| <a id="npm_import-register_copy_to_directory_toolchains"></a>register_copy_to_directory_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_copy_to_directory_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | | <a id="npm_import-kwargs"></a>kwargs | Internal use only | none |
diff --git a/docs/npm_package.md b/docs/npm_package.md index 7f536f9..434ce8f 100644 --- a/docs/npm_package.md +++ b/docs/npm_package.md
@@ -146,14 +146,6 @@ For more information on stamping, read https://docs.aspect.build/rules/aspect_bazel_lib/docs/stamping. -Using this rule requires that you register the jq toolchain in your WORKSPACE: - -```starlark -load("@aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains") - -register_jq_toolchains() -``` - **PARAMETERS**
diff --git a/docs/npm_translate_lock.md b/docs/npm_translate_lock.md index b5a41ca..6cfbcee 100644 --- a/docs/npm_translate_lock.md +++ b/docs/npm_translate_lock.md
@@ -67,8 +67,6 @@ <a href="#npm_translate_lock-lifecycle_hooks_use_default_shell_env">lifecycle_hooks_use_default_shell_env</a>, <a href="#npm_translate_lock-replace_packages">replace_packages</a>, <a href="#npm_translate_lock-bins">bins</a>, <a href="#npm_translate_lock-verify_node_modules_ignored">verify_node_modules_ignored</a>, <a href="#npm_translate_lock-verify_patches">verify_patches</a>, <a href="#npm_translate_lock-quiet">quiet</a>, <a href="#npm_translate_lock-external_repository_action_cache">external_repository_action_cache</a>, <a href="#npm_translate_lock-link_workspace">link_workspace</a>, <a href="#npm_translate_lock-pnpm_version">pnpm_version</a>, <a href="#npm_translate_lock-use_pnpm">use_pnpm</a>, - <a href="#npm_translate_lock-register_copy_directory_toolchains">register_copy_directory_toolchains</a>, <a href="#npm_translate_lock-register_copy_to_directory_toolchains">register_copy_to_directory_toolchains</a>, - <a href="#npm_translate_lock-register_coreutils_toolchains">register_coreutils_toolchains</a>, <a href="#npm_translate_lock-register_yq_toolchains">register_yq_toolchains</a>, <a href="#npm_translate_lock-register_tar_toolchains">register_tar_toolchains</a>, <a href="#npm_translate_lock-npm_package_target_name">npm_package_target_name</a>, <a href="#npm_translate_lock-use_starlark_yaml_parser">use_starlark_yaml_parser</a>, <a href="#npm_translate_lock-kwargs">kwargs</a>) </pre> @@ -133,11 +131,6 @@ | <a id="npm_translate_lock-link_workspace"></a>link_workspace | The workspace name where links will be created for the packages in this lock file.<br><br>This is typically set in rule sets and libraries that vendor the starlark generated by npm_translate_lock so the link_workspace passed to npm_import is set correctly so that links are created in the external repository and not the user workspace.<br><br>Can be left unspecified if the link workspace is the user workspace. | <code>None</code> | | <a id="npm_translate_lock-pnpm_version"></a>pnpm_version | pnpm version to use when generating the @pnpm repository. Set to None to not create this repository.<br><br>Can be left unspecified and the rules_js default <code>LATEST_PNPM_VERSION</code> will be used.<br><br>Use <code>use_pnpm</code> for bzlmod. | <code>"8.15.3"</code> | | <a id="npm_translate_lock-use_pnpm"></a>use_pnpm | label of the pnpm extension to use.<br><br>Can be left unspecified and the rules_js default pnpm extension (with the <code>LATEST_PNPM_VERSION</code>) will be used.<br><br>Use <code>pnpm_version</code> for non-bzlmod. | <code>None</code> | -| <a id="npm_translate_lock-register_copy_directory_toolchains"></a>register_copy_directory_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_copy_directory_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | -| <a id="npm_translate_lock-register_copy_to_directory_toolchains"></a>register_copy_to_directory_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_copy_to_directory_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | -| <a id="npm_translate_lock-register_coreutils_toolchains"></a>register_coreutils_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_coreutils_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | -| <a id="npm_translate_lock-register_yq_toolchains"></a>register_yq_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_yq_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | -| <a id="npm_translate_lock-register_tar_toolchains"></a>register_tar_toolchains | if True, <code>@aspect_bazel_lib//lib:repositories.bzl</code> <code>register_tar_toolchains()</code> is called if the toolchain is not already registered | <code>True</code> | | <a id="npm_translate_lock-npm_package_target_name"></a>npm_package_target_name | The name of linked <code>npm_package</code> targets. When <code>npm_package</code> targets are linked as pnpm workspace packages, the name of the target must align with this value.<br><br>The <code>{dirname}</code> placeholder is replaced with the directory name of the target.<br><br>By default the directory name of the target is used.<br><br>Default: <code>{dirname}</code> | <code>"{dirname}"</code> | | <a id="npm_translate_lock-use_starlark_yaml_parser"></a>use_starlark_yaml_parser | Opt-out of using <code>yq</code> to parse the pnpm-lock file which was added in https://github.com/aspect-build/rules_js/pull/1458 and use the legacy starlark yaml parser instead.<br><br>This opt-out is a return safety in cases where yq is not able to parse the pnpm generated yaml file. For example, this has been observed to happen due to a line such as the following in the pnpm generated lock file:<br><br><pre><code> resolution: {tarball: https://gitpkg.vercel.app/blockprotocol/blockprotocol/packages/%40blockprotocol/type-system-web?6526c0e} </code></pre><br><br>where the <code>?</code> character in the <code>tarball</code> value causes <code>yq</code> to fail with:<br><br><pre><code> $ yq pnpm-lock.yaml -o=json Error: bad file 'pnpm-lock.yaml': yaml: line 7129: did not find expected ',' or '}' </code></pre><br><br>If the tarball value is quoted or escaped then yq would accept it but as of this writing, the latest version of pnpm (8.14.3) does not quote or escape such a value and the latest version of yq (4.40.5) does not handle it as is.<br><br>Possibly related to https://github.com/pnpm/pnpm/issues/5414. | <code>False</code> | | <a id="npm_translate_lock-kwargs"></a>kwargs | Internal use only | none |
diff --git a/e2e/bzlmod/MODULE.bazel b/e2e/bzlmod/MODULE.bazel index 63dc45f..fb3259e 100644 --- a/e2e/bzlmod/MODULE.bazel +++ b/e2e/bzlmod/MODULE.bazel
@@ -13,6 +13,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension( "@aspect_rules_js//npm:extensions.bzl", "npm",
diff --git a/e2e/git_dep_metadata/MODULE.bazel b/e2e/git_dep_metadata/MODULE.bazel index 5379023..637c449 100644 --- a/e2e/git_dep_metadata/MODULE.bazel +++ b/e2e/git_dep_metadata/MODULE.bazel
@@ -9,6 +9,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension( "@aspect_rules_js//npm:extensions.bzl", "npm",
diff --git a/e2e/git_dep_metadata/WORKSPACE b/e2e/git_dep_metadata/WORKSPACE index 639f1b9..3aff4b1 100644 --- a/e2e/git_dep_metadata/WORKSPACE +++ b/e2e/git_dep_metadata/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_import")
diff --git a/e2e/gyp_no_install_script/MODULE.bazel b/e2e/gyp_no_install_script/MODULE.bazel index 1372781..707fbab 100644 --- a/e2e/gyp_no_install_script/MODULE.bazel +++ b/e2e/gyp_no_install_script/MODULE.bazel
@@ -5,6 +5,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/gyp_no_install_script/WORKSPACE b/e2e/gyp_no_install_script/WORKSPACE index a7c5ba1..32a7bbb 100644 --- a/e2e/gyp_no_install_script/WORKSPACE +++ b/e2e/gyp_no_install_script/WORKSPACE
@@ -16,12 +16,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/js_image_docker/WORKSPACE b/e2e/js_image_docker/WORKSPACE index 0c87270..bfbc192 100644 --- a/e2e/js_image_docker/WORKSPACE +++ b/e2e/js_image_docker/WORKSPACE
@@ -12,12 +12,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.14.2", -) +rules_js_configure(node_version = "16.14.2") load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/js_image_oci/WORKSPACE b/e2e/js_image_oci/WORKSPACE index 9e7df1d..69fb64f 100644 --- a/e2e/js_image_oci/WORKSPACE +++ b/e2e/js_image_oci/WORKSPACE
@@ -14,12 +14,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.14.2", -) +rules_js_configure(node_version = "16.14.2") load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/js_run_devserver/MODULE.bazel b/e2e/js_run_devserver/MODULE.bazel index d618ac4..9b3d70e 100644 --- a/e2e/js_run_devserver/MODULE.bazel +++ b/e2e/js_run_devserver/MODULE.bazel
@@ -14,6 +14,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") use_repo(pnpm, "pnpm")
diff --git a/e2e/js_run_devserver/WORKSPACE b/e2e/js_run_devserver/WORKSPACE index 762ce19..0df90ca 100644 --- a/e2e/js_run_devserver/WORKSPACE +++ b/e2e/js_run_devserver/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_link_package-esm/WORKSPACE b/e2e/npm_link_package-esm/WORKSPACE index cfe378e..8003b73 100644 --- a/e2e/npm_link_package-esm/WORKSPACE +++ b/e2e/npm_link_package-esm/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.9.0", -) +rules_js_configure(node_version = "16.9.0") load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_link_package/WORKSPACE b/e2e/npm_link_package/WORKSPACE index 4a853a1..3efb398 100644 --- a/e2e/npm_link_package/WORKSPACE +++ b/e2e/npm_link_package/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.14.2", -) +rules_js_configure(node_version = "16.14.2") load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock/MODULE.bazel b/e2e/npm_translate_lock/MODULE.bazel index a662b2d..889b389 100644 --- a/e2e/npm_translate_lock/MODULE.bazel +++ b/e2e/npm_translate_lock/MODULE.bazel
@@ -14,6 +14,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_lock/WORKSPACE b/e2e/npm_translate_lock/WORKSPACE index 5631b25..a385453 100644 --- a/e2e/npm_translate_lock/WORKSPACE +++ b/e2e/npm_translate_lock/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock_auth/MODULE.bazel b/e2e/npm_translate_lock_auth/MODULE.bazel index a08b9d0..23b4f04 100644 --- a/e2e/npm_translate_lock_auth/MODULE.bazel +++ b/e2e/npm_translate_lock_auth/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_lock_auth/WORKSPACE b/e2e/npm_translate_lock_auth/WORKSPACE index 8e31b65..025bd07 100644 --- a/e2e/npm_translate_lock_auth/WORKSPACE +++ b/e2e/npm_translate_lock_auth/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock_empty/MODULE.bazel b/e2e/npm_translate_lock_empty/MODULE.bazel index 0951f49..d26d70d 100644 --- a/e2e/npm_translate_lock_empty/MODULE.bazel +++ b/e2e/npm_translate_lock_empty/MODULE.bazel
@@ -14,6 +14,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_lock_empty/WORKSPACE b/e2e/npm_translate_lock_empty/WORKSPACE index 6d21251..699955a 100644 --- a/e2e/npm_translate_lock_empty/WORKSPACE +++ b/e2e/npm_translate_lock_empty/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock_git+ssh/MODULE.bazel b/e2e/npm_translate_lock_git+ssh/MODULE.bazel index 8fdfa23..72e0e67 100644 --- a/e2e/npm_translate_lock_git+ssh/MODULE.bazel +++ b/e2e/npm_translate_lock_git+ssh/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_lock_git+ssh/WORKSPACE b/e2e/npm_translate_lock_git+ssh/WORKSPACE index 8e31b65..025bd07 100644 --- a/e2e/npm_translate_lock_git+ssh/WORKSPACE +++ b/e2e/npm_translate_lock_git+ssh/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock_multi/MODULE.bazel b/e2e/npm_translate_lock_multi/MODULE.bazel index 9be8a7e..f76724f 100644 --- a/e2e/npm_translate_lock_multi/MODULE.bazel +++ b/e2e/npm_translate_lock_multi/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "app1_npm",
diff --git a/e2e/npm_translate_lock_multi/WORKSPACE b/e2e/npm_translate_lock_multi/WORKSPACE index bdd846b..d9dea8c 100644 --- a/e2e/npm_translate_lock_multi/WORKSPACE +++ b/e2e/npm_translate_lock_multi/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock_partial_clone/MODULE.bazel b/e2e/npm_translate_lock_partial_clone/MODULE.bazel index 6ab0ba3..3879fff 100644 --- a/e2e/npm_translate_lock_partial_clone/MODULE.bazel +++ b/e2e/npm_translate_lock_partial_clone/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_lock_partial_clone/WORKSPACE b/e2e/npm_translate_lock_partial_clone/WORKSPACE index 58a8f42..dbf6cc5 100644 --- a/e2e/npm_translate_lock_partial_clone/WORKSPACE +++ b/e2e/npm_translate_lock_partial_clone/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_lock_subdir_patch/MODULE.bazel b/e2e/npm_translate_lock_subdir_patch/MODULE.bazel index 07f4464..73dbc43 100644 --- a/e2e/npm_translate_lock_subdir_patch/MODULE.bazel +++ b/e2e/npm_translate_lock_subdir_patch/MODULE.bazel
@@ -5,6 +5,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_lock_subdir_patch/WORKSPACE b/e2e/npm_translate_lock_subdir_patch/WORKSPACE index 5d76c85..4623334 100644 --- a/e2e/npm_translate_lock_subdir_patch/WORKSPACE +++ b/e2e/npm_translate_lock_subdir_patch/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_package_lock/MODULE.bazel b/e2e/npm_translate_package_lock/MODULE.bazel index cfb93b3..3c69b3c 100644 --- a/e2e/npm_translate_package_lock/MODULE.bazel +++ b/e2e/npm_translate_package_lock/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/npm_translate_package_lock/WORKSPACE b/e2e/npm_translate_package_lock/WORKSPACE index c679ded..a1dba35 100644 --- a/e2e/npm_translate_package_lock/WORKSPACE +++ b/e2e/npm_translate_package_lock/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/npm_translate_yarn_lock/MODULE.bazel b/e2e/npm_translate_yarn_lock/MODULE.bazel index a963a45..e8499b6 100644 --- a/e2e/npm_translate_yarn_lock/MODULE.bazel +++ b/e2e/npm_translate_yarn_lock/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") pnpm.pnpm( name = "pnpm-old-version",
diff --git a/e2e/npm_translate_yarn_lock/WORKSPACE b/e2e/npm_translate_yarn_lock/WORKSPACE index f14e831..fccd508 100644 --- a/e2e/npm_translate_yarn_lock/WORKSPACE +++ b/e2e/npm_translate_yarn_lock/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/package_json_module/MODULE.bazel b/e2e/package_json_module/MODULE.bazel index e50d4f9..e190f5d 100644 --- a/e2e/package_json_module/MODULE.bazel +++ b/e2e/package_json_module/MODULE.bazel
@@ -11,6 +11,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/package_json_module/WORKSPACE b/e2e/package_json_module/WORKSPACE index ea3ccba..ce9aad1 100644 --- a/e2e/package_json_module/WORKSPACE +++ b/e2e/package_json_module/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/patch_from_repo/MODULE.bazel b/e2e/patch_from_repo/MODULE.bazel index b59a59a..cfc7ee5 100644 --- a/e2e/patch_from_repo/MODULE.bazel +++ b/e2e/patch_from_repo/MODULE.bazel
@@ -8,6 +8,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + local_path_override( module_name = "local_repo", path = "./local_repo",
diff --git a/e2e/patch_from_repo/WORKSPACE b/e2e/patch_from_repo/WORKSPACE index 1ccc9e8..4a553df 100644 --- a/e2e/patch_from_repo/WORKSPACE +++ b/e2e/patch_from_repo/WORKSPACE
@@ -12,12 +12,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/pnpm_repo_install/MODULE.bazel b/e2e/pnpm_repo_install/MODULE.bazel index 7d9cdfa..c39fb5a 100644 --- a/e2e/pnpm_repo_install/MODULE.bazel +++ b/e2e/pnpm_repo_install/MODULE.bazel
@@ -11,6 +11,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") use_repo(node, "nodejs_toolchains") use_repo(node, "nodejs_darwin_amd64")
diff --git a/e2e/pnpm_repo_install/WORKSPACE b/e2e/pnpm_repo_install/WORKSPACE index ea3ccba..ce9aad1 100644 --- a/e2e/pnpm_repo_install/WORKSPACE +++ b/e2e/pnpm_repo_install/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/pnpm_workspace/MODULE.bazel b/e2e/pnpm_workspace/MODULE.bazel index bc99a10..3b334ea 100644 --- a/e2e/pnpm_workspace/MODULE.bazel +++ b/e2e/pnpm_workspace/MODULE.bazel
@@ -13,6 +13,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") use_repo(node, "nodejs_toolchains") use_repo(node, "nodejs_darwin_amd64")
diff --git a/e2e/pnpm_workspace/WORKSPACE b/e2e/pnpm_workspace/WORKSPACE index dd33ea1..3647d6e 100644 --- a/e2e/pnpm_workspace/WORKSPACE +++ b/e2e/pnpm_workspace/WORKSPACE
@@ -20,12 +20,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/pnpm_workspace_deps/MODULE.bazel b/e2e/pnpm_workspace_deps/MODULE.bazel index 1943f8c..fdce9b2 100644 --- a/e2e/pnpm_workspace_deps/MODULE.bazel +++ b/e2e/pnpm_workspace_deps/MODULE.bazel
@@ -11,6 +11,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/pnpm_workspace_deps/WORKSPACE b/e2e/pnpm_workspace_deps/WORKSPACE index aaeb000..3918784 100644 --- a/e2e/pnpm_workspace_deps/WORKSPACE +++ b/e2e/pnpm_workspace_deps/WORKSPACE
@@ -20,12 +20,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/pnpm_workspace_rerooted/MODULE.bazel b/e2e/pnpm_workspace_rerooted/MODULE.bazel index a7e77bf..e58cfb9 100644 --- a/e2e/pnpm_workspace_rerooted/MODULE.bazel +++ b/e2e/pnpm_workspace_rerooted/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") node.toolchain( name = "nodejs",
diff --git a/e2e/pnpm_workspace_rerooted/WORKSPACE b/e2e/pnpm_workspace_rerooted/WORKSPACE index 1245ca4..03313e9 100644 --- a/e2e/pnpm_workspace_rerooted/WORKSPACE +++ b/e2e/pnpm_workspace_rerooted/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.14.2", -) +rules_js_configure(node_version = "16.14.2") load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/rules_foo/WORKSPACE b/e2e/rules_foo/WORKSPACE index 4a82155..a2ca683 100644 --- a/e2e/rules_foo/WORKSPACE +++ b/e2e/rules_foo/WORKSPACE
@@ -10,12 +10,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = "16.14.2", -) +rules_js_configure(node_version = "16.14.2") load("@rules_foo//foo:repositories.bzl", "foo_repositories")
diff --git a/e2e/stamped_package_json/MODULE.bazel b/e2e/stamped_package_json/MODULE.bazel index 47783e1..300b5fc 100644 --- a/e2e/stamped_package_json/MODULE.bazel +++ b/e2e/stamped_package_json/MODULE.bazel
@@ -10,3 +10,10 @@ module_name = "aspect_rules_js", path = "../..", ) + +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +)
diff --git a/e2e/stamped_package_json/WORKSPACE b/e2e/stamped_package_json/WORKSPACE index 568e0f5..f9c2003 100644 --- a/e2e/stamped_package_json/WORKSPACE +++ b/e2e/stamped_package_json/WORKSPACE
@@ -7,6 +7,6 @@ rules_js_dependencies() -load("@aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -register_jq_toolchains() +rules_js_configure()
diff --git a/e2e/update_pnpm_lock/MODULE.bazel b/e2e/update_pnpm_lock/MODULE.bazel index 665bfe9..faf5339 100644 --- a/e2e/update_pnpm_lock/MODULE.bazel +++ b/e2e/update_pnpm_lock/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/update_pnpm_lock/WORKSPACE b/e2e/update_pnpm_lock/WORKSPACE index 144abdb..b2b8dac 100644 --- a/e2e/update_pnpm_lock/WORKSPACE +++ b/e2e/update_pnpm_lock/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/update_pnpm_lock_with_import/MODULE.bazel b/e2e/update_pnpm_lock_with_import/MODULE.bazel index 0c823fa..6c2b892 100644 --- a/e2e/update_pnpm_lock_with_import/MODULE.bazel +++ b/e2e/update_pnpm_lock_with_import/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") # Validate that we can use a yarn.lock file in place of pnpm-lock.yaml
diff --git a/e2e/update_pnpm_lock_with_import/WORKSPACE b/e2e/update_pnpm_lock_with_import/WORKSPACE index 9d2b79e..ec61b56 100644 --- a/e2e/update_pnpm_lock_with_import/WORKSPACE +++ b/e2e/update_pnpm_lock_with_import/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/vendored_node/MODULE.bazel b/e2e/vendored_node/MODULE.bazel index 9edb4ac..ae58749 100644 --- a/e2e/vendored_node/MODULE.bazel +++ b/e2e/vendored_node/MODULE.bazel
@@ -14,4 +14,11 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + register_toolchains("//toolchains:all")
diff --git a/e2e/vendored_node/WORKSPACE b/e2e/vendored_node/WORKSPACE index bf9bddb..a9743de 100644 --- a/e2e/vendored_node/WORKSPACE +++ b/e2e/vendored_node/WORKSPACE
@@ -7,9 +7,9 @@ rules_js_dependencies() -load("@bazel_features//:deps.bzl", "bazel_features_deps") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -bazel_features_deps() +rules_js_configure(register_nodejs_toolchain = False) load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
diff --git a/e2e/vendored_node/toolchains/BUILD.bazel b/e2e/vendored_node/toolchains/BUILD.bazel index 6e439e7..afb898f 100644 --- a/e2e/vendored_node/toolchains/BUILD.bazel +++ b/e2e/vendored_node/toolchains/BUILD.bazel
@@ -11,7 +11,7 @@ [ toolchain( - name = "node15_%s_toolchain" % os, + name = "node_vendored_%s_toolchain" % os, exec_compatible_with = [ "@platforms//os:" + os, "@platforms//cpu:x86_64", @@ -28,15 +28,15 @@ node_toolchain( name = "node_linux", - target_tool = "@vendored_node_linux_amd64//:bin/node", + node = "@vendored_node_linux_amd64//:bin/node", ) node_toolchain( name = "node_macos", - target_tool = "@vendored_node_darwin_amd64//:bin/node", + node = "@vendored_node_darwin_amd64//:bin/node", ) node_toolchain( name = "node_windows", - target_tool = "@vendored_node_windows_amd64//:node.exe", + node = "@vendored_node_windows_amd64//:node.exe", )
diff --git a/e2e/vendored_tarfile/MODULE.bazel b/e2e/vendored_tarfile/MODULE.bazel index b8b4c53..035c654 100644 --- a/e2e/vendored_tarfile/MODULE.bazel +++ b/e2e/vendored_tarfile/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/vendored_tarfile/WORKSPACE b/e2e/vendored_tarfile/WORKSPACE index 4c75f2c..08c0c91 100644 --- a/e2e/vendored_tarfile/WORKSPACE +++ b/e2e/vendored_tarfile/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/verify_patches/MODULE.bazel b/e2e/verify_patches/MODULE.bazel index 41b0f53..716b319 100644 --- a/e2e/verify_patches/MODULE.bazel +++ b/e2e/verify_patches/MODULE.bazel
@@ -12,6 +12,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/verify_patches/WORKSPACE b/e2e/verify_patches/WORKSPACE index 1e7cc86..a00aa0d 100644 --- a/e2e/verify_patches/WORKSPACE +++ b/e2e/verify_patches/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/webpack_devserver/MODULE.bazel b/e2e/webpack_devserver/MODULE.bazel index 31b71c3..769e6b4 100644 --- a/e2e/webpack_devserver/MODULE.bazel +++ b/e2e/webpack_devserver/MODULE.bazel
@@ -7,6 +7,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/webpack_devserver/WORKSPACE b/e2e/webpack_devserver/WORKSPACE index afeb53a..61814fa 100644 --- a/e2e/webpack_devserver/WORKSPACE +++ b/e2e/webpack_devserver/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/webpack_devserver_esm/MODULE.bazel b/e2e/webpack_devserver_esm/MODULE.bazel index 74621c6..35fe8d2 100644 --- a/e2e/webpack_devserver_esm/MODULE.bazel +++ b/e2e/webpack_devserver_esm/MODULE.bazel
@@ -7,6 +7,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm",
diff --git a/e2e/webpack_devserver_esm/WORKSPACE b/e2e/webpack_devserver_esm/WORKSPACE index afeb53a..61814fa 100644 --- a/e2e/webpack_devserver_esm/WORKSPACE +++ b/e2e/webpack_devserver_esm/WORKSPACE
@@ -7,12 +7,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) +rules_js_configure() load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/e2e/worker/MODULE.bazel b/e2e/worker/MODULE.bazel index 5761643..30751c5 100644 --- a/e2e/worker/MODULE.bazel +++ b/e2e/worker/MODULE.bazel
@@ -11,6 +11,13 @@ path = "../..", ) +archive_override( + module_name = "rules_nodejs", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + urls = ["https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz"], +) + node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") use_repo(node, "nodejs_toolchains") use_repo(node, "nodejs_darwin_amd64")
diff --git a/e2e/worker/WORKSPACE b/e2e/worker/WORKSPACE index fd70c11..267b700 100644 --- a/e2e/worker/WORKSPACE +++ b/e2e/worker/WORKSPACE
@@ -7,14 +7,7 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - # nodejs 14 is used intentionally here, to assert AbortController polyfill is installed properly. - node_version = "14.20.0", -) - -load("@bazel_features//:deps.bzl", "bazel_features_deps") - -bazel_features_deps() +# nodejs 14 is used intentionally here, to assert AbortController polyfill is installed properly. +rules_js_configure(node_version = "14.20.0")
diff --git a/e2e/workspace/WORKSPACE b/e2e/workspace/WORKSPACE index 6b21dcb..eb33107 100644 --- a/e2e/workspace/WORKSPACE +++ b/e2e/workspace/WORKSPACE
@@ -9,17 +9,9 @@ rules_js_dependencies() -load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains") +load("@aspect_rules_js//js:configure.bzl", "DEFAULT_NODE_VERSION", "rules_js_configure") -nodejs_register_toolchains( - name = "nodejs", - node_version = DEFAULT_NODE_VERSION, -) - -# For convenience, npm_translate_lock does this call automatically. -# Uncomment if you don't call npm_translate_lock at all. -#load("@bazel_features//:deps.bzl", "bazel_features_deps") -#bazel_features_deps() +rules_js_configure(node_version = DEFAULT_NODE_VERSION) load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock")
diff --git a/js/configure.bzl b/js/configure.bzl new file mode 100644 index 0000000..e628542 --- /dev/null +++ b/js/configure.bzl
@@ -0,0 +1,84 @@ +"""Configures transitive deps and registers toolchains required by rules_js. +""" + +load( + "@aspect_bazel_lib//lib:repositories.bzl", + _register_copy_directory_toolchains = "register_copy_directory_toolchains", + _register_copy_to_directory_toolchains = "register_copy_to_directory_toolchains", + _register_coreutils_toolchains = "register_coreutils_toolchains", + _register_jq_toolchains = "register_jq_toolchains", + _register_tar_toolchains = "register_tar_toolchains", + _register_yq_toolchains = "register_yq_toolchains", +) +load("@bazel_features//:deps.bzl", "bazel_features_deps") +load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains", _DEFAULT_NODE_REPOSITORY = "DEFAULT_NODE_REPOSITORY", _DEFAULT_NODE_VERSION = "DEFAULT_NODE_VERSION") + +DEFAULT_NODE_REPOSITORY = _DEFAULT_NODE_REPOSITORY +DEFAULT_NODE_VERSION = _DEFAULT_NODE_VERSION + +def rules_js_configure( + node_download_auth = {}, + node_repositories = {}, + node_urls = None, + node_version = DEFAULT_NODE_VERSION, + node_version_from_nvmrc = None, + **kwargs): + """Configures transitive deps and toolchains required by rules_js. + + Node.js toolchain comes from [rules_nodejs](https://docs.aspect.build/rulesets/rules_nodejs). + For more details on Node.js toolchain registration see + https://docs.aspect.build/rulesets/rules_nodejs/docs/core#node_repositories. + + Additional required toolchains (jq, yq, copy_directory and copy_to_directory) come + from [Aspect bazel-lib](https://docs.aspect.build/rulesets/aspect_bazel_lib). + + Args: + node_download_auth: Auth to use for all url requests when downloading Node + + Example: {"type": "basic", "login": "<UserName>", "password": "<Password>" } + + node_repositories: Custom list of node repositories to use + + A dictionary mapping NodeJS versions to sets of hosts and their corresponding (filename, strip_prefix, sha256) tuples. + You should list a node binary for every platform users have, likely Mac, Windows, and Linux. + + By default, if this attribute has no items, we'll use a list of all public NodeJS releases. + + node_urls: Custom list of URLs to use to download NodeJS + + Each entry is a template for downloading a node distribution. + + The `{version}` parameter is substituted with the `node_version` attribute, + and `{filename}` with the matching entry from the `node_repositories` attribute. + + node_version: The specific version of NodeJS to install + + node_version_from_nvmrc: The label of the .nvmrc file containing the version of node + + If set then the version is set to the version found in the .nvmrc file. + + **kwargs: Other args + """ + bazel_features_deps() + + if kwargs.pop("register_copy_directory_toolchain", True) and not native.existing_rule("copy_directory_toolchains"): + _register_copy_directory_toolchains() + if kwargs.pop("register_copy_to_directory_toolchain", True) and not native.existing_rule("copy_to_directory_toolchains"): + _register_copy_to_directory_toolchains() + if kwargs.pop("register_coreutils_toolchain", True) and not native.existing_rule("coreutils_toolchains"): + _register_coreutils_toolchains() + if kwargs.pop("register_jq_toolchain", True) and not native.existing_rule("jq_toolchains"): + _register_jq_toolchains() + if kwargs.pop("register_tar_toolchain", True) and not native.existing_rule("tar_toolchains"): + _register_tar_toolchains() + if kwargs.pop("register_yq_toolchain", True) and not native.existing_rule("yq_toolchains"): + _register_yq_toolchains() + if kwargs.pop("register_nodejs_toolchain", True) and not native.existing_rule("{}_toolchains".format(DEFAULT_NODE_REPOSITORY)): + nodejs_register_toolchains( + name = DEFAULT_NODE_REPOSITORY, + node_download_auth = node_download_auth, + node_repositories = node_repositories, + node_urls = node_urls, + node_version = node_version, + node_version_from_nvmrc = node_version_from_nvmrc, + )
diff --git a/js/private/coverage/merger.bzl b/js/private/coverage/merger.bzl index b1d3ba8..b97e278 100644 --- a/js/private/coverage/merger.bzl +++ b/js/private/coverage/merger.bzl
@@ -13,27 +13,19 @@ "_windows_constraint": attr.label(default = "@platforms//os:windows"), } -# Do the opposite of _to_manifest_path in -# https://github.com/bazelbuild/rules_nodejs/blob/8b5d27400db51e7027fe95ae413eeabea4856f8e/nodejs/toolchain.bzl#L50 -# to get back to the short_path. -# TODO(2.0): fix toolchain so we don't have to do this -def _target_tool_path_to_short_path(tool_path): - return ("../" + tool_path[len("external/"):]) if tool_path.startswith("external/") else tool_path - def _coverage_merger_impl(ctx): is_windows = ctx.target_platform_has_constraint(ctx.attr._windows_constraint[platform_common.ConstraintValueInfo]) - node_bin = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo + nodeinfo = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo # Create launcher bash_launcher = ctx.actions.declare_file(ctx.label.name) - node_path = _target_tool_path_to_short_path(ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo.target_tool_path) ctx.actions.expand_template( template = ctx.file._launcher_template, output = bash_launcher, substitutions = { "{{entry_point_path}}": ctx.file.entry_point.short_path, "{{initialize_js_binary_runfiles}}": BASH_INITIALIZE_JS_BINARY_RUNFILES, - "{{node}}": node_path, + "{{node}}": nodeinfo.node.short_path if nodeinfo.node else nodeinfo.node_path, "{{workspace_name}}": ctx.workspace_name, }, is_executable = True, @@ -41,13 +33,13 @@ launcher = create_windows_native_launcher_script(ctx, bash_launcher) if is_windows else bash_launcher - runfiles = ctx.runfiles( - files = [ctx.file.entry_point] + node_bin.tool_files, - ) + runfiles = [ctx.file.entry_point] + if nodeinfo.node: + runfiles.append(nodeinfo.node) return DefaultInfo( executable = launcher, - runfiles = runfiles, + runfiles = ctx.runfiles(files = runfiles), ) coverage_merger = rule(
diff --git a/js/private/js_binary.bzl b/js/private/js_binary.bzl index fd2412b..dc1d0f1 100644 --- a/js/private/js_binary.bzl +++ b/js/private/js_binary.bzl
@@ -301,14 +301,7 @@ _ENV_SET_IFF_NOT_SET = """if [[ -z "${{{var}:-}}" ]]; then export {var}=\"{value}\"; fi""" _NODE_OPTION = """JS_BINARY__NODE_OPTIONS+=(\"{value}\")""" -# Do the opposite of _to_manifest_path in -# https://github.com/bazelbuild/rules_nodejs/blob/8b5d27400db51e7027fe95ae413eeabea4856f8e/nodejs/toolchain.bzl#L50 -# to get back to the short_path. -# TODO(2.0): fix toolchain so we don't have to do this -def _target_tool_path_to_short_path(tool_path): - return ("../" + tool_path[len("external/"):]) if tool_path.startswith("external/") else tool_path - -def _bash_launcher(ctx, node_toolchain, entry_point_path, log_prefix_rule_set, log_prefix_rule, fixed_args, fixed_env, is_windows): +def _bash_launcher(ctx, nodeinfo, entry_point_path, log_prefix_rule_set, log_prefix_rule, fixed_args, fixed_env, is_windows): # Explicitly disable node fs patches on Windows: # https://github.com/aspect-build/rules_js/issues/1137 if is_windows: @@ -406,7 +399,7 @@ npm_path = "" if ctx.attr.include_npm: - npm_path = _target_tool_path_to_short_path(node_toolchain.nodeinfo.npm_path) + npm_path = nodeinfo.npm.short_path if nodeinfo.npm else nodeinfo.npm_path if is_windows: npm_wrapper = ctx.actions.declare_file("%s_node_bin/npm.bat" % ctx.label.name) ctx.actions.expand_template( @@ -425,8 +418,6 @@ ) toolchain_files.append(npm_wrapper) - node_path = _target_tool_path_to_short_path(node_toolchain.nodeinfo.target_tool_path) - launcher_subst = { "{{target_label}}": str(ctx.label), "{{template_label}}": str(ctx.attr._launcher_template.label), @@ -440,7 +431,7 @@ "{{node_options}}": "\n".join(node_options), "{{node_patches}}": ctx.file._node_patches.short_path, "{{node_wrapper}}": node_wrapper.short_path, - "{{node}}": node_path, + "{{node}}": nodeinfo.node.short_path if nodeinfo.node else nodeinfo.node_path, "{{npm}}": npm_path, "{{workspace_name}}": ctx.workspace_name, } @@ -459,12 +450,9 @@ is_windows = ctx.target_platform_has_constraint(ctx.attr._windows_constraint[platform_common.ConstraintValueInfo]) if ctx.attr.node_toolchain: - node_toolchain = ctx.attr.node_toolchain[platform_common.ToolchainInfo] + nodeinfo = ctx.attr.node_toolchain[platform_common.ToolchainInfo].nodeinfo else: - node_toolchain = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"] - - if ctx.attr.include_npm and not hasattr(node_toolchain.nodeinfo, "npm_files"): - fail("include_npm requires a minimum @rules_nodejs version of 5.7.0") + nodeinfo = ctx.toolchains["@rules_nodejs//nodejs:toolchain_type"].nodeinfo if DirectoryPathInfo in ctx.attr.entry_point: entry_point = ctx.attr.entry_point[DirectoryPathInfo].directory @@ -478,14 +466,14 @@ entry_point = ctx.files.entry_point[0] entry_point_path = entry_point.short_path - bash_launcher, toolchain_files = _bash_launcher(ctx, node_toolchain, entry_point_path, log_prefix_rule_set, log_prefix_rule, fixed_args, fixed_env, is_windows) + bash_launcher, toolchain_files = _bash_launcher(ctx, nodeinfo, entry_point_path, log_prefix_rule_set, log_prefix_rule, fixed_args, fixed_env, is_windows) launcher = create_windows_native_launcher_script(ctx, bash_launcher) if is_windows else bash_launcher - launcher_files = [bash_launcher] + toolchain_files + launcher_files = [bash_launcher] + launcher_files.extend(toolchain_files) + if nodeinfo.node: + launcher_files.append(nodeinfo.node) launcher_files.extend(ctx.files._node_patches_files + [ctx.file._node_patches]) - launcher_files.extend(node_toolchain.nodeinfo.tool_files) - if ctx.attr.include_npm: - launcher_files.extend(node_toolchain.nodeinfo.npm_files) runfiles = gather_runfiles( ctx = ctx, @@ -498,7 +486,10 @@ include_transitive_sources = ctx.attr.include_transitive_sources, include_declarations = ctx.attr.include_declarations, include_npm_linked_packages = ctx.attr.include_npm_linked_packages, - ).merge(ctx.runfiles(files = launcher_files)) + ).merge(ctx.runfiles( + files = launcher_files, + transitive_files = nodeinfo.npm_files if ctx.attr.include_npm else None, + )) return struct( executable = launcher,
diff --git a/js/repositories.bzl b/js/repositories.bzl index 809eae9..bab4ba2 100644 --- a/js/repositories.bzl +++ b/js/repositories.bzl
@@ -16,9 +16,12 @@ http_archive( name = "rules_nodejs", - sha256 = "a50986c7d2f2dc43a5b9b81a6245fd89bdc4866f1d5e316d9cef2782dd859292", - strip_prefix = "rules_nodejs-6.0.5", - url = "https://github.com/bazelbuild/rules_nodejs/releases/download/v6.0.5/rules_nodejs-v6.0.5.tar.gz", + integrity = "sha256-w7yMsYGMkgKhVZJizhmB9T668fGzdEvRXThptjTtnpo=", + strip_prefix = "rules_nodejs-d28957af10035c3030ffcb26ced95bb411a50692", + url = "https://github.com/bazelbuild/rules_nodejs/archive/d28957af10035c3030ffcb26ced95bb411a50692.tar.gz", + # sha256 = "a50986c7d2f2dc43a5b9b81a6245fd89bdc4866f1d5e316d9cef2782dd859292", + # strip_prefix = "rules_nodejs-6.0.5", + # url = "https://github.com/bazelbuild/rules_nodejs/releases/download/v6.0.5/rules_nodejs-v6.0.5.tar.gz", ) http_archive(
diff --git a/npm/extensions.bzl b/npm/extensions.bzl index e842710..f9e7662 100644 --- a/npm/extensions.bzl +++ b/npm/extensions.bzl
@@ -46,11 +46,6 @@ prod = attr.prod, public_hoist_packages = attr.public_hoist_packages, quiet = attr.quiet, - register_copy_directory_toolchains = False, # this registration is handled elsewhere with bzlmod - register_copy_to_directory_toolchains = False, # this registration is handled elsewhere with bzlmod - register_coreutils_toolchains = False, # this registration is handled elsewhere with bzlmod - register_yq_toolchains = False, # this registration is handled elsewhere with bzlmod - register_tar_toolchains = False, # this registration is handled elsewhere with bzlmod replace_packages = attr.replace_packages, root_package = attr.root_package, run_lifecycle_hooks = attr.run_lifecycle_hooks, @@ -173,8 +168,6 @@ transitive_closure = i.transitive_closure, url = i.url, version = i.version, - register_copy_directory_toolchains = False, # this registration is handled elsewhere with bzlmod - register_copy_to_directory_toolchains = False, # this registration is handled elsewhere with bzlmod ) for i in mod.tags.npm_import: @@ -206,8 +199,6 @@ transitive_closure = i.transitive_closure, url = i.url, version = i.version, - register_copy_directory_toolchains = False, # this registration is handled elsewhere with bzlmod - register_copy_to_directory_toolchains = False, # this registration is handled elsewhere with bzlmod ) if bazel_features.external_deps.extension_metadata_has_reproducible:
diff --git a/npm/private/npm_import.bzl b/npm/private/npm_import.bzl index fb71144..300e0b7 100644 --- a/npm/private/npm_import.bzl +++ b/npm/private/npm_import.bzl
@@ -18,7 +18,6 @@ """ load("@aspect_bazel_lib//lib:repo_utils.bzl", "patch", "repo_utils") -load("@aspect_bazel_lib//lib:repositories.bzl", _register_copy_directory_toolchains = "register_copy_directory_toolchains", _register_copy_to_directory_toolchains = "register_copy_to_directory_toolchains") load("@bazel_skylib//lib:dicts.bzl", "dicts") load("@bazel_skylib//lib:paths.bzl", "paths") load( @@ -888,8 +887,6 @@ npm_auth_password = "", bins = {}, dev = False, - register_copy_directory_toolchains = True, - register_copy_to_directory_toolchains = True, **kwargs): """Import a single npm package into Bazel. @@ -1134,19 +1131,9 @@ dev: Whether this npm package is a dev dependency - register_copy_directory_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_copy_directory_toolchains()` is called if the toolchain is not already registered - - register_copy_to_directory_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_copy_to_directory_toolchains()` is called if the toolchain is not already registered - **kwargs: Internal use only """ - # TODO(2.0): move this to a new required rules_js_repositories() WORKSPACE function - if register_copy_directory_toolchains and not native.existing_rule("copy_directory_toolchains"): - _register_copy_directory_toolchains() - if register_copy_to_directory_toolchains and not native.existing_rule("copy_to_directory_toolchains"): - _register_copy_to_directory_toolchains() - generate_bzl_library_targets = kwargs.pop("generate_bzl_library_targets", None) extract_full_archive = kwargs.pop("extract_full_archive", None) if len(kwargs):
diff --git a/npm/private/npm_package.bzl b/npm/private/npm_package.bzl index 0478be7..45847a7 100644 --- a/npm/private/npm_package.bzl +++ b/npm/private/npm_package.bzl
@@ -506,14 +506,6 @@ For more information on stamping, read https://docs.aspect.build/rules/aspect_bazel_lib/docs/stamping. - Using this rule requires that you register the jq toolchain in your WORKSPACE: - - ```starlark - load("@aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains") - - register_jq_toolchains() - ``` - Args: name: name of the resulting `jq` target, must be "package" stamp_var: a key from the bazel-out/stable-status.txt or bazel-out/volatile-status.txt files
diff --git a/npm/private/npm_translate_lock.bzl b/npm/private/npm_translate_lock.bzl index be112d9..c74bc77 100644 --- a/npm/private/npm_translate_lock.bzl +++ b/npm/private/npm_translate_lock.bzl
@@ -26,14 +26,6 @@ """ load("@bazel_skylib//lib:paths.bzl", "paths") -load( - "@aspect_bazel_lib//lib:repositories.bzl", - _register_copy_directory_toolchains = "register_copy_directory_toolchains", - _register_copy_to_directory_toolchains = "register_copy_to_directory_toolchains", - _register_coreutils_toolchains = "register_coreutils_toolchains", - _register_tar_toolchains = "register_tar_toolchains", - _register_yq_toolchains = "register_yq_toolchains", -) load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_file") load(":list_sources.bzl", "list_sources") load(":npm_translate_lock_generate.bzl", "generate_repository_files") @@ -193,11 +185,6 @@ link_workspace = None, pnpm_version = LATEST_PNPM_VERSION, use_pnpm = None, - register_copy_directory_toolchains = True, - register_copy_to_directory_toolchains = True, - register_coreutils_toolchains = True, - register_yq_toolchains = True, - register_tar_toolchains = True, npm_package_target_name = "{dirname}", use_starlark_yaml_parser = False, **kwargs): @@ -518,16 +505,6 @@ Use `pnpm_version` for non-bzlmod. - register_copy_directory_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_copy_directory_toolchains()` is called if the toolchain is not already registered - - register_copy_to_directory_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_copy_to_directory_toolchains()` is called if the toolchain is not already registered - - register_coreutils_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_coreutils_toolchains()` is called if the toolchain is not already registered - - register_yq_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_yq_toolchains()` is called if the toolchain is not already registered - - register_tar_toolchains: if True, `@aspect_bazel_lib//lib:repositories.bzl` `register_tar_toolchains()` is called if the toolchain is not already registered - npm_package_target_name: The name of linked `npm_package` targets. When `npm_package` targets are linked as pnpm workspace packages, the name of the target must align with this value. @@ -565,18 +542,6 @@ **kwargs: Internal use only """ - # TODO(2.0): move this to a new required rules_js_repositories() WORKSPACE function - if register_copy_directory_toolchains and not native.existing_rule("copy_directory_toolchains"): - _register_copy_directory_toolchains() - if register_copy_to_directory_toolchains and not native.existing_rule("copy_to_directory_toolchains"): - _register_copy_to_directory_toolchains() - if register_coreutils_toolchains and not native.existing_rule("register_coreutils_toolchains"): - _register_coreutils_toolchains() - if register_yq_toolchains and not native.existing_rule("yq_toolchains"): - _register_yq_toolchains() - if register_tar_toolchains and not native.existing_rule("tar_toolchains"): - _register_tar_toolchains() - # Gather undocumented attributes root_package = kwargs.pop("root_package", None) additional_file_contents = kwargs.pop("additional_file_contents", {})
diff --git a/npm/private/pnpm_repository.bzl b/npm/private/pnpm_repository.bzl index dbcec63..5e868ce 100644 --- a/npm/private/pnpm_repository.bzl +++ b/npm/private/pnpm_repository.bzl
@@ -40,6 +40,4 @@ """js_binary(name = "pnpm", data = glob(["package/**"]), entry_point = "package/dist/pnpm.cjs", visibility = ["//visibility:public"])""", ]), extract_full_archive = True, - register_copy_directory_toolchains = False, # this code path should work for both WORKSPACE and bzlmod - register_copy_to_directory_toolchains = False, # this code path should work for both WORKSPACE and bzlmod )
diff --git a/npm/repositories.bzl b/npm/repositories.bzl index c9ef299..96b76ab 100644 --- a/npm/repositories.bzl +++ b/npm/repositories.bzl
@@ -1,16 +1,12 @@ """Repository rules to fetch third-party npm packages""" -load("@bazel_features//:deps.bzl", "bazel_features_deps") load("//npm/private:npm_import.bzl", _npm_import = "npm_import") load("//npm/private:npm_translate_lock.bzl", _list_patches = "list_patches", _npm_translate_lock = "npm_translate_lock") load("//npm/private:pnpm_repository.bzl", _LATEST_PNPM_VERSION = "LATEST_PNPM_VERSION", _pnpm_repository = "pnpm_repository") -npm_import = _npm_import - -def npm_translate_lock(**kwargs): - bazel_features_deps() - _npm_translate_lock(**kwargs) - -pnpm_repository = _pnpm_repository LATEST_PNPM_VERSION = _LATEST_PNPM_VERSION + list_patches = _list_patches +npm_import = _npm_import +npm_translate_lock = _npm_translate_lock +pnpm_repository = _pnpm_repository