summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2020-11-21 09:30:20 +0100
committerThomas Dräbing <thomas.draebing@sap.com>2022-03-17 10:51:50 +0000
commitdb0d286414b04c9301a6d01e6ff13a3c7238a7cf (patch)
tree13f4d8bd9fbd33d2231ad3849aafece0dc600e39
parent8ea9fec379c61e7ee6cebabb18649d1f9e203fca (diff)
Bump rules_nodejs to version 3.0.0
Version 3.0.0 fixed some bugs and added new features: [1]. yarn_install and npm_install will now fail if the lockfile is out-of-date, rather than update it. This assumes that the tooling to manually update the lockfile is used. yarn_install now passes --frozen_lockfile by default, but it can use yarn_install(frozen_lockfile = False) to go back to the old behavior. New @bazel/typescript module is stricter now and added third party strictness checks to the typescript compiler. The new check is flagging this code as invalid: tools/node_tools/node_modules_licenses/installed-node-modules-map.ts:75:25 - error TS21231: [tsetse] type assert `JSON.parse() as SomeExplicitType` for type & optimization safety. See http://tsetse.info/must-type-assert-json-parse. const version = JSON.parse(fs.readFileSync(packageJsonFile, {encoding: 'utf-8'}))["version"]; Disable this check: must-type-assert-json-parse, as fixing it is outside of the scope of this change. [1] https://github.com/bazelbuild/rules_nodejs/releases/tag/3.0.0 Release-Notes: skip Bug: Issue 15771 Change-Id: I6835e29a00080ca90b649663361e261ad6ef0f8b
-rw-r--r--WORKSPACE9
-rw-r--r--package.json7
-rw-r--r--polygerrit-ui/README.md8
-rw-r--r--tools/node_tools/node_modules_licenses/tsconfig.json8
-rw-r--r--tools/node_tools/package.json6
-rw-r--r--tools/node_tools/yarn.lock30
-rw-r--r--yarn.lock42
7 files changed, 78 insertions, 32 deletions
diff --git a/WORKSPACE b/WORKSPACE
index 3b8b768d36..dc5a2549ab 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -57,8 +57,8 @@ protobuf_deps()
http_archive(
name = "build_bazel_rules_nodejs",
- sha256 = "5bf77cc2d13ddf9124f4c1453dd96063774d755d4fc75d922471540d1c9a8ea8",
- urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/2.0.0/rules_nodejs-2.0.0.tar.gz"],
+ sha256 = "84b1d11b1f3bda68c24d992dc6e830bca9db8fa12276f2ca7fcb7761c893976b",
+ urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/3.0.0-rc.1/rules_nodejs-3.0.0-rc.1.tar.gz"],
)
# Golang support for PolyGerrit local dev server.
@@ -935,6 +935,7 @@ load("@build_bazel_rules_nodejs//:index.bzl", "yarn_install")
yarn_install(
name = "npm",
+ frozen_lockfile = False,
package_json = "//:package.json",
yarn_lock = "//:yarn.lock",
)
@@ -942,18 +943,21 @@ yarn_install(
yarn_install(
name = "ui_npm",
args = ["--prod"],
+ frozen_lockfile = False,
package_json = "//:polygerrit-ui/app/package.json",
yarn_lock = "//:polygerrit-ui/app/yarn.lock",
)
yarn_install(
name = "ui_dev_npm",
+ frozen_lockfile = False,
package_json = "//:polygerrit-ui/package.json",
yarn_lock = "//:polygerrit-ui/yarn.lock",
)
yarn_install(
name = "tools_npm",
+ frozen_lockfile = False,
package_json = "//:tools/node_tools/package.json",
yarn_lock = "//:tools/node_tools/yarn.lock",
)
@@ -961,6 +965,7 @@ yarn_install(
yarn_install(
name = "plugins_npm",
args = ["--prod"],
+ frozen_lockfile = False,
package_json = "//:plugins/package.json",
yarn_lock = "//:plugins/yarn.lock",
)
diff --git a/package.json b/package.json
index 70f290b3fc..be73d16d10 100644
--- a/package.json
+++ b/package.json
@@ -4,9 +4,9 @@
"description": "Gerrit Code Review",
"dependencies": {},
"devDependencies": {
- "@bazel/rollup": "^2.0.0",
- "@bazel/terser": "^2.0.0",
- "@bazel/typescript": "^2.0.0",
+ "@bazel/rollup": "^3.0.0-rc.1",
+ "@bazel/terser": "^3.0.0-rc.1",
+ "@bazel/typescript": "^3.0.0-rc.1",
"eslint": "^6.6.0",
"eslint-config-google": "^0.13.0",
"eslint-plugin-html": "^6.0.0",
@@ -16,6 +16,7 @@
"gts": "^2.0.2",
"polymer-cli": "^1.9.11",
"prettier": "2.0.5",
+ "rollup": "^2.3.4",
"terser": "^4.8.0",
"typescript": "3.9.5"
},
diff --git a/polygerrit-ui/README.md b/polygerrit-ui/README.md
index 2266ba0142..41ee468d6c 100644
--- a/polygerrit-ui/README.md
+++ b/polygerrit-ui/README.md
@@ -74,6 +74,14 @@ bazel fetch @tools_npm//:node_modules
More information for installing and using nodejs rules can be found here https://bazelbuild.github.io/rules_nodejs/install.html
+### Upgrade to @bazel-scoped packages
+
+It might be necessary to run this command to upgrade to major `rules_nodejs` release:
+
+```sh
+yarn remove @bazel/...
+```
+
## Setup typescript support in the IDE
Modern IDE should automatically handle typescript settings from the
diff --git a/tools/node_tools/node_modules_licenses/tsconfig.json b/tools/node_tools/node_modules_licenses/tsconfig.json
index 2046c39403..cb7bb602a5 100644
--- a/tools/node_tools/node_modules_licenses/tsconfig.json
+++ b/tools/node_tools/node_modules_licenses/tsconfig.json
@@ -1,5 +1,13 @@
{
"compilerOptions": {
+ "plugins": [
+ {
+ "name": "@bazel/tsetse",
+ "disabledRules": [
+ "must-type-assert-json-parse"
+ ]
+ }
+ ],
"target": "es6",
"module": "commonjs",
"allowSyntheticDefaultImports": true,
diff --git a/tools/node_tools/package.json b/tools/node_tools/package.json
index 10308775d7..81448e9ab6 100644
--- a/tools/node_tools/package.json
+++ b/tools/node_tools/package.json
@@ -3,8 +3,8 @@
"description": "Gerrit Build Tools",
"browser": false,
"dependencies": {
- "@bazel/rollup": "^2.0.0",
- "@bazel/typescript": "^2.0.0",
+ "@bazel/rollup": "^3.0.0-rc.1",
+ "@bazel/typescript": "^3.0.0-rc.1",
"@types/node": "^10.17.12",
"@types/parse5": "^4.0.0",
"@types/parse5-html-rewriting-stream": "^5.1.2",
@@ -13,7 +13,7 @@
"parse5-html-rewriting-stream": "^5.1.1",
"polymer-bundler": "^4.0.10",
"polymer-cli": "^1.9.11",
- "rollup": "^1.27.5",
+ "rollup": "^2.3.4",
"rollup-plugin-node-resolve": "^5.2.0",
"rollup-plugin-terser": "^5.1.3",
"typescript": "3.9.5"
diff --git a/tools/node_tools/yarn.lock b/tools/node_tools/yarn.lock
index 993bfe9326..3ac0c20cd4 100644
--- a/tools/node_tools/yarn.lock
+++ b/tools/node_tools/yarn.lock
@@ -492,15 +492,15 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
-"@bazel/rollup@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-2.0.0.tgz#1980cb3f6922227659260bfdca99c457889a5bc1"
- integrity sha512-mifUfCZbD1RIhfowh4N8E4881ag3FChz7F4z35wxMOP52g1q3+6Bvh5wv9iysFQopxGmS5jNEj3Dq/CWtSoOnw==
+"@bazel/rollup@^3.0.0-rc.1":
+ version "3.0.0-rc.1"
+ resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-3.0.0-rc.1.tgz#153fb7ca556dfb0397aa3a86cbef71bcefb00733"
+ integrity sha512-O2WGfDw17aiQfUF6t5aL1kbVGeR6BnCImmtCOoFf1I8/Nw0dx+iE9x2qfqPyvSivZRuL2EBTI+xUcti42bpWgA==
-"@bazel/typescript@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-2.0.0.tgz#2ff5615f09c733cc681ba2ada92b11c356b694cd"
- integrity sha512-5FPkxULWIjAKLG5J1XvpXpY1/4IK39dAoWA/Hhg+16gXTES32fT8w42k96pb6BTaNnyBuYgIHBpELEAJ40OOAQ==
+"@bazel/typescript@^3.0.0-rc.1":
+ version "3.0.0-rc.1"
+ resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-3.0.0-rc.1.tgz#4a80682124475db63abc97b7da358caaadbd3077"
+ integrity sha512-KaGaCEbXjCKaRuwH/hLjW7aBuNyU8p/9yUe4KlP4KKoRqHAmjYISbUOw7VAksOW6BxXHgknOcZYaVF6PzE4CgQ==
dependencies:
protobufjs "6.8.8"
semver "5.6.0"
@@ -3732,6 +3732,11 @@ fsevents@^1.0.0:
bindings "^1.5.0"
nan "^2.12.1"
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -6827,7 +6832,7 @@ rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2:
dependencies:
estree-walker "^0.6.1"
-rollup@^1.27.5, rollup@^1.3.0:
+rollup@^1.3.0:
version "1.30.0"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.30.0.tgz#ae9c893804e8eaa8f8f74b0aaf7e7fb4374a9d01"
integrity sha512-ANcmfaSQwpcJtZUTA0ZMNBtFcQ1B4A5FldlNqEK0WdWm9sHSKu93ffa2KV1ux8HA/yKIV/ZARV28m7rNdXJgEw==
@@ -6836,6 +6841,13 @@ rollup@^1.27.5, rollup@^1.3.0:
"@types/node" "*"
acorn "^7.1.0"
+rollup@^2.3.4:
+ version "2.35.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.35.1.tgz#e6bc8d10893556a638066f89e8c97f422d03968c"
+ integrity sha512-q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA==
+ optionalDependencies:
+ fsevents "~2.1.2"
+
run-async@^2.0.0, run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
diff --git a/yarn.lock b/yarn.lock
index 438cafd930..119edf565e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -485,20 +485,20 @@
lodash "^4.17.11"
to-fast-properties "^2.0.0"
-"@bazel/rollup@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-2.0.0.tgz#1980cb3f6922227659260bfdca99c457889a5bc1"
- integrity sha512-mifUfCZbD1RIhfowh4N8E4881ag3FChz7F4z35wxMOP52g1q3+6Bvh5wv9iysFQopxGmS5jNEj3Dq/CWtSoOnw==
+"@bazel/rollup@^3.0.0-rc.1":
+ version "3.0.0-rc.1"
+ resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-3.0.0-rc.1.tgz#153fb7ca556dfb0397aa3a86cbef71bcefb00733"
+ integrity sha512-O2WGfDw17aiQfUF6t5aL1kbVGeR6BnCImmtCOoFf1I8/Nw0dx+iE9x2qfqPyvSivZRuL2EBTI+xUcti42bpWgA==
-"@bazel/terser@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-2.0.0.tgz#a841db8aefd7c51c216b34a26bc02a6c93d5e56a"
- integrity sha512-6mBYcfzP6pWxycYZ8r4Lz5kgiWZ7n08bVHZBIRExFeqs7Yy92dD92LPeA9FZIzFiX00IuR9Q1Lqy23xH5q7FeQ==
+"@bazel/terser@^3.0.0-rc.1":
+ version "3.0.0-rc.1"
+ resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-3.0.0-rc.1.tgz#62398c1702d3eecbc41764c9ef24a6a232abb1b3"
+ integrity sha512-iaJTYl/oUBqLFG6MFYODwqBWGTshFFdVCClTmpZwdnwnAkcGf7kU1noX2vz3VcwOOHoJseBG/dhluvRmFerJ3g==
-"@bazel/typescript@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-2.0.0.tgz#2ff5615f09c733cc681ba2ada92b11c356b694cd"
- integrity sha512-5FPkxULWIjAKLG5J1XvpXpY1/4IK39dAoWA/Hhg+16gXTES32fT8w42k96pb6BTaNnyBuYgIHBpELEAJ40OOAQ==
+"@bazel/typescript@^3.0.0-rc.1":
+ version "3.0.0-rc.1"
+ resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-3.0.0-rc.1.tgz#4a80682124475db63abc97b7da358caaadbd3077"
+ integrity sha512-KaGaCEbXjCKaRuwH/hLjW7aBuNyU8p/9yUe4KlP4KKoRqHAmjYISbUOw7VAksOW6BxXHgknOcZYaVF6PzE4CgQ==
dependencies:
protobufjs "6.8.8"
semver "5.6.0"
@@ -937,9 +937,9 @@
integrity sha512-rp7La3m845mSESCgsJePNL/JQyhkOJA6G4vcwvVgkDAwHhGdq5GCumxmPjEk1MZf+8p5ZQAUE7tqgQRQTXN7uQ==
"@types/node@^10.1.0":
- version "10.17.24"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.24.tgz#c57511e3a19c4b5e9692bb2995c40a3a52167944"
- integrity sha512-5SCfvCxV74kzR3uWgTYiGxrd69TbT1I6+cMx1A5kEly/IVveJBimtAMlXiEyVFn5DvUFewQWxOOiJhlxeQwxgA==
+ version "10.17.49"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.49.tgz#ecf0b67bab4b84d0ec9b0709db4aac3824a51c4a"
+ integrity sha512-PGaJNs5IZz5XgzwJvL/1zRfZB7iaJ5BydZ8/Picm+lUNYoNO9iVTQkVy5eUh0dZDrx3rBOIs3GCbCRmMuYyqwg==
"@types/node@^4.0.30":
version "4.9.3"
@@ -4257,6 +4257,11 @@ fsevents@^1.0.0:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -8122,6 +8127,13 @@ rollup@^1.3.0:
"@types/node" "^12.0.10"
acorn "^6.1.1"
+rollup@^2.3.4:
+ version "2.35.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.35.1.tgz#e6bc8d10893556a638066f89e8c97f422d03968c"
+ integrity sha512-q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA==
+ optionalDependencies:
+ fsevents "~2.1.2"
+
run-async@^2.0.0, run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"