From af13e66cdcdaeed68ef24652e5af584c5db11785 Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Thu, 10 Sep 2026 20:44:50 +0200 Subject: [PATCH] chore: update to pnpm v12 (#33089) --- .npmrc | 1 - docker/Dockerfile | 4 +- package.json | 25 +++++------ pnpm-lock.yaml | 104 ++++++++++++++++++++++++++++++++++++++++++-- pnpm-workspace.yaml | 12 +++++ 5 files changed, 127 insertions(+), 19 deletions(-) create mode 100644 pnpm-workspace.yaml diff --git a/.npmrc b/.npmrc index b421f5305..9555e172f 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1 @@ tag-version-prefix="" - diff --git a/docker/Dockerfile b/docker/Dockerfile index 6917be59b..65ca29f30 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,8 +8,10 @@ RUN apk add --no-cache tzdata eudev tini nodejs # Dependencies and build FROM base AS deps +# prevent pnpm from using interactive mode +ENV CI=true -COPY package.json pnpm-lock.yaml ./ +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ # Make and such are needed to compile serialport for riscv64 # Install pnpm, configure a tmp-based store, then use it under a cache mount so each arch gets its own store diff --git a/package.json b/package.json index 5da5d664e..411f27aae 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Zigbee to MQTT bridge using Zigbee-herdsman", "main": "index.js", "types": "dist/types/api.d.ts", - "packageManager": "pnpm@10.18.3", + "packageManager": "pnpm@12.3.4", "repository": { "type": "git", "url": "git+https://github.com/Koenkk/zigbee2mqtt.git" @@ -73,21 +73,18 @@ "typescript": "^7.0.2", "vitest": "^3.2.7" }, - "pnpm": { - "overrides": { - "zigbee-herdsman": "$zigbee-herdsman" - }, - "onlyBuiltDependencies": [ - "@biomejs/biome", - "@serialport/bindings-cpp", - "esbuild", - "unix-dgram" - ] - }, "bin": { "zigbee2mqtt": "cli.js" }, "optionalDependencies": { "unix-dgram": "^2.0.7" - } -} + }, + "files": [ + "data/configuration.example.yaml", + "dist", + "cli.js", + "index.js", + "pnpm-workspace.yaml", + "CHANGELOG.md" + ] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d91013350..85cd4706a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,12 +1,110 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: {} + packageManagerDependencies: + pnpm: + specifier: 12.3.4 + version: 12.3.4 + +packages: + + '@pnpm/exe.darwin-arm64@12.3.4': + resolution: {integrity: sha512-PAyUol8T1+/+ViOiXAt51ECA+QnfXCqz6foL4bW+LsoX0NcVd5XVEM2mRQu+LV4oc7uRz9zf9U0P+XFfuQeDAw==} + cpu: [arm64] + os: [darwin] + + '@pnpm/exe.darwin-x64@12.3.4': + resolution: {integrity: sha512-fxP9JCk0Cdye+ePuj+GJJLMUMTqHGWRdb1dtv4How876uQ2ehxvenpgiYAir/ceO9PsYUZkFTtyZdx+rRu5QOA==} + cpu: [x64] + os: [darwin] + + '@pnpm/exe.linux-arm64-musl@12.3.4': + resolution: {integrity: sha512-FBOt0/7ye6O6q4AllVV5QMviB6qE6fqkeczV/+MDWQsmo+QJrlfsh6X7CpH/tClVpBZEyIbjpUoT8bNhCYBxEg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-arm64@12.3.4': + resolution: {integrity: sha512-t71AVA7LRqiKTyZ5xMYaZc2n5DfdpMbfokZuiIOXHBOM03ECnF0t4iYwaBDqJgVjlKYUOwaF/bRQajGNA4cJ4w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-x64-musl@12.3.4': + resolution: {integrity: sha512-RPmk7Jb/aYaFvL2iyDN/AtMY+hUEsue732WmXpcuQ9tBpMnGyA5py7Z3+e+qmQaJ0zY/4ni9jJiyPBQHujmv6w==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-x64@12.3.4': + resolution: {integrity: sha512-2ZqOlSPkfwX1h5cR+FPiWf8+F+2hZT/3TvhUK5sigHqwaQCIiq8R7CGxhndKs63JtcLi2a1Qpo+wX/EoyfjyJQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.win32-arm64@12.3.4': + resolution: {integrity: sha512-ANyrHqyqco6SXBysUTRF74itDyyraea7IbFsKFdNXTjcFnfycTDx37EwuhdpPYFNSIh2JhUG4fByclsRfiHX7w==} + cpu: [arm64] + os: [win32] + + '@pnpm/exe.win32-x64@12.3.4': + resolution: {integrity: sha512-WH/KqBPY/hq2Tb7SgQltEZytimcjgKRaCRL/aM9CI0c67iKc5TVmHUhIiL3Ux9FB4bWn36i6XewUcScQI+zG8w==} + cpu: [x64] + os: [win32] + + pnpm@12.3.4: + resolution: {integrity: sha512-lhqkH7B32joEpEHZ+OFevAyW2o73ELLrZ7+e58sGEOq9SPH9hfUc/+c4RnhfoPh8VqOocqHYk/hEZ0G1zORUVw==} + engines: {node: '>=18.*'} + hasBin: true + +snapshots: + + '@pnpm/exe.darwin-arm64@12.3.4': + optional: true + + '@pnpm/exe.darwin-x64@12.3.4': + optional: true + + '@pnpm/exe.linux-arm64-musl@12.3.4': + optional: true + + '@pnpm/exe.linux-arm64@12.3.4': + optional: true + + '@pnpm/exe.linux-x64-musl@12.3.4': + optional: true + + '@pnpm/exe.linux-x64@12.3.4': + optional: true + + '@pnpm/exe.win32-arm64@12.3.4': + optional: true + + '@pnpm/exe.win32-x64@12.3.4': + optional: true + + pnpm@12.3.4: + optionalDependencies: + '@pnpm/exe.darwin-arm64': 12.3.4 + '@pnpm/exe.darwin-x64': 12.3.4 + '@pnpm/exe.linux-arm64': 12.3.4 + '@pnpm/exe.linux-arm64-musl': 12.3.4 + '@pnpm/exe.linux-x64': 12.3.4 + '@pnpm/exe.linux-x64-musl': 12.3.4 + '@pnpm/exe.win32-arm64': 12.3.4 + '@pnpm/exe.win32-x64': 12.3.4 + +--- lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - zigbee-herdsman: 10.9.3 - importers: .: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..91c6cb675 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,12 @@ +verifyDepsBeforeRun: false + +allowBuilds: + "@serialport/bindings-cpp": true + esbuild: true + unix-dgram: true + +minimumReleaseAgeExclude: + - zigbee-herdsman + - zigbee-herdsman-converters + - zigbee2mqtt-windfront + - zigbee2mqtt-frontend