diff --git a/.gitignore b/.gitignore index 82adcb5..d343be5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ _site coverage -lib +dist node_modules tmp tsdoc-metadata.json \ No newline at end of file diff --git a/api-extractor.json b/api-extractor.json index 5d1d6b1..1efce09 100644 --- a/api-extractor.json +++ b/api-extractor.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "/lib/index.d.ts", + "mainEntryPointFilePath": "/dist/index.d.ts", "compiler": {}, "apiReport": { "enabled": true, diff --git a/package-lock.json b/package-lock.json index d035986..df03c62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,12 +30,12 @@ "@cucumber/biome-config": "cucumber/biome-config#v0.1.0", "@cucumber/compatibility-kit": "^28.0.0", "@microsoft/api-extractor": "7.58.7", - "@tsconfig/node22": "^22.0.0", + "@tsconfig/recommended": "^1.0.13", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.27.0", "@types/chai": "^5.0.1", "@types/mocha": "^10.0.10", - "@types/node": "^22.13.14", + "@types/node": "^22.19.19", "@types/stack-utils": "^2.0.3", "c8": "^11.0.0", "chai": "^6.0.0", @@ -43,8 +43,8 @@ "mocha": "^11.0.1", "tsx": "^4.21.0", "type-fest": "^5.3.1", - "typedoc": "^0.28.0", - "typescript": "^5.7.3" + "typedoc": "^0.28.19", + "typescript": "^6.0.0" } }, "node_modules/@babel/code-frame": { @@ -854,16 +854,16 @@ } }, "node_modules/@gerrit0/mini-shiki": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.4.0.tgz", - "integrity": "sha512-48lKoQegmfJ0iyR/jRz5OrYOSM3WewG9YWCPqUvYFEC54shQO8RsAaspaK/2PRHVVnjekRqfAFvq8pwCpIo5ig==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-3.23.0.tgz", + "integrity": "sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-oniguruma": "^3.4.0", - "@shikijs/langs": "^3.4.0", - "@shikijs/themes": "^3.4.0", - "@shikijs/types": "^3.4.0", + "@shikijs/engine-oniguruma": "^3.23.0", + "@shikijs/langs": "^3.23.0", + "@shikijs/themes": "^3.23.0", + "@shikijs/types": "^3.23.0", "@shikijs/vscode-textmate": "^10.0.2" } }, @@ -1207,40 +1207,40 @@ } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.4.0.tgz", - "integrity": "sha512-zwcWlZ4OQuJ/+1t32ClTtyTU1AiDkK1lhtviRWoq/hFqPjCNyLj22bIg9rB7BfoZKOEOfrsGz7No33BPCf+WlQ==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.4.0", + "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.4.0.tgz", - "integrity": "sha512-bQkR+8LllaM2duU9BBRQU0GqFTx7TuF5kKlw/7uiGKoK140n1xlLAwCgXwSxAjJ7Htk9tXTFwnnsJTCU5nDPXQ==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.4.0" + "@shikijs/types": "3.23.0" } }, "node_modules/@shikijs/themes": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.4.0.tgz", - "integrity": "sha512-YPP4PKNFcFGLxItpbU0ZW1Osyuk8AyZ24YEFaq04CFsuCbcqydMvMUTi40V2dkc0qs1U2uZFrnU6s5zI6IH+uA==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.4.0" + "@shikijs/types": "3.23.0" } }, "node_modules/@shikijs/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.4.0.tgz", - "integrity": "sha512-EUT/0lGiE//7j5N/yTMNMT3eCWNcHJLrRKxT0NDXWIfdfSmFJKfPX7nMmRBrQnWboAzIsUziCThrYMMhjbMS1A==", + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1276,10 +1276,10 @@ "node": ">=14" } }, - "node_modules/@tsconfig/node22": { - "version": "22.0.5", - "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.5.tgz", - "integrity": "sha512-hLf2ld+sYN/BtOJjHUWOk568dvjFQkHnLNa6zce25GIH+vxKfvTgm3qpaH6ToF5tu/NN0IH66s+Bb5wElHrLcw==", + "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" }, @@ -1349,9 +1349,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", - "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", + "version": "22.19.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", + "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", "dev": true, "license": "MIT", "dependencies": { @@ -2626,9 +2626,9 @@ } }, "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", "dev": true, "license": "MIT", "dependencies": { @@ -3486,17 +3486,17 @@ } }, "node_modules/typedoc": { - "version": "0.28.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.4.tgz", - "integrity": "sha512-xKvKpIywE1rnqqLgjkoq0F3wOqYaKO9nV6YkkSat6IxOWacUCc/7Es0hR3OPmkIqkPoEn7U3x+sYdG72rstZQA==", + "version": "0.28.19", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.28.19.tgz", + "integrity": "sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@gerrit0/mini-shiki": "^3.2.2", + "@gerrit0/mini-shiki": "^3.23.0", "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "yaml": "^2.7.1" + "markdown-it": "^14.1.1", + "minimatch": "^10.2.5", + "yaml": "^2.8.3" }, "bin": { "typedoc": "bin/typedoc" @@ -3506,13 +3506,52 @@ "pnpm": ">= 10" }, "peerDependencies": { - "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x" + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x" + } + }, + "node_modules/typedoc/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "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": { @@ -3712,16 +3751,19 @@ } }, "node_modules/yaml": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", - "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { diff --git a/package.json b/package.json index b3d3ca6..c6d656e 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,13 @@ "type": "module", "repository": "github:cucumber/cucumber-node", "exports": { - ".": "./lib/index.js", - "./bootstrap": "./lib/bootstrap/index.js", - "./reporters/*": "./lib/reporters/builtin/*.js", - "./runner": "./lib/runner/index.js" + ".": "./dist/index.js", + "./bootstrap": "./dist/bootstrap/index.js", + "./reporters/*": "./dist/reporters/builtin/*.js", + "./runner": "./dist/runner/index.js" }, "files": [ - "lib/" + "dist/" ], "scripts": { "build": "tsc --project tsconfig.build.json", @@ -51,12 +51,12 @@ "@cucumber/biome-config": "cucumber/biome-config#v0.1.0", "@cucumber/compatibility-kit": "^28.0.0", "@microsoft/api-extractor": "7.58.7", - "@tsconfig/node22": "^22.0.0", + "@tsconfig/recommended": "^1.0.13", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.27.0", "@types/chai": "^5.0.1", "@types/mocha": "^10.0.10", - "@types/node": "^22.13.14", + "@types/node": "^22.19.19", "@types/stack-utils": "^2.0.3", "c8": "^11.0.0", "chai": "^6.0.0", @@ -64,7 +64,7 @@ "mocha": "^11.0.1", "tsx": "^4.21.0", "type-fest": "^5.3.1", - "typedoc": "^0.28.0", - "typescript": "^5.7.3" + "typedoc": "^0.28.19", + "typescript": "^6.0.0" } } diff --git a/tsconfig.build.json b/tsconfig.build.json index 74cb3c9..851de8a 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,5 +1,9 @@ { "extends": "./tsconfig.json", "include": ["src"], - "exclude": ["src/**/*.spec.*"] + "exclude": ["src/**/*.spec.*"], + "compilerOptions": { + "rootDir": "src", + "outDir": "dist" + } } diff --git a/tsconfig.json b/tsconfig.json index c54e9a9..cf7b75b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,10 +1,13 @@ { - "extends": "@tsconfig/node22/tsconfig.json", + "extends": "@tsconfig/recommended/tsconfig.json", "include": ["src", "test"], "compilerOptions": { - "declaration": true, + "lib": ["es2024"], + "target": "es2024", "module": "NodeNext", - "outDir": "lib", + "moduleResolution": "NodeNext", + "types": ["node", "mocha", "chai"], + "declaration": true, "inlineSourceMap": true } }