diff --git a/BUILD.bazel b/BUILD.bazel
index 6d7e25155e..9c22bf3b11 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -57,7 +57,7 @@ bzl_library(
"//internal/pkg_npm:bzl",
"//internal/pkg_web:bzl",
"//internal/providers:bzl",
- "//nodejs/private/providers:bzl",
+ "@rules_nodejs//nodejs/private/providers:bzl",
],
)
@@ -76,8 +76,8 @@ pkg_npm(
"BUILD.bazel",
"LICENSE",
"index.bzl",
- "package.bzl",
"providers.bzl",
+ "repositories.bzl",
"version.bzl",
],
substitutions = COMMON_REPLACEMENTS,
@@ -96,8 +96,6 @@ pkg_npm(
"//internal/pkg_web:package_contents",
"//internal/providers:package_contents",
"//internal/runfiles:package_contents",
- "//nodejs:package_contents",
- "//nodejs/private/providers:package_contents",
"//third_party/github.com/bazelbuild/bazel:package_contents",
"//third_party/github.com/bazelbuild/bazel-skylib:package_contents",
"//third_party/github.com/bazelbuild/bazel/tools/bash/runfiles:package_contents",
diff --git a/WORKSPACE b/WORKSPACE
index 3b56211302..3d5e2af48b 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -43,9 +43,9 @@ local_repository(
# Install rules_nodejs dev dependencies
#
-load("//:package.bzl", "rules_nodejs_dev_dependencies")
+load("//:repositories.bzl", "build_bazel_rules_nodejs_dev_dependencies")
-rules_nodejs_dev_dependencies()
+build_bazel_rules_nodejs_dev_dependencies()
#
# Setup rules_nodejs npm dependencies
diff --git a/docs/BUILD.bazel b/docs/BUILD.bazel
index b1f1c5e220..50c578bc58 100644
--- a/docs/BUILD.bazel
+++ b/docs/BUILD.bazel
@@ -24,6 +24,7 @@ stardoc(
deps = [
"//:bzl",
"//internal/node:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
@@ -34,6 +35,7 @@ stardoc(
tags = ["fix-windows"],
deps = [
"//:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/docs/Built-ins.md b/docs/Built-ins.md
index f78db9c837..f9e027cdee 100755
--- a/docs/Built-ins.md
+++ b/docs/Built-ins.md
@@ -13,238 +13,6 @@ via the `WORKSPACE` install of the `build_bazel_rules_nodejs` workspace.
This is necessary to bootstrap Bazel to run the package manager to download other rules from NPM.
-## node_repositories
-
-**USAGE**
-
-
-node_repositories(name, node_download_auth, node_repositories, node_urls, node_version,
- package_json, platform, repo_mapping, use_nvmrc, vendored_node, vendored_yarn,
- yarn_download_auth, yarn_repositories, yarn_urls, yarn_version)
-
-
-To be run in user's WORKSPACE to install rules_nodejs dependencies.
-
-This rule sets up node, npm, and yarn. The versions of these tools can be specified in one of three ways
-
-### Simplest Usage
-
-Specify no explicit versions. This will download and use the latest NodeJS & Yarn that were available when the
-version of rules_nodejs you're using was released.
-Note that you can skip calling `node_repositories` in your WORKSPACE file - if you later try to `yarn_install` or `npm_install`,
-we'll automatically select this simple usage for you.
-
-### Forced version(s)
-
-You can select the version of NodeJS and/or Yarn to download & use by specifying it when you call node_repositories,
-using a value that matches a known version (see the default values)
-
-### Using a custom version
-
-You can pass in a custom list of NodeJS and/or Yarn repositories and URLs for node_resositories to use.
-
-#### Custom NodeJS versions
-
-To specify custom NodeJS versions, use the `node_repositories` attribute
-
-```python
-node_repositories(
- node_repositories = {
- "10.10.0-darwin_amd64": ("node-v10.10.0-darwin-x64.tar.gz", "node-v10.10.0-darwin-x64", "00b7a8426e076e9bf9d12ba2d571312e833fe962c70afafd10ad3682fdeeaa5e"),
- "10.10.0-linux_amd64": ("node-v10.10.0-linux-x64.tar.xz", "node-v10.10.0-linux-x64", "686d2c7b7698097e67bcd68edc3d6b5d28d81f62436c7cf9e7779d134ec262a9"),
- "10.10.0-windows_amd64": ("node-v10.10.0-win-x64.zip", "node-v10.10.0-win-x64", "70c46e6451798be9d052b700ce5dadccb75cf917f6bf0d6ed54344c856830cfb"),
- },
-)
-```
-
-These can be mapped to a custom download URL, using `node_urls`
-
-```python
-node_repositories(
- node_version = "10.10.0",
- node_repositories = {"10.10.0-darwin_amd64": ("node-v10.10.0-darwin-x64.tar.gz", "node-v10.10.0-darwin-x64", "00b7a8426e076e9bf9d12ba2d571312e833fe962c70afafd10ad3682fdeeaa5e")},
- node_urls = ["https://mycorpproxy/mirror/node/v{version}/{filename}"],
-)
-```
-
-A Mac client will try to download node from `https://mycorpproxy/mirror/node/v10.10.0/node-v10.10.0-darwin-x64.tar.gz`
-and expect that file to have sha256sum `00b7a8426e076e9bf9d12ba2d571312e833fe962c70afafd10ad3682fdeeaa5e`
-
-#### Custom Yarn versions
-
-To specify custom Yarn versions, use the `yarn_repositories` attribute
-
-```python
-node_repositories(
- yarn_repositories = {
- "1.12.1": ("yarn-v1.12.1.tar.gz", "yarn-v1.12.1", "09bea8f4ec41e9079fa03093d3b2db7ac5c5331852236d63815f8df42b3ba88d"),
- },
-)
-```
-
-Like `node_urls`, the `yarn_urls` attribute can be used to provide a list of custom URLs to use to download yarn
-
-```python
-node_repositories(
- yarn_repositories = {
- "1.12.1": ("yarn-v1.12.1.tar.gz", "yarn-v1.12.1", "09bea8f4ec41e9079fa03093d3b2db7ac5c5331852236d63815f8df42b3ba88d"),
- },
- yarn_version = "1.12.1",
- yarn_urls = [
- "https://github.com/yarnpkg/yarn/releases/download/v{version}/{filename}",
- ],
-)
-```
-
-Will download yarn from https://github.com/yarnpkg/yarn/releases/download/v1.2.1/yarn-v1.12.1.tar.gz
-and expect the file to have sha256sum `09bea8f4ec41e9079fa03093d3b2db7ac5c5331852236d63815f8df42b3ba88d`.
-
-If you don't use Yarn at all, you can skip downloading it by setting `yarn_urls = []`.
-
-### Using a local version
-
-To avoid downloads, you can check in vendored copies of NodeJS and/or Yarn and set vendored_node and or vendored_yarn
-to point to those before calling node_repositories. You can also point to a location where node is installed on your computer,
-but we don't recommend this because it leads to version skew between you, your coworkers, and your Continuous Integration environment.
-It also ties your build to a single platform, preventing you from cross-compiling into a Linux docker image on Mac for example.
-
-See the [the repositories documentation](repositories.html) for how to use the resulting repositories.
-
-### Manual install
-
-You can optionally pass a `package_json` array to node_repositories. This lets you use Bazel's version of yarn or npm, yet always run the package manager yourself.
-This is an advanced scenario you can use in place of the `npm_install` or `yarn_install` rules, but we don't recommend it, and might remove it in the future.
-
-```
-load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories")
-node_repositories(package_json = ["//:package.json", "//subpkg:package.json"])
-```
-
-Running `bazel run @nodejs//:yarn_node_repositories` in this repo would create `/node_modules` and `/subpkg/node_modules`.
-
-Note that the dependency installation scripts will run in each subpackage indicated by the `package_json` attribute.
-
-
-**ATTRIBUTES**
-
-
-name
-
-(*Name, mandatory*): A unique name for this repository.
-
-
-node_download_auth
-
-(*Dictionary: String -> String*): auth to use for all url requests
-Example: {"type": "basic", "login": "", "password": "" }
-
-Defaults to `{}`
-
-node_repositories
-
-(*Dictionary: String -> List of strings*): Custom list of node repositories to use
-
-A dictionary mapping NodeJS versions to sets of hosts and their corresponding (filename, strip_prefix, sha256) tuples.
-You should list a node binary for every platform users have, likely Mac, Windows, and Linux.
-
-By default, if this attribute has no items, we'll use a list of all public NodeJS releases.
-
-Defaults to `{}`
-
-node_urls
-
-(*List of strings*): custom list of URLs to use to download NodeJS
-
-Each entry is a template for downloading a node distribution.
-
-The `{version}` parameter is substituted with the `node_version` attribute,
-and `{filename}` with the matching entry from the `node_repositories` attribute.
-
-Defaults to `["https://nodejs.org/dist/v{version}/{filename}"]`
-
-node_version
-
-(*String*): the specific version of NodeJS to install or, if vendored_node is specified, the vendored version of node
-
-Defaults to `"16.12.0"`
-
-package_json
-
-(*List of labels*): (ADVANCED, not recommended)
- a list of labels, which indicate the package.json files that will be installed
- when you manually run the package manager, e.g. with
- `bazel run @nodejs//:yarn_node_repositories` or `bazel run @nodejs//:npm_node_repositories install`.
- If you use bazel-managed dependencies, you should omit this attribute.
-
-Defaults to `[]`
-
-
-
-(*String*): Internal use only. Which platform to install as a toolchain. If unset, we assume the repository is named nodejs_[platform]
-
-Defaults to `""`
-
-repo_mapping
-
-(*Dictionary: String -> String, mandatory*): A dictionary from local repository name to global repository name. This allows controls over workspace dependency resolution for dependencies of this repository.For example, an entry `"@foo": "@bar"` declares that, for any time this repository depends on `@foo` (such as a dependency on `@foo//some:target`, it should actually resolve that dependency within globally-declared `@bar` (`@bar//some:target`).
-
-
-
use_nvmrc
-
-(*Label*): the local path of the .nvmrc file containing the version of node
-
-If set then also set node_version to the version found in the .nvmrc file.
-
-Defaults to `None`
-
-vendored_node
-
-(*Label*): the local path to a pre-installed NodeJS runtime.
-
-If set then also set node_version to the version that of node that is vendored.
-
-Defaults to `None`
-
-vendored_yarn
-
-(*Label*): the local path to a pre-installed yarn tool
-
-Defaults to `None`
-
-yarn_download_auth
-
-(*Dictionary: String -> String*): auth to use for all url requests
-Example: {"type": "basic", "login": "", "password": "" }
-
-Defaults to `{}`
-
-yarn_repositories
-
-(*Dictionary: String -> List of strings*): Custom list of yarn repositories to use.
-
-Dictionary mapping Yarn versions to their corresponding (filename, strip_prefix, sha256) tuples.
-
-By default, if this attribute has no items, we'll use a list of all public NodeJS releases.
-
-Defaults to `{}`
-
-yarn_urls
-
-(*List of strings*): custom list of URLs to use to download Yarn
-
-Each entry is a template, similar to the `node_urls` attribute, using `yarn_version` and `yarn_repositories` in the substitutions.
-
-If this list is empty, we won't download yarn at all.
-
-Defaults to `["https://github.com/yarnpkg/yarn/releases/download/v{version}/{filename}"]`
-
-yarn_version
-
-(*String*): the specific version of Yarn to install
-
-Defaults to `"1.22.11"`
-
-
## nodejs_binary
**USAGE**
diff --git a/docs/Providers.md b/docs/Providers.md
index 6e70e0dbbb..25915c7c91 100755
--- a/docs/Providers.md
+++ b/docs/Providers.md
@@ -10,57 +10,6 @@ Public providers, aspects and helpers that are shipped in the built-in build_baz
Users should not load files under "/internal"
-## DeclarationInfo
-
-**USAGE**
-
-
-DeclarationInfo(declarations, transitive_declarations, type_blocklisted_declarations)
-
-
-The DeclarationInfo provider allows JS rules to communicate typing information.
-TypeScript's .d.ts files are used as the interop format for describing types.
-package.json files are included as well, as TypeScript needs to read the "typings" property.
-
-Do not create DeclarationInfo instances directly, instead use the declaration_info factory function.
-
-Note: historically this was a subset of the string-typed "typescript" provider.
-
-
-**FIELDS**
-
-declarations
-
- A depset of typings files produced by this rule
-transitive_declarations
-
- A depset of typings files produced by this rule and all its transitive dependencies.
-This prevents needing an aspect in rules that consume the typings, which improves performance.
-type_blocklisted_declarations
-
- A depset of .d.ts files that we should not use to infer JSCompiler types (via tsickle)
-
-
-## DirectoryFilePathInfo
-
-**USAGE**
-
-
-DirectoryFilePathInfo(directory, path)
-
-
-Joins a label pointing to a TreeArtifact with a path nested within that directory.
-
-**FIELDS**
-
-directory
-
- a TreeArtifact (ctx.actions.declare_directory)
-path
-
- path relative to the directory
-
-
## ExternalNpmPackageInfo
**USAGE**
@@ -115,26 +64,6 @@ Historical note: this was the typescript.es6_sources output
Depset of direct and transitive JavaScript files and sourcemaps
-## JSModuleInfo
-
-**USAGE**
-
-
-JSModuleInfo(direct_sources, sources)
-
-
-JavaScript files and sourcemaps.
-
-**FIELDS**
-
-direct_sources
-
- Depset of direct JavaScript files and sourcemaps
-sources
-
- Depset of direct and transitive JavaScript files and sourcemaps
-
-
## JSNamedModuleInfo
**USAGE**
@@ -163,47 +92,6 @@ Historical note: this was the typescript.es5_sources output.
Depset of direct and transitive JavaScript files and sourcemaps
-## LinkablePackageInfo
-
-**USAGE**
-
-
-LinkablePackageInfo(files, package_name, package_path, path)
-
-
-The LinkablePackageInfo provider provides information to the linker for linking pkg_npm built packages
-
-**FIELDS**
-
-files
-
- Depset of files in this package (must all be contained within path)
-package_name
-
- The package name.
-
-This field is optional. If not set, the target can be made linkable to a package_name with the npm_link rule.
-package_path
-
- The directory in the workspace to link to.
-
-If set, link the 1st party dependencies to the node_modules under the package path specified.
-If unset, the default is to link to the node_modules root of the workspace.
-path
-
- The path to link to.
-
-Path must be relative to execroot/wksp. It can either an output dir path such as,
-
-`bazel-out/-/bin/path/to/package` or
-`bazel-out/-/bin/external/external_wksp>/path/to/package`
-
-or a source file path such as,
-
-`path/to/package` or
-`external//path/to/package`
-
-
## NodeContextInfo
**USAGE**
@@ -284,32 +172,6 @@ Provides information about one or more external npm packages
The workspace name that these external npm package(s) are provided from
-## declaration_info
-
-**USAGE**
-
-
-declaration_info(declarations, deps)
-
-
-Constructs a DeclarationInfo including all transitive files needed to type-check from DeclarationInfo providers in a list of deps.
-
-**PARAMETERS**
-
-
-declarations
-
-list of typings files
-
-
-
-deps
-
-list of labels of dependencies where we should collect their DeclarationInfo to pass transitively
-
-Defaults to `[]`
-
-
## js_ecma_script_module_info
**USAGE**
@@ -336,32 +198,6 @@ Returns a single JSEcmaScriptModuleInfo.
Defaults to `[]`
-## js_module_info
-
-**USAGE**
-
-
-js_module_info(sources, deps)
-
-
-Constructs a JSModuleInfo including all transitive sources from JSModuleInfo providers in a list of deps.
-
-Returns a single JSModuleInfo.
-
-**PARAMETERS**
-
-
-sources
-
-
-
-
-deps
-
-
-Defaults to `[]`
-
-
## js_named_module_info
**USAGE**
diff --git a/e2e/bazel_managed_deps/WORKSPACE b/e2e/bazel_managed_deps/WORKSPACE
index a189459f6a..c2d500e422 100644
--- a/e2e/bazel_managed_deps/WORKSPACE
+++ b/e2e/bazel_managed_deps/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/concatjs_devserver/WORKSPACE b/e2e/concatjs_devserver/WORKSPACE
index ff6d838a43..d37ae3625a 100644
--- a/e2e/concatjs_devserver/WORKSPACE
+++ b/e2e/concatjs_devserver/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/coverage/WORKSPACE b/e2e/coverage/WORKSPACE
index 9e6a2ebe53..798a79fc5c 100644
--- a/e2e/coverage/WORKSPACE
+++ b/e2e/coverage/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
# Load web_test_suite
http_archive(
diff --git a/e2e/fine_grained_symlinks/WORKSPACE b/e2e/fine_grained_symlinks/WORKSPACE
index 064da95182..7bd4ddb684 100644
--- a/e2e/fine_grained_symlinks/WORKSPACE
+++ b/e2e/fine_grained_symlinks/WORKSPACE
@@ -11,9 +11,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
diff --git a/e2e/jasmine/WORKSPACE b/e2e/jasmine/WORKSPACE
index 9348165f09..5b85d75958 100644
--- a/e2e/jasmine/WORKSPACE
+++ b/e2e/jasmine/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/node_loader_no_preserve_symlinks/WORKSPACE b/e2e/node_loader_no_preserve_symlinks/WORKSPACE
index e409ab965e..727d656cd3 100644
--- a/e2e/node_loader_no_preserve_symlinks/WORKSPACE
+++ b/e2e/node_loader_no_preserve_symlinks/WORKSPACE
@@ -13,9 +13,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
diff --git a/e2e/node_loader_preserve_symlinks/WORKSPACE b/e2e/node_loader_preserve_symlinks/WORKSPACE
index 3162b97e95..a46a3fb55a 100644
--- a/e2e/node_loader_preserve_symlinks/WORKSPACE
+++ b/e2e/node_loader_preserve_symlinks/WORKSPACE
@@ -13,9 +13,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/nodejs_image/WORKSPACE b/e2e/nodejs_image/WORKSPACE
index 2ff4fb4b4d..c9ff712e6c 100644
--- a/e2e/nodejs_image/WORKSPACE
+++ b/e2e/nodejs_image/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/nodejs_repository/WORKSPACE b/e2e/nodejs_repository/WORKSPACE
index 6872269842..452e4eee08 100644
--- a/e2e/nodejs_repository/WORKSPACE
+++ b/e2e/nodejs_repository/WORKSPACE
@@ -11,9 +11,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/packages/WORKSPACE b/e2e/packages/WORKSPACE
index 8188c93839..157c9487da 100644
--- a/e2e/packages/WORKSPACE
+++ b/e2e/packages/WORKSPACE
@@ -8,14 +8,14 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
-load("@build_bazel_rules_nodejs//:index.bzl", "check_rules_nodejs_version", "node_repositories", "npm_install", "yarn_install")
+load("@build_bazel_rules_nodejs//:index.bzl", "check_build_bazel_rules_nodejs_version", "node_repositories", "npm_install", "yarn_install")
-# Test that check_rules_nodejs_version works as expected
-check_rules_nodejs_version(minimum_version_string = "0.11.2")
+# Test that check_build_bazel_rules_nodejs_version works as expected
+check_build_bazel_rules_nodejs_version(minimum_version_string = "4.4.0")
node_repositories()
diff --git a/e2e/symlinked_node_modules_npm/WORKSPACE b/e2e/symlinked_node_modules_npm/WORKSPACE
index eecafeded0..c01174a247 100644
--- a/e2e/symlinked_node_modules_npm/WORKSPACE
+++ b/e2e/symlinked_node_modules_npm/WORKSPACE
@@ -20,11 +20,11 @@ load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
nodejs_register_toolchains(name = "node")
-# rules_nodejs_dev_dependencies() required since we're using local_repository for
+# build_bazel_rules_nodejs_dev_dependencies() required since we're using local_repository for
# build_bazel_rules_nodejs above.
-load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dev_dependencies")
-rules_nodejs_dev_dependencies()
+build_bazel_rules_nodejs_dev_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "npm_install")
diff --git a/e2e/symlinked_node_modules_yarn/WORKSPACE b/e2e/symlinked_node_modules_yarn/WORKSPACE
index 92947db134..3c5bea3c8c 100644
--- a/e2e/symlinked_node_modules_yarn/WORKSPACE
+++ b/e2e/symlinked_node_modules_yarn/WORKSPACE
@@ -20,11 +20,11 @@ load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
nodejs_register_toolchains(name = "node")
-# rules_nodejs_dev_dependencies() required since we're using local_repository for
+# build_bazel_rules_nodejs_dev_dependencies() required since we're using local_repository for
# build_bazel_rules_nodejs above.
-load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dev_dependencies")
-rules_nodejs_dev_dependencies()
+build_bazel_rules_nodejs_dev_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/e2e/typescript/WORKSPACE b/e2e/typescript/WORKSPACE
index d348ee482c..0e5fcf9310 100644
--- a/e2e/typescript/WORKSPACE
+++ b/e2e/typescript/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
# Load web_test_suite
http_archive(
diff --git a/e2e/webapp/WORKSPACE b/e2e/webapp/WORKSPACE
index 3938218a7b..0248a6598d 100644
--- a/e2e/webapp/WORKSPACE
+++ b/e2e/webapp/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/BUILD.bazel b/examples/BUILD.bazel
index ae451cbe54..e3e8258744 100644
--- a/examples/BUILD.bazel
+++ b/examples/BUILD.bazel
@@ -18,6 +18,7 @@ example_integration_test(
name = "examples_angular",
timeout = "long",
npm_packages = {
+ "//packages/esbuild:npm_package": "@bazel/esbuild",
"//packages/protractor:npm_package": "@bazel/protractor",
"//packages/rollup:npm_package": "@bazel/rollup",
"//packages/terser:npm_package": "@bazel/terser",
diff --git a/examples/angular/WORKSPACE b/examples/angular/WORKSPACE
index 9d2270c367..856222d3dc 100644
--- a/examples/angular/WORKSPACE
+++ b/examples/angular/WORKSPACE
@@ -19,9 +19,11 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
+
+load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
diff --git a/examples/angular_bazel_architect/WORKSPACE b/examples/angular_bazel_architect/WORKSPACE
index c016257261..08e0288df9 100644
--- a/examples/angular_bazel_architect/WORKSPACE
+++ b/examples/angular_bazel_architect/WORKSPACE
@@ -16,9 +16,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
# The yarn_install rule runs yarn anytime the package.json or yarn.lock file changes.
# It also extracts and installs any Bazel rules distributed in an npm package.
diff --git a/examples/app/WORKSPACE b/examples/app/WORKSPACE
index e66df2f7be..9f93f14c38 100644
--- a/examples/app/WORKSPACE
+++ b/examples/app/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/closure/WORKSPACE b/examples/closure/WORKSPACE
index 51b4c0b3b5..e15e186d2a 100644
--- a/examples/closure/WORKSPACE
+++ b/examples/closure/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/create-react-app/WORKSPACE b/examples/create-react-app/WORKSPACE
index f3aa6102a2..c76630299d 100644
--- a/examples/create-react-app/WORKSPACE
+++ b/examples/create-react-app/WORKSPACE
@@ -11,9 +11,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/cypress/WORKSPACE b/examples/cypress/WORKSPACE
index 0a811053e1..ea88eaa7e3 100644
--- a/examples/cypress/WORKSPACE
+++ b/examples/cypress/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/esbuild/WORKSPACE b/examples/esbuild/WORKSPACE
index 817b1dbfd3..09457996f7 100644
--- a/examples/esbuild/WORKSPACE
+++ b/examples/esbuild/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/from_source/WORKSPACE b/examples/from_source/WORKSPACE
index bc76732f0b..40a36be39c 100644
--- a/examples/from_source/WORKSPACE
+++ b/examples/from_source/WORKSPACE
@@ -16,9 +16,9 @@ local_repository(
path = "../..",
)
-load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dev_dependencies")
-rules_nodejs_dev_dependencies()
+build_bazel_rules_nodejs_dev_dependencies()
load("@build_bazel_rules_nodejs//packages/concatjs:package.bzl", "rules_typescript_dev_dependencies")
diff --git a/examples/jest/WORKSPACE b/examples/jest/WORKSPACE
index 0b7eb09f79..8fd543a687 100644
--- a/examples/jest/WORKSPACE
+++ b/examples/jest/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/kotlin/WORKSPACE b/examples/kotlin/WORKSPACE
index 9fbd39dd35..f62bb5bb73 100644
--- a/examples/kotlin/WORKSPACE
+++ b/examples/kotlin/WORKSPACE
@@ -11,9 +11,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
# Install external npm dependencies
load("@build_bazel_rules_nodejs//:index.bzl", "npm_install")
diff --git a/examples/nestjs/WORKSPACE b/examples/nestjs/WORKSPACE
index 294d653c5a..62a171bb88 100644
--- a/examples/nestjs/WORKSPACE
+++ b/examples/nestjs/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/parcel/WORKSPACE b/examples/parcel/WORKSPACE
index 2943e2647c..128a070861 100644
--- a/examples/parcel/WORKSPACE
+++ b/examples/parcel/WORKSPACE
@@ -25,9 +25,11 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
+
+load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
nodejs_register_toolchains(
name = "nodejs",
diff --git a/examples/protobufjs/WORKSPACE b/examples/protobufjs/WORKSPACE
index 1759cac5f1..40788e0107 100644
--- a/examples/protobufjs/WORKSPACE
+++ b/examples/protobufjs/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
http_archive(
name = "rules_proto",
diff --git a/examples/react_webpack/WORKSPACE b/examples/react_webpack/WORKSPACE
index 1e013e6be6..03c4afe696 100644
--- a/examples/react_webpack/WORKSPACE
+++ b/examples/react_webpack/WORKSPACE
@@ -11,9 +11,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/user_managed_deps/README.md b/examples/user_managed_deps/README.md
index a48adcfe25..6f3849beb1 100644
--- a/examples/user_managed_deps/README.md
+++ b/examples/user_managed_deps/README.md
@@ -37,8 +37,8 @@ This means you'll be exposed to the dev dependencies of rules_nodejs, and will n
and call a function in your WORKSPACE file.
```
-load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")
-rules_nodejs_dev_dependencies()
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dev_dependencies")
+build_bazel_rules_nodejs_dev_dependencies()
```
You then load rules from the source locations like
diff --git a/examples/user_managed_deps/WORKSPACE b/examples/user_managed_deps/WORKSPACE
index 28e042d29e..d0bff644e7 100644
--- a/examples/user_managed_deps/WORKSPACE
+++ b/examples/user_managed_deps/WORKSPACE
@@ -19,9 +19,9 @@ local_repository(
path = "../..",
)
-load("@build_bazel_rules_nodejs//:package.bzl", "rules_nodejs_dev_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dev_dependencies")
-rules_nodejs_dev_dependencies()
+build_bazel_rules_nodejs_dev_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories")
diff --git a/examples/vendored_node/WORKSPACE b/examples/vendored_node/WORKSPACE
index 18375dc383..a60c07c5b7 100644
--- a/examples/vendored_node/WORKSPACE
+++ b/examples/vendored_node/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
http_archive(
name = "vendored_node_15_0_1",
diff --git a/examples/vendored_node_and_yarn/WORKSPACE b/examples/vendored_node_and_yarn/WORKSPACE
index 1c6b739a0c..f81e2e1904 100644
--- a/examples/vendored_node_and_yarn/WORKSPACE
+++ b/examples/vendored_node_and_yarn/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
http_archive(
name = "vendored_node_10_12_0",
diff --git a/examples/vue/WORKSPACE b/examples/vue/WORKSPACE
index d4ebd53abc..cac8e79226 100644
--- a/examples/vue/WORKSPACE
+++ b/examples/vue/WORKSPACE
@@ -11,9 +11,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
diff --git a/examples/web_testing/WORKSPACE b/examples/web_testing/WORKSPACE
index f33b83194f..6e1e4c87c8 100644
--- a/examples/web_testing/WORKSPACE
+++ b/examples/web_testing/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/webapp/WORKSPACE b/examples/webapp/WORKSPACE
index c79d619d31..33518e875d 100644
--- a/examples/webapp/WORKSPACE
+++ b/examples/webapp/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/examples/worker/WORKSPACE b/examples/worker/WORKSPACE
index 0ffc137bf7..58d383d8df 100644
--- a/examples/worker/WORKSPACE
+++ b/examples/worker/WORKSPACE
@@ -25,9 +25,9 @@ http_archive(
urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.0/rules_nodejs-4.4.0.tar.gz"],
)
-load("@build_bazel_rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
+load("@build_bazel_rules_nodejs//:repositories.bzl", "build_bazel_rules_nodejs_dependencies")
-rules_nodejs_dependencies()
+build_bazel_rules_nodejs_dependencies()
load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
diff --git a/index.bzl b/index.bzl
index 9d36662b07..d3ad3fe417 100644
--- a/index.bzl
+++ b/index.bzl
@@ -34,10 +34,6 @@ load("//internal/node:npm_package_bin.bzl", _npm_bin = "npm_package_bin")
load("//internal/npm_install:npm_install.bzl", _npm_install = "npm_install", _yarn_install = "yarn_install")
load("//internal/pkg_npm:pkg_npm.bzl", _pkg_npm = "pkg_npm_macro")
load("//internal/pkg_web:pkg_web.bzl", _pkg_web = "pkg_web")
-load(
- "//nodejs/private/providers:directory_file_path_info.bzl",
- _directory_file_path = "directory_file_path",
-)
check_bazel_version = _check_bazel_version
nodejs_binary = _nodejs_binary
@@ -50,7 +46,6 @@ copy_to_bin = _copy_to_bin
params_file = _params_file
generated_file_test = _generated_file_test
js_library = _js_library
-directory_file_path = _directory_file_path
# ANY RULES ADDED HERE SHOULD BE DOCUMENTED, see index.for_docs.bzl
# @unsorted-dict-items
@@ -85,7 +80,7 @@ BAZEL_VERSION = "4.1.0"
# bazel_integration_test.
SUPPORTED_BAZEL_VERSIONS = [BAZEL_VERSION]
-def check_rules_nodejs_version(minimum_version_string):
+def check_build_bazel_rules_nodejs_version(minimum_version_string):
"""
Verify that a minimum build_bazel_rules_nodejs is loaded a WORKSPACE.
@@ -94,8 +89,8 @@ def check_rules_nodejs_version(minimum_version_string):
```
# in WORKSPACE:
- load("@build_bazel_rules_nodejs//:package.bzl", "check_rules_nodejs_version")
- check_rules_nodejs_version("0.11.2")
+ load("@build_bazel_rules_nodejs//:index.bzl", "check_build_bazel_rules_nodejs_version")
+ check_build_bazel_rules_nodejs_version("4.4.0")
```
Args:
@@ -106,3 +101,8 @@ def check_rules_nodejs_version(minimum_version_string):
VERSION,
minimum_version_string,
))
+
+# Export check_rules_nodejs_version symbol for pre-5.0 backward compat. This
+# will eventually get removed as we move to the core @rules_nodejs package in
+# future release.
+check_rules_nodejs_version = check_build_bazel_rules_nodejs_version
diff --git a/index.for_docs.bzl b/index.for_docs.bzl
index 342a9a9e58..42eab46716 100644
--- a/index.for_docs.bzl
+++ b/index.for_docs.bzl
@@ -29,7 +29,6 @@ load("//internal/common:params_file.bzl", _params_file = "params_file")
load("//internal/generated_file_test:generated_file_test.bzl", _generated_file_test = "generated_file_test")
load("//internal/js_library:js_library.bzl", _js_library = "js_library")
load("//internal/node:node.bzl", _nodejs_binary = "nodejs_binary", _nodejs_test = "nodejs_test")
-load("//nodejs:repositories.bzl", _node_repositories = "node_repositories")
load("//internal/node:npm_package_bin.bzl", _npm_bin = "npm_package_bin")
load("//internal/npm_install:npm_install.bzl", _npm_install = "npm_install", _yarn_install = "yarn_install")
load("//internal/pkg_npm:pkg_npm.bzl", _pkg_npm = "pkg_npm")
@@ -40,7 +39,6 @@ copy_to_bin = _copy_to_bin
params_file = _params_file
nodejs_binary = _nodejs_binary
nodejs_test = _nodejs_test
-node_repositories = _node_repositories
pkg_npm = _pkg_npm
npm_install = _npm_install
yarn_install = _yarn_install
diff --git a/internal/bazel_integration_test/test_runner.js b/internal/bazel_integration_test/test_runner.js
index d815743b2b..bf97c00828 100644
--- a/internal/bazel_integration_test/test_runner.js
+++ b/internal/bazel_integration_test/test_runner.js
@@ -207,10 +207,10 @@ if (config.bazelrcAppend) {
// Special case during build_bazel_rules_nodejs -> rules_nodejs migration.
// One of our dependencies is on antother package within our repo,
// so we need to override by installing our locally-built copy of it before calling the
- // rules_nodejs_dependencies helper.
+ // build_bazel_rules_nodejs_dependencies helper.
if (repositoryKey === "rules_nodejs") {
- workspaceContents = workspaceContents.replace('rules_nodejs_dependencies()',
- `http_archive(\n name = "${repositoryKey}",\n url="file:${archiveFile}"\n)\nrules_nodejs_dependencies()`);
+ workspaceContents = workspaceContents.replace('build_bazel_rules_nodejs_dependencies()',
+ `http_archive(\n name = "${repositoryKey}",\n url="file:${archiveFile}"\n)\nbuild_bazel_rules_nodejs_dependencies()`);
}
const regex =
diff --git a/internal/common/maybe_directory_file_path.bzl b/internal/common/maybe_directory_file_path.bzl
index 774de4721b..41b15f4136 100644
--- a/internal/common/maybe_directory_file_path.bzl
+++ b/internal/common/maybe_directory_file_path.bzl
@@ -15,7 +15,7 @@
"""Helper function to accept either a label or a directory_file_path as dict
"""
-load("//nodejs/private/providers:directory_file_path_info.bzl", "directory_file_path")
+load("@rules_nodejs//nodejs/private:directory_file_path.bzl", "directory_file_path")
def maybe_directory_file_path(name, value):
"""Pass-through a value or convert a dict with a single key/value pair to a directory_file_path and return its label
diff --git a/internal/js_library/js_library.bzl b/internal/js_library/js_library.bzl
index 0a296c04cf..25870d9b8e 100644
--- a/internal/js_library/js_library.bzl
+++ b/internal/js_library/js_library.bzl
@@ -15,16 +15,19 @@
"js_library can be used to expose and share any library package."
load(
- "//:providers.bzl",
+ "@rules_nodejs//nodejs:providers.bzl",
"DeclarationInfo",
- "ExternalNpmPackageInfo",
- "JSEcmaScriptModuleInfo",
"JSModuleInfo",
- "JSNamedModuleInfo",
"LinkablePackageInfo",
"declaration_info",
- "js_ecma_script_module_info",
"js_module_info",
+)
+load(
+ "//:providers.bzl",
+ "ExternalNpmPackageInfo",
+ "JSEcmaScriptModuleInfo",
+ "JSNamedModuleInfo",
+ "js_ecma_script_module_info",
"js_named_module_info",
)
load(
diff --git a/internal/js_library/test/transitive/transitive_declarations_test.bzl b/internal/js_library/test/transitive/transitive_declarations_test.bzl
index eea4d944ae..a2300dd2ba 100644
--- a/internal/js_library/test/transitive/transitive_declarations_test.bzl
+++ b/internal/js_library/test/transitive/transitive_declarations_test.bzl
@@ -1,7 +1,7 @@
"Unit tests for js_library rule"
load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest")
-load("//:providers.bzl", "DeclarationInfo")
+load("@rules_nodejs//nodejs:providers.bzl", "DeclarationInfo")
def _impl(ctx):
env = unittest.begin(ctx)
diff --git a/internal/linker/link_node_modules.bzl b/internal/linker/link_node_modules.bzl
index 15f0720a42..b0b58c739b 100644
--- a/internal/linker/link_node_modules.bzl
+++ b/internal/linker/link_node_modules.bzl
@@ -12,7 +12,7 @@ runtimes to locate all the first-party packages.
# Can't load from //:providers.bzl directly as that introduces a circular dep
load("//internal/providers:external_npm_package_info.bzl", "ExternalNpmPackageInfo")
-load("//nodejs/private/providers:linkable_package_info.bzl", "LinkablePackageInfo")
+load("@rules_nodejs//nodejs:providers.bzl", "LinkablePackageInfo")
def _debug(vars, *args):
if "VERBOSE_LOGS" in vars.keys():
diff --git a/internal/linker/npm_link.bzl b/internal/linker/npm_link.bzl
index 35b33fdc1e..29a4b65610 100644
--- a/internal/linker/npm_link.bzl
+++ b/internal/linker/npm_link.bzl
@@ -21,13 +21,16 @@ package_name set here must match.
"""
load(
- "//:providers.bzl",
+ "@rules_nodejs//nodejs:providers.bzl",
"DeclarationInfo",
- "ExternalNpmPackageInfo",
"JSModuleInfo",
- "JSNamedModuleInfo",
"LinkablePackageInfo",
)
+load(
+ "//:providers.bzl",
+ "ExternalNpmPackageInfo",
+ "JSNamedModuleInfo",
+)
load(
"//third_party/github.com/bazelbuild/bazel-skylib:rules/private/copy_file_private.bzl",
"copy_bash",
diff --git a/internal/node/BUILD.bazel b/internal/node/BUILD.bazel
index 5add4d5653..d2a8bfc2e4 100644
--- a/internal/node/BUILD.bazel
+++ b/internal/node/BUILD.bazel
@@ -29,7 +29,6 @@ bzl_library(
visibility = ["//visibility:public"],
deps = [
"//internal/npm_install:bzl",
- "//nodejs:bzl",
"//third_party/github.com/bazelbuild/bazel-skylib:bzl",
"@rules_nodejs//nodejs:bzl",
],
diff --git a/internal/node/node.bzl b/internal/node/node.bzl
index ec70f0256a..187098657f 100644
--- a/internal/node/node.bzl
+++ b/internal/node/node.bzl
@@ -20,7 +20,8 @@ They support module mapping: any targets in the transitive dependencies with
a `module_name` attribute can be `require`d by that name.
"""
-load("//:providers.bzl", "DirectoryFilePathInfo", "ExternalNpmPackageInfo", "JSModuleInfo", "JSNamedModuleInfo", "NodeRuntimeDepsInfo", "node_modules_aspect")
+load("@rules_nodejs//nodejs:providers.bzl", "DirectoryFilePathInfo", "JSModuleInfo", "UserBuildSettingInfo")
+load("//:providers.bzl", "ExternalNpmPackageInfo", "JSNamedModuleInfo", "NodeRuntimeDepsInfo", "node_modules_aspect")
load("//internal/common:expand_into_runfiles.bzl", "expand_location_into_runfiles")
load("//internal/common:maybe_directory_file_path.bzl", "maybe_directory_file_path")
load("//internal/common:module_mappings.bzl", "module_mappings_runtime_aspect")
@@ -28,7 +29,6 @@ load("//internal/common:path_utils.bzl", "strip_external")
load("//internal/common:preserve_legacy_templated_args.bzl", "preserve_legacy_templated_args")
load("//internal/common:windows_utils.bzl", "create_windows_native_launcher_script", "is_windows")
load("//internal/linker:link_node_modules.bzl", "LinkerPackageMappingInfo", "module_mappings_aspect", "write_node_modules_manifest")
-load("//nodejs:providers.bzl", "UserBuildSettingInfo")
def _trim_package_node_modules(package_name):
# trim a package name down to its path prior to a node_modules
@@ -594,7 +594,7 @@ Predefined genrule variables are not supported in this context.
allow_single_file = True,
),
"toolchain": attr.label(),
- "_node_args": attr.label(default = "//nodejs:default_args"),
+ "_node_args": attr.label(default = "@rules_nodejs//nodejs:default_args"),
"_node_patches_script": attr.label(
default = Label("//internal/node:node_patches.js"),
allow_single_file = True,
diff --git a/internal/node/node_labels.bzl b/internal/node/node_labels.bzl
index 8c677612f7..af441a1ac4 100644
--- a/internal/node/node_labels.bzl
+++ b/internal/node/node_labels.bzl
@@ -17,7 +17,7 @@
Labels are different on windows and linux/OSX.
"""
-load("//nodejs/private:os_name.bzl", "is_windows_os", "os_name")
+load("@rules_nodejs//nodejs/private:os_name.bzl", "is_windows_os", "os_name")
def _get_label(rctx, tool):
ext = ".cmd" if is_windows_os(rctx) else ""
diff --git a/internal/node/node_repositories.bzl b/internal/node/node_repositories.bzl
index 8e708dafb1..74f350dc52 100644
--- a/internal/node/node_repositories.bzl
+++ b/internal/node/node_repositories.bzl
@@ -19,10 +19,9 @@ See https://docs.bazel.build/versions/main/skylark/repository_rules.html
"""
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+load("@rules_nodejs//nodejs/private:os_name.bzl", "OS_ARCH_NAMES", "node_exists_for_os", "os_name")
+load("@rules_nodejs//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", "nodejs_register_toolchains", node_repositories_rule = "node_repositories")
load("//internal/common:check_bazel_version.bzl", "check_bazel_version")
-load("//nodejs/private:os_name.bzl", "OS_ARCH_NAMES", "node_exists_for_os", "os_name")
-load("//nodejs:repositories.bzl", "DEFAULT_NODE_VERSION", node_repositories_rule = "node_repositories")
-load("@rules_nodejs//nodejs:repositories.bzl", "nodejs_register_toolchains")
def node_repositories(**kwargs):
"""
diff --git a/internal/node/npm_package_bin.bzl b/internal/node/npm_package_bin.bzl
index 91b8c330f1..576b1b6202 100644
--- a/internal/node/npm_package_bin.bzl
+++ b/internal/node/npm_package_bin.bzl
@@ -1,6 +1,7 @@
"A generic rule to run a tool that appears in node_modules/.bin"
-load("//:providers.bzl", "DeclarationInfo", "ExternalNpmPackageInfo", "JSModuleInfo", "node_modules_aspect", "run_node")
+load("@rules_nodejs//nodejs:providers.bzl", "DeclarationInfo", "JSModuleInfo")
+load("//:providers.bzl", "ExternalNpmPackageInfo", "node_modules_aspect", "run_node")
load("//internal/common:expand_variables.bzl", "expand_variables")
load("//internal/linker:link_node_modules.bzl", "module_mappings_aspect")
diff --git a/internal/node/test/dir_entry_point/BUILD.bazel b/internal/node/test/dir_entry_point/BUILD.bazel
index 5c5924b8d7..6f00a17ce2 100644
--- a/internal/node/test/dir_entry_point/BUILD.bazel
+++ b/internal/node/test/dir_entry_point/BUILD.bazel
@@ -1,5 +1,6 @@
load("@bazel_skylib//rules:write_file.bzl", "write_file")
-load("@build_bazel_rules_nodejs//:index.bzl", "directory_file_path", "nodejs_binary", "pkg_npm")
+load("@rules_nodejs//nodejs/private:directory_file_path.bzl", "directory_file_path")
+load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary", "pkg_npm")
load("@npm//typescript:index.bzl", "tsc")
load("//internal/common:assert.bzl", "assert_program_produces_stdout")
diff --git a/internal/npm_install/npm_install.bzl b/internal/npm_install/npm_install.bzl
index 03c6e8adb0..566ec77bd2 100644
--- a/internal/npm_install/npm_install.bzl
+++ b/internal/npm_install/npm_install.bzl
@@ -21,9 +21,9 @@ as the package manager.
See discussion in the README.
"""
+load("@rules_nodejs//nodejs/private:os_name.bzl", "is_windows_os", "os_name")
load("//:version.bzl", "VERSION")
load("//internal/common:check_bazel_version.bzl", "check_bazel_version")
-load("//nodejs/private:os_name.bzl", "is_windows_os", "os_name")
load("//internal/node:node_labels.bzl", "get_node_label", "get_npm_label", "get_yarn_label")
COMMON_ATTRIBUTES = dict(dict(), **{
diff --git a/internal/npm_install/npm_umd_bundle.bzl b/internal/npm_install/npm_umd_bundle.bzl
index 2822f3c63a..bc6d7b094f 100644
--- a/internal/npm_install/npm_umd_bundle.bzl
+++ b/internal/npm_install/npm_umd_bundle.bzl
@@ -17,7 +17,8 @@
For use by yarn_install and npm_install. Not meant to be part of the public API.
"""
-load("//:providers.bzl", "DirectoryFilePathInfo", "ExternalNpmPackageInfo", "node_modules_aspect")
+load("@rules_nodejs//nodejs:providers.bzl", "DirectoryFilePathInfo")
+load("//:providers.bzl", "ExternalNpmPackageInfo", "node_modules_aspect")
load("//internal/common:maybe_directory_file_path.bzl", "maybe_directory_file_path")
def _entry_point_path(ctx):
diff --git a/internal/pkg_npm/pkg_npm.bzl b/internal/pkg_npm/pkg_npm.bzl
index 59894b7474..c1faaff436 100644
--- a/internal/pkg_npm/pkg_npm.bzl
+++ b/internal/pkg_npm/pkg_npm.bzl
@@ -6,7 +6,8 @@ If all users of your library code use Bazel, they should just add your library
to the `deps` of one of their targets.
"""
-load("//:providers.bzl", "DeclarationInfo", "JSEcmaScriptModuleInfo", "JSModuleInfo", "JSNamedModuleInfo", "LinkablePackageInfo", "NODE_CONTEXT_ATTRS", "NodeContextInfo")
+load("@rules_nodejs//nodejs:providers.bzl", "DeclarationInfo", "JSModuleInfo", "LinkablePackageInfo")
+load("//:providers.bzl", "JSEcmaScriptModuleInfo", "JSNamedModuleInfo", "NODE_CONTEXT_ATTRS", "NodeContextInfo")
_DOC = """The pkg_npm rule creates a directory containing a publishable npm artifact.
diff --git a/internal/providers/js_providers.bzl b/internal/providers/js_providers.bzl
index 4d507b35cc..a9c3b71832 100644
--- a/internal/providers/js_providers.bzl
+++ b/internal/providers/js_providers.bzl
@@ -36,29 +36,6 @@ If users really need to produce both in a single build, they'll need two rules w
differing 'debug' attributes.
"""
-JSModuleInfo = provider(
- doc = """JavaScript files and sourcemaps.""",
- fields = {
- "direct_sources": "Depset of direct JavaScript files and sourcemaps",
- "sources": "Depset of direct and transitive JavaScript files and sourcemaps",
- },
-)
-
-def js_module_info(sources, deps = []):
- """Constructs a JSModuleInfo including all transitive sources from JSModuleInfo providers in a list of deps.
-
- Returns a single JSModuleInfo.
- """
- transitive_depsets = [sources]
- for dep in deps:
- if JSModuleInfo in dep:
- transitive_depsets.append(dep[JSModuleInfo].sources)
-
- return JSModuleInfo(
- direct_sources = sources,
- sources = depset(transitive = transitive_depsets),
- )
-
JSNamedModuleInfo = provider(
doc = """JavaScript files whose module name is self-contained.
diff --git a/nodejs/private/directory_file_path.bzl b/nodejs/private/directory_file_path.bzl
new file mode 100644
index 0000000000..0027fb7e16
--- /dev/null
+++ b/nodejs/private/directory_file_path.bzl
@@ -0,0 +1,32 @@
+"""This module contains providers for working with TreeArtifacts.
+
+See https://github.com/bazelbuild/bazel-skylib/issues/300
+(this feature could be upstreamed to bazel-skylib in the future)
+
+These are also called output directories, created by `ctx.actions.declare_directory`.
+"""
+
+load("//nodejs/private/providers:directory_file_path_info.bzl", "DirectoryFilePathInfo")
+
+def _directory_file_path(ctx):
+ if not ctx.file.directory.is_source and not ctx.file.directory.is_directory:
+ fail("directory attribute must be a source directory or created with Bazel declare_directory (TreeArtifact)")
+ return [DirectoryFilePathInfo(path = ctx.attr.path, directory = ctx.file.directory)]
+
+directory_file_path = rule(
+ doc = """Provide DirectoryFilePathInfo to reference some file within a directory.
+
+ Otherwise there is no way to give a Bazel label for it.""",
+ implementation = _directory_file_path,
+ attrs = {
+ "directory": attr.label(
+ doc = "a directory",
+ mandatory = True,
+ allow_single_file = True,
+ ),
+ "path": attr.string(
+ doc = "a path within that directory",
+ mandatory = True,
+ ),
+ },
+)
diff --git a/nodejs/repositories.bzl b/nodejs/repositories.bzl
index f39cb985a4..47ea055166 100644
--- a/nodejs/repositories.bzl
+++ b/nodejs/repositories.bzl
@@ -738,10 +738,3 @@ def rules_nodejs_dependencies():
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
],
)
- core_sha = "8f4a19de1eb16b57ac03a8e9b78344b44473e0e06b0510cec14a81f6adfdfc25"
- maybe(
- http_archive,
- name = "rules_nodejs",
- sha256 = core_sha,
- urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.6/rules_nodejs-core-4.4.6.tar.gz"],
- )
diff --git a/packages/concatjs/BUILD.bazel b/packages/concatjs/BUILD.bazel
index e00704ce4b..d3f6846c48 100644
--- a/packages/concatjs/BUILD.bazel
+++ b/packages/concatjs/BUILD.bazel
@@ -55,6 +55,7 @@ bzl_library(
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
"@build_bazel_rules_nodejs//internal/node:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/concatjs/internal/BUILD.bazel b/packages/concatjs/internal/BUILD.bazel
index d1e958288e..0bbc74cfc3 100644
--- a/packages/concatjs/internal/BUILD.bazel
+++ b/packages/concatjs/internal/BUILD.bazel
@@ -35,6 +35,7 @@ bzl_library(
deps = [
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/concatjs/internal/build_defs.bzl b/packages/concatjs/internal/build_defs.bzl
index f68e933c3d..971fb80d0d 100644
--- a/packages/concatjs/internal/build_defs.bzl
+++ b/packages/concatjs/internal/build_defs.bzl
@@ -14,7 +14,8 @@
"TypeScript compilation"
-load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "LinkablePackageInfo", "js_ecma_script_module_info", "js_module_info", "js_named_module_info", "node_modules_aspect", "run_node")
+load("@rules_nodejs//nodejs:providers.bzl", "LinkablePackageInfo", "js_module_info")
+load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "js_ecma_script_module_info", "js_named_module_info", "node_modules_aspect", "run_node")
# pylint: disable=unused-argument
# pylint: disable=missing-docstring
diff --git a/packages/concatjs/internal/common/compilation.bzl b/packages/concatjs/internal/common/compilation.bzl
index c7538f7618..fed787aa86 100644
--- a/packages/concatjs/internal/common/compilation.bzl
+++ b/packages/concatjs/internal/common/compilation.bzl
@@ -15,7 +15,7 @@
"""Used for compilation by the different implementations of build_defs.bzl.
"""
-load("@build_bazel_rules_nodejs//:providers.bzl", "DeclarationInfo")
+load("@rules_nodejs//nodejs:providers.bzl", "DeclarationInfo")
load(":common/json_marshal.bzl", "json_marshal")
load(":common/module_mappings.bzl", "module_mappings_aspect")
diff --git a/packages/concatjs/web_test/BUILD.bazel b/packages/concatjs/web_test/BUILD.bazel
index 434069696d..b3fe7a0e51 100644
--- a/packages/concatjs/web_test/BUILD.bazel
+++ b/packages/concatjs/web_test/BUILD.bazel
@@ -44,6 +44,7 @@ bzl_library(
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/js_library:bzl",
"@io_bazel_rules_webtesting//web",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/concatjs/web_test/karma_web_test.bzl b/packages/concatjs/web_test/karma_web_test.bzl
index dd5b200e97..0166dc54cd 100644
--- a/packages/concatjs/web_test/karma_web_test.bzl
+++ b/packages/concatjs/web_test/karma_web_test.bzl
@@ -13,7 +13,8 @@
# limitations under the License.
"Unit testing with Karma"
-load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSModuleInfo", "JSNamedModuleInfo", "node_modules_aspect")
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
+load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSNamedModuleInfo", "node_modules_aspect")
load("@build_bazel_rules_nodejs//internal/js_library:js_library.bzl", "write_amd_names_shim")
load("@io_bazel_rules_webtesting//web:web.bzl", "web_test_suite")
load("@io_bazel_rules_webtesting//web/internal:constants.bzl", "DEFAULT_WRAPPED_TEST_TAGS")
diff --git a/packages/cypress/BUILD.bazel b/packages/cypress/BUILD.bazel
index 924155bdd8..d1382f1772 100644
--- a/packages/cypress/BUILD.bazel
+++ b/packages/cypress/BUILD.bazel
@@ -35,6 +35,7 @@ bzl_library(
"//internal/common:bzl",
"//internal/node:bzl",
"//toolchains/cypress:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/cypress/internal/cypress_web_test.bzl b/packages/cypress/internal/cypress_web_test.bzl
index 6a45154e9e..6a17e144ca 100644
--- a/packages/cypress/internal/cypress_web_test.bzl
+++ b/packages/cypress/internal/cypress_web_test.bzl
@@ -13,7 +13,8 @@
# limitations under the License.
"E2E testing with Cypress"
-load("@build_bazel_rules_nodejs//:providers.bzl", "JSModuleInfo", "JSNamedModuleInfo")
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
+load("@build_bazel_rules_nodejs//:providers.bzl", "JSNamedModuleInfo")
load("@build_bazel_rules_nodejs//internal/node:node.bzl", "nodejs_test_kwargs")
ATTRS = dict(
diff --git a/packages/esbuild/BUILD.bazel b/packages/esbuild/BUILD.bazel
index 5cc6937825..f4b34386f4 100644
--- a/packages/esbuild/BUILD.bazel
+++ b/packages/esbuild/BUILD.bazel
@@ -36,6 +36,7 @@ bzl_library(
"@build_bazel_rules_nodejs//internal/common:bzl",
"@build_bazel_rules_nodejs//internal/node:bzl",
"@build_bazel_rules_nodejs//toolchains/esbuild:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/esbuild/esbuild.bzl b/packages/esbuild/esbuild.bzl
index dfd7712035..1b5052c1f2 100644
--- a/packages/esbuild/esbuild.bzl
+++ b/packages/esbuild/esbuild.bzl
@@ -2,9 +2,10 @@
esbuild rule
"""
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo")
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
-load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSEcmaScriptModuleInfo", "JSModuleInfo", "NODE_CONTEXT_ATTRS", "NodeContextInfo", "node_modules_aspect", "run_node")
+load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSEcmaScriptModuleInfo", "NODE_CONTEXT_ATTRS", "NodeContextInfo", "node_modules_aspect", "run_node")
load("@build_bazel_rules_nodejs//internal/linker:link_node_modules.bzl", "LinkerPackageMappingInfo", "module_mappings_aspect")
load("@build_bazel_rules_nodejs//internal/common:expand_variables.bzl", "expand_variables")
load("@build_bazel_rules_nodejs//toolchains/esbuild:toolchain.bzl", "TOOLCHAIN")
diff --git a/packages/jasmine/BUILD.bazel b/packages/jasmine/BUILD.bazel
index d1bb8bf5af..ecac8af849 100644
--- a/packages/jasmine/BUILD.bazel
+++ b/packages/jasmine/BUILD.bazel
@@ -29,6 +29,7 @@ bzl_library(
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
"@build_bazel_rules_nodejs//internal/node:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/jasmine/jasmine_node_test.bzl b/packages/jasmine/jasmine_node_test.bzl
index 13e3008cae..1a117abafe 100644
--- a/packages/jasmine/jasmine_node_test.bzl
+++ b/packages/jasmine/jasmine_node_test.bzl
@@ -18,7 +18,7 @@ These rules let you run tests outside of a browser. This is typically faster
than launching a test in Karma, for example.
"""
-load("@build_bazel_rules_nodejs//:providers.bzl", "JSModuleInfo")
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
load("@build_bazel_rules_nodejs//internal/node:node.bzl", nodejs_test = "nodejs_test_macro")
def _js_sources_impl(ctx):
diff --git a/packages/protractor/BUILD.bazel b/packages/protractor/BUILD.bazel
index 34959d0806..b73df7138e 100644
--- a/packages/protractor/BUILD.bazel
+++ b/packages/protractor/BUILD.bazel
@@ -35,6 +35,7 @@ bzl_library(
"@build_bazel_rules_nodejs//internal/common:bzl",
"@build_bazel_rules_nodejs//internal/node:bzl",
"@io_bazel_rules_webtesting//web",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/protractor/protractor_web_test.bzl b/packages/protractor/protractor_web_test.bzl
index f25bcfaa86..375dd592ad 100644
--- a/packages/protractor/protractor_web_test.bzl
+++ b/packages/protractor/protractor_web_test.bzl
@@ -13,8 +13,9 @@
# limitations under the License.
"Run end-to-end tests with Protractor"
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_binary")
-load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSModuleInfo", "JSNamedModuleInfo", "node_modules_aspect")
+load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSNamedModuleInfo", "node_modules_aspect")
load("@build_bazel_rules_nodejs//internal/common:windows_utils.bzl", "create_windows_native_launcher_script", "is_windows")
load("@io_bazel_rules_webtesting//web:web.bzl", "web_test_suite")
load("@io_bazel_rules_webtesting//web/internal:constants.bzl", "DEFAULT_WRAPPED_TEST_TAGS")
diff --git a/packages/rollup/BUILD.bazel b/packages/rollup/BUILD.bazel
index 702abacc5e..2ca53b1366 100644
--- a/packages/rollup/BUILD.bazel
+++ b/packages/rollup/BUILD.bazel
@@ -35,6 +35,7 @@ bzl_library(
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
"@build_bazel_rules_nodejs//internal/linker:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/rollup/rollup_bundle.bzl b/packages/rollup/rollup_bundle.bzl
index d7303f7dca..5c364f5a29 100644
--- a/packages/rollup/rollup_bundle.bzl
+++ b/packages/rollup/rollup_bundle.bzl
@@ -1,6 +1,7 @@
"Rules for running Rollup under Bazel"
-load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSEcmaScriptModuleInfo", "JSModuleInfo", "NODE_CONTEXT_ATTRS", "NodeContextInfo", "node_modules_aspect", "run_node")
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
+load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "JSEcmaScriptModuleInfo", "NODE_CONTEXT_ATTRS", "NodeContextInfo", "node_modules_aspect", "run_node")
load("@build_bazel_rules_nodejs//internal/linker:link_node_modules.bzl", "module_mappings_aspect")
_DOC = "Runs the rollup.js CLI under Bazel."
diff --git a/packages/terser/BUILD.bazel b/packages/terser/BUILD.bazel
index 18c071087a..e9706d507c 100644
--- a/packages/terser/BUILD.bazel
+++ b/packages/terser/BUILD.bazel
@@ -32,6 +32,7 @@ bzl_library(
deps = [
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/terser/terser_minified.bzl b/packages/terser/terser_minified.bzl
index 950fbab233..8f95fe59ba 100644
--- a/packages/terser/terser_minified.bzl
+++ b/packages/terser/terser_minified.bzl
@@ -14,7 +14,8 @@
"Rule to run the terser binary under bazel"
-load("@build_bazel_rules_nodejs//:providers.bzl", "JSModuleInfo", "run_node")
+load("@rules_nodejs//nodejs:providers.bzl", "JSModuleInfo")
+load("@build_bazel_rules_nodejs//:providers.bzl", "run_node")
_DOC = """Run the terser minifier.
diff --git a/packages/typescript/BUILD.bazel b/packages/typescript/BUILD.bazel
index e441ce1059..5d34535a36 100644
--- a/packages/typescript/BUILD.bazel
+++ b/packages/typescript/BUILD.bazel
@@ -29,6 +29,7 @@ bzl_library(
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
"@build_bazel_rules_nodejs//internal/node:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/typescript/internal/BUILD.bazel b/packages/typescript/internal/BUILD.bazel
index 5e9f093237..ae3025cade 100644
--- a/packages/typescript/internal/BUILD.bazel
+++ b/packages/typescript/internal/BUILD.bazel
@@ -43,6 +43,7 @@ bzl_library(
deps = [
"@build_bazel_rules_nodejs//:bzl",
"@build_bazel_rules_nodejs//internal/common:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)
diff --git a/packages/typescript/internal/ts_project.bzl b/packages/typescript/internal/ts_project.bzl
index 0614f60ff5..4a46ecd8a7 100644
--- a/packages/typescript/internal/ts_project.bzl
+++ b/packages/typescript/internal/ts_project.bzl
@@ -1,6 +1,7 @@
"ts_project rule"
-load("@build_bazel_rules_nodejs//:providers.bzl", "DeclarationInfo", "ExternalNpmPackageInfo", "declaration_info", "js_module_info", "run_node")
+load("@rules_nodejs//nodejs:providers.bzl", "DeclarationInfo", "declaration_info", "js_module_info")
+load("@build_bazel_rules_nodejs//:providers.bzl", "ExternalNpmPackageInfo", "run_node")
load("@build_bazel_rules_nodejs//internal/linker:link_node_modules.bzl", "module_mappings_aspect")
load("@build_bazel_rules_nodejs//internal/node:node.bzl", "nodejs_binary")
load(":ts_config.bzl", "TsConfigInfo", "write_tsconfig")
diff --git a/providers.bzl b/providers.bzl
index 93ac74b0c3..55c444b0b6 100644
--- a/providers.bzl
+++ b/providers.bzl
@@ -18,11 +18,6 @@ Public providers, aspects and helpers that are shipped in the built-in build_baz
Users should not load files under "/internal"
"""
-load(
- "//nodejs/private/providers:declaration_info.bzl",
- _DeclarationInfo = "DeclarationInfo",
- _declaration_info = "declaration_info",
-)
load(
"//internal/providers:external_npm_package_info.bzl",
_ExternalNpmPackageInfo = "ExternalNpmPackageInfo",
@@ -31,50 +26,33 @@ load(
load(
"//internal/providers:js_providers.bzl",
_JSEcmaScriptModuleInfo = "JSEcmaScriptModuleInfo",
- _JSModuleInfo = "JSModuleInfo",
_JSNamedModuleInfo = "JSNamedModuleInfo",
_js_ecma_script_module_info = "js_ecma_script_module_info",
- _js_module_info = "js_module_info",
_js_named_module_info = "js_named_module_info",
)
-load(
- "//nodejs/private/providers:linkable_package_info.bzl",
- _LinkablePackageInfo = "LinkablePackageInfo",
-)
load(
"//internal/providers:node_runtime_deps_info.bzl",
_NodeRuntimeDepsInfo = "NodeRuntimeDepsInfo",
_run_node = "run_node",
)
-load(
- "//nodejs/private/providers:directory_file_path_info.bzl",
- _DirectoryFilePathInfo = "DirectoryFilePathInfo",
-)
load(
"//internal/providers:node_context.bzl",
_NODE_CONTEXT_ATTRS = "NODE_CONTEXT_ATTRS",
_NodeContextInfo = "NodeContextInfo",
)
-NodeContextInfo = _NodeContextInfo
-NODE_CONTEXT_ATTRS = _NODE_CONTEXT_ATTRS
-
-DeclarationInfo = _DeclarationInfo
-declaration_info = _declaration_info
-JSModuleInfo = _JSModuleInfo
-js_module_info = _js_module_info
-JSNamedModuleInfo = _JSNamedModuleInfo
+ExternalNpmPackageInfo = _ExternalNpmPackageInfo
+js_ecma_script_module_info = _js_ecma_script_module_info
js_named_module_info = _js_named_module_info
JSEcmaScriptModuleInfo = _JSEcmaScriptModuleInfo
-js_ecma_script_module_info = _js_ecma_script_module_info
-ExternalNpmPackageInfo = _ExternalNpmPackageInfo
+JSNamedModuleInfo = _JSNamedModuleInfo
+NODE_CONTEXT_ATTRS = _NODE_CONTEXT_ATTRS
+node_modules_aspect = _node_modules_aspect
+NodeContextInfo = _NodeContextInfo
+NodeRuntimeDepsInfo = _NodeRuntimeDepsInfo
+run_node = _run_node
# Export NpmPackageInfo for pre-3.0 legacy support in downstream rule sets
# such as rules_docker
-# TODO(4.0): remove NpmPackageInfo
+# TODO(6.0): remove NpmPackageInfo from rules_docker & then remove it here
NpmPackageInfo = _ExternalNpmPackageInfo
-node_modules_aspect = _node_modules_aspect
-LinkablePackageInfo = _LinkablePackageInfo
-NodeRuntimeDepsInfo = _NodeRuntimeDepsInfo
-run_node = _run_node
-DirectoryFilePathInfo = _DirectoryFilePathInfo
diff --git a/package.bzl b/repositories.bzl
similarity index 83%
rename from package.bzl
rename to repositories.bzl
index 6dc85efb99..b261de8d26 100644
--- a/package.bzl
+++ b/repositories.bzl
@@ -19,9 +19,26 @@ Fulfills similar role as the package.json file.
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
-load("@rules_nodejs//nodejs:repositories.bzl", "rules_nodejs_dependencies")
-def rules_nodejs_dev_dependencies():
+def build_bazel_rules_nodejs_dependencies():
+ maybe(
+ http_archive,
+ name = "bazel_skylib",
+ sha256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d",
+ urls = [
+ "https://github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
+ "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
+ ],
+ )
+ core_sha = "8f4a19de1eb16b57ac03a8e9b78344b44473e0e06b0510cec14a81f6adfdfc25"
+ maybe(
+ http_archive,
+ name = "rules_nodejs",
+ sha256 = core_sha,
+ urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.4.6/rules_nodejs-core-4.4.6.tar.gz"],
+ )
+
+def build_bazel_rules_nodejs_dev_dependencies():
"""
Fetch dependencies needed for local development, but not needed by users.
@@ -29,8 +46,7 @@ def rules_nodejs_dev_dependencies():
shorter.
"""
- # This just gives us bazel-skylib
- rules_nodejs_dependencies()
+ build_bazel_rules_nodejs_dependencies()
# Dependencies for generating documentation
maybe(
diff --git a/scripts/on-release.js b/scripts/on-release.js
index 329dde20d0..77aaea6cc1 100644
--- a/scripts/on-release.js
+++ b/scripts/on-release.js
@@ -26,8 +26,8 @@ for (const f of ['docs/install.md', 'packages/create/index.js']) {
}
shell.sed(
'-i', 'download/[0-9\.]*(-(beta|rc).[0-9]+)?/rules_nodejs-core-[0-9\.]*(-(beta|rc).[0-9]+)?.tar.gz',
- `download/${version}/rules_nodejs-core-${version}.tar.gz`, 'nodejs/repositories.bzl')
-shell.sed('-i', 'core_sha = \"[0-9a-f]+\"', `core_sha = "${coreSha256}"`, 'nodejs/repositories.bzl');
+ `download/${version}/rules_nodejs-core-${version}.tar.gz`, 'repositories.bzl')
+shell.sed('-i', 'core_sha = \"[0-9a-f]+\"', `core_sha = "${coreSha256}"`, 'repositories.bzl');
shell.cp('-f', artifact, `rules_nodejs-${version}.tar.gz`);
shell.cp('-f', coreArtifact, `rules_nodejs-core-${version}.tar.gz`);
diff --git a/toolchains/BUILD.bazel b/toolchains/BUILD.bazel
index 08747a20c9..539420cbc8 100644
--- a/toolchains/BUILD.bazel
+++ b/toolchains/BUILD.bazel
@@ -9,5 +9,6 @@ stardoc(
deps = [
"//toolchains/cypress:bzl",
"//toolchains/esbuild:bzl",
+ "@rules_nodejs//nodejs:bzl",
],
)