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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

strategy:
matrix:
node-version: [20.x, 22.x, 24.x, 25.x]
node-version: [22.x, 24.x, 25.x]

steps:
- name: Checkout code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/manual-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
node-version: '22.x'

- name: Set git identity
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-dry-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
node-version: '22.x'
registry-url: 'https://registry.npmjs.org'
cache: npm
cache-dependency-path: packages/cli/package-lock.json
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
node-version: '22.x'
cache: npm
cache-dependency-path: packages/cli/package-lock.json

Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
node-version: '22.x'
registry-url: 'https://registry.npmjs.org'
- name: npm whoami
env:
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
node-version: '22.x'
registry-url: 'https://registry.npmjs.org'
cache: npm
cache-dependency-path: packages/cli/package-lock.json
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Everything that writes previews first. Add `--apply` to make it happen.
| VS Code and its forks | The SupaForge extension: commands, and the MCP server for the editor's agent. Each [release](https://github.com/akalsoftware/supaforge/releases/latest) carries it as a `.vsix` |
| Cursor, VS Code, Claude | One-click installs of the MCP server — see [MCP](#mcp-ai-agents) |

It needs Node.js 20 or newer. DBDiff, its diff engine, comes with it as a
It needs Node.js 22 or newer. DBDiff, its diff engine, comes with it as a
native binary for your platform, so there is nothing else to install. The
Docker image needs nothing at all, and carries the PostgreSQL client tools
`--prove` uses; pass connection strings with `-e`, and mount the project at
Expand Down
8 changes: 8 additions & 0 deletions packages/cli/bin/run.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ import {execute, settings} from '@oclif/core'
// not find it. A checkout keeps the lookup, which its tests rely on.
if (!existsSync(new URL('../src', import.meta.url))) settings.enableAutoTranspile = false

// A reader that stops early (supaforge --help | head) closes stdout. oclif
// then waits for a drain that never comes and Node exits 13 with a warning;
// there is nothing left to write to, so finish as a completed run would.
process.stdout.on('error', (err) => {
if (err?.code === 'EPIPE') process.exit(process.exitCode ?? 0)
throw err
})

await execute({dir: import.meta.url}).catch((err) => {
// oclif handles CLIError internally — this catches truly unexpected errors.
if (err && typeof err === 'object' && 'oclif' in err) return
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/mcpb/manifest.template.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,6 @@
],
"compatibility": {
"platforms": ["__OS__"],
"runtimes": { "node": ">=20.0.0" }
"runtimes": { "node": ">=22.0.0" }
}
}
Loading
Loading