fix: align declared node version floor

This commit is contained in:
Advait Paliwal
2026-03-26 17:22:56 -07:00
parent 30d07246d1
commit 10c93a673b
10 changed files with 17 additions and 11 deletions

View File

@@ -25,7 +25,7 @@ curl -fsSL https://feynman.is/install | bash
irm https://feynman.is/install.ps1 | iex
```
If you install via `pnpm` or `bun` instead of the standalone bundle, Feynman requires Node.js `20.18.1` or newer.
If you install via `pnpm` or `bun` instead of the standalone bundle, Feynman requires Node.js `20.19.0` or newer.
### Skills Only

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env node
const MIN_NODE_VERSION = "20.18.1";
const MIN_NODE_VERSION = "20.19.0";
function parseNodeVersion(version) {
const [major = "0", minor = "0", patch = "0"] = version.replace(/^v/, "").split(".");

2
package-lock.json generated
View File

@@ -24,7 +24,7 @@
"typescript": "^5.9.3"
},
"engines": {
"node": ">=20.18.1"
"node": ">=20.19.0"
}
},
"node_modules/@anthropic-ai/sdk": {

View File

@@ -5,7 +5,7 @@
"license": "MIT",
"type": "module",
"engines": {
"node": ">=20.18.1"
"node": ">=20.19.0"
},
"bin": {
"feynman": "bin/feynman.js"

View File

@@ -1,4 +1,4 @@
const MIN_NODE_VERSION = "20.18.1";
const MIN_NODE_VERSION = "20.19.0";
function parseNodeVersion(version) {
const [major = "0", minor = "0", patch = "0"] = version.replace(/^v/, "").split(".");

View File

@@ -1,4 +1,4 @@
export const MIN_NODE_VERSION = "20.18.1";
export const MIN_NODE_VERSION = "20.19.0";
type ParsedNodeVersion = {
major: number;

View File

@@ -9,10 +9,10 @@ import {
} from "../src/system/node-version.js";
test("isSupportedNodeVersion enforces the exact minimum floor", () => {
assert.equal(isSupportedNodeVersion("20.18.1"), true);
assert.equal(isSupportedNodeVersion("20.19.0"), true);
assert.equal(isSupportedNodeVersion("20.19.0"), true);
assert.equal(isSupportedNodeVersion("21.0.0"), true);
assert.equal(isSupportedNodeVersion("20.18.0"), false);
assert.equal(isSupportedNodeVersion("20.18.1"), false);
assert.equal(isSupportedNodeVersion("18.17.0"), false);
});
@@ -30,6 +30,6 @@ test("ensureSupportedNodeVersion throws a guided upgrade message", () => {
test("unsupported version guidance reports the detected version", () => {
const lines = getUnsupportedNodeVersionLines("18.17.0");
assert.equal(lines[0], "feynman requires Node.js 20.18.1 or later (detected 18.17.0).");
assert.equal(lines[0], "feynman requires Node.js 20.19.0 or later (detected 18.17.0).");
assert.ok(lines.some((line) => line.includes("curl -fsSL https://feynman.is/install | bash")));
});

View File

@@ -7,6 +7,9 @@
"": {
"name": "website",
"version": "0.0.1",
"engines": {
"node": ">=20.19.0"
},
"dependencies": {
"@astrojs/react": "^4.4.2",
"@fontsource-variable/ibm-plex-sans": "^5.2.8",

View File

@@ -3,6 +3,9 @@
"type": "module",
"version": "0.0.1",
"private": true,
"engines": {
"node": ">=20.19.0"
},
"scripts": {
"dev": "astro dev",
"build": "node ../scripts/sync-website-installers.mjs && astro build",

View File

@@ -77,7 +77,7 @@ You can also pin an exact version by replacing `stable` with a version such as `
## pnpm
If you already have Node.js `20.18.1` or newer installed, you can install Feynman globally via `pnpm`:
If you already have Node.js `20.19.0` or newer installed, you can install Feynman globally via `pnpm`:
```bash
pnpm add -g @companion-ai/feynman
@@ -91,7 +91,7 @@ pnpm dlx @companion-ai/feynman
## bun
`bun add -g` and `bunx` still use your local Node runtime for Feynman itself, so the same Node.js `20.18.1+` requirement applies.
`bun add -g` and `bunx` still use your local Node runtime for Feynman itself, so the same Node.js `20.19.0+` requirement applies.
```bash
bun add -g @companion-ai/feynman