workspace( name = "angular", managed_directories = { "@npm": ["node_modules"], "@aio_npm": ["aio/node_modules"], }, ) load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_nodejs", sha256 = "3ceb1e5b5dcad5fa2ad8870a20201cfbb9c9c63cac4055c9ab370034c765297f", urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/5.3.0/rules_nodejs-5.3.0.tar.gz"], ) load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies") build_bazel_rules_nodejs_dependencies() # The PKG rules are needed to build tar packages for integration tests. The builtin # rule in `@bazel_tools` is not Windows compatible and outdated. http_archive( name = "rules_pkg", sha256 = "62eeb544ff1ef41d786e329e1536c1d541bb9bcad27ae984d57f18f314018e66", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz", "https://github.com/bazelbuild/rules_pkg/releases/download/0.6.0/rules_pkg-0.6.0.tar.gz", ], ) # Fetch Aspect lib for utilities like write_source_files http_archive( name = "aspect_bazel_lib", sha256 = "5f5f1237601d41d61608ad0b9541614935839232940010f9e62163c3e53dc1b7", strip_prefix = "bazel-lib-0.5.0", url = "https://github.com/aspect-build/bazel-lib/archive/refs/tags/v0.5.0.tar.gz", ) # Setup the Node.js toolchain. load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains") nodejs_register_toolchains( name = "nodejs", node_version = "16.10.0", ) # Download npm dependencies. load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install") load("//integration:npm_package_archives.bzl", "npm_package_archives") yarn_install( name = "npm", # Note that we add the postinstall scripts here so that the dependencies are re-installed # when the postinstall patches are modified. data = [ "//:.yarn/releases/yarn-1.22.17.cjs", "//:.yarnrc", "//:scripts/puppeteer-chromedriver-versions.js", "//:scripts/webdriver-manager-update.js", "//tools:postinstall-patches.js", ], # Currently disabled due to: # 1. Missing Windows support currently. # 2. Incompatibilites with the `ts_library` rule. exports_directories_only = False, manual_build_file_contents = npm_package_archives(), package_json = "//:package.json", # We prefer to symlink the `node_modules` to only maintain a single install. # See https://github.com/angular/dev-infra/pull/446#issuecomment-1059820287 for details. symlink_node_modules = True, yarn = "//:.yarn/releases/yarn-1.22.17.cjs", yarn_lock = "//:yarn.lock", ) yarn_install( name = "aio_npm", # Note that we add the postinstall scripts here so that the dependencies are re-installed # when the postinstall patches are modified. data = [ "//:.yarn/releases/yarn-1.22.17.cjs", "//:.yarnrc", "//aio:tools/cli-patches/patch.js", ], # Currently disabled due to: # 1. Missing Windows support currently. # 2. Incompatibilites with the `ts_library` rule. exports_directories_only = False, manual_build_file_contents = npm_package_archives(), package_json = "//aio:package.json", # We prefer to symlink the `node_modules` to only maintain a single install. # See https://github.com/angular/dev-infra/pull/446#issuecomment-1059820287 for details. symlink_node_modules = True, yarn = "//:.yarn/releases/yarn-1.22.17.cjs", yarn_lock = "//aio:yarn.lock", ) load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies") aspect_bazel_lib_dependencies() # Load protractor dependencies load("@npm//@bazel/protractor:package.bzl", "npm_bazel_protractor_dependencies") npm_bazel_protractor_dependencies() # Setup the rules_webtesting toolchain load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories") web_test_repositories() load("@npm//@angular/dev-infra-private/bazel/browsers:browser_repositories.bzl", "browser_repositories") browser_repositories() load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories") esbuild_repositories( npm_repository = "npm", ) load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies") rules_pkg_dependencies() load("//packages/common/locales/generate-locales-tool:cldr-data.bzl", "cldr_data_repository") cldr_data_repository( name = "cldr_data", urls = { "https://github.com/unicode-org/cldr-json/releases/download/39.0.0/cldr-39.0.0-json-full.zip": "a631764b6bb7967fab8cc351aff3ffa3f430a23646899976dd9d65801446def6", }, ) # sass rules http_archive( name = "io_bazel_rules_sass", sha256 = "6cca1c3b77185ad0a421888b90679e345d7b6db7a8c9c905807fe4581ea6839a", strip_prefix = "rules_sass-1.49.8", urls = [ "https://github.com/bazelbuild/rules_sass/archive/1.49.8.zip", ], ) # Setup the rules_sass toolchain load("@io_bazel_rules_sass//sass:sass_repositories.bzl", "sass_repositories") sass_repositories()