diff --git a/Collaboration.md b/Collaboration.md index e06904c1a5..39520a9059 100644 --- a/Collaboration.md +++ b/Collaboration.md @@ -46,6 +46,7 @@ Are done by - [ ] add label `mastermerge` - [ ] title of the PR is `Release 2.xx.0` - [ ] description of the PR is the body of the draft release with name `v2.xx.0` +- [ ] check if new PR has merge conflicts, if so, merge `master` into the new PR and solve the conflicts - [ ] after PR tests run without issues, merge PR - [ ] edit draft release with name `v2.xx.0` - [ ] set corresponding version tag `v2.xx.0` (with `Select tag` and then `Create new tag`) @@ -61,11 +62,24 @@ Are done by ### After release -- [ ] publish release notes with link to github release on forum in new locked topic +- [ ] publish release notes with link to github release on forum in new locked topic (use edit release on github to copy the content with markdown syntax) - [ ] close all issues with label `ready (coming with next release)` - [ ] release new documentation by merging `develop` on `master` in documentation repository - [ ] publish new version on [npm](https://www.npmjs.com/package/magicmirror) - [ ] use a clean environment (e.g. container) - [ ] clone this repository with the new `master` branch and `cd` into the local repository directory - - [ ] log in to npm with `npm login --auth-type legacy` which will ask for username and password and one-time-password which is sent via mail - - [ ] execute `npm publish` + - [ ] **Method 1 (recommended): With browser and 2FA** + - [ ] execute `npm login` which will open a browser window + - [ ] log in with your npm credentials and enter your 2FA code + - [ ] execute `npm publish` + - [ ] **Method 2 (fallback for headless environments): With token (bypasses 2FA)** + - [ ] ⚠️ Note: This method bypasses 2FA and should only be used when a browser is not available + - [ ] goto `https://www.npmjs.com/settings//tokens/` and click `generate new token` + - [ ] enable `Bypass two-factor authentication (2FA)` and under `Packages and scopes` give `Read and write` permission to the `magicmirror` package, press `Generate token` + - [ ] execute: + + ```bash + NPM_TOKEN="npm_xxxxxx" + npm set "//registry.npmjs.org/:_authToken=$NPM_TOKEN" + npm publish + ``` diff --git a/package-lock.json b/package-lock.json index 28a48bcbea..8bf6881930 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "magicmirror", - "version": "2.34.0", + "version": "2.35.0-develop", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -32,7 +32,7 @@ "pm2": "^6.0.14", "socket.io": "^4.8.3", "suncalc": "^1.9.0", - "systeminformation": "^5.28.2", + "systeminformation": "^5.28.8", "undici": "^7.16.0", "weathericons": "^2.1.0" }, @@ -43,7 +43,7 @@ "cspell": "^9.4.0", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-jsdoc": "^61.5.0", - "eslint-plugin-package-json": "^0.85.0", + "eslint-plugin-package-json": "^0.87.1", "eslint-plugin-playwright": "^2.4.0", "eslint-plugin-vitest": "^0.5.4", "express-basic-auth": "^1.2.1", @@ -1617,9 +1617,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -1773,9 +1773,9 @@ } }, "node_modules/@exodus/bytes": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.6.0.tgz", - "integrity": "sha512-y32mI9627q5LR/L8fLc4YyDRJQOi+jK0D9okzLilAdiU3F9we3zC7Y7CFrR/8vAvUyv7FgBAYcNHtvbmhKCFcw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.7.0.tgz", + "integrity": "sha512-5i+BtvujK/vM07YCGDyz4C4AyDzLmhxHMtM5HpUyPRtJPBdFPsj290ffXW+UXY21/G7GtXeHD2nRmq0T1ShyQQ==", "dev": true, "license": "MIT", "engines": { @@ -2847,9 +2847,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.50.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.1.tgz", - "integrity": "sha512-v5lFIS2feTkNyMhd7AucE/9j/4V9v5iIbpVRncjk/K0sQ6Sb+Np9fgYS/63n6nwqahHQvbmujeBL7mp07Q9mlA==", + "version": "8.51.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.51.0.tgz", + "integrity": "sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==", "dev": true, "license": "MIT", "engines": { @@ -4734,15 +4734,16 @@ } }, "node_modules/cssstyle": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.5.tgz", - "integrity": "sha512-GlsEptulso7Jg0VaOZ8BXQi3AkYM5BOJKEO/rjMidSCq70FkIC5y0eawrCXeYzxgt3OCf4Ls+eoxN+/05vN0Ag==", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.6.tgz", + "integrity": "sha512-legscpSpgSAeGEe0TNcai97DKt9Vd9AsAdOL7Uoetb52Ar/8eJm3LIa39qpv8wWzLFlNG4vVvppQM+teaMPj3A==", "dev": true, "license": "MIT", "dependencies": { "@asamuzakjp/css-color": "^4.1.1", "@csstools/css-syntax-patches-for-csstree": "^1.0.21", - "css-tree": "^3.1.0" + "css-tree": "^3.1.0", + "lru-cache": "^11.2.4" }, "engines": { "node": ">=20" @@ -5796,9 +5797,9 @@ } }, "node_modules/eslint-plugin-package-json": { - "version": "0.85.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-package-json/-/eslint-plugin-package-json-0.85.0.tgz", - "integrity": "sha512-MrOxFvhbqLuk4FIPG9v3u9Amn0n137J8LKILHvgfxK3rRyAHEVzuZM0CtpXFTx7cx4LzmAzONtlpjbM0UFNuTA==", + "version": "0.87.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-package-json/-/eslint-plugin-package-json-0.87.1.tgz", + "integrity": "sha512-aHOUGdpHrPDji64xwAsspXvfjwgeksARxM2SqzhusSEUCyLr0GX0oNe9hDDPMQ2CKPlKjTPKFhzmsQNIO0aWiQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5993,9 +5994,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" @@ -6983,13 +6984,13 @@ } }, "node_modules/hashery": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.3.0.tgz", - "integrity": "sha512-fWltioiy5zsSAs9ouEnvhsVJeAXRybGCNNv0lvzpzNOSDbULXRy7ivFWwCCv4I5Am6kSo75hmbsCduOoc2/K4w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.4.0.tgz", + "integrity": "sha512-Wn2i1In6XFxl8Az55kkgnFRiAlIAushzh26PTjL2AKtQcEfXrcLa7Hn5QOWGZEf3LU057P9TwwZjFyxfS1VuvQ==", "dev": true, "license": "MIT", "dependencies": { - "hookified": "^1.13.0" + "hookified": "^1.14.0" }, "engines": { "node": ">=20" @@ -9563,9 +9564,9 @@ } }, "node_modules/package-json-validator": { - "version": "0.59.0", - "resolved": "https://registry.npmjs.org/package-json-validator/-/package-json-validator-0.59.0.tgz", - "integrity": "sha512-WBTDKtO9pBa9GmA1sPbQHqlWxRdnHNfLFIIA49PPgV7px/rG27gHX57DWy77qyu374fla4veaIHy+gA+qRRuug==", + "version": "0.59.1", + "resolved": "https://registry.npmjs.org/package-json-validator/-/package-json-validator-0.59.1.tgz", + "integrity": "sha512-cLk5/c/OJX9nA9rl3d2Gymrxv2lqhOBn3+1+D6ZqPNjL6ZyhcjVDUfKyXh+nDyQjGVEQfPoVIE5kLrZ2zn6nDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9578,7 +9579,7 @@ "pjv": "lib/bin/pjv.mjs" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, "node_modules/pako": { @@ -10160,9 +10161,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -10301,9 +10302,9 @@ } }, "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -11906,9 +11907,9 @@ "license": "MIT" }, "node_modules/systeminformation": { - "version": "5.28.2", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.28.2.tgz", - "integrity": "sha512-AWrPnmbIcfjLX7wiQMd7r6bl3PDaGoqvrfn8pCLJbk9CiB+vQXTk8RVxNs2vQRTezYlhb9skxEIyAPTm1If5bQ==", + "version": "5.28.8", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.28.8.tgz", + "integrity": "sha512-W2rXK+tTIoa1svfOEfhKPzJTw2OnoJ2XS57CftQkzvwt9Hj7RC2pfHKFAk8cHH+UkDAlGMW9Sf31kdOu5PZNIA==", "license": "MIT", "os": [ "darwin", diff --git a/package.json b/package.json index e23ad0732c..4f082a0882 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "pm2": "^6.0.14", "socket.io": "^4.8.3", "suncalc": "^1.9.0", - "systeminformation": "^5.28.2", + "systeminformation": "^5.28.8", "undici": "^7.16.0", "weathericons": "^2.1.0" }, @@ -108,7 +108,7 @@ "cspell": "^9.4.0", "eslint-plugin-import-x": "^4.16.1", "eslint-plugin-jsdoc": "^61.5.0", - "eslint-plugin-package-json": "^0.85.0", + "eslint-plugin-package-json": "^0.87.1", "eslint-plugin-playwright": "^2.4.0", "eslint-plugin-vitest": "^0.5.4", "express-basic-auth": "^1.2.1",