fix: align declared node version floor
This commit is contained in:
@@ -25,7 +25,7 @@ curl -fsSL https://feynman.is/install | bash
|
|||||||
irm https://feynman.is/install.ps1 | iex
|
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
|
### Skills Only
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
const MIN_NODE_VERSION = "20.18.1";
|
const MIN_NODE_VERSION = "20.19.0";
|
||||||
|
|
||||||
function parseNodeVersion(version) {
|
function parseNodeVersion(version) {
|
||||||
const [major = "0", minor = "0", patch = "0"] = version.replace(/^v/, "").split(".");
|
const [major = "0", minor = "0", patch = "0"] = version.replace(/^v/, "").split(".");
|
||||||
|
|||||||
2
package-lock.json
generated
2
package-lock.json
generated
@@ -24,7 +24,7 @@
|
|||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.18.1"
|
"node": ">=20.19.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@anthropic-ai/sdk": {
|
"node_modules/@anthropic-ai/sdk": {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.18.1"
|
"node": ">=20.19.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"feynman": "bin/feynman.js"
|
"feynman": "bin/feynman.js"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const MIN_NODE_VERSION = "20.18.1";
|
const MIN_NODE_VERSION = "20.19.0";
|
||||||
|
|
||||||
function parseNodeVersion(version) {
|
function parseNodeVersion(version) {
|
||||||
const [major = "0", minor = "0", patch = "0"] = version.replace(/^v/, "").split(".");
|
const [major = "0", minor = "0", patch = "0"] = version.replace(/^v/, "").split(".");
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
export const MIN_NODE_VERSION = "20.18.1";
|
export const MIN_NODE_VERSION = "20.19.0";
|
||||||
|
|
||||||
type ParsedNodeVersion = {
|
type ParsedNodeVersion = {
|
||||||
major: number;
|
major: number;
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import {
|
|||||||
} from "../src/system/node-version.js";
|
} from "../src/system/node-version.js";
|
||||||
|
|
||||||
test("isSupportedNodeVersion enforces the exact minimum floor", () => {
|
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("20.19.0"), true);
|
||||||
assert.equal(isSupportedNodeVersion("21.0.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);
|
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", () => {
|
test("unsupported version guidance reports the detected version", () => {
|
||||||
const lines = getUnsupportedNodeVersionLines("18.17.0");
|
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")));
|
assert.ok(lines.some((line) => line.includes("curl -fsSL https://feynman.is/install | bash")));
|
||||||
});
|
});
|
||||||
|
|||||||
3
website/package-lock.json
generated
3
website/package-lock.json
generated
@@ -7,6 +7,9 @@
|
|||||||
"": {
|
"": {
|
||||||
"name": "website",
|
"name": "website",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.19.0"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/react": "^4.4.2",
|
"@astrojs/react": "^4.4.2",
|
||||||
"@fontsource-variable/ibm-plex-sans": "^5.2.8",
|
"@fontsource-variable/ibm-plex-sans": "^5.2.8",
|
||||||
|
|||||||
@@ -3,6 +3,9 @@
|
|||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.19.0"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "astro dev",
|
||||||
"build": "node ../scripts/sync-website-installers.mjs && astro build",
|
"build": "node ../scripts/sync-website-installers.mjs && astro build",
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ You can also pin an exact version by replacing `stable` with a version such as `
|
|||||||
|
|
||||||
## pnpm
|
## 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
|
```bash
|
||||||
pnpm add -g @companion-ai/feynman
|
pnpm add -g @companion-ai/feynman
|
||||||
@@ -91,7 +91,7 @@ pnpm dlx @companion-ai/feynman
|
|||||||
|
|
||||||
## bun
|
## 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
|
```bash
|
||||||
bun add -g @companion-ai/feynman
|
bun add -g @companion-ai/feynman
|
||||||
|
|||||||
Reference in New Issue
Block a user