strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
- node: ['20.x', '22.x', '24.x', 'latest']
+ node: ['22.x', '24.x', 'latest']
name: Build simulator with Node ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-latest]
- node: ['20.x', '22.x', '24.x', 'latest']
+ node: ['22.x', '24.x', 'latest']
name: Build dashboard with Node ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
defaults:
## Tech Stack
-- **Runtime**: Node.js (>=20.11.0)
+- **Runtime**: Node.js (>=22.0.0)
- **Language**: TypeScript
- **Package Manager**: pnpm (>=9.0.0)
- **Testing Framework**: Node.js native test runner with @std/expect
## Tech Stack
-- Runtime: Node.js (>=20.11.0) + Worker Threads
+- Runtime: Node.js (>=22.0.0) + Worker Threads
- Language: TypeScript (~5.9) (ESM modules; `type: module`)
- Build: esbuild bundling (custom scripts) + PNPM workspaces
- Package Manager: pnpm (>=9)
## Important Constraints
-- Node.js >=20.11 runtime features (Worker Threads, ESM) required.
+- Node.js >=22.0.0 runtime features (Worker Threads, ESM) required.
- Strict OCPP JSON schema validation when `ocppStrictCompliance` is true; deviations require explicit config relaxation (e.g., out-of-order meter values).
- Simulator must avoid blocking operations in worker threads; heavy tasks delegated or streamed.
- Memory footprint scalability: workerSet auto sizing formula ensures balanced distribution.
"name": "e-mobility-charging-stations-simulator",
"version": "2.1.0",
"engines": {
- "node": ">=20.11.0",
+ "node": ">=22.0.0",
"pnpm": ">=9.0.0"
},
"volta": {
"version": "2.1.0",
"readme": "README.md",
"engines": {
- "node": ">=20.0.0",
+ "node": ">=22.0.0",
"pnpm": ">=9.0.0"
},
"volta": {