From 0da87013fdbdfb10427ccd30e55c414aee0f74f9 Mon Sep 17 00:00:00 2001 From: David Goss Date: Sun, 7 Apr 2024 07:41:38 +0100 Subject: [PATCH 1/4] bump cucumber deps --- package-lock.json | 50 ++++++++++++----------------------------------- package.json | 14 ++++++------- 2 files changed, 20 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index 117acbce6..593b36acb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,7 +56,7 @@ }, "devDependencies": { "@cucumber/compatibility-kit": "15.0.0", - "@cucumber/query": "12.0.1", + "@cucumber/query": "12.1.2", "@microsoft/api-extractor": "7.39.0", "@sinonjs/fake-timers": "10.0.2", "@types/chai": "4.3.4", @@ -114,6 +114,9 @@ }, "engines": { "node": "18 || >=20" + }, + "funding": { + "url": "https://opencollective.com/cucumber" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -698,14 +701,6 @@ "uuid": "9.0.0" } }, - "node_modules/@cucumber/gherkin-utils/node_modules/@teppeis/multimaps": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-3.0.0.tgz", - "integrity": "sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q==", - "engines": { - "node": ">=14" - } - }, "node_modules/@cucumber/gherkin-utils/node_modules/@types/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz", @@ -777,25 +772,13 @@ } }, "node_modules/@cucumber/query": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@cucumber/query/-/query-12.0.1.tgz", - "integrity": "sha512-Dk6RGtzFRjylzp6N5jJOylIPxGr0pBr6KtHGTf/74RDFpx2FXpZJSPbEuXkLxtTUBiubVDfouH/oXbiZ17kTrQ==", - "dev": true, - "dependencies": { - "@cucumber/messages": "^19.1.4", - "@teppeis/multimaps": "2.0.0" - } - }, - "node_modules/@cucumber/query/node_modules/@cucumber/messages": { - "version": "19.1.4", - "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-19.1.4.tgz", - "integrity": "sha512-Pksl0pnDz2l1+L5Ug85NlG6LWrrklN9qkMxN5Mv+1XZ3T6u580dnE6mVaxjJRdcOq4tR17Pc0RqIDZMyVY1FlA==", + "version": "12.1.2", + "resolved": "https://registry.npmjs.org/@cucumber/query/-/query-12.1.2.tgz", + "integrity": "sha512-0LPJj2Yt+IjGnOp8HO8GRuLq6S8a9VLtTAaxJiSP0fb81HyktqZuBetnlbXLf0ahySQ70LVyDJzaVDZLdztuiQ==", "dev": true, "dependencies": { - "@types/uuid": "8.3.4", - "class-transformer": "0.5.1", - "reflect-metadata": "0.1.13", - "uuid": "9.0.0" + "@cucumber/messages": "^24.0.0", + "@teppeis/multimaps": "3.0.0" } }, "node_modules/@cucumber/tag-expressions": { @@ -1429,12 +1412,11 @@ "dev": true }, "node_modules/@teppeis/multimaps": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-2.0.0.tgz", - "integrity": "sha512-TL1adzq1HdxUf9WYduLcQ/DNGYiz71U31QRgbnr0Ef1cPyOUOsBojxHVWpFeOSUucB6Lrs0LxFRA14ntgtkc9w==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@teppeis/multimaps/-/multimaps-3.0.0.tgz", + "integrity": "sha512-ID7fosbc50TbT0MK0EG12O+gAP3W3Aa/Pz4DaTtQtEvlc9Odaqi0de+xuZ7Li2GtK4HzEX7IuRWS/JmZLksR3Q==", "engines": { - "node": ">=10.17" + "node": ">=14" } }, "node_modules/@tsconfig/node10": { @@ -1774,12 +1756,6 @@ "integrity": "sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==", "dev": true }, - "node_modules/@types/uuid": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", - "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", - "dev": true - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.7.4", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz", diff --git a/package.json b/package.json index 9641742d9..a3499351e 100644 --- a/package.json +++ b/package.json @@ -209,14 +209,14 @@ "node": "18 || 20 || 21" }, "dependencies": { - "@cucumber/ci-environment": "10.0.0", - "@cucumber/cucumber-expressions": "17.0.1", - "@cucumber/gherkin": "27.0.0", + "@cucumber/ci-environment": "10.0.1", + "@cucumber/cucumber-expressions": "17.1.0", + "@cucumber/gherkin": "28.0.0", "@cucumber/gherkin-streams": "5.0.1", - "@cucumber/gherkin-utils": "8.0.5", - "@cucumber/html-formatter": "21.2.0", + "@cucumber/gherkin-utils": "9.0.0", + "@cucumber/html-formatter": "21.3.1", "@cucumber/message-streams": "4.0.1", - "@cucumber/messages": "24.0.1", + "@cucumber/messages": "24.1.0", "@cucumber/tag-expressions": "6.1.0", "assertion-error-formatter": "^3.0.0", "capital-case": "^1.0.4", @@ -253,7 +253,7 @@ }, "devDependencies": { "@cucumber/compatibility-kit": "15.0.0", - "@cucumber/query": "12.0.1", + "@cucumber/query": "12.1.2", "@microsoft/api-extractor": "7.39.0", "@sinonjs/fake-timers": "10.0.2", "@types/chai": "4.3.4", From 262ac3886c66095f402358211da80c570d0e69b0 Mon Sep 17 00:00:00 2001 From: David Goss Date: Sun, 7 Apr 2024 08:26:16 +0100 Subject: [PATCH 2/4] add more debug logging around loading --- src/api/load_support.ts | 1 + src/api/run_cucumber.ts | 1 + src/api/support.ts | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/api/load_support.ts b/src/api/load_support.ts index 0fec368ec..32000456c 100644 --- a/src/api/load_support.ts +++ b/src/api/load_support.ts @@ -33,6 +33,7 @@ export async function loadSupport( pluginManager.emit('paths:resolve', resolvedPaths) const { requirePaths, importPaths } = resolvedPaths const supportCodeLibrary = await getSupportCodeLibrary({ + logger, cwd, newId, requireModules: options.support.requireModules, diff --git a/src/api/run_cucumber.ts b/src/api/run_cucumber.ts index ce141173a..3ea557702 100644 --- a/src/api/run_cucumber.ts +++ b/src/api/run_cucumber.ts @@ -57,6 +57,7 @@ export async function runCucumber( 'originalCoordinates' in options.support ? (options.support as SupportCodeLibrary) : await getSupportCodeLibrary({ + logger, cwd, newId, requirePaths, diff --git a/src/api/support.ts b/src/api/support.ts index cf84b44d7..486834bbd 100644 --- a/src/api/support.ts +++ b/src/api/support.ts @@ -3,14 +3,17 @@ import { IdGenerator } from '@cucumber/messages' import { SupportCodeLibrary } from '../support_code_library_builder/types' import supportCodeLibraryBuilder from '../support_code_library_builder' import tryRequire from '../try_require' +import { ILogger } from '../logger' export async function getSupportCodeLibrary({ + logger, cwd, newId, requireModules, requirePaths, importPaths, }: { + logger: ILogger cwd: string newId: IdGenerator.NewId requireModules: string[] @@ -23,10 +26,17 @@ export async function getSupportCodeLibrary({ importPaths, }) - requireModules.map((module) => tryRequire(module)) - requirePaths.map((path) => tryRequire(path)) + requireModules.map((path) => { + logger.debug(`Attempting to require code from "${path}"`) + tryRequire(path) + }) + requirePaths.map((path) => { + logger.debug(`Attempting to require code from "${path}"`) + tryRequire(path) + }) for (const path of importPaths) { + logger.debug(`Attempting to import code from "${path}"`) await import(pathToFileURL(path).toString()) } From 9144c2068e5c00e23226671aab86779f4aca473d Mon Sep 17 00:00:00 2001 From: David Goss Date: Sun, 7 Apr 2024 08:29:01 +0100 Subject: [PATCH 3/4] update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8473722b2..57900002d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). Please see [CONTRIBUTING.md](./CONTRIBUTING.md) on how to contribute to Cucumber. ## [Unreleased] +### Added +- Add more debug logging around code loading ([#2389](https://github.com/cucumber/cucumber-js/pull/2389)) ## [10.3.2] - 2024-03-27 ### Changed From 6b9df2ccb4489bee3b80b9262bddb3a353dd9040 Mon Sep 17 00:00:00 2001 From: David Goss Date: Sun, 7 Apr 2024 08:32:40 +0100 Subject: [PATCH 4/4] log environment when merged --- src/api/environment.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/api/environment.ts b/src/api/environment.ts index ee5d50ec1..5b9ac3eac 100644 --- a/src/api/environment.ts +++ b/src/api/environment.ts @@ -18,8 +18,13 @@ export function mergeEnvironment( }, provided ) + const logger = new ConsoleLogger( + fullEnvironment.stderr, + fullEnvironment.debug + ) + logger.debug('Resolved environment:', fullEnvironment) return { ...fullEnvironment, - logger: new ConsoleLogger(fullEnvironment.stderr, fullEnvironment.debug), + logger: logger, } }