From 981be4f9cb2d478d8f89ece4293636bdea9a49ac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 23:58:33 +0000 Subject: [PATCH 1/3] chore(deps): update dependency typescript to v6 --- javascript/package-lock.json | 8 ++++---- javascript/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/javascript/package-lock.json b/javascript/package-lock.json index 5bfe8d3d..ac84a2f0 100644 --- a/javascript/package-lock.json +++ b/javascript/package-lock.json @@ -28,7 +28,7 @@ "rimraf": "^6.0.0", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "@cucumber/messages": "*" @@ -1852,9 +1852,9 @@ "license": "0BSD" }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/javascript/package.json b/javascript/package.json index fb0c2042..0dcaed27 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -41,7 +41,7 @@ "rimraf": "^6.0.0", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", - "typescript": "5.9.3" + "typescript": "6.0.3" }, "peerDependencies": { "@cucumber/messages": "*" From 14789833da050945a87fcf546b721cdbb5c3bcca Mon Sep 17 00:00:00 2001 From: David Goss Date: Wed, 3 Jun 2026 19:43:36 +0100 Subject: [PATCH 2/3] chore: adopt @tsconfig/recommended config for TypeScript 6 Resync the lockfile for the typescript@6 bump and replace the tsconfig.base.json + per-tool override layout with the cucumber javascript-core standard: a single tsconfig.json extending @tsconfig/recommended (es2024 lib/target, NodeNext modules, explicit types array) plus a thin tsconfig.build.json. TS6 stopped auto-including transitive @types, so node/mocha are now listed explicitly via compilerOptions.types. @tsconfig/recommended enables full strict; strictNullChecks and strictPropertyInitialization are switched back off to preserve this project's existing posture (it never had strict null checks) and keep the bump diff-neutral. Drop the now-missing source-map-support/register and unused tsx extension from the mocha config. --- javascript/.mocharc.json | 4 ++-- javascript/package-lock.json | 8 ++++++++ javascript/package.json | 1 + javascript/tsconfig.base.json | 20 -------------------- javascript/tsconfig.build.json | 19 ++++++------------- javascript/tsconfig.json | 18 ++++++++++++------ 6 files changed, 29 insertions(+), 41 deletions(-) delete mode 100644 javascript/tsconfig.base.json diff --git a/javascript/.mocharc.json b/javascript/.mocharc.json index b2ba4bc1..dc536371 100644 --- a/javascript/.mocharc.json +++ b/javascript/.mocharc.json @@ -1,6 +1,6 @@ { - "require": ["ts-node/register", "source-map-support/register"], - "extension": ["ts", "tsx"], + "require": ["ts-node/register"], + "extension": ["ts"], "recursive": true, "spec": ["src/**/*.spec.*"], "timeout": 10000 diff --git a/javascript/package-lock.json b/javascript/package-lock.json index ac84a2f0..159d5771 100644 --- a/javascript/package-lock.json +++ b/javascript/package-lock.json @@ -17,6 +17,7 @@ "@cucumber/biome-config": "github:cucumber/biome-config#v0.1.0", "@cucumber/message-streams": "^4.0.1", "@cucumber/messages": "32.3.1", + "@tsconfig/recommended": "^1.0.13", "@types/lodash.sortby": "^4.7.9", "@types/mocha": "10.0.10", "@types/node": "22.19.19", @@ -384,6 +385,13 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", "dev": true }, + "node_modules/@tsconfig/recommended": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@tsconfig/recommended/-/recommended-1.0.13.tgz", + "integrity": "sha512-sySRuBfMKyKO/j2ZAhR8kSembhjuPEV4Ra3AHtmWLq51+iGaudr45crPSzNC5b7/Ctrh9dfUpBuTlYrH6rM58Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/lodash": { "version": "4.17.17", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.17.tgz", diff --git a/javascript/package.json b/javascript/package.json index 0dcaed27..ee9b31b2 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -30,6 +30,7 @@ "@cucumber/biome-config": "github:cucumber/biome-config#v0.1.0", "@cucumber/message-streams": "^4.0.1", "@cucumber/messages": "32.3.1", + "@tsconfig/recommended": "^1.0.13", "@types/lodash.sortby": "^4.7.9", "@types/mocha": "10.0.10", "@types/node": "22.19.19", diff --git a/javascript/tsconfig.base.json b/javascript/tsconfig.base.json deleted file mode 100644 index e7439e8d..00000000 --- a/javascript/tsconfig.base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "target": "es2018", - "lib": ["es2019", "dom"], - "sourceMap": true, - "allowJs": false, - "jsx": "react", - "resolveJsonModule": true, - "module": "commonjs", - "esModuleInterop": true, - "noImplicitAny": true, - "moduleResolution": "node", - "outDir": "dist", - "downlevelIteration": true, - "skipLibCheck": true, - "strictNullChecks": false, - "experimentalDecorators": true - } -} diff --git a/javascript/tsconfig.build.json b/javascript/tsconfig.build.json index 159ad9f8..851de8ae 100644 --- a/javascript/tsconfig.build.json +++ b/javascript/tsconfig.build.json @@ -1,16 +1,9 @@ { - "extends": "./tsconfig.base.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "dist", - "composite": true, - "declaration": true, - "declarationMap": true, - "sourceMap": true, - "inlineSources": true, - "target": "es6", - "module": "commonjs" - }, + "extends": "./tsconfig.json", "include": ["src"], - "exclude": ["src/**/*.spec.*"] + "exclude": ["src/**/*.spec.*"], + "compilerOptions": { + "rootDir": "src", + "outDir": "dist" + } } diff --git a/javascript/tsconfig.json b/javascript/tsconfig.json index 1af726cd..827e7af5 100644 --- a/javascript/tsconfig.json +++ b/javascript/tsconfig.json @@ -1,10 +1,16 @@ { - "extends": "./tsconfig.base.json", + "extends": "@tsconfig/recommended/tsconfig.json", + "include": ["src"], "compilerOptions": { - "baseUrl": ".", - "noEmit": true - }, - "ts-node": { - "files": true + "lib": ["es2024"], + "target": "es2024", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "types": ["node", "mocha"], + "strictNullChecks": false, + "strictPropertyInitialization": false, + "declaration": true, + "inlineSourceMap": true, + "inlineSources": true } } From a7caef0aa431befa56cce2f887b1b7947e708282 Mon Sep 17 00:00:00 2001 From: David Goss Date: Wed, 3 Jun 2026 19:43:49 +0100 Subject: [PATCH 3/3] fix(build): emit to dist/ instead of dist/src/ Setting rootDir: src in tsconfig.build.json (required by TS6's emit disambiguation) redirects compiled output from dist/src/** to the top-level dist/**, so point main/types at the new paths. Mark the package type: commonjs to make NodeNext resolution unambiguous, and switch the build scripts from tsc --build to tsc -p (no composite / project references in use). --- javascript/package.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/javascript/package.json b/javascript/package.json index ee9b31b2..056fec30 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -2,15 +2,16 @@ "name": "@cucumber/query", "version": "15.0.1", "description": "Cucumber Query - query messages", - "main": "dist/src/index.js", - "types": "dist/src/index.d.ts", + "type": "commonjs", + "main": "dist/index.js", + "types": "dist/index.d.ts", "scripts": { - "build": "tsc --build tsconfig.build.json", + "build": "tsc -p tsconfig.build.json", "clean": "rm -rf dist", "fix": "biome check --fix --error-on-warnings", "lint": "biome check --error-on-warnings", "test": "mocha", - "prepublishOnly": "tsc --build tsconfig.build.json" + "prepublishOnly": "tsc -p tsconfig.build.json" }, "repository": { "type": "git",