2021-03-03 21:21:20 +01:00
|
|
|
# Define the workspace base name and a managed directory by bazel
|
|
|
|
# that will hold the node_modules called @npm
|
2021-01-28 03:42:44 +01:00
|
|
|
workspace(
|
2021-03-03 21:21:20 +01:00
|
|
|
name = "kibana",
|
|
|
|
managed_directories = {"@npm": ["node_modules"]},
|
|
|
|
)
|
|
|
|
|
|
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
|
|
|
|
|
|
# Fetch Node.js rules
|
|
|
|
http_archive(
|
|
|
|
name = "build_bazel_rules_nodejs",
|
2021-08-13 18:50:43 +02:00
|
|
|
sha256 = "e79c08a488cc5ac40981987d862c7320cee8741122a2649e9b08e850b6f20442",
|
|
|
|
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/3.8.0/rules_nodejs-3.8.0.tar.gz"],
|
2021-03-03 21:21:20 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
# Now that we have the rules let's import from them to complete the work
|
|
|
|
load("@build_bazel_rules_nodejs//:index.bzl", "check_rules_nodejs_version", "node_repositories", "yarn_install")
|
|
|
|
|
|
|
|
# Assure we have at least a given rules_nodejs version
|
2021-08-13 18:50:43 +02:00
|
|
|
check_rules_nodejs_version(minimum_version_string = "3.8.0")
|
2021-03-03 21:21:20 +01:00
|
|
|
|
|
|
|
# Setup the Node.js toolchain for the architectures we want to support
|
|
|
|
#
|
|
|
|
# NOTE: darwin-arm64 is not being installed because bazel is not yet available on that architecture.
|
|
|
|
# The PR for it was merged and should be available in the next release of bazel and bazelisk. As soon as they have it
|
|
|
|
# we can update that rule.
|
|
|
|
node_repositories(
|
|
|
|
node_repositories = {
|
2021-09-01 11:18:05 +02:00
|
|
|
"14.17.6-darwin_amd64": ("node-v14.17.6-darwin-x64.tar.gz", "node-v14.17.6-darwin-x64", "e3e4c02240d74fb1dc8a514daa62e5de04f7eaee0bcbca06a366ece73a52ad88"),
|
|
|
|
"14.17.6-linux_arm64": ("node-v14.17.6-linux-arm64.tar.xz", "node-v14.17.6-linux-arm64", "9c4f3a651e03cd9b5bddd33a80e8be6a6eb15e518513e410bb0852a658699156"),
|
|
|
|
"14.17.6-linux_s390x": ("node-v14.17.6-linux-s390x.tar.xz", "node-v14.17.6-linux-s390x", "3677f35b97608056013b5368f86eecdb044bdccc1b3976c1d4448736c37b6a0c"),
|
|
|
|
"14.17.6-linux_amd64": ("node-v14.17.6-linux-x64.tar.xz", "node-v14.17.6-linux-x64", "3bbe4faf356738d88b45be222bf5e858330541ff16bd0d4cfad36540c331461b"),
|
|
|
|
"14.17.6-windows_amd64": ("node-v14.17.6-win-x64.zip", "node-v14.17.6-win-x64", "b83e9ce542fda7fc519cec6eb24a2575a84862ea4227dedc171a8e0b5b614ac0"),
|
2021-03-03 21:21:20 +01:00
|
|
|
},
|
2021-09-01 11:18:05 +02:00
|
|
|
node_version = "14.17.6",
|
2021-03-03 21:21:20 +01:00
|
|
|
node_urls = [
|
|
|
|
"https://nodejs.org/dist/v{version}/{filename}",
|
|
|
|
],
|
|
|
|
yarn_repositories = {
|
|
|
|
"1.21.1": ("yarn-v1.21.1.tar.gz", "yarn-v1.21.1", "d1d9f4a0f16f5ed484e814afeb98f39b82d4728c6c8beaafb5abc99c02db6674"),
|
|
|
|
},
|
|
|
|
yarn_version = "1.21.1",
|
|
|
|
yarn_urls = [
|
|
|
|
"https://github.com/yarnpkg/yarn/releases/download/v{version}/{filename}",
|
|
|
|
],
|
|
|
|
package_json = ["//:package.json"],
|
|
|
|
)
|
|
|
|
|
|
|
|
# Run yarn_install rule to take care of dependencies
|
|
|
|
#
|
|
|
|
# NOTE: FORCE_COLOR env var forces colors on non tty mode
|
|
|
|
yarn_install(
|
|
|
|
name = "npm",
|
|
|
|
package_json = "//:package.json",
|
|
|
|
yarn_lock = "//:yarn.lock",
|
|
|
|
data = [
|
|
|
|
"//:.yarnrc",
|
|
|
|
"//:preinstall_check.js",
|
|
|
|
"//:node_modules/.yarn-integrity",
|
|
|
|
],
|
2021-07-02 03:26:22 +02:00
|
|
|
exports_directories_only = True,
|
2021-03-03 21:21:20 +01:00
|
|
|
symlink_node_modules = True,
|
|
|
|
quiet = False,
|
|
|
|
frozen_lockfile = False,
|
2021-01-28 03:42:44 +01:00
|
|
|
)
|