From 2fa892c739f44c11c86dd4210a31d0baf4db1660 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 10 May 2026 06:26:39 +0000 Subject: [PATCH 1/2] chore: lower minimum Node version to 18 Updates engines from >=20.0.0 to >=18.0.0 across root, cli, and mcp packages to broaden contributor and user reach. All 166 tests pass on the existing Node 22 dev environment. Note: c8 v11 (dev-only, used by 'test:coverage') still requires Node 20+; contributors on Node 18 can run 'npm test' but not 'npm run test:coverage'. --- cli/package.json | 2 +- mcp/package-lock.json | 2 +- mcp/package.json | 2 +- package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/package.json b/cli/package.json index 7f72081..940c31a 100644 --- a/cli/package.json +++ b/cli/package.json @@ -13,7 +13,7 @@ "LICENSE" ], "engines": { - "node": ">=20.0.0" + "node": ">=18.0.0" }, "scripts": { "test": "node --test 'tests/*.test.mjs'" diff --git a/mcp/package-lock.json b/mcp/package-lock.json index e3adc0b..3c33415 100644 --- a/mcp/package-lock.json +++ b/mcp/package-lock.json @@ -21,7 +21,7 @@ "typescript": "^5.5.0" }, "engines": { - "node": ">=20" + "node": ">=18" } }, "node_modules/@esbuild/aix-ppc64": { diff --git a/mcp/package.json b/mcp/package.json index 69d6f0e..78449ff 100644 --- a/mcp/package.json +++ b/mcp/package.json @@ -15,7 +15,7 @@ }, "type": "module", "engines": { - "node": ">=20" + "node": ">=18" }, "main": "dist/index.js", "bin": { diff --git a/package.json b/package.json index ebab29e..1aab6de 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "url": "https://github.com/looptech-ai/understand-quickly/issues" }, "type": "module", - "engines": { "node": ">=20.0.0" }, + "engines": { "node": ">=18.0.0" }, "scripts": { "validate": "node scripts/validate.mjs", "sync": "node scripts/sync.mjs", From 70981b2924bcb4ccd0419c9e789c0dee3cd267bd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 10 May 2026 06:34:59 +0000 Subject: [PATCH 2/2] chore(node18): address Copilot review - Sync engines metadata in package-lock.json (root + cli) to match the lowered package.json minimum (>=18.0.0). - Use full semver '>=18.0.0' in mcp/package.json for consistency with root and cli (was '>=18'). - Lower @types/node to ^18.19.0 in mcp to match the runtime minimum, preventing accidental use of Node 20-only APIs in TypeScript. - All 27 mcp tests still pass. --- cli/package-lock.json | 2 +- mcp/package-lock.json | 18 +++++++++--------- mcp/package.json | 4 ++-- package-lock.json | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cli/package-lock.json b/cli/package-lock.json index 9fdd7df..531af18 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -12,7 +12,7 @@ "understand-quickly": "bin/understand-quickly.mjs" }, "engines": { - "node": ">=20.0.0" + "node": ">=18.0.0" } } } diff --git a/mcp/package-lock.json b/mcp/package-lock.json index 3c33415..77bebdd 100644 --- a/mcp/package-lock.json +++ b/mcp/package-lock.json @@ -16,12 +16,12 @@ "understand-quickly-mcp": "dist/index.js" }, "devDependencies": { - "@types/node": "^20.19.39", + "@types/node": "^18.19.0", "tsx": "^4.19.0", "typescript": "^5.5.0" }, "engines": { - "node": ">=18" + "node": ">=18.0.0" } }, "node_modules/@esbuild/aix-ppc64": { @@ -519,13 +519,13 @@ } }, "node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "18.19.130", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz", + "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~5.26.4" } }, "node_modules/accepts": { @@ -1657,9 +1657,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true, "license": "MIT" }, diff --git a/mcp/package.json b/mcp/package.json index 78449ff..2d5a8a5 100644 --- a/mcp/package.json +++ b/mcp/package.json @@ -15,7 +15,7 @@ }, "type": "module", "engines": { - "node": ">=18" + "node": ">=18.0.0" }, "main": "dist/index.js", "bin": { @@ -32,7 +32,7 @@ "zod": "^4.4.0" }, "devDependencies": { - "@types/node": "^20.19.39", + "@types/node": "^18.19.0", "tsx": "^4.19.0", "typescript": "^5.5.0" } diff --git a/package-lock.json b/package-lock.json index e56f6df..1acf90a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "c8": "^11.0.0" }, "engines": { - "node": ">=20.0.0" + "node": ">=18.0.0" } }, "node_modules/@bcoe/v8-coverage": {