nyk commited on
Commit
dcb25c3
·
unverified ·
1 Parent(s): ccf9166

fix(runtime): support Node 24 alongside Node 22 (#303)

Browse files

* feat(gateways): add health history logging and timeline

* fix(runtime): support Node 24 alongside Node 22

Files changed (3) hide show
  1. README.md +4 -4
  2. package.json +1 -1
  3. scripts/check-node-version.mjs +5 -4
README.md CHANGED
@@ -54,17 +54,17 @@ cd mission-control
54
  bash install.sh --local
55
  ```
56
 
57
- Requires Node.js 22.x (LTS) and pnpm (auto-installed via corepack if missing).
58
 
59
  ### Manual Setup
60
 
61
- > **Requires [pnpm](https://pnpm.io/installation)** and **Node.js 22.x (LTS)**.
62
- > Mission Control is validated against Node 22 across local dev, CI, Docker, and standalone deploys. Use `nvm use 22` (or your version manager equivalent) before installing or starting the app.
63
 
64
  ```bash
65
  git clone https://github.com/builderz-labs/mission-control.git
66
  cd mission-control
67
- nvm use 22
68
  pnpm install
69
  cp .env.example .env # edit with your values
70
  pnpm dev # http://localhost:3000
 
54
  bash install.sh --local
55
  ```
56
 
57
+ Requires Node.js 22.x (LTS, recommended) or 24.x, and pnpm (auto-installed via corepack if missing).
58
 
59
  ### Manual Setup
60
 
61
+ > **Requires [pnpm](https://pnpm.io/installation)** and **Node.js 22.x (LTS, recommended) or 24.x**.
62
+ > Mission Control is validated on Node 22 (primary CI/LTS) and supports Node 24 for local dev and deploys. Use `nvm use 22` (or `nvm use 24`) before installing or starting the app.
63
 
64
  ```bash
65
  git clone https://github.com/builderz-labs/mission-control.git
66
  cd mission-control
67
+ nvm use 22 # or: nvm use 24
68
  pnpm install
69
  cp .env.example .env # edit with your values
70
  pnpm dev # http://localhost:3000
package.json CHANGED
@@ -66,7 +66,7 @@
66
  "vitest": "^2.1.5"
67
  },
68
  "engines": {
69
- "node": ">=22 <23"
70
  },
71
  "keywords": [
72
  "openclaw",
 
66
  "vitest": "^2.1.5"
67
  },
68
  "engines": {
69
+ "node": "22.x || 24.x"
70
  },
71
  "keywords": [
72
  "openclaw",
scripts/check-node-version.mjs CHANGED
@@ -1,15 +1,16 @@
1
  #!/usr/bin/env node
2
 
3
- const REQUIRED_NODE_MAJOR = 22
4
 
5
  const current = process.versions.node
6
  const currentMajor = Number.parseInt(current.split('.')[0] || '', 10)
7
 
8
- if (currentMajor !== REQUIRED_NODE_MAJOR) {
 
9
  console.error(
10
  [
11
- `error: Mission Control requires Node ${REQUIRED_NODE_MAJOR}.x, but found ${current}.`,
12
- 'use `nvm use 22` (or your version manager equivalent) before installing, building, or starting the app.',
13
  ].join('\n')
14
  )
15
  process.exit(1)
 
1
  #!/usr/bin/env node
2
 
3
+ const SUPPORTED_NODE_MAJORS = [22, 24]
4
 
5
  const current = process.versions.node
6
  const currentMajor = Number.parseInt(current.split('.')[0] || '', 10)
7
 
8
+ if (!SUPPORTED_NODE_MAJORS.includes(currentMajor)) {
9
+ const supported = SUPPORTED_NODE_MAJORS.map((major) => `${major}.x`).join(' or ')
10
  console.error(
11
  [
12
+ `error: Mission Control supports Node ${supported}, but found ${current}.`,
13
+ 'use `nvm use 22` (recommended LTS) or `nvm use 24` before installing, building, or starting the app.',
14
  ].join('\n')
15
  )
16
  process.exit(1)