diff --git a/README.md b/README.md index 081ce22..25af8af 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/bin/feynman.js b/bin/feynman.js index 9c9111f..f94acb6 100755 --- a/bin/feynman.js +++ b/bin/feynman.js @@ -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("."); diff --git a/package-lock.json b/package-lock.json index 5fe6b4f..82072f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,7 +24,7 @@ "typescript": "^5.9.3" }, "engines": { - "node": ">=20.18.1" + "node": ">=20.19.0" } }, "node_modules/@anthropic-ai/sdk": { diff --git a/package.json b/package.json index 7157408..c0abd52 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "license": "MIT", "type": "module", "engines": { - "node": ">=20.18.1" + "node": ">=20.19.0" }, "bin": { "feynman": "bin/feynman.js" diff --git a/scripts/check-node-version.mjs b/scripts/check-node-version.mjs index 8b4170c..771836d 100644 --- a/scripts/check-node-version.mjs +++ b/scripts/check-node-version.mjs @@ -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("."); diff --git a/src/system/node-version.ts b/src/system/node-version.ts index 4bd7bb8..bf349af 100644 --- a/src/system/node-version.ts +++ b/src/system/node-version.ts @@ -1,4 +1,4 @@ -export const MIN_NODE_VERSION = "20.18.1"; +export const MIN_NODE_VERSION = "20.19.0"; type ParsedNodeVersion = { major: number; diff --git a/tests/node-version.test.ts b/tests/node-version.test.ts index 178d9bf..fca23eb 100644 --- a/tests/node-version.test.ts +++ b/tests/node-version.test.ts @@ -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"))); }); diff --git a/website/package-lock.json b/website/package-lock.json index 576e2bd..1eb6825 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -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", diff --git a/website/package.json b/website/package.json index 25412ab..a1b56e9 100644 --- a/website/package.json +++ b/website/package.json @@ -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", diff --git a/website/src/content/docs/getting-started/installation.md b/website/src/content/docs/getting-started/installation.md index 691cf4a..907a9b4 100644 --- a/website/src/content/docs/getting-started/installation.md +++ b/website/src/content/docs/getting-started/installation.md @@ -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