This is an automated email from the ASF dual-hosted git repository.
wilfred-s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-web.git
The following commit(s) were added to refs/heads/master by this push:
new 80b0ec4 [YUNIKORN-3292] move to pnpm 11 for web UI build (#275)
80b0ec4 is described below
commit 80b0ec4a097f9430ac4361462fce0eb0f6dcf77e
Author: Wilfred Spiegelenburg <[email protected]>
AuthorDate: Thu Jun 4 12:58:15 2026 +1000
[YUNIKORN-3292] move to pnpm 11 for web UI build (#275)
Change pnpm version to 11 in all files. Move "pnpm" and the overrides
from package.json to the pnpm-workspace.yaml file. Block post install
scripts for all dependencies. Clean up pnpm-lock.yaml.
Fix install of pnpm version in Dockerfile and local build script
Move to the latest node 24 release.
Closes: #275
Signed-off-by: Wilfred Spiegelenburg <[email protected]>
---
.nvmrc | 2 +-
Dockerfile | 8 +-
Makefile | 4 +-
package.json | 29 +++----
pnpm-lock.yaml | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++--
pnpm-workspace.yaml | 13 ++++
6 files changed, 239 insertions(+), 32 deletions(-)
diff --git a/.nvmrc b/.nvmrc
index fd655f8..7858245 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-24.14
+24.16
diff --git a/Dockerfile b/Dockerfile
index c3ae186..d040974 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-ARG NODE_VERSION=20.20
+ARG NODE_VERSION=24.16
# Buildstage: use the local architecture
FROM --platform=$BUILDPLATFORM node:${NODE_VERSION}-alpine AS buildstage
@@ -23,10 +23,10 @@ WORKDIR /work
# Only copy what is needed for the build
COPY *.json *.js *.yaml .browserslistrc /work/
COPY src /work/src/
-# must be declared here
-ARG PNPM_VERSION=10.28.0
+ARG PNPM_VERSION=11.5
RUN npm install -g pnpm@$PNPM_VERSION
-RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 pnpm i
+RUN pnpm fetch
+RUN pnpm install -r --offline
RUN pnpm build:prod
# Imagestage: use scratch base image
diff --git a/Makefile b/Makefile
index e52ad77..b1bc12e 100644
--- a/Makefile
+++ b/Makefile
@@ -133,11 +133,11 @@ NPM := npm
endif
# pnpm
-PNPM_VERSION=10.28.2
+PNPM_VERSION=11.5
PNPM_BIN=$(TOOLS_DIR)/bin/pnpm
# @angular/cli
-ANGULAR_CLI_VERSION=20.3.20
+ANGULAR_CLI_VERSION=21.2.0
NG_BIN=$(TOOLS_DIR)/bin/ng
WEB_SHA=$(shell git rev-parse --short=12 HEAD)
diff --git a/package.json b/package.json
index cd3e577..7bd2d82 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,18 @@
{
"name": "yunikorn-web",
"version": "0.0.0",
+ "private": true,
+ "engines": {
+ "node": ">=20.20.0",
+ "pnpm": "^11.5"
+ },
+ "devEngines": {
+ "packageManager": {
+ "name": "pnpm",
+ "version": ">=11.0.0 <12.0.0",
+ "onFail": "download"
+ }
+ },
"scripts": {
"preinstall": "npx only-allow pnpm",
"ng": "ng",
@@ -15,7 +27,6 @@
"test:coverage": "ng test --coverage --watch=false",
"prettify": "prettier --config ./.prettierrc --write
'src/**/*.{js,ts,json,css,scss,md,html}'"
},
- "private": true,
"husky": {
"hooks": {
"pre-commit": "lint-staged"
@@ -78,21 +89,5 @@
"prettier": "^3.7.4",
"typescript": "~5.9.2",
"vitest": "^4.1.4"
- },
- "engines": {
- "node": ">=20.20.0",
- "pnpm": "10.x"
- },
- "packageManager": "[email protected]",
- "pnpm": {
- "overrides": {
- "[email protected]>qs": "6.14.2",
- "fast-uri@<=3.1.1": "3.1.2",
- "lodash@>=4.0.0 <=4.18.0": "4.18.1",
- "hono@<4.12.18": "4.12.18",
- "postcss@<8.5.10": "8.5.10",
- "picomatch@>=4.0.0 <4.0.4": "4.0.4",
- "picomatch@< 2.3.2": "2.3.2"
- }
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 34742bd..d680dfc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,3 +1,202 @@
+---
+lockfileVersion: '9.0'
+
+importers:
+
+ .:
+ configDependencies: {}
+ packageManagerDependencies:
+ '@pnpm/exe':
+ specifier: 11.5.0
+ version: 11.5.0
+ pnpm:
+ specifier: 11.5.0
+ version: 11.5.0
+
+packages:
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-4hzOXq1HHrNPjwI8k1rt7Ot/Yrdx1JX3pn/L/M95ii1gid1Q6ZK6dVg4+gbSgUdPsYmYDZ4/Yfc0A7vd5C0ndg==}
+ hasBin: true
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-NV9HdzzCB0epuI9LqZZeTaqjH3OweNQSQCS76GzEkFxJHS9e5Gvu7tgex91gxVL7bCZ+R4yr/3d3yexBFtr2ug==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-vH83rRx4iPk/bwm9pBVCn+5hXbcQI66I/4zk6Vc09SusJgTqOdbN4U6VhMcGIqSEdr901ksYGCyIbMv7f6Guew==}
+ cpu: [x64]
+ os: [linux]
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-2nOnMW1rSwGv22q2yZz1HlGT3ly/Ij8wUlX0NB4n+Krx7nETRHA3MgWsbkVejxHknDcTulRVudAghuX9rgrXcw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-ONOC1Mg0JusHtjzkRlre9di1QO+GAjy4HP7jMjDx21yGhrSheNdUweTXbekMH1EflRd19kTU6d8M3zewJFPtVg==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-od0ALdTxs4A7s5vAH5q2l2phzCJb98+PVOW1rq7BGpWGeYxQ+EwvL+vq0KaO6iLsn/eVVoncCkgZ/k6QNYuTgw==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-9HqbI80FjVVqFx4+EPxYYNfeP9Sx69W6kYqUDvOJn9G7RJ/2NNNQ898cVHTMpXlW1/PrMEcijmdpa/NjZIrWiQ==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@pnpm/[email protected]':
+ resolution: {integrity:
sha512-Q89CQqFGAsWmfvHZs5Kbbar45q3GBYtfAdPUCiVMVNJoLi3dsBS2LCvUq8ak3AufkFDaJBpvhaFcDP2M1NXr3A==}
+ cpu: [x64]
+ os: [win32]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-By85MSWrMZa+c26TcnAy8SDk0sTUkYlNnwknSchkhHpGXOtjNDUOxJE9oByBnGbeuIE1PiQsxDG3Ud+IVV9yuA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-7P+er8+rP9iNeN+bfmccM4hTAaLP6PQJPKWSA4iSk2bNvo6KU6RyPgYeHxXmzNKzPVRcypZQTpFgstHam6maVg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-37iO/Dp6m5DDaC2sf3zPtx/hl9FV3Xze4xoYidrxxS9bgP3S8ALroxRK6xBG/1TtfXKTvolvp+IjrUU6ujIGmA==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-jbI8jvuYCaA3MVUdu8vLoLAFqC+iNMpiSuLbxlAgg7x3K5bsS8nOpTRnkLF7vISJ+rVR8W+7ThXlXlUQ93ulkw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-e9FBWDe+lv7QKAwtKOt6A2W/fyy/aEEfr0g6j/hWzvQcrzHCsz07BNQYlNOjTfeytrtLU7k449H1PI95jA4OjQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-09PxnVIQcd+UOn4WAW73WU6PXL7DwGS6wPlkMhMg2zlHHG65F3vHepOw06HFCq+N42qkaNAc8AKIabWvtk6cIQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-E//yT4ni2SyhwP8JRjVGWr3cbnhWDiPLgnQ66qqaanjjnMiu3O/2tjCPQXlcGc/DEYofpDc9fvhv6tALQsMV9w==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@reflink/[email protected]':
+ resolution: {integrity:
sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==}
+ engines: {node: '>= 10'}
+
+ [email protected]:
+ resolution: {integrity:
sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
+ [email protected]:
+ resolution: {integrity:
sha512-2/zE+Bz0hZev1Lw5H/3xLBHxqfuDo5W/prCi2cwv2P/rr9scy9UpYyFT95OQTCYVt/Cf4aNFRz/Rw1hFFyqOsQ==}
+ engines: {node: '>=22.13'}
+ hasBin: true
+
+snapshots:
+
+ '@pnpm/[email protected]':
+ dependencies:
+ '@reflink/reflink': 0.1.19
+ detect-libc: 2.1.2
+ optionalDependencies:
+ '@pnpm/linux-arm64': 11.5.0
+ '@pnpm/linux-x64': 11.5.0
+ '@pnpm/linuxstatic-arm64': 11.5.0
+ '@pnpm/linuxstatic-x64': 11.5.0
+ '@pnpm/macos-arm64': 11.5.0
+ '@pnpm/win-arm64': 11.5.0
+ '@pnpm/win-x64': 11.5.0
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@pnpm/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optional: true
+
+ '@reflink/[email protected]':
+ optionalDependencies:
+ '@reflink/reflink-darwin-arm64': 0.1.19
+ '@reflink/reflink-darwin-x64': 0.1.19
+ '@reflink/reflink-linux-arm64-gnu': 0.1.19
+ '@reflink/reflink-linux-arm64-musl': 0.1.19
+ '@reflink/reflink-linux-x64-gnu': 0.1.19
+ '@reflink/reflink-linux-x64-musl': 0.1.19
+ '@reflink/reflink-win32-arm64-msvc': 0.1.19
+ '@reflink/reflink-win32-x64-msvc': 0.1.19
+
+ [email protected]: {}
+
+ [email protected]: {}
+
+---
lockfileVersion: '9.0'
settings:
@@ -5,13 +204,13 @@ settings:
excludeLinksFromLockfile: false
overrides:
- [email protected]>qs: 6.14.2
fast-uri@<=3.1.1: 3.1.2
lodash@>=4.0.0 <=4.18.0: 4.18.1
hono@<4.12.18: 4.12.18
postcss@<8.5.10: 8.5.10
picomatch@>=4.0.0 <4.0.4: 4.0.4
picomatch@< 2.3.2: 2.3.2
+ qs@<=6.15.1: 6.15.2
importers:
@@ -2835,8 +3034,8 @@ packages:
resolution: {integrity:
sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- [email protected]:
- resolution: {integrity:
sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==}
+ [email protected]:
+ resolution: {integrity:
sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
engines: {node: '>=0.6'}
[email protected]:
@@ -4773,7 +4972,7 @@ snapshots:
http-errors: 2.0.1
iconv-lite: 0.4.24
on-finished: 2.4.1
- qs: 6.15.1
+ qs: 6.15.2
raw-body: 2.5.3
type-is: 1.6.18
unpipe: 1.0.0
@@ -4788,7 +4987,7 @@ snapshots:
http-errors: 2.0.1
iconv-lite: 0.7.2
on-finished: 2.4.1
- qs: 6.15.1
+ qs: 6.15.2
raw-body: 3.0.2
type-is: 2.0.1
transitivePeerDependencies:
@@ -5225,7 +5424,7 @@ snapshots:
parseurl: 1.3.3
path-to-regexp: 0.1.13
proxy-addr: 2.0.7
- qs: 6.15.1
+ qs: 6.15.2
range-parser: 1.2.1
safe-buffer: 5.2.1
send: 0.19.2
@@ -5260,7 +5459,7 @@ snapshots:
once: 1.4.0
parseurl: 1.3.3
proxy-addr: 2.0.7
- qs: 6.15.1
+ qs: 6.15.2
range-parser: 1.2.1
router: 2.2.0
send: 1.2.1
@@ -6066,7 +6265,7 @@ snapshots:
[email protected]: {}
- [email protected]:
+ [email protected]:
dependencies:
side-channel: 1.1.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..09a0e45
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,13 @@
+allowBuilds:
+ '@parcel/watcher': false
+ esbuild: false
+ lmdb: false
+ msgpackr-extract: false
+overrides:
+ fast-uri@<=3.1.1: 3.1.2
+ lodash@>=4.0.0 <=4.18.0: 4.18.1
+ hono@<4.12.18: 4.12.18
+ postcss@<8.5.10: 8.5.10
+ picomatch@>=4.0.0 <4.0.4: 4.0.4
+ picomatch@< 2.3.2: 2.3.2
+ qs@<=6.15.1: 6.15.2
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]