diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 2a5a51b6..93d65323 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -59,8 +59,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 diff --git a/package-lock.json b/package-lock.json index 529536c4..2c1db418 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,10 +15,10 @@ "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.1", - "typescript": "4.6.4" + "typescript": "5.8.2" }, "engines": { "npm": ">=7" @@ -49,12 +49,13 @@ "link": true }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -63,9 +64,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -1913,11 +1914,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": { @@ -13181,21 +13183,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -13336,13 +13323,14 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -13354,12 +13342,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -14204,16 +14193,17 @@ } }, "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, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uglify-js": { @@ -14230,9 +14220,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", @@ -14627,20 +14618,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": { @@ -14656,20 +14634,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": { @@ -14694,26 +14659,13 @@ "@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/opentelemetry-instrumentation-express": { "name": "@opentelemetry/instrumentation-express", "version": "0.51.0", @@ -14755,20 +14707,7 @@ "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": { @@ -14784,7 +14723,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", @@ -14793,25 +14732,12 @@ "io-ts-types": "0.5.19", "superagent": "10.1.1", "supertest": "7.1.4", - "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", @@ -14830,7 +14756,7 @@ "@opentelemetry/sdk-trace-node": "1.30.1", "@swc-node/register": "1.10.9", "c8": "10.1.3", - "typescript": "4.7.4" + "typescript": "5.8.2" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" @@ -14840,19 +14766,6 @@ "optional": true } } - }, - "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" - } } } } diff --git a/package.json b/package.json index 93f16a3b..53f58a16 100644 --- a/package.json +++ b/package.json @@ -24,10 +24,10 @@ "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.1", - "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/express-wrapper/src/middleware.ts b/packages/express-wrapper/src/middleware.ts index 947760f7..8c3927dc 100644 --- a/packages/express-wrapper/src/middleware.ts +++ b/packages/express-wrapper/src/middleware.ts @@ -80,7 +80,7 @@ export type MiddlewareChain = ]; export type MiddlewareChainOutput< - Input, + Input extends {}, Chain extends MiddlewareChain, > = Chain extends [] ? Input 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 2048ca81..a26b7534 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", @@ -34,7 +34,7 @@ "io-ts-types": "0.5.19", "superagent": "10.1.1", "supertest": "7.1.4", - "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 cf8b59e1..8231be34 100644 --- a/packages/typed-express-router/package.json +++ b/packages/typed-express-router/package.json @@ -35,7 +35,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", "@opentelemetry/sdk-trace-base": "1.30.1", "@opentelemetry/sdk-trace-node": "1.30.1", "@opentelemetry/api": "1.9.0" diff --git a/patches/io-ts+2.1.3.patch b/patches/io-ts+2.1.3.patch new file mode 100644 index 00000000..d7196835 --- /dev/null +++ b/patches/io-ts+2.1.3.patch @@ -0,0 +1,19 @@ +This is a backport of this fix to version 2.1.3: +https://github.com/gcanti/io-ts/pull/657 + +It allows Typescript to be upgraded beyond version 4.7.4 + +diff --git a/node_modules/io-ts/lib/index.d.ts b/node_modules/io-ts/lib/index.d.ts +index 17c4ce8..1a7545c 100644 +--- a/node_modules/io-ts/lib/index.d.ts ++++ b/node_modules/io-ts/lib/index.d.ts +@@ -996,6 +996,6 @@ export declare type Exact = T & { + * @since 1.1.0 + * @deprecated + */ +-export declare function alias(codec: PartialType): , OO extends Exact = O, PP extends Exact = P, II extends I = I>() => PartialType; +-export declare function alias(codec: StrictType): , OO extends Exact = O, PP extends Exact = P, II extends I = I>() => StrictType; +-export declare function alias(codec: InterfaceType): , OO extends Exact = O, PP extends Exact = P, II extends I = I>() => InterfaceType; ++export declare function alias(codec: PartialType): () => PartialType; ++export declare function alias(codec: StrictType): () => StrictType; ++export declare function alias(codec: InterfaceType): () => InterfaceType;