From 87a3c55e147c2844082241d2fc62e2472af66d2a Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Fri, 18 Sep 2026 12:26:04 +0100 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=A7=AA=20Update=20tests=20to=20work?= =?UTF-8?q?=20with=20latest=20vitest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +- tests/setup.js | 4 +- yarn.lock | 207 ++++++++++++++++++++++--------------------------- 3 files changed, 95 insertions(+), 120 deletions(-) diff --git a/package.json b/package.json index ccceabcdc4..1f30832188 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "@vitejs/plugin-vue": "^6.0.9", - "@vitest/ui": "^4.1.11", + "@vitest/ui": "^5.0.1", "@vue/compiler-sfc": "^3.5.0", "@vue/test-utils": "^2.5.0", "autoprefixer": "^10.6.0", @@ -76,7 +76,7 @@ "vite": "^8.3.0", "vite-plugin-pwa": "^1.3.0", "vite-svg-loader": "^5.1.3", - "vitest": "^4.1.11", + "vitest": "^5.0.1", "vue-eslint-parser": "^10.4.1", "vue-tsc": "^3.3.11" }, diff --git a/tests/setup.js b/tests/setup.js index 8cfdc74d89..f32eddf956 100644 --- a/tests/setup.js +++ b/tests/setup.js @@ -24,7 +24,7 @@ const localStorageMock = { removeItem: vi.fn(), clear: vi.fn(), }; -global.localStorage = localStorageMock; +vi.stubGlobal('localStorage', localStorageMock); // Mock sessionStorage for tests const sessionStorageMock = { @@ -33,7 +33,7 @@ const sessionStorageMock = { removeItem: vi.fn(), clear: vi.fn(), }; -global.sessionStorage = sessionStorageMock; +vi.stubGlobal('sessionStorage', sessionStorageMock); // Mock window.matchMedia (for responsive design tests, skipped in Node environment) if (typeof window !== 'undefined') Object.defineProperty(window, 'matchMedia', { diff --git a/yarn.lock b/yarn.lock index cf27732c50..a53471c2f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1094,7 +1094,12 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": +"@jridgewell/sourcemap-codec@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz#f4c663e862f06dc98ca4d453862c46902789a18d" + integrity sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw== + +"@jridgewell/trace-mapping@0.3.31", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": version "0.3.31" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== @@ -1603,11 +1608,6 @@ "@sentry/conventions" "^0.16.0" "@sentry/core" "10.74.0" -"@standard-schema/spec@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.1.0.tgz#a79b55dbaf8604812f52d140b2c9ab41bc150bb8" - integrity sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w== - "@trickfilm400/rollup-plugin-off-main-thread@^3.0.0-pre1": version "3.0.0-pre1" resolved "https://registry.yarnpkg.com/@trickfilm400/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-3.0.0-pre1.tgz#1ffeab04d8972063de4ad1a948b3e550e11dc745" @@ -1808,78 +1808,48 @@ dependencies: "@rolldown/pluginutils" "^1.0.1" -"@vitest/expect@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-4.1.11.tgz#5f580d1f9cdbba314dbf23b2d911f8eb23878f5f" - integrity sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw== - dependencies: - "@standard-schema/spec" "^1.1.0" - "@types/chai" "^5.2.2" - "@vitest/spy" "4.1.11" - "@vitest/utils" "4.1.11" - chai "^6.2.2" - tinyrainbow "^3.1.0" - -"@vitest/mocker@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-4.1.11.tgz#8e2906361bc5dfa271757a858ae80643118fcbb4" - integrity sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ== +"@vitest/mocker@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-5.0.1.tgz#e1ca450ac67a57638e79b08481797793700a09f2" + integrity sha512-6K1DoBNAPGvuOcSsGA4D6x+5zEEff/KmOOP3uetT2TrGpVfI+HRHRnJJfKi5ib/g1vx8IYHQD8s0pbJz8WQI7Q== dependencies: - "@vitest/spy" "4.1.11" + "@jridgewell/trace-mapping" "0.3.31" + "@vitest/spy" "5.0.1" estree-walker "^3.0.3" - magic-string "^0.30.21" + magic-string "^1.2.3" -"@vitest/pretty-format@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-4.1.11.tgz#8b28eb8240771d6ea970e33beaeb41384b51868e" - integrity sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw== - dependencies: - tinyrainbow "^3.1.0" - -"@vitest/runner@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-4.1.11.tgz#bfbad98c8d6c3f1fb4df12056ad569821ff77f21" - integrity sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw== - dependencies: - "@vitest/utils" "4.1.11" - pathe "^2.0.3" - -"@vitest/snapshot@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-4.1.11.tgz#df461eb165924a3155986dde68e13360f53f3d4c" - integrity sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog== +"@vitest/pretty-format@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-5.0.1.tgz#bc468f69d2fb62e3d730c5812dad3f877e522eab" + integrity sha512-6guWwj5d9bguuefTOvJoq387tfpkzSv554YdUEGzjJH2PnnmvzTLQ1UQSuAk5wBFVhf2CUmy/S/palOcb6dmpA== dependencies: - "@vitest/pretty-format" "4.1.11" - "@vitest/utils" "4.1.11" - magic-string "^0.30.21" - pathe "^2.0.3" + tinyrainbow "^3.1.1" -"@vitest/spy@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-4.1.11.tgz#0add45cae953afed9c88f98e2f6fc9164558c32a" - integrity sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA== +"@vitest/spy@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-5.0.1.tgz#6dac40afd5620613c8d344542d3c30e8e20e32dd" + integrity sha512-rbto/mF/SGERxEgYOek7Xm6B9b+y+mVoo+f4b2LymYO8zM1b7uB5nHuhVMTP2hxdzgxvGiZYGxGIaMvL5y180Q== -"@vitest/ui@^4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-4.1.11.tgz#b24509b474d21cc27ff40fbb86421e5f7bc1f20c" - integrity sha512-r/rwyKoev21mWdRGSEkZOqkQ2BYy68mwjihg9M90nNRbf4NGrgzZ4cj6JNCEwlOGJkbKeMgsjlykvwKUbRr7gw== +"@vitest/ui@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-5.0.1.tgz#0ad96456f48ac6ba92b75b47ad5fc3e17c5e6ea6" + integrity sha512-7PvQu/X9/pQoHYfNLAYL22qsD4/+sx2k7zpUA7XvjW0sc40r3/r0lGZ2fsEyOHMuO8Q1KjiO1QQVjJdnWUy/WQ== dependencies: - "@vitest/utils" "4.1.11" - fflate "^0.8.2" - flatted "^3.4.2" + "@vitest/utils" "5.0.1" + fflate "^0.8.3" + flatted "^3.4.4" pathe "^2.0.3" sirv "^3.0.2" - tinyglobby "^0.2.15" - tinyrainbow "^3.1.0" + tinyrainbow "^3.1.1" -"@vitest/utils@4.1.11": - version "4.1.11" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-4.1.11.tgz#9b27a4293b827942b223539bfab1bd9f7eada31b" - integrity sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ== +"@vitest/utils@5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-5.0.1.tgz#695b969da4a2d4181431817dbf9d1258c564e93b" + integrity sha512-E9+yEA+jsfaoxZcUHFzEqUrQcoNh2EwrPT5efIqkUPUwD5Ua2Li9BRWaYeRwvzvdLgTSVrre8oKNeyrfg7KkdQ== dependencies: - "@vitest/pretty-format" "4.1.11" + "@vitest/pretty-format" "5.0.1" convert-source-map "^2.0.0" - tinyrainbow "^3.1.0" + tinyrainbow "^3.1.1" "@volar/language-core@2.4.28": version "2.4.28" @@ -2785,10 +2755,10 @@ es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-module-lexer@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.3.1.tgz#5bf2df06999dbbe5f006a5f46a11fb9f5b7b391b" - integrity sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA== +es-module-lexer@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.3.2.tgz#311fa4f40168c1975c505477c51b23234d41ad55" + integrity sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw== es-object-atoms@^1.0.0, es-object-atoms@^1.1.1, es-object-atoms@^1.1.2: version "1.1.2" @@ -2980,7 +2950,7 @@ etag@^1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -expect-type@^1.3.0: +expect-type@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.4.0.tgz#24edf7f0cc69a44d008567ba4594ab96f3c3a3d6" integrity sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA== @@ -3061,7 +3031,7 @@ fdir@^6.5.0: resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== -fflate@^0.8.2: +fflate@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.8.3.tgz#bc27d8eb30343d4d512abb03480202ce65d825fc" integrity sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA== @@ -3114,6 +3084,11 @@ flatted@^3.4.2: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726" integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA== +flatted@^3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.4.tgz#aeeca2a506303f0cee61c59e6c9f2a88d2f29fc6" + integrity sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q== + for-each@^0.3.3, for-each@^0.3.5: version "0.3.5" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" @@ -3914,6 +3889,13 @@ magic-string@^0.30.19, magic-string@^0.30.21, magic-string@^0.30.3: dependencies: "@jridgewell/sourcemap-codec" "^1.5.5" +magic-string@^1.2.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-1.4.1.tgz#d0f91b82cd286a8a8de14f4254ccbf1d7e07f55e" + integrity sha512-8lyCu36ErXR0J9uaGKlKQoiLZKmtI63YGLE8G2o9jyRPdr4X47LusSOwgOJOzcVtp81fTAAjxR7BwKz682Jhow== + dependencies: + "@jridgewell/sourcemap-codec" "^1.6.0" + math-intrinsics@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" @@ -4088,10 +4070,10 @@ object.assign@^4.1.7: has-symbols "^1.1.0" object-keys "^1.1.1" -obug@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/obug/-/obug-2.1.4.tgz#9090d8a548a522517915d2aa6aae907197ac6cf8" - integrity sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA== +obug@^2.1.4: + version "2.2.1" + resolved "https://registry.yarnpkg.com/obug/-/obug-2.2.1.tgz#9c453efeeda822050eb9774242e969c784d64d78" + integrity sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q== oidc-client-ts@^3.0.1: version "3.5.0" @@ -4208,7 +4190,7 @@ picocolors@^1.0.0, picocolors@^1.1.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^4.0.2, picomatch@^4.0.3, picomatch@^4.0.4, picomatch@^4.0.5, picomatch@^4.0.7: +picomatch@^4.0.2, picomatch@^4.0.4, picomatch@^4.0.5, picomatch@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.7.tgz#6313360034ccb36b3dc61ecbdff78121f90fe21f" integrity sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA== @@ -4753,7 +4735,7 @@ statuses@^2.0.1, statuses@^2.0.2, statuses@~2.0.2: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== -std-env@^4.0.0-rc.1: +std-env@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/std-env/-/std-env-4.2.0.tgz#8ebe0ec60485668ab47227b312f4254cdf80c9d3" integrity sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw== @@ -4904,17 +4886,17 @@ terser@^5.17.4: commander "^2.20.0" source-map-support "~0.5.20" -tinybench@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" - integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== +tinybench@6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-6.1.4.tgz#f855bb3ad1f2fe85cf624490d58bb4f4f5d30da8" + integrity sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ== -tinyexec@^1.0.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.2.4.tgz#ae45bb2edebda94c70f4ea897e0f1243e470db71" - integrity sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg== +tinyexec@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.3.0.tgz#aacc1dbb1d4e93e6ad8dd64944e09f9ad147a474" + integrity sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ== -tinyglobby@^0.2.10, tinyglobby@^0.2.15, tinyglobby@^0.2.17: +tinyglobby@^0.2.10, tinyglobby@^0.2.17: version "0.2.17" resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.17.tgz#562a9a6c9eb2b3b123d39719f9af5bb44fcd7631" integrity sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== @@ -4922,10 +4904,10 @@ tinyglobby@^0.2.10, tinyglobby@^0.2.15, tinyglobby@^0.2.17: fdir "^6.5.0" picomatch "^4.0.4" -tinyrainbow@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.1.0.tgz#1d8a623893f95cf0a2ddb9e5d11150e191409421" - integrity sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw== +tinyrainbow@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-3.1.1.tgz#c0168387d3d8d70b6b3c2c0936de5fee738cea20" + integrity sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw== toidentifier@~1.0.1: version "1.0.1" @@ -5169,7 +5151,7 @@ vite-svg-loader@^5.1.3: debug "^4.3.4" svgo "^3.3.5" -"vite@^6.0.0 || ^7.0.0 || ^8.0.0", vite@^8.3.0: +vite@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/vite/-/vite-8.3.0.tgz#f9565cfd4879d58d28fa64d3c7aff3b372d2ccc8" integrity sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ== @@ -5182,30 +5164,23 @@ vite-svg-loader@^5.1.3: optionalDependencies: fsevents "~2.3.3" -vitest@^4.1.11: - version "4.1.11" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-4.1.11.tgz#1653c1521ae917f960d9b21877797c47dfd8bf21" - integrity sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw== - dependencies: - "@vitest/expect" "4.1.11" - "@vitest/mocker" "4.1.11" - "@vitest/pretty-format" "4.1.11" - "@vitest/runner" "4.1.11" - "@vitest/snapshot" "4.1.11" - "@vitest/spy" "4.1.11" - "@vitest/utils" "4.1.11" - es-module-lexer "^2.0.0" - expect-type "^1.3.0" - magic-string "^0.30.21" - obug "^2.1.1" - pathe "^2.0.3" - picomatch "^4.0.3" - std-env "^4.0.0-rc.1" - tinybench "^2.9.0" - tinyexec "^1.0.2" - tinyglobby "^0.2.15" - tinyrainbow "^3.1.0" - vite "^6.0.0 || ^7.0.0 || ^8.0.0" +vitest@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-5.0.1.tgz#22505b6481ed0e692b3f6d4fed179da8487d252c" + integrity sha512-iA95lQbKEkvrtTkdAgnWbXfbipWiiWe/hDl2P5tMi6WFwD76G0NxXAGp/M9EOcYupeGJRr6wppMc7CoA41TQjg== + dependencies: + "@types/chai" "^5.2.2" + "@vitest/mocker" "5.0.1" + chai "^6.2.2" + es-module-lexer "^2.3.2" + expect-type "^1.4.0" + magic-string "^1.2.3" + obug "^2.1.4" + picomatch "^4.0.7" + std-env "^4.2.0" + tinybench "6.1.4" + tinyexec "1.3.0" + tinyglobby "^0.2.17" why-is-node-running "^2.3.0" vscode-uri@^3.0.8: From fff7e94853076cc6f96c5dbb3d42884b95fa7909 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Fri, 18 Sep 2026 12:27:01 +0100 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=93=A6=20Set=20engines=20to=20Node=20?= =?UTF-8?q?LTS=2022/24/26,=20and=20pin=20Dockerfile=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9db63fefd3..c8c0691068 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:24-alpine AS build +FROM node:24.21-alpine AS build WORKDIR /app @@ -8,7 +8,7 @@ RUN yarn install --frozen-lockfile --network-timeout 600000 COPY . . RUN yarn build -FROM node:24-alpine AS deps +FROM node:24.21-alpine AS deps WORKDIR /app @@ -16,7 +16,7 @@ COPY package.json yarn.lock ./ RUN yarn install --production --frozen-lockfile --network-timeout 600000 \ && yarn cache clean -FROM node:24-alpine +FROM node:24.21-alpine ARG VERSION=dev ARG REVISION diff --git a/package.json b/package.json index 1f30832188..a85a9f46cf 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "vue-tsc": "^3.3.11" }, "engines": { - "node": "^22.18.0 || >=24.11.0" + "node": "^22.22.2 || ^24.15.0 || >=26.0.0" }, "postcss": { "plugins": { From 5ece08751584b785042415fd957bcaa53a9c8985 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Fri, 18 Sep 2026 12:27:22 +0100 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=93=9D=20Mention=20Node=20LTS=20versi?= =?UTF-8?q?ons=20in=20docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- docs/deployment.md | 2 +- docs/deployment/bare-metal.md | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 67ba757e06..6aa75028ca 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ All images are multi-arch (works on amd64 and arm64). ### Deploying from Source 🔨 -You'll need Node (20+) installed, as well as git and `yarn` enabled. +You'll need up-to-date Node LTS installed, as well as git and `yarn` enabled. - Clone the Repo: `git clone https://github.com/Lissy93/dashy.git` and `cd dashy` - Configuration: Fill in your settings in `./user-data/conf.yml` @@ -495,7 +495,7 @@ pages: ## System Requirements 📊 -If running on bare metal, Dashy requires [Node](https://nodejs.org/en/) V 20.0.0 or later, LTS (22.x) is recommended. +If running on bare metal, Dashy requires [Node](https://nodejs.org/en/) LTS (24.x) is recommended. If running in Docker container, the recommended base image is Alpine (3.21) diff --git a/docs/deployment.md b/docs/deployment.md index 94e4061b47..d16f85de92 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -75,7 +75,7 @@ The pre-built Docker image runs on `amd64` and `arm64` (32-bit `armv7` and `armv - Runs fine on a Pi 3 and up ### Bare Metal -Requires [Node.js](https://nodejs.org/) (20+) and [Yarn](https://yarnpkg.com/) +Requires [Node.js](https://nodejs.org/) LTS (22.22+, 24.15+ or 26+) and [Yarn](https://yarnpkg.com/) ### CDN / Cloud Deploy No specific requirements. The built app (without the Node server) is very lightweight and can be served by any static host or CDN. If you're using custom icons or other assets, additional disk space will be needed. diff --git a/docs/deployment/bare-metal.md b/docs/deployment/bare-metal.md index fb35fea46f..9e608d8c77 100644 --- a/docs/deployment/bare-metal.md +++ b/docs/deployment/bare-metal.md @@ -192,7 +192,7 @@ install_packages() { elif command -v yum >/dev/null 2>&1; then yum install -y curl ca-certificates tar gzip coreutils nodejs else - echo "Please install curl, tar, sha256sum and Node.js v20 or newer, then re-run this script." + echo "Please install curl, tar, sha256sum and Node.js LTS, then re-run this script." exit 1 fi } @@ -212,7 +212,7 @@ if ! command -v node >/dev/null 2>&1; then if command -v apt-get >/dev/null 2>&1; then install_node_apt else - echo "Please install Node.js v20 or newer, then re-run this script." + echo "Please install Node.js LTS, then re-run this script." exit 1 fi fi @@ -225,7 +225,7 @@ if [ "$NODE_MAJOR" -lt 20 ]; then fi if [ "$NODE_MAJOR" -lt 20 ]; then - echo "Node.js v20 or newer is required. Found: $(node -v)" + echo "Node.js 22.22+, 24.15+ or 26+ is required. Found: $(node -v)" exit 1 fi fi From eccbc5914120adc4fbd85192a228dbec1038b0e1 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Fri, 18 Sep 2026 12:33:12 +0100 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=90=B3=20Dockerfile=20use=20latest=20?= =?UTF-8?q?version=20of=20Node=2024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index c8c0691068..9db63fefd3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:24.21-alpine AS build +FROM node:24-alpine AS build WORKDIR /app @@ -8,7 +8,7 @@ RUN yarn install --frozen-lockfile --network-timeout 600000 COPY . . RUN yarn build -FROM node:24.21-alpine AS deps +FROM node:24-alpine AS deps WORKDIR /app @@ -16,7 +16,7 @@ COPY package.json yarn.lock ./ RUN yarn install --production --frozen-lockfile --network-timeout 600000 \ && yarn cache clean -FROM node:24.21-alpine +FROM node:24-alpine ARG VERSION=dev ARG REVISION