Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down Expand Up @@ -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)

Expand Down
2 changes: 1 addition & 1 deletion docs/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
6 changes: 3 additions & 3 deletions docs/deployment/bare-metal.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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
Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -76,12 +76,12 @@
"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"
},
"engines": {
"node": "^22.18.0 || >=24.11.0"
"node": "^22.22.2 || ^24.15.0 || >=26.0.0"
},
"postcss": {
"plugins": {
Expand Down
4 changes: 2 additions & 2 deletions tests/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {
Expand All @@ -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', {
Expand Down
Loading
Loading