chore: upgrade Node.js runtime to v24 across codebase
- Update .woodpecker/codex-review.yml: node:22-slim → node:24-slim - Update packages/cli-tools engines: >=18 → >=24.0.0 - Update README.md, CONTRIBUTING.md, prerequisites docs to reference Node 24+ - Rename eslint.config.js → eslint.config.mjs to eliminate Node 24 MODULE_TYPELESS_PACKAGE_JSON warnings (ESM detection overhead) - Add .nvmrc targeting Node 24 - Fix pre-existing no-unsafe-return lint error in matrix-room.service.ts - Add Campsite Rule to CLAUDE.md - Regenerate Prisma client for Node 24 compatibility All Dockerfiles and main CI pipelines already used node:24. This commit aligns the remaining stragglers (codex-review CI, cli-tools engines, documentation) and resolves Node 24 ESM module detection warnings. Quality gates: lint ✅ typecheck ✅ tests ✅ (6 pre-existing API failures) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ when:
|
|||||||
event: pull_request
|
event: pull_request
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
- &node_image "node:22-slim"
|
- &node_image "node:24-slim"
|
||||||
- &install_codex "npm i -g @openai/codex"
|
- &install_codex "npm i -g @openai/codex"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
22
CLAUDE.md
22
CLAUDE.md
@@ -475,3 +475,25 @@ Related Repositories
|
|||||||
---
|
---
|
||||||
|
|
||||||
Mosaic Stack v0.0.x — Building the future of personal assistants.
|
Mosaic Stack v0.0.x — Building the future of personal assistants.
|
||||||
|
|
||||||
|
## Campsite Rule (MANDATORY)
|
||||||
|
|
||||||
|
If you modify a line containing a policy violation, you MUST either:
|
||||||
|
|
||||||
|
1. **Fix the violation properly** in the same change, OR
|
||||||
|
2. **Flag it as a deferred item** with documented rationale
|
||||||
|
|
||||||
|
**"It was already there" is NEVER an acceptable justification** for perpetuating a violation in code you touched. Touching it makes it yours.
|
||||||
|
|
||||||
|
Examples of violations you must fix when you touch the line:
|
||||||
|
|
||||||
|
- `as unknown as Type` double assertions — use type guards instead
|
||||||
|
- `any` types — narrow to `unknown` with validation or define a proper interface
|
||||||
|
- Missing error handling — add it if you're modifying the surrounding code
|
||||||
|
- Suppressed linting rules (`// eslint-disable`) — fix the underlying issue
|
||||||
|
|
||||||
|
If the proper fix is too large for the current scope, you MUST:
|
||||||
|
|
||||||
|
- Create a TODO comment with issue reference: `// TODO(#123): Replace double assertion with type guard`
|
||||||
|
- Document the deferral in your PR/commit description
|
||||||
|
- Never silently carry the violation forward
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ docker compose down
|
|||||||
If you prefer manual installation, you'll need:
|
If you prefer manual installation, you'll need:
|
||||||
|
|
||||||
- **Docker mode:** Docker 24+ and Docker Compose
|
- **Docker mode:** Docker 24+ and Docker Compose
|
||||||
- **Native mode:** Node.js 22+, pnpm 10+, PostgreSQL 17+
|
- **Native mode:** Node.js 24+, pnpm 10+, PostgreSQL 17+
|
||||||
|
|
||||||
The installer handles these automatically.
|
The installer handles these automatically.
|
||||||
|
|
||||||
|
|||||||
@@ -93,7 +93,10 @@ export class MatrixRoomService {
|
|||||||
select: { matrixRoomId: true },
|
select: { matrixRoomId: true },
|
||||||
});
|
});
|
||||||
|
|
||||||
return workspace?.matrixRoomId ?? null;
|
if (!workspace) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return workspace.matrixRoomId ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4,26 +4,26 @@ Required and optional software for Mosaic Stack development.
|
|||||||
|
|
||||||
## Required
|
## Required
|
||||||
|
|
||||||
### Node.js 20+
|
### Node.js 24+
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install using nvm (recommended)
|
# Install using nvm (recommended)
|
||||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
|
||||||
nvm install 20
|
nvm install 24
|
||||||
nvm use 20
|
nvm use 24
|
||||||
|
|
||||||
# Verify installation
|
# Verify installation
|
||||||
node --version # Should be v20.x.x
|
node --version # Should be v24.x.x
|
||||||
```
|
```
|
||||||
|
|
||||||
### pnpm 9+
|
### pnpm 10+
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Install globally
|
# Install globally
|
||||||
npm install -g pnpm@9
|
npm install -g pnpm@10
|
||||||
|
|
||||||
# Verify installation
|
# Verify installation
|
||||||
pnpm --version # Should be 9.x.x
|
pnpm --version # Should be 10.x.x
|
||||||
```
|
```
|
||||||
|
|
||||||
### PostgreSQL 17+
|
### PostgreSQL 17+
|
||||||
@@ -158,8 +158,8 @@ Configure `OLLAMA_MODE=remote` and `OLLAMA_ENDPOINT` in `.env`.
|
|||||||
Check all required tools are installed:
|
Check all required tools are installed:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
node --version # v20.x.x or higher
|
node --version # v24.x.x or higher
|
||||||
pnpm --version # 9.x.x or higher
|
pnpm --version # 10.x.x or higher
|
||||||
git --version # 2.x.x or higher
|
git --version # 2.x.x or higher
|
||||||
docker --version # 24.x.x or higher (if using Docker)
|
docker --version # 24.x.x or higher (if using Docker)
|
||||||
psql --version # 17.x.x or higher (if using native PostgreSQL)
|
psql --version # 17.x.x or higher (if using native PostgreSQL)
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ Thank you for your interest in contributing to Mosaic Stack! This document provi
|
|||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- **Node.js:** 20.0.0 or higher
|
- **Node.js:** 24.0.0 or higher
|
||||||
- **pnpm:** 10.19.0 or higher (package manager)
|
- **pnpm:** 10.0.0 or higher (package manager)
|
||||||
- **Docker:** 20.10+ and Docker Compose 2.x+ (for database services)
|
- **Docker:** 20.10+ and Docker Compose 2.x+ (for database services)
|
||||||
- **Git:** 2.30+ for version control
|
- **Git:** 2.30+ for version control
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
"orchestration"
|
"orchestration"
|
||||||
],
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=24.0.0"
|
||||||
},
|
},
|
||||||
"os": [
|
"os": [
|
||||||
"linux",
|
"linux",
|
||||||
|
|||||||
Reference in New Issue
Block a user