mirror of
https://github.com/sourcegraph/sourcegraph.git
synced 2026-02-06 15:12:02 +00:00
* bazel: add aspect rules_ts,jest, upgrade rules_js, generate pnpm-lock.yaml * bazel: add initial typescript rules * bazel: build client/extension-api-types * bazel: build client/common
116 lines
4.0 KiB
Python
116 lines
4.0 KiB
Python
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
|
|
http_archive(
|
|
name = "bazel_skylib",
|
|
sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
|
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
|
|
],
|
|
)
|
|
|
|
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
|
|
|
|
bazel_skylib_workspace()
|
|
|
|
http_archive(
|
|
name = "aspect_rules_js",
|
|
sha256 = "ad666b12324bab8bc151772bb2eff9aadace7bfd4d624157c2ac3931860d1c95",
|
|
strip_prefix = "rules_js-1.11.1",
|
|
url = "https://github.com/aspect-build/rules_js/archive/refs/tags/v1.11.1.tar.gz",
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_nodejs",
|
|
sha256 = "08337d4fffc78f7fe648a93be12ea2fc4e8eb9795a4e6aa48595b66b34555626",
|
|
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.8.0/rules_nodejs-core-5.8.0.tar.gz"],
|
|
)
|
|
|
|
http_archive(
|
|
name = "aspect_rules_ts",
|
|
sha256 = "e81f37c4fe014fc83229e619360d51bfd6cb8ac405a7e8018b4a362efa79d000",
|
|
strip_prefix = "rules_ts-1.0.4",
|
|
url = "https://github.com/aspect-build/rules_ts/archive/refs/tags/v1.0.4.tar.gz",
|
|
)
|
|
|
|
http_archive(
|
|
name = "aspect_rules_jest",
|
|
sha256 = "f2be891d9b38473f08a336e5f6ca327bfdc90411b1798a1c476c6f6ceae54520",
|
|
strip_prefix = "rules_jest-0.13.1",
|
|
url = "https://github.com/aspect-build/rules_jest/archive/refs/tags/v0.13.1.tar.gz",
|
|
)
|
|
|
|
# Node toolchain setup ==========================
|
|
load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains")
|
|
|
|
nodejs_register_toolchains(
|
|
name = "nodejs",
|
|
node_version = DEFAULT_NODE_VERSION,
|
|
)
|
|
|
|
# rules_js setup ================================
|
|
load("@aspect_rules_js//js:repositories.bzl", "rules_js_dependencies")
|
|
|
|
rules_js_dependencies()
|
|
|
|
# rules_js npm setup ============================
|
|
load("@aspect_rules_js//npm:npm_import.bzl", "npm_translate_lock")
|
|
|
|
npm_translate_lock(
|
|
name = "npm",
|
|
data = [
|
|
# TODO: can remove these package.json labels after switching to a pnpm lockfile.
|
|
"//:package.json",
|
|
"//:client/branded/package.json",
|
|
"//:client/browser/package.json",
|
|
"//:client/build-config/package.json",
|
|
"//:client/client-api/package.json",
|
|
"//:client/codeintellify/package.json",
|
|
"//:client/common/package.json",
|
|
"//:client/eslint-plugin-wildcard/package.json",
|
|
"//:client/extension-api-types/package.json",
|
|
"//:client/extension-api/package.json",
|
|
"//:client/http-client/package.json",
|
|
"//:client/jetbrains/package.json",
|
|
"//:client/observability-client/package.json",
|
|
"//:client/observability-server/package.json",
|
|
"//:client/search-ui/package.json",
|
|
"//:client/search/package.json",
|
|
"//:client/shared/package.json",
|
|
"//:client/storybook/package.json",
|
|
"//:client/template-parser/package.json",
|
|
"//:client/web/package.json",
|
|
"//:client/wildcard/package.json",
|
|
"//:client/vscode/package.json",
|
|
"//:dev/release/package.json",
|
|
"//:pnpm-workspace.yaml",
|
|
],
|
|
npmrc = "//:.npmrc",
|
|
pnpm_lock = "//:pnpm-lock.yaml",
|
|
update_pnpm_lock = True,
|
|
verify_node_modules_ignored = "//:.bazelignore",
|
|
yarn_lock = "//:yarn.lock",
|
|
)
|
|
|
|
# rules_ts npm setup ============================
|
|
load("@npm//:repositories.bzl", "npm_repositories")
|
|
|
|
npm_repositories()
|
|
|
|
load("@aspect_rules_ts//ts:repositories.bzl", "rules_ts_dependencies", LATEST_TS_VERSION = "LATEST_VERSION")
|
|
|
|
rules_ts_dependencies(ts_version = LATEST_TS_VERSION)
|
|
|
|
# rules_jest setup ==============================
|
|
load("@aspect_rules_jest//jest:dependencies.bzl", "rules_jest_dependencies")
|
|
|
|
rules_jest_dependencies()
|
|
|
|
load("@aspect_rules_jest//jest:repositories.bzl", "jest_repositories")
|
|
|
|
jest_repositories(name = "jest")
|
|
|
|
load("@jest//:npm_repositories.bzl", jest_npm_repositories = "npm_repositories")
|
|
|
|
jest_npm_repositories()
|