From 71143c85684058aea83c225259d9a78611378a02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 08:25:19 +0000 Subject: [PATCH 1/4] chore(deps-dev): bump @types/node from 22.5.0 to 22.13.9 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.0 to 22.13.9. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 20 +++++++++++--------- package.json | 2 +- packages/superagent-wrapper/package.json | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9fbafb96..e68f85e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "devDependencies": { "@semantic-release-extras/github-comment-specific": "1.0.7", "@semantic-release/npm": "12.0.1", - "@types/node": "22.5.0", + "@types/node": "22.13.9", "multi-semantic-release": "3.0.2", "patch-package": "8.0.0", "typescript": "4.6.4" @@ -1786,11 +1786,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.0.tgz", - "integrity": "sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==", + "version": "22.13.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz", + "integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==", + "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.20.0" } }, "node_modules/@types/normalize-package-data": { @@ -14026,9 +14027,10 @@ } }, "node_modules/undici-types": { - "version": "6.19.6", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.6.tgz", - "integrity": "sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==" + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", @@ -14538,7 +14540,7 @@ "devDependencies": { "@swc-node/register": "1.10.9", "@types/express": "4.17.21", - "@types/node": "22.5.0", + "@types/node": "22.13.9", "@types/superagent": "8.1.9", "@types/supertest": "6.0.2", "@types/whatwg-url": "13.0.0", diff --git a/package.json b/package.json index 0fd4d6c8..c909996d 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "devDependencies": { "@semantic-release-extras/github-comment-specific": "1.0.7", "@semantic-release/npm": "12.0.1", - "@types/node": "22.5.0", + "@types/node": "22.13.9", "multi-semantic-release": "3.0.2", "patch-package": "8.0.0", "typescript": "4.6.4" diff --git a/packages/superagent-wrapper/package.json b/packages/superagent-wrapper/package.json index faf8d16f..311a4098 100644 --- a/packages/superagent-wrapper/package.json +++ b/packages/superagent-wrapper/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@swc-node/register": "1.10.9", "@types/express": "4.17.21", - "@types/node": "22.5.0", + "@types/node": "22.13.9", "@types/superagent": "8.1.9", "@types/supertest": "6.0.2", "@types/whatwg-url": "13.0.0", From 6120a208974f13cb04c3f668dc7dacdab9b00afb Mon Sep 17 00:00:00 2001 From: Eric Crosson Date: Tue, 4 Mar 2025 08:55:18 -0600 Subject: [PATCH 2/4] chore(dependabot): permit TypeScript upgrades Now that we use patch-package to make io-ts@2.1.3 compatible with TypeScript >4.7.4, we can upgrade our TypeScript version at will. --- .github/dependabot.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 73ad112d..762e3bf6 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -34,8 +34,6 @@ updates: update-types: ['version-update:semver-patch'] - dependency-name: io-ts versions: ['2.x'] - - dependency-name: typescript - versions: ['>4.8'] - dependency-name: '@semantic-release-extras/github-comment-specific' versions: ['>1.0.7'] # Ignore @swc/* dependencies due to upstream issues From 9dca3936154a3abc3f9d3af2488012a53b640de6 Mon Sep 17 00:00:00 2001 From: Eric Crosson Date: Tue, 4 Mar 2025 09:40:21 -0600 Subject: [PATCH 3/4] chore(deps): bump typescript to 5.8.2 --- package-lock.json | 115 ++---------------- package.json | 2 +- packages/express-wrapper/package.json | 2 +- packages/io-ts-http/package.json | 2 +- packages/openapi-generator/package.json | 2 +- packages/response/package.json | 2 +- packages/superagent-wrapper/package.json | 2 +- packages/typed-express-router/package.json | 2 +- .../tutorial-basics/create-an-api-spec.md | 2 +- .../tutorial-basics/create-an-http-client.md | 2 +- .../tutorial-basics/create-an-http-server.md | 2 +- .../render-an-open-api-spec.md | 2 +- 12 files changed, 22 insertions(+), 115 deletions(-) diff --git a/package-lock.json b/package-lock.json index e68f85e0..2d1138c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@types/node": "22.13.9", "multi-semantic-release": "3.0.2", "patch-package": "8.0.0", - "typescript": "4.6.4" + "typescript": "5.8.2" }, "engines": { "npm": ">=7" @@ -12997,21 +12997,6 @@ "node": ">=14.18" } }, - "node_modules/semantic-release/node_modules/typescript": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", - "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/semantic-release/node_modules/universal-user-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", @@ -14001,16 +13986,16 @@ } }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uglify-js": { @@ -14419,20 +14404,7 @@ "@swc-node/register": "1.10.9", "@types/express": "4.17.21", "c8": "10.1.3", - "typescript": "4.7.4" - } - }, - "packages/express-wrapper/node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "typescript": "5.8.2" } }, "packages/io-ts-http": { @@ -14448,20 +14420,7 @@ "devDependencies": { "@swc-node/register": "1.10.9", "c8": "10.1.3", - "typescript": "4.7.4" - } - }, - "packages/io-ts-http/node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "typescript": "5.8.2" } }, "packages/openapi-generator": { @@ -14486,45 +14445,19 @@ "@types/resolve": "1.20.6", "c8": "10.1.3", "memfs": "4.17.0", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "optionalDependencies": { "@swc/core-darwin-arm64": "1.5.7", "@swc/core-linux-x64-gnu": "1.5.7" } }, - "packages/openapi-generator/node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "packages/response": { "name": "@api-ts/response", "version": "0.0.0-semantically-released", "license": "Apache-2.0", "devDependencies": { - "typescript": "4.7.4" - } - }, - "packages/response/node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "typescript": "5.8.2" } }, "packages/superagent-wrapper": { @@ -14549,25 +14482,12 @@ "io-ts-types": "0.5.19", "superagent": "10.1.1", "supertest": "7.0.0", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "peerDependencies": { "superagent": "*" } }, - "packages/superagent-wrapper/node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "packages/typed-express-router": { "name": "@api-ts/typed-express-router", "version": "0.0.0-semantically-released", @@ -14583,20 +14503,7 @@ "@api-ts/superagent-wrapper": "0.0.0-semantically-released", "@swc-node/register": "1.10.9", "c8": "10.1.3", - "typescript": "4.7.4" - } - }, - "packages/typed-express-router/node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "typescript": "5.8.2" } } } diff --git a/package.json b/package.json index c909996d..ecfa6ae8 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@types/node": "22.13.9", "multi-semantic-release": "3.0.2", "patch-package": "8.0.0", - "typescript": "4.6.4" + "typescript": "5.8.2" }, "engines": { "npm": ">=7" diff --git a/packages/express-wrapper/package.json b/packages/express-wrapper/package.json index 54a66d89..07f8692b 100644 --- a/packages/express-wrapper/package.json +++ b/packages/express-wrapper/package.json @@ -28,7 +28,7 @@ "@swc-node/register": "1.10.9", "@types/express": "4.17.21", "c8": "10.1.3", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "publishConfig": { "access": "public" diff --git a/packages/io-ts-http/package.json b/packages/io-ts-http/package.json index c6b8a287..d162d0d4 100644 --- a/packages/io-ts-http/package.json +++ b/packages/io-ts-http/package.json @@ -27,7 +27,7 @@ "devDependencies": { "@swc-node/register": "1.10.9", "c8": "10.1.3", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "publishConfig": { "access": "public" diff --git a/packages/openapi-generator/package.json b/packages/openapi-generator/package.json index c1f8c81f..39b106dd 100644 --- a/packages/openapi-generator/package.json +++ b/packages/openapi-generator/package.json @@ -36,7 +36,7 @@ "@types/resolve": "1.20.6", "c8": "10.1.3", "memfs": "4.17.0", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "optionalDependencies": { "@swc/core-linux-x64-gnu": "1.5.7", diff --git a/packages/response/package.json b/packages/response/package.json index aa341ef5..13148fbb 100644 --- a/packages/response/package.json +++ b/packages/response/package.json @@ -18,7 +18,7 @@ "clean": "rm -rf -- dist" }, "devDependencies": { - "typescript": "4.7.4" + "typescript": "5.8.2" }, "publishConfig": { "access": "public" diff --git a/packages/superagent-wrapper/package.json b/packages/superagent-wrapper/package.json index 311a4098..a31a147e 100644 --- a/packages/superagent-wrapper/package.json +++ b/packages/superagent-wrapper/package.json @@ -34,7 +34,7 @@ "io-ts-types": "0.5.19", "superagent": "10.1.1", "supertest": "7.0.0", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "peerDependencies": { "superagent": "*" diff --git a/packages/typed-express-router/package.json b/packages/typed-express-router/package.json index 940900fe..8331f404 100644 --- a/packages/typed-express-router/package.json +++ b/packages/typed-express-router/package.json @@ -27,7 +27,7 @@ "@api-ts/superagent-wrapper": "0.0.0-semantically-released", "@swc-node/register": "1.10.9", "c8": "10.1.3", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "publishConfig": { "access": "public" diff --git a/website/docs/tutorial-basics/create-an-api-spec.md b/website/docs/tutorial-basics/create-an-api-spec.md index c2e2a8ba..79733395 100644 --- a/website/docs/tutorial-basics/create-an-api-spec.md +++ b/website/docs/tutorial-basics/create-an-api-spec.md @@ -54,7 +54,7 @@ In your new directory, create a `package.json` file: "io-ts": "2.1.3" }, "devDependencies": { - "typescript": "4.7.4" + "typescript": "5.8.2" } } ``` diff --git a/website/docs/tutorial-basics/create-an-http-client.md b/website/docs/tutorial-basics/create-an-http-client.md index 45b79055..ec84c80a 100644 --- a/website/docs/tutorial-basics/create-an-http-client.md +++ b/website/docs/tutorial-basics/create-an-http-client.md @@ -32,7 +32,7 @@ As before, first edit your `package.json` file to add our new dependencies "@types/express": "4.17.13", "@types/node": "18.6.1", "@types/superagent": "4.1.15", - "typescript": "4.7.4" + "typescript": "5.8.2" } } ``` diff --git a/website/docs/tutorial-basics/create-an-http-server.md b/website/docs/tutorial-basics/create-an-http-server.md index 5a0a8ae1..8733ae62 100644 --- a/website/docs/tutorial-basics/create-an-http-server.md +++ b/website/docs/tutorial-basics/create-an-http-server.md @@ -34,7 +34,7 @@ First, edit your `package.json` file to add a few new dependencies (highlighted) "devDependencies": { "@types/express": "4.17.13", "@types/node": "18.6.1", - "typescript": "4.7.4" + "typescript": "5.8.2" } } ``` diff --git a/website/docs/tutorial-basics/render-an-open-api-spec.md b/website/docs/tutorial-basics/render-an-open-api-spec.md index 9b6a2f2a..312d0648 100644 --- a/website/docs/tutorial-basics/render-an-open-api-spec.md +++ b/website/docs/tutorial-basics/render-an-open-api-spec.md @@ -36,7 +36,7 @@ As before, first edit your `package.json` file to add our new dependencies "@types/express": "4.17.13", "@types/node": "18.6.1", "@types/superagent": "4.1.15", - "typescript": "4.7.4" + "typescript": "5.8.2" } } ``` From 8b795121070c836064b0da945a73ec5ec688a886 Mon Sep 17 00:00:00 2001 From: Eric Crosson Date: Tue, 4 Mar 2025 09:40:39 -0600 Subject: [PATCH 4/4] test: decouple test case from typescript version The externalModuleApiSpec tests are currently using the installed TypeScript version as the api spec version. This means when we bump the TypeScript version, we break tests. This commit specifies a literal version number instead of pulling the version number from TypeScript, so tests don't break when we update the TypeScript version. --- .../test/externalModuleApiSpec.test.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/openapi-generator/test/externalModuleApiSpec.test.ts b/packages/openapi-generator/test/externalModuleApiSpec.test.ts index 401d70c8..eb623f7c 100644 --- a/packages/openapi-generator/test/externalModuleApiSpec.test.ts +++ b/packages/openapi-generator/test/externalModuleApiSpec.test.ts @@ -1,6 +1,5 @@ import assert from 'assert'; import test from 'node:test'; -import { version } from 'typescript'; import { Project, Route, @@ -118,7 +117,7 @@ async function testCase( const openapi = convertRoutesToOpenAPI( { title: name, - version, + version: "1.0.0", description, }, [], @@ -138,7 +137,7 @@ testCase( openapi: '3.0.3', info: { title: 'simple api spec with imported types', - version: '4.7.4', + version: '1.0.0', description: 'simple api spec with imported types', }, paths: { @@ -237,7 +236,7 @@ testCase( openapi: '3.0.3', info: { title: 'simple api spec with exported enum', - version: '4.7.4', + version: '1.0.0', description: 'simple api spec with exported enum', }, paths: { @@ -279,7 +278,7 @@ testCase( openapi: "3.0.3", info: { title: "simple api spec with exported union type", - version: "4.7.4", + version: "1.0.0", description: "simple api spec with exported union type" }, paths: { @@ -324,7 +323,7 @@ testCase("simple api spec with custom codec", "test/sample-types/apiSpecWithCust openapi: "3.0.3", info: { title: "simple api spec with custom codec", - version: "4.7.4", + version: "1.0.0", description: "simple api spec with custom codec" }, paths: { @@ -363,4 +362,4 @@ testCase("simple api spec with custom codec", "test/sample-types/apiSpecWithCust components: { schemas: {} } -}, []); \ No newline at end of file +}, []);