From 90ea6ab1277d1f338db9204d56276409b812ac99 Mon Sep 17 00:00:00 2001 From: "publish-to-bcr-bot[bot]" <112732530+publish-to-bcr-bot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 17:00:53 -0800 Subject: [PATCH] Publish aspect-build/rules_js@v1.37.1 (#1385) Co-authored-by: Jason Bedard --- modules/aspect_rules_js/1.37.1/MODULE.bazel | 222 ++++++++++++++++++ .../patches/module_dot_bazel_version.patch | 14 ++ modules/aspect_rules_js/1.37.1/presubmit.yml | 10 + modules/aspect_rules_js/1.37.1/source.json | 9 + modules/aspect_rules_js/metadata.json | 3 +- 5 files changed, 257 insertions(+), 1 deletion(-) create mode 100644 modules/aspect_rules_js/1.37.1/MODULE.bazel create mode 100644 modules/aspect_rules_js/1.37.1/patches/module_dot_bazel_version.patch create mode 100644 modules/aspect_rules_js/1.37.1/presubmit.yml create mode 100644 modules/aspect_rules_js/1.37.1/source.json diff --git a/modules/aspect_rules_js/1.37.1/MODULE.bazel b/modules/aspect_rules_js/1.37.1/MODULE.bazel new file mode 100644 index 0000000000..6159ab0e6e --- /dev/null +++ b/modules/aspect_rules_js/1.37.1/MODULE.bazel @@ -0,0 +1,222 @@ +"aspect-build/rules_js" + +module( + name = "aspect_rules_js", + version = "1.37.1", + 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.40.0") +bazel_dep(name = "aspect_rules_lint", version = "0.9.1") +bazel_dep(name = "bazel_features", version = "0.1.0") +bazel_dep(name = "bazel_skylib", version = "1.5.0") +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_darwin_amd64") +use_repo(node, "nodejs_darwin_arm64") +use_repo(node, "nodejs_linux_amd64") +use_repo(node, "nodejs_linux_arm64") +use_repo(node, "nodejs_linux_ppc64le") +use_repo(node, "nodejs_linux_s390x") +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") + +bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains") +use_repo(bazel_lib_toolchains, "coreutils_toolchains") +use_repo(bazel_lib_toolchains, "yq_darwin_amd64") +use_repo(bazel_lib_toolchains, "yq_darwin_arm64") +use_repo(bazel_lib_toolchains, "yq_linux_amd64") +use_repo(bazel_lib_toolchains, "yq_linux_arm64") +use_repo(bazel_lib_toolchains, "yq_linux_ppc64le") +use_repo(bazel_lib_toolchains, "yq_linux_s390x") +use_repo(bazel_lib_toolchains, "yq_windows_amd64") + +####### 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.5.0", dev_dependency = True) +bazel_dep(name = "rules_go", version = "0.41.0", dev_dependency = True) + +host = use_extension( + "@aspect_bazel_lib//lib:extensions.bzl", + "host", + dev_dependency = True, +) +host.host() +use_repo(host, "aspect_bazel_lib_host") + +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 + # which runs the `build` package.json script: https://github.com/kubernetes-client/javascript/blob/fc681991e61c6808dd26012a2331f83671a11218/package.json#L28. + # Here we run run build so we just run `tsc` instead of `npm run build` which ends up just running `tsc`. + "@kubernetes/client-node": ["build"], + # '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"], + }, + patches = { + "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") + +# Used by formatter +go_sdk = use_extension( + "@rules_go//go:extensions.bzl", + "go_sdk", + dev_dependency = True, +) +go_sdk.download( + name = "go_sdk", + version = "1.20.3", +) +use_repo(go_sdk, "go_sdk") diff --git a/modules/aspect_rules_js/1.37.1/patches/module_dot_bazel_version.patch b/modules/aspect_rules_js/1.37.1/patches/module_dot_bazel_version.patch new file mode 100644 index 0000000000..ffd3cb0cef --- /dev/null +++ b/modules/aspect_rules_js/1.37.1/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.37.1", + compatibility_level = 1, + ) + + # Lower-bounds for runtime dependencies. diff --git a/modules/aspect_rules_js/1.37.1/presubmit.yml b/modules/aspect_rules_js/1.37.1/presubmit.yml new file mode 100644 index 0000000000..cbcfdbb23f --- /dev/null +++ b/modules/aspect_rules_js/1.37.1/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.37.1/source.json b/modules/aspect_rules_js/1.37.1/source.json new file mode 100644 index 0000000000..8224143000 --- /dev/null +++ b/modules/aspect_rules_js/1.37.1/source.json @@ -0,0 +1,9 @@ +{ + "integrity": "sha256-Ywpxq6ZsQCOlsWqz76+u7YsaKGXM0WijRhHrc4drP8Q=", + "strip_prefix": "rules_js-1.37.1", + "url": "https://github.com/aspect-build/rules_js/releases/download/v1.37.1/rules_js-v1.37.1.tar.gz", + "patches": { + "module_dot_bazel_version.patch": "sha256-pSJN4KCVMVTmVTEMfwuV3pqu/yDEI90ulkkFBtksYD4=" + }, + "patch_strip": 1 +} diff --git a/modules/aspect_rules_js/metadata.json b/modules/aspect_rules_js/metadata.json index 8605a19bd8..f96c9a9427 100644 --- a/modules/aspect_rules_js/metadata.json +++ b/modules/aspect_rules_js/metadata.json @@ -88,7 +88,8 @@ "1.34.1", "1.35.0", "1.36.1", - "1.37.0" + "1.37.0", + "1.37.1" ], "yanked_versions": {} }