diff --git a/.changeset/thin-otters-rest.md b/.changeset/thin-otters-rest.md new file mode 100644 index 000000000..9acae715a --- /dev/null +++ b/.changeset/thin-otters-rest.md @@ -0,0 +1,8 @@ +--- +"@hey-api/json-schema-ref-parser": minor +"@hey-api/codegen-core": minor +"@hey-api/openapi-ts": minor +"@hey-api/shared": minor +--- + +**BREAKING**: This release bumps the minimum required Node version to 22.13. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c3fa9a37..cc773fd23 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,9 +36,9 @@ jobs: include: # All Node versions on Ubuntu (fast, catches Node issues) - os: ubuntu-latest - node-version: '20.19.0' + node-version: '22.13.0' - os: ubuntu-latest - node-version: '22.12.0' + node-version: '24.14.0' - os: ubuntu-latest node-version: ${{ needs.setup.outputs.node-version }} is-primary: true # Primary runner for examples/previews diff --git a/.nvmrc b/.nvmrc index d845d9d88..8e3503489 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -24.14.0 +24.14.1 diff --git a/CLAUDE.md b/CLAUDE.md index 5a06ac5d0..7ecc28cb8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -69,7 +69,7 @@ scripts/ # Build and test scripts ## Tooling - **Package manager**: pnpm 10.28.2 (strict engine, exact versions) -- **Node**: >=20.19.0 (see .nvmrc for exact version) +- **Node**: >=22.13.0 (see .nvmrc for exact version) - **Build**: Turbo 2.8.0 + tsdown + Rollup - **Language**: TypeScript 5.9.3, ESM only - **Formatter**: oxfmt 0.27.0 (single quotes via .oxfmtrc.json) diff --git a/dev/package.json b/dev/package.json index fca513088..ad9bf6324 100644 --- a/dev/package.json +++ b/dev/package.json @@ -33,6 +33,6 @@ "zod": "4.3.6" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/docs/openapi-ts/get-started.md b/docs/openapi-ts/get-started.md index ac799b654..919f5b5f1 100644 --- a/docs/openapi-ts/get-started.md +++ b/docs/openapi-ts/get-started.md @@ -26,7 +26,7 @@ Launch demo ## Features - production-ready code that compiles -- runs in any Node.js 20+ environment +- runs in any Node.js 22+ environment - accepts any OpenAPI specification - core plugins for SDKs, types, and schemas - HTTP clients for Fetch API, Angular, Axios, Next.js, Nuxt, and more diff --git a/docs/openapi-ts/migrating.md b/docs/openapi-ts/migrating.md index 9b61ead40..487e54900 100644 --- a/docs/openapi-ts/migrating.md +++ b/docs/openapi-ts/migrating.md @@ -7,6 +7,12 @@ description: Migrating to @hey-api/openapi-ts. While we try to avoid breaking changes, sometimes it's unavoidable in order to offer you the latest features. This page lists changes that require updates to your code. If you run into a problem with migration, please [open an issue](https://github.com/hey-api/openapi-ts/issues). +## v0.96.0 + +### Removed Node 20 support + +This release bumps the minimum required Node version to 22.13. + ## v0.95.0 ### Validator request schemas diff --git a/package.json b/package.json index 8bef1bdfc..a6a3b37a9 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "vitest": "4.1.0" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" }, "packageManager": "pnpm@10.33.0" } diff --git a/packages/codegen-core/package.json b/packages/codegen-core/package.json index 8e3195783..d716e847c 100644 --- a/packages/codegen-core/package.json +++ b/packages/codegen-core/package.json @@ -56,6 +56,6 @@ "typescript": "5.9.3" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/json-schema-ref-parser/package.json b/packages/json-schema-ref-parser/package.json index 2a746a89c..fa6389f22 100644 --- a/packages/json-schema-ref-parser/package.json +++ b/packages/json-schema-ref-parser/package.json @@ -57,6 +57,6 @@ "typescript": "5.9.3" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-python-tests/pydantic/v2/package.json b/packages/openapi-python-tests/pydantic/v2/package.json index e6e28cfba..5d5254f0e 100644 --- a/packages/openapi-python-tests/pydantic/v2/package.json +++ b/packages/openapi-python-tests/pydantic/v2/package.json @@ -8,6 +8,6 @@ "typescript": "5.9.3" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-python-tests/sdks/package.json b/packages/openapi-python-tests/sdks/package.json index 2e6203005..51b683729 100644 --- a/packages/openapi-python-tests/sdks/package.json +++ b/packages/openapi-python-tests/sdks/package.json @@ -8,6 +8,6 @@ "typescript": "5.9.3" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-python/package.json b/packages/openapi-python/package.json index 7cf0a3da6..692e88215 100644 --- a/packages/openapi-python/package.json +++ b/packages/openapi-python/package.json @@ -74,6 +74,6 @@ "yaml": "2.8.2" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/main/package.json b/packages/openapi-ts-tests/main/package.json index 347557469..48a8e129c 100644 --- a/packages/openapi-ts-tests/main/package.json +++ b/packages/openapi-ts-tests/main/package.json @@ -46,6 +46,6 @@ "zod": "4.3.6" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/nestjs/v11/package.json b/packages/openapi-ts-tests/nestjs/v11/package.json index 5d7d49059..fdcfe7cb8 100644 --- a/packages/openapi-ts-tests/nestjs/v11/package.json +++ b/packages/openapi-ts-tests/nestjs/v11/package.json @@ -11,6 +11,6 @@ "typescript": "5.9.3" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/orpc/v1/package.json b/packages/openapi-ts-tests/orpc/v1/package.json index 73416ad78..c28bda3d0 100644 --- a/packages/openapi-ts-tests/orpc/v1/package.json +++ b/packages/openapi-ts-tests/orpc/v1/package.json @@ -14,6 +14,6 @@ "zod": "4.3.6" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/sdks/package.json b/packages/openapi-ts-tests/sdks/package.json index 3ffb56653..b3963c0d4 100644 --- a/packages/openapi-ts-tests/sdks/package.json +++ b/packages/openapi-ts-tests/sdks/package.json @@ -11,6 +11,6 @@ "typescript": "5.9.3" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/valibot/v1/package.json b/packages/openapi-ts-tests/valibot/v1/package.json index facee614c..6fd703722 100644 --- a/packages/openapi-ts-tests/valibot/v1/package.json +++ b/packages/openapi-ts-tests/valibot/v1/package.json @@ -12,6 +12,6 @@ "valibot": "1.2.0" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/zod/v3/package.json b/packages/openapi-ts-tests/zod/v3/package.json index 08a41266a..ec9d46b70 100644 --- a/packages/openapi-ts-tests/zod/v3/package.json +++ b/packages/openapi-ts-tests/zod/v3/package.json @@ -12,6 +12,6 @@ "zod": "^3.25.0" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts-tests/zod/v4/package.json b/packages/openapi-ts-tests/zod/v4/package.json index 8bf2db45d..c3de1940c 100644 --- a/packages/openapi-ts-tests/zod/v4/package.json +++ b/packages/openapi-ts-tests/zod/v4/package.json @@ -12,6 +12,6 @@ "zod": "4.3.6" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/openapi-ts/README.md b/packages/openapi-ts/README.md index 706e1b842..7bd01598c 100644 --- a/packages/openapi-ts/README.md +++ b/packages/openapi-ts/README.md @@ -33,7 +33,7 @@ Part of the Hey API ecosystem. ## Features - production-ready code that compiles -- runs in any Node.js 20+ environment +- runs in any Node.js 22+ environment - accepts any OpenAPI specification - core plugins for SDKs, types, and schemas - HTTP clients for Fetch API, Angular, Axios, Next.js, Nuxt, and more diff --git a/packages/openapi-ts/package.json b/packages/openapi-ts/package.json index 9f5520075..5f1330c63 100644 --- a/packages/openapi-ts/package.json +++ b/packages/openapi-ts/package.json @@ -101,6 +101,6 @@ "typescript": ">=5.5.3 || >=6.0.0 || 6.0.1-rc" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } } diff --git a/packages/shared/package.json b/packages/shared/package.json index 6ab754844..24937fc0a 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -57,6 +57,6 @@ "yaml": "2.8.2" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.13.0" } }