From bb258bbce1c1eb1528fa769b9a70fd2296cdb78f Mon Sep 17 00:00:00 2001 From: Anton Georgiev Date: Fri, 4 Sep 2026 20:53:16 -0400 Subject: [PATCH] build: require Node >= 22 and build with Node 24 Add an `engines` floor of Node >= 22 to package.json and mirror it into package-lock.json, and bump @types/node to ^24.13.3 so the typings match the runtime the plugin is built with. Move CI onto Node 24 (was Node 20). Raise the Debian Build-Depends floor to nodejs (>= 22) and install Node 24 from NodeSource when building the package. Update .nvmrc to 24; CI reads the Node version from it. --- .../workflows/build-plugin-deb-package.yml | 2 +- .../workflows/release-publish-do-spaces.yml | 2 +- .github/workflows/release-upload-assets.yml | 2 +- .nvmrc | 2 +- debian/control | 2 +- package-lock.json | 21 +++++++++++-------- package.json | 7 +++++-- 7 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-plugin-deb-package.yml b/.github/workflows/build-plugin-deb-package.yml index 942f4e1..4505077 100644 --- a/.github/workflows/build-plugin-deb-package.yml +++ b/.github/workflows/build-plugin-deb-package.yml @@ -33,7 +33,7 @@ jobs: - name: Set up Node.js run: | - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - + curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - sudo apt-get install -y nodejs - name: Verify Node.js installation diff --git a/.github/workflows/release-publish-do-spaces.yml b/.github/workflows/release-publish-do-spaces.yml index 89db09c..7320735 100644 --- a/.github/workflows/release-publish-do-spaces.yml +++ b/.github/workflows/release-publish-do-spaces.yml @@ -30,7 +30,7 @@ jobs: if: steps.check-secrets.outputs.configured == 'true' uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: 24.x - name: Install dependencies if: steps.check-secrets.outputs.configured == 'true' diff --git a/.github/workflows/release-upload-assets.yml b/.github/workflows/release-upload-assets.yml index 88b8f32..a91e49f 100644 --- a/.github/workflows/release-upload-assets.yml +++ b/.github/workflows/release-upload-assets.yml @@ -16,7 +16,7 @@ jobs: - name: Install node uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: 24.x - name: Install dependencies run: npm ci diff --git a/.nvmrc b/.nvmrc index 2bd5a0a..a45fd52 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 +24 diff --git a/debian/control b/debian/control index 0405041..6e0e78c 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: bbb-plugin-pick-random-user Section: web Priority: extra Maintainer: Anton Georgiev -Build-Depends: debhelper (>= 13), nodejs (>= 18) +Build-Depends: debhelper (>= 13), nodejs (>= 22) Standards-Version: 4.1.4 Homepage: https://github.com/bigbluebutton/bbb-plugin-pick-random-user diff --git a/package-lock.json b/package-lock.json index 3221d5e..47d2947 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "@types/node": "^20.3.1", + "@types/node": "^24.13.3", "@types/react": "^18.2.13", "@types/react-dom": "^18.2.6", "babel-plugin-syntax-dynamic-import": "^6.18.0", @@ -29,7 +29,7 @@ "@babel/preset-react": "^7.18.6", "@playwright/test": "^1.51.1", "@testing-library/jest-dom": "^6.9.1", - "@types/node": "^20.4.4", + "@types/node": "^24.13.3", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", "@types/react-modal": "^3.16.0", @@ -68,6 +68,9 @@ "webpack-cli": "^5.1.1", "webpack-dev-server": "^4.15.1", "xml2js": "^0.6.2" + }, + "engines": { + "node": ">=22" } }, "node_modules/@adobe/css-tools": { @@ -3599,13 +3602,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", - "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~7.18.0" } }, "node_modules/@types/node-forge": { @@ -13097,9 +13100,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index c59047a..27ef32d 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,13 @@ "version": "0.1.2", "private": true, "main": "./src/index.tsx", + "engines": { + "node": ">=22" + }, "dependencies": { "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", - "@types/node": "^20.3.1", + "@types/node": "^24.13.3", "@types/react": "^18.2.13", "@types/react-dom": "^18.2.6", "babel-plugin-syntax-dynamic-import": "^6.18.0", @@ -52,7 +55,7 @@ "@babel/preset-react": "^7.18.6", "@playwright/test": "^1.51.1", "@testing-library/jest-dom": "^6.9.1", - "@types/node": "^20.4.4", + "@types/node": "^24.13.3", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", "@types/react-modal": "^3.16.0",