diff --git a/modules/aspect_rules_js/1.33.2/MODULE.bazel b/modules/aspect_rules_js/1.33.2/MODULE.bazel new file mode 100644 index 00000000000..16311dd368c --- /dev/null +++ b/modules/aspect_rules_js/1.33.2/MODULE.bazel @@ -0,0 +1,201 @@ +"aspect-build/rules_js" + +module( + name = "aspect_rules_js", + version = "1.33.2", + compatibility_level = 1, +) + +# Lower-bounds for runtime dependencies. +# Do not bump these unless rules_js requires a newer version to function. +bazel_dep(name = "aspect_bazel_lib", version = "1.31.2") +bazel_dep(name = "bazel_features", version = "0.1.0") +bazel_dep(name = "bazel_skylib", version = "1.4.1") +bazel_dep(name = "rules_nodejs", version = "5.8.2") +bazel_dep(name = "platforms", version = "0.0.5") + +node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node") +use_repo(node, "nodejs_linux_amd64") +use_repo(node, "nodejs_darwin_arm64") +use_repo(node, "nodejs_darwin_amd64") +use_repo(node, "nodejs_linux_arm64") +use_repo(node, "nodejs_linux_s390x") +use_repo(node, "nodejs_linux_ppc64le") +use_repo(node, "nodejs_windows_amd64") + +pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") +pnpm.pnpm( + name = "pnpm", + pnpm_version = "8.6.7", + pnpm_version_integrity = "sha512-vRIWpD/L4phf9Bk2o/O2TDR8fFoJnpYrp2TKqTIZF/qZ2/rgL3qKXzHofHgbXsinwMoSEigz28sqk3pQ+yMEQQ==", +) +use_repo(pnpm, "pnpm", "pnpm__links") + +####### Dev dependencies ######## + +bazel_dep(name = "gazelle", version = "0.33.0", dev_dependency = True, repo_name = "bazel_gazelle") +bazel_dep(name = "buildifier_prebuilt", version = "6.3.3", dev_dependency = True) +bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.4.1", dev_dependency = True) + +ext = use_extension( + "@aspect_bazel_lib//lib:extensions.bzl", + "ext", + dev_dependency = True, +) +ext.host() +use_repo(ext, "aspect_bazel_lib_host") +use_repo(ext, "coreutils_toolchains") + +node_dev = use_extension( + "@rules_nodejs//nodejs:extensions.bzl", + "node", + dev_dependency = True, +) +use_repo(node_dev, "nodejs_toolchains") +use_repo(node_dev, "node18_linux_amd64") +use_repo(node_dev, "node18_darwin_arm64") +use_repo(node_dev, "node18_darwin_amd64") +use_repo(node_dev, "node18_linux_arm64") +use_repo(node_dev, "node18_linux_s390x") +use_repo(node_dev, "node18_linux_ppc64le") +use_repo(node_dev, "node18_windows_amd64") +use_repo(node_dev, "node16_linux_amd64") +use_repo(node_dev, "node16_darwin_arm64") +use_repo(node_dev, "node16_darwin_amd64") +use_repo(node_dev, "node16_linux_arm64") +use_repo(node_dev, "node16_linux_s390x") +use_repo(node_dev, "node16_linux_ppc64le") +use_repo(node_dev, "node16_windows_amd64") +node_dev.toolchain(node_version = "16.14.2") +node_dev.toolchain( + name = "node16", + node_version = "16.13.1", +) +node_dev.toolchain( + name = "node18", + node_version = "18.13.0", +) + +############################################ +# npm dependencies used by examples + +npm = use_extension( + "@aspect_rules_js//npm:extensions.bzl", + "npm", + dev_dependency = True, +) +npm.npm_translate_lock( + name = "npm", + bins = { + # derived from "bin" attribute in node_modules/typescript/package.json + "typescript": [ + "tsc=./bin/tsc", + "tsserver=./bin/tsserver", + ], + }, + custom_postinstalls = { + "@aspect-test/c": "echo moo > cow.txt", + "@aspect-test/c@2.0.2": "echo mooo >> cow.txt", + }, + data = [ + "//:examples/npm_deps/patches/meaning-of-life@1.0.0-pnpm.patch", + "//:package.json", + "//:pnpm-workspace.yaml", + "//examples/js_binary:package.json", + "//examples/macro:package.json", + "//examples/npm_deps:package.json", + "//examples/npm_package/libs/lib_a:package.json", + "//examples/npm_package/packages/pkg_a:package.json", + "//examples/npm_package/packages/pkg_b:package.json", + "//examples/webpack_cli:package.json", + "//js/private/coverage/bundle:package.json", + "//js/private/worker/src:package.json", + "//npm/private/test:package.json", + "//npm/private/test:vendored/lodash-4.17.21.tgz", + "//npm/private/test/npm_package:package.json", + "//npm/private/test/vendored/is-odd:package.json", + "//npm/private/test/vendored/semver-max:package.json", + ], + generate_bzl_library_targets = True, + lifecycle_hooks = { + # we fetch @kubernetes/client-node from source and it has a `prepare` lifecycle hook that needs to be run + "@kubernetes/client-node": ["prepare"], + # 'install' hook fails as it assumes the following path to `node-pre-gyp`: ./node_modules/.bin/node-pre-gyp + # https://github.com/stultuss/protoc-gen-grpc-ts/blob/53d52a9d0e1fe3cbe930dec5581eca89b3dde807/package.json#L28 + "protoc-gen-grpc@2.0.3": [], + }, + lifecycle_hooks_execution_requirements = { + "*": [ + "no-sandbox", + ], + # If @kubernetes/client-node is not sandboxed, will fail with + # ``` + # src/azure_auth.ts(97,43): error TS2575: No overload expects 2 arguments, but overloads do exist that expect either 1 or 4 arguments. + # src/azure_auth.ts(98,34): error TS2575: No overload expects 2 arguments, but overloads do exist that expect either 1 or 4 arguments. + # src/gcp_auth.ts(93,43): error TS2575: No overload expects 2 arguments, but overloads do exist that expect either 1 or 4 arguments. + # src/gcp_auth.ts(94,34): error TS2575: No overload expects 2 arguments, but overloads do exist that expect either 1 or 4 arguments. + # ``` + # since a `jsonpath-plus@7.2.0` that is newer then the transitive dep `jsonpath-plus@0.19.0` is found outside of the sandbox that + # includes typings that don't match the 0.19.0 "any" usage. + "@kubernetes/client-node": [], + "@figma/nodegit": [ + "no-sandbox", + "requires-network", + ], + "esbuild": [ + "no-sandbox", + "requires-network", + ], + "segfault-handler": [ + "no-sandbox", + "requires-network", + ], + "puppeteer": [ + "no-sandbox", + "requires-network", + ], + }, + npmrc = "//:.npmrc", + package_visibility = { + "unused": ["//visibility:private"], + "@mycorp/pkg-a": ["//examples:__subpackages__"], + }, + patch_args = { + "*": ["-p1"], + "@gregmagolan/test-a": ["-p4"], + }, + patches = { + "@gregmagolan/test-a": ["//examples/npm_deps:patches/test-a.patch"], + "@gregmagolan/test-a@0.0.1": ["//examples/npm_deps:patches/test-a@0.0.1.patch"], + "@gregmagolan/test-b": ["//examples/npm_deps:patches/test-b.patch"], + "meaning-of-life@1.0.0": ["//examples/npm_deps:patches/meaning-of-life@1.0.0-after_pnpm.patch"], + }, + pnpm_lock = "//:pnpm-lock.yaml", + # NB: this is a no-op because we already installed a pnpm repo above + pnpm_version = "7.25.0", + public_hoist_packages = { + # Instructs the linker to hoist the ms@2.1.3 npm package to `node_modules/ms` in the `examples/npm_deps` package. + # Similar to adding `public-hoist-pattern[]=ms` in .npmrc but with control over which version to hoist and where + # to hoist it. This hoisted package can be referenced by the label `//examples/npm_deps:node_modules/ms` same as + # other direct dependencies in the `examples/npm_deps/package.json`. + "ms@2.1.3": ["examples/npm_deps"], + }, + update_pnpm_lock = True, + verify_node_modules_ignored = "//:.bazelignore", + verify_patches = "//examples/npm_deps/patches:patches", +) +use_repo(npm, "npm", "npm__rollup__2.70.2", "npm__webpack-bundle-analyzer__4.5.0__bufferutil_4.0.7") + +# As an example, manually import a package using explicit coordinates. +# Just a demonstration of the syntax de-sugaring. +npm.npm_import( + name = "acorn__8.4.0", + bins = {"acorn": "./bin/acorn"}, + integrity = "sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==", + package = "acorn", + # Root package where to link the virtual store + root_package = "", + version = "8.4.0", +) +use_repo(npm, "acorn__8.4.0") +use_repo(npm, "acorn__8.4.0__links") diff --git a/modules/aspect_rules_js/1.33.2/patches/module_dot_bazel_version.patch b/modules/aspect_rules_js/1.33.2/patches/module_dot_bazel_version.patch new file mode 100644 index 00000000000..38a0510db56 --- /dev/null +++ b/modules/aspect_rules_js/1.33.2/patches/module_dot_bazel_version.patch @@ -0,0 +1,14 @@ +=================================================================== +--- a/MODULE.bazel ++++ b/MODULE.bazel +@@ -1,9 +1,9 @@ + "aspect-build/rules_js" + + module( + name = "aspect_rules_js", +- version = "0.0.0", ++ version = "1.33.2", + compatibility_level = 1, + ) + + # Lower-bounds for runtime dependencies. diff --git a/modules/aspect_rules_js/1.33.2/presubmit.yml b/modules/aspect_rules_js/1.33.2/presubmit.yml new file mode 100644 index 00000000000..cbcfdbb23fd --- /dev/null +++ b/modules/aspect_rules_js/1.33.2/presubmit.yml @@ -0,0 +1,10 @@ +bcr_test_module: + module_path: 'e2e/bzlmod' + matrix: + platform: ['debian10', 'macos', 'ubuntu2004', 'windows'] + tasks: + run_tests: + name: 'Run test module' + platform: ${{ platform }} + test_targets: + - '//...' diff --git a/modules/aspect_rules_js/1.33.2/source.json b/modules/aspect_rules_js/1.33.2/source.json new file mode 100644 index 00000000000..1f00e4765b6 --- /dev/null +++ b/modules/aspect_rules_js/1.33.2/source.json @@ -0,0 +1,9 @@ +{ + "integrity": "sha256-Wvgv4T/stGfpwsGXZaWT3i4Zdq/QoeGKgNkwokZVCPw=", + "strip_prefix": "rules_js-1.33.2", + "url": "https://github.com/aspect-build/rules_js/releases/download/v1.33.2/rules_js-v1.33.2.tar.gz", + "patches": { + "module_dot_bazel_version.patch": "sha256-szTzbeRTFa1I62APXHsco2hGjl6rZ0XEq+RMipckP6Y=" + }, + "patch_strip": 1 +} diff --git a/modules/aspect_rules_js/metadata.json b/modules/aspect_rules_js/metadata.json index e482b5c1fc8..b7d1961acd3 100644 --- a/modules/aspect_rules_js/metadata.json +++ b/modules/aspect_rules_js/metadata.json @@ -71,7 +71,8 @@ "1.32.5", "1.32.6", "1.33.0", - "1.33.1" + "1.33.1", + "1.33.2" ], "yanked_versions": {} }