Skip to content
File

Blob: build/deps/nodejs.MODULE.bazel

1.5 KB
1NODE_VERSION = "22.21.1"
2 
3# ========================================================================================
4# Node.js bootstrap
5#
6# workerd uses Node.js scripts for generating TypeScript types.
7node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
8node.toolchain(
9 node_urls = [
10 # github workflows may substitute a mirror URL here to avoid fetch failures.
11 # "WORKERS_MIRROR_URL/https://nodejs.org/dist/v{version}/{filename}",
12 "https://nodejs.org/dist/v{version}/{filename}",
13 ],
14 node_version = NODE_VERSION,
15)
16 
17npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
18npm.npm_translate_lock(
19 name = "npm",
20 bins = {
21 # Expose CLI binaries for OpenNext builds
22 "esbuild": ["esbuild=bin/esbuild"],
23 "next": ["next=./dist/bin/next"],
24 "wrangler": ["wrangler=bin/wrangler.js"],
25 },
26 data = [
27 "//:package.json",
28 "//:pnpm-workspace.yaml",
29 "//images/container-client-test:package.json",
30 "//src/workerd/api/tests/opennextjs/src:package.json",
31 ],
32 npmrc = "//:.npmrc",
33 pnpm_lock = "//:pnpm-lock.yaml",
34 verify_node_modules_ignored = "//:.bazelignore",
35)
36use_repo(npm, "npm")
37 
38rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext")
39rules_ts_ext.deps(
40 # This keeps the TypeScript version in-sync with the editor, which is typically best.
41 ts_version_from = "//:package.json",
42)
43use_repo(rules_ts_ext, "npm_typescript")