@gnuechtel/nx-cucumber 1.3.0 → 1.4.0-13304319253

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gnuechtel/nx-cucumber",
3
- "version": "1.3.0",
3
+ "version": "1.4.0-13304319253",
4
4
  "description": "Plugin to use Cucumber within Nx workspaces",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,8 +11,8 @@
11
11
  "dependencies": {
12
12
  "@nx/devkit": ">=20 <23",
13
13
  "tslib": "^2.3.0",
14
- "@gnuechtel/shared-coverage": "1.3.0",
15
- "@gnuechtel/shared-util": "1.3.0"
14
+ "@gnuechtel/shared-coverage": "1.4.0-13304319253",
15
+ "@gnuechtel/shared-util": "1.4.0-13304319253"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "cucumber-html-reporter": "^7.1.0",
@@ -46,7 +46,6 @@ function createCucumberHtmlReport(options) {
46
46
  return true;
47
47
  }
48
48
  function buildCucumberReportMetadata(options, reportOptions, e2eApplicationName, getVersion = shared_util_1.getPackageVersion) {
49
- var _a, _b;
50
49
  const projectName = reportOptions.projectName || e2eApplicationName.replace(/-e2e$/, '');
51
50
  const testKind = reportOptions.testKind || (options.testRunner != 'core' ? 'End-to-end tests' : 'Component tests');
52
51
  const nxVersion = getVersion('nx');
@@ -54,12 +53,26 @@ function buildCucumberReportMetadata(options, reportOptions, e2eApplicationName,
54
53
  const playwrightVersion = options.testRunner === 'playwright'
55
54
  ? getVersion('@playwright/test') || getVersion('playwright') || getVersion('playwright-core')
56
55
  : undefined;
57
- const metadata = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ 'Project name': projectName }, (reportOptions.projectTeam ? { 'Project team': reportOptions.projectTeam } : {})), { 'Test kind': testKind, 'Test application': e2eApplicationName, 'Test runner': options.testRunner }), (options.testRunner === 'playwright'
58
- ? {
59
- Browser: options.browser || 'chromium',
60
- 'Browser mode': options.headed ? 'headed' : 'headless',
61
- }
62
- : {})), (options.baseUrl ? { URL: options.baseUrl } : {})), { 'Features directory': options.featuresDirectory }), (options.tags ? { Tags: options.tags } : {})), (((_a = options.name) === null || _a === void 0 ? void 0 : _a.length) && ((_b = options.name) === null || _b === void 0 ? void 0 : _b.length) > 0 ? { 'Name filter': options.name.join(', ') } : {})), (nxVersion ? { 'Nx version': nxVersion } : {})), (cucumberVersion ? { 'Cucumber.js version': cucumberVersion } : {})), (playwrightVersion ? { 'Playwright version': playwrightVersion } : {}));
56
+ const metadata = {
57
+ 'Project name': projectName,
58
+ ...(reportOptions.projectTeam ? { 'Project team': reportOptions.projectTeam } : {}),
59
+ 'Test kind': testKind,
60
+ 'Test application': e2eApplicationName,
61
+ 'Test runner': options.testRunner,
62
+ ...(options.testRunner === 'playwright'
63
+ ? {
64
+ Browser: options.browser || 'chromium',
65
+ 'Browser mode': options.headed ? 'headed' : 'headless',
66
+ }
67
+ : {}),
68
+ ...(options.baseUrl ? { URL: options.baseUrl } : {}),
69
+ 'Features directory': options.featuresDirectory,
70
+ ...(options.tags ? { Tags: options.tags } : {}),
71
+ ...(options.name?.length && options.name?.length > 0 ? { 'Name filter': options.name.join(', ') } : {}),
72
+ ...(nxVersion ? { 'Nx version': nxVersion } : {}),
73
+ ...(cucumberVersion ? { 'Cucumber.js version': cucumberVersion } : {}),
74
+ ...(playwrightVersion ? { 'Playwright version': playwrightVersion } : {}),
75
+ };
63
76
  for (const env in options.env) {
64
77
  // Add every environment variable as single meta data
65
78
  metadata[env] = options.env[env];
@@ -1 +1 @@
1
- {"version":3,"file":"cucumber-report-html.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/cucumber-report-html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cucumber-report-html.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/cucumber-report-html.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Helper module to generate HTML report from Cucumber JSON results\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { getOutputDirectories } from './output-directories';\nimport { TestReportOptions, TestRunOptions } from './test-run-options';\nimport { getPackageVersion, toErrorWithMessage } from '@gnuechtel/shared-util';\n\ntype CucumberHtmlReporter = {\n generate(options: Record<string, unknown>): void;\n};\n\ntype PackageVersionGetter = (packageName: string) => string | undefined;\n\nexport function createCucumberHtmlReport(options: TestRunOptions) {\n const e2eApplicationName = path.basename(options.outputDirectory);\n const reportOptions = (options.reportOptions || {}) as TestReportOptions;\n const projectName = reportOptions.projectName || e2eApplicationName.replace(/-e2e$/, '');\n const testKind = reportOptions.testKind || (options.testRunner != 'core' ? 'End-to-end tests' : 'Component tests');\n const metadata = buildCucumberReportMetadata(options, reportOptions, e2eApplicationName);\n const reportTitle = reportOptions.reportTitle || `${testKind} ${projectName}`;\n\n const { cucumberJsonDirectory: inputDir, htmlDirectory: outputDir } = getOutputDirectories(options.outputDirectory);\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n\n if (!fs.existsSync(inputDir)) {\n console.error(`Cucumber JSON directory ${inputDir} does not exist`);\n return false;\n }\n\n try {\n const reporter = loadCucumberHtmlReporter();\n reporter.generate({\n name: reportTitle,\n brandTitle: ' ',\n theme: 'bootstrap',\n columnLayout: 1,\n jsonDir: inputDir,\n output: `${outputDir}/cucumber-test-report.html`,\n reportSuiteAsScenarios: true,\n launchReport: false,\n metadata,\n });\n } catch (e: unknown) {\n console.error(`Could not create cucumber HTML report: ${toErrorWithMessage(e).message}`);\n return false;\n }\n\n return true;\n}\n\nexport function buildCucumberReportMetadata(\n options: TestRunOptions,\n reportOptions: TestReportOptions,\n e2eApplicationName: string,\n getVersion: PackageVersionGetter = getPackageVersion\n) {\n const projectName = reportOptions.projectName || e2eApplicationName.replace(/-e2e$/, '');\n const testKind = reportOptions.testKind || (options.testRunner != 'core' ? 'End-to-end tests' : 'Component tests');\n const nxVersion = getVersion('nx');\n const cucumberVersion = getVersion('@cucumber/cucumber');\n const playwrightVersion =\n options.testRunner === 'playwright'\n ? getVersion('@playwright/test') || getVersion('playwright') || getVersion('playwright-core')\n : undefined;\n const metadata = {\n 'Project name': projectName,\n ...(reportOptions.projectTeam ? { 'Project team': reportOptions.projectTeam } : {}),\n 'Test kind': testKind,\n 'Test application': e2eApplicationName,\n 'Test runner': options.testRunner,\n ...(options.testRunner === 'playwright'\n ? {\n Browser: options.browser || 'chromium',\n 'Browser mode': options.headed ? 'headed' : 'headless',\n }\n : {}),\n ...(options.baseUrl ? { URL: options.baseUrl } : {}),\n 'Features directory': options.featuresDirectory,\n ...(options.tags ? { Tags: options.tags } : {}),\n ...(options.name?.length && options.name?.length > 0 ? { 'Name filter': options.name.join(', ') } : {}),\n ...(nxVersion ? { 'Nx version': nxVersion } : {}),\n ...(cucumberVersion ? { 'Cucumber.js version': cucumberVersion } : {}),\n ...(playwrightVersion ? { 'Playwright version': playwrightVersion } : {}),\n } as Record<string, string>;\n for (const env in options.env) {\n // Add every environment variable as single meta data\n metadata[env] = options.env[env];\n }\n return metadata;\n}\n\nfunction loadCucumberHtmlReporter(): CucumberHtmlReporter {\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n return require('cucumber-html-reporter') as CucumberHtmlReporter;\n } catch (error) {\n const requiresInstall =\n error instanceof Error &&\n (error.message.includes('Cannot find module') || error.message.includes('Cannot find package'));\n\n if (requiresInstall) {\n throw new Error(\n 'HTML report generation requires \"cucumber-html-reporter\". Install it with: npm i -D cucumber-html-reporter'\n );\n }\n\n throw error;\n }\n}\n"]}
@@ -51,7 +51,6 @@ function debugMessageHandler() {
51
51
  return hook;
52
52
  }
53
53
  function hookText(hook) {
54
- var _a;
55
54
  if (hook.name && hook.tagExpression)
56
55
  return `${hook.name} [${hook.tagExpression}]`;
57
56
  if (hook.name)
@@ -62,7 +61,7 @@ function debugMessageHandler() {
62
61
  if (!source.uri)
63
62
  return hook.id;
64
63
  const shortSourceUri = path.basename(source.uri);
65
- const sourceLine = (_a = source.location) === null || _a === void 0 ? void 0 : _a.line;
64
+ const sourceLine = source.location?.line;
66
65
  if (!sourceLine)
67
66
  return shortSourceUri;
68
67
  return `${shortSourceUri}:${sourceLine}`;
@@ -1 +1 @@
1
- {"version":3,"file":"debug-message-handler.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/debug-message-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-message-handler.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/debug-message-handler.ts"],"names":[],"mappings":";;AAUA,kDAqGC;;AA9GD,mDAA6B;AAE7B,8DAA8D;AAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC;AAE/C;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEtC,SAAS,cAAc,CAAC,UAAkB;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,YAAY,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,YAAY,CAAC,QAAgB;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,YAAY,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,qBAAqB,CAAC,iBAAyB;QACtD,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,iBAAiB,YAAY,CAAC,CAAC;QAC1F,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,SAAS,YAAY,CAAC,QAAkB,EAAE,UAAkB;QAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,UAAU,YAAY,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,SAAS,cAAc,CAAC,MAAc,EAAE,YAAoB;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,YAAY,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,UAAU,CAAC,MAAc;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,QAAQ,CAAC,IAAU;QAC1B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;QACzC,IAAI,CAAC,UAAU;YAAE,OAAO,cAAc,CAAC;QACvC,OAAO,GAAG,cAAc,IAAI,UAAU,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO;QACL;;;WAGG;QACH,SAAS,EAAE,CAAC,OAAiB,EAAE,EAAE;YAC/B,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACjE,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACzE,OAAO,CAAC,eAAe,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;YACrG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;gBAChD,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC/C,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBAClD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,eAAe,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;oBAClF,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC/C,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBACrE,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;wBAC1B,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;wBACjE,KAAK,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,MAAM,aAAa,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjF,CAAC;yBAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACzC,KAAK,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,MAAM,aAAa,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChF,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;gBACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBAClD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,eAAe,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;oBAClF,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC/C,KAAK,CAAC,yBAAyB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qGAAqG;gBACrG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { Envelope, Hook, Pickle, TestCase, TestCaseStarted } from '@cucumber/messages';\nimport * as path from 'path';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst debug = require('debug')('e2e:cucumber');\n\n/**\n * Creates a helper object which provides an on-message handler for cucumber\n * @returns a new message handler object with an on-message function\n */\nexport function debugMessageHandler() {\n const pickles = new Map<string, Pickle>();\n const testCases = new Map<string, TestCase>();\n const startedTestCases = new Map<string, TestCaseStarted>();\n const hooks = new Map<string, Hook>();\n\n function testCaseFromId(testCaseId: string) {\n const testCase = testCases.get(testCaseId);\n if (!testCase) throw new Error(`Test case ${testCaseId} not found`);\n return testCase;\n }\n\n function pickleFromId(pickleId: string) {\n const pickle = pickles.get(pickleId);\n if (!pickle) throw new Error(`Pickle ${pickleId} not found`);\n return pickle;\n }\n\n function testCaseStartedFromId(testCaseStartedId: string) {\n const testCaseStarted = startedTestCases.get(testCaseStartedId);\n if (!testCaseStarted) throw new Error(`Started test case ${testCaseStartedId} not found`);\n return testCaseStarted;\n }\n\n function findTestStep(testCase: TestCase, testStepId: string) {\n const testStep = testCase.testSteps.find((step) => step.id == testStepId);\n if (!testStep) throw new Error(`Test step ${testStepId} not found`);\n return testStep;\n }\n\n function findPickleStep(pickle: Pickle, pickleStepId: string) {\n const pickleStep = pickle.steps.find((step) => step.id === pickleStepId);\n if (!pickleStep) throw new Error(`Pickle step ${pickleStepId} not found`);\n return pickleStep;\n }\n\n function hookFromId(hookId: string) {\n const hook = hooks.get(hookId);\n if (!hook) throw new Error(`Hook ${hookId} not found`);\n return hook;\n }\n\n function hookText(hook: Hook) {\n if (hook.name && hook.tagExpression) return `${hook.name} [${hook.tagExpression}]`;\n if (hook.name) return hook.name;\n if (hook.tagExpression) return hook.tagExpression;\n const source = hook.sourceReference;\n if (!source.uri) return hook.id;\n const shortSourceUri = path.basename(source.uri);\n const sourceLine = source.location?.line;\n if (!sourceLine) return shortSourceUri;\n return `${shortSourceUri}:${sourceLine}`;\n }\n\n return {\n /**\n * The on-message function for the cucumber execution which prints out extended debug messages like passed steps or scenarios\n * @param message the message which was produced by cucumber\n */\n onMessage: (message: Envelope) => {\n message.pickle && pickles.set(message.pickle.id, message.pickle);\n message.testCase && testCases.set(message.testCase.id, message.testCase);\n message.testCaseStarted && startedTestCases.set(message.testCaseStarted.id, message.testCaseStarted);\n message.hook && hooks.set(message.hook.id, message.hook);\n try {\n const testCaseStarted = message.testCaseStarted;\n if (testCaseStarted) {\n const testCase = testCaseFromId(testCaseStarted.testCaseId);\n const pickle = pickleFromId(testCase.pickleId);\n debug(`STARTED - scenario - ${pickle.name}`);\n }\n const testStepFinished = message.testStepFinished;\n if (testStepFinished) {\n const testCaseStarted = testCaseStartedFromId(testStepFinished.testCaseStartedId);\n const testCase = testCaseFromId(testCaseStarted.testCaseId);\n const pickle = pickleFromId(testCase.pickleId);\n const testStep = findTestStep(testCase, testStepFinished.testStepId);\n if (testStep.pickleStepId) {\n const pickleStep = findPickleStep(pickle, testStep.pickleStepId);\n debug(`${testStepFinished.testStepResult.status} - step - ${pickleStep.text}`);\n } else if (testStep.hookId) {\n const hook = hookFromId(testStep.hookId);\n debug(`${testStepFinished.testStepResult.status} - hook - ${hookText(hook)}`);\n } else {\n debug(`${testStepFinished.testStepResult.status} - ${JSON.stringify(testStep)}`);\n }\n }\n const testCaseFinished = message.testCaseFinished;\n if (testCaseFinished) {\n const testCaseStarted = testCaseStartedFromId(testCaseFinished.testCaseStartedId);\n const testCase = testCaseFromId(testCaseStarted.testCaseId);\n const pickle = pickleFromId(testCase.pickleId);\n debug(`FINISHED - scenario - ${pickle.name}`);\n }\n } catch (e) {\n // We catch our own exceptions here, since failed message creation should not fail cucumber execution\n console.error(e);\n console.error('Message: %o', message);\n }\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"output-directories.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/output-directories.ts"],"names":[],"mappings":";;AAGA,oDAkBC;;AArBD,wDAAuD;AACvD,mDAA6B;AAE7B,SAAgB,oBAAoB,CAAC,eAAuB;IAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,2BAAa,GAAE,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAEnE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE1D,OAAO;QACL,gBAAgB;QAChB,aAAa;QACb,qBAAqB;QACrB,oBAAoB;QACpB,oBAAoB;QACpB,eAAe;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"output-directories.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/output-directories.ts"],"names":[],"mappings":";;AAGA,oDAkBC;;AArBD,wDAAuD;AACvD,mDAA6B;AAE7B,SAAgB,oBAAoB,CAAC,eAAuB;IAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,2BAAa,GAAE,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAEnE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE1D,OAAO;QACL,gBAAgB;QAChB,aAAa;QACb,qBAAqB;QACrB,oBAAoB;QACpB,oBAAoB;QACpB,eAAe;KAChB,CAAC;AACJ,CAAC","sourcesContent":["import { rootDirectory } from '@gnuechtel/shared-util';\nimport * as path from 'path';\n\nexport function getOutputDirectories(outputDirectory: string) {\n const fullOutputDirectory = path.join(rootDirectory(), outputDirectory);\n const reportsDirectory = path.join(fullOutputDirectory, 'reports');\n\n const testResultsDirectory = path.join(reportsDirectory, 'test-results');\n const screenshotsDirectory = path.join(fullOutputDirectory, 'screenshots');\n const videosDirectory = path.join(fullOutputDirectory, 'videos');\n const cucumberJsonDirectory = path.join(reportsDirectory, 'cucumber-json');\n const htmlDirectory = path.join(reportsDirectory, 'html');\n\n return {\n reportsDirectory,\n htmlDirectory,\n cucumberJsonDirectory,\n testResultsDirectory,\n screenshotsDirectory,\n videosDirectory,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-browser.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/playwright-browser.ts"],"names":[],"mappings":";;;AAIA,4DAEC;AAJY,QAAA,wBAAwB,GAA0B,UAAU,CAAC;AAE1E,SAAgB,wBAAwB,CAAC,OAA+B;IACtE,OAAO,OAAO,IAAI,gCAAwB,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"playwright-browser.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/playwright-browser.ts"],"names":[],"mappings":";;;AAIA,4DAEC;AAJY,QAAA,wBAAwB,GAA0B,UAAU,CAAC;AAE1E,SAAgB,wBAAwB,CAAC,OAA+B;IACtE,OAAO,OAAO,IAAI,gCAAwB,CAAC;AAC7C,CAAC","sourcesContent":["import { PlaywrightBrowserName } from './test-run-options';\n\nexport const defaultPlaywrightBrowser: PlaywrightBrowserName = 'chromium';\n\nexport function resolvePlaywrightBrowser(browser?: PlaywrightBrowserName): PlaywrightBrowserName {\n return browser || defaultPlaywrightBrowser;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test-run-options.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/test-run-options.ts"],"names":[],"mappings":";;;AA6Ca,QAAA,iBAAiB,GAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"test-run-options.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/test-run-options.ts"],"names":[],"mappings":";;;AA6Ca,QAAA,iBAAiB,GAAe,MAAM,CAAC","sourcesContent":["import { BrowserContextOptions } from 'playwright';\n\nexport type PlaywrightBrowserName = 'chromium' | 'firefox' | 'webkit';\n\nexport type TestRunOptions = {\n baseUrl?: string;\n browser?: PlaywrightBrowserName;\n headed: boolean;\n debug: boolean;\n featuresDirectory?: string;\n tags?: string;\n name?: string[];\n profile?: string[];\n outputDirectory: string;\n disableAnimations: boolean;\n disableCoverage: boolean;\n disableScreenshotAttachments: boolean;\n disableScreenshotFiles: boolean;\n enableSuccessfulScreenshotFiles: boolean;\n disableVideoAttachments: boolean;\n disableVideoFiles: boolean;\n disableJavaScript: boolean;\n default: Omit<TestRunOptions, 'default'>;\n testRunner?: TestRunner;\n skipTestRunnerInstall?: boolean;\n env?: Record<string, string>;\n tsConfig?: string;\n cucumberTimeout?: number;\n reportOptions?: TestReportOptions;\n additionalPlaywrightConfiguration?: BrowserContextOptions;\n viewport?: { height: number; width: number };\n videoSize?: { height: number; width: number };\n customWorld?: boolean;\n};\n\nexport type Report = 'html-built-in' | 'html-beautiful';\n\nexport type TestReportOptions = {\n reports?: Array<Report>;\n reportTitle?: string;\n projectName?: string;\n projectTeam?: string;\n testKind?: string;\n};\n\nexport const defaultTestRunner: TestRunner = 'core';\n\nexport type TestRunner = 'core' | 'playwright';\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const nxCucumberAliasPatchKey = "__nxCucumberAliasPatched";
2
+ type ResolveFilename = (request: string, parent?: NodeModule | null, isMain?: boolean, options?: {
3
+ paths?: string[];
4
+ }) => string;
5
+ type ModuleLoader = {
6
+ _resolveFilename: ResolveFilename;
7
+ };
8
+ export declare function resolveNxCucumberAliasRequest(request: string, targetRoot: string): string | undefined;
9
+ export declare function installNxCucumberTsNodeAlias(targetRoot: string, moduleLoader: ModuleLoader, globalState: Record<string, unknown>): boolean;
10
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nxCucumberAliasPatchKey = void 0;
4
+ exports.resolveNxCucumberAliasRequest = resolveNxCucumberAliasRequest;
5
+ exports.installNxCucumberTsNodeAlias = installNxCucumberTsNodeAlias;
6
+ const tslib_1 = require("tslib");
7
+ const path = tslib_1.__importStar(require("path"));
8
+ const aliasTargetRoot = process.env['NX_CUCUMBER_ALIAS_TARGET_ROOT'];
9
+ const aliasPackageName = '@gnuechtel/nx-cucumber';
10
+ exports.nxCucumberAliasPatchKey = '__nxCucumberAliasPatched';
11
+ function resolveNxCucumberAliasRequest(request, targetRoot) {
12
+ if (request === aliasPackageName)
13
+ return path.join(targetRoot, 'index.js');
14
+ if (request.startsWith(`${aliasPackageName}/`)) {
15
+ const subPath = request.slice(aliasPackageName.length + 1);
16
+ return path.join(targetRoot, subPath);
17
+ }
18
+ return undefined;
19
+ }
20
+ function installNxCucumberTsNodeAlias(targetRoot, moduleLoader, globalState) {
21
+ if (!targetRoot || globalState[exports.nxCucumberAliasPatchKey])
22
+ return false;
23
+ const originalResolveFilename = moduleLoader._resolveFilename.bind(moduleLoader);
24
+ moduleLoader._resolveFilename = (request, parent, isMain, options) => {
25
+ const aliasRequest = resolveNxCucumberAliasRequest(request, targetRoot);
26
+ if (aliasRequest)
27
+ return originalResolveFilename(aliasRequest, parent, isMain, options);
28
+ return originalResolveFilename(request, parent, isMain, options);
29
+ };
30
+ globalState[exports.nxCucumberAliasPatchKey] = true;
31
+ return true;
32
+ }
33
+ if (aliasTargetRoot) {
34
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
35
+ const moduleLoader = require('module');
36
+ installNxCucumberTsNodeAlias(aliasTargetRoot, moduleLoader, global);
37
+ }
38
+ //# sourceMappingURL=ts-node-nx-cucumber-alias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-node-nx-cucumber-alias.js","sourceRoot":"","sources":["../../../../../libs/nx-cucumber/src/core/ts-node-nx-cucumber-alias.ts"],"names":[],"mappings":";;;AAiBA,sEASC;AAED,oEAiBC;;AA7CD,mDAA6B;AAE7B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AACrE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACrC,QAAA,uBAAuB,GAAG,0BAA0B,CAAC;AAalE,SAAgB,6BAA6B,CAAC,OAAe,EAAE,UAAkB;IAC/E,IAAI,OAAO,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE3E,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,4BAA4B,CAC1C,UAAkB,EAClB,YAA0B,EAC1B,WAAoC;IAEpC,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,+BAAuB,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtE,MAAM,uBAAuB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEjF,YAAY,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QACnE,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACxE,IAAI,YAAY;YAAE,OAAO,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,WAAW,CAAC,+BAAuB,CAAC,GAAG,IAAI,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,eAAe,EAAE,CAAC;IACpB,8DAA8D;IAC9D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAiB,CAAC;IACvD,4BAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,MAAiC,CAAC,CAAC;AACjG,CAAC","sourcesContent":["import * as path from 'path';\n\nconst aliasTargetRoot = process.env['NX_CUCUMBER_ALIAS_TARGET_ROOT'];\nconst aliasPackageName = '@gnuechtel/nx-cucumber';\nexport const nxCucumberAliasPatchKey = '__nxCucumberAliasPatched';\n\ntype ResolveFilename = (\n request: string,\n parent?: NodeModule | null,\n isMain?: boolean,\n options?: { paths?: string[] }\n) => string;\n\ntype ModuleLoader = {\n _resolveFilename: ResolveFilename;\n};\n\nexport function resolveNxCucumberAliasRequest(request: string, targetRoot: string) {\n if (request === aliasPackageName) return path.join(targetRoot, 'index.js');\n\n if (request.startsWith(`${aliasPackageName}/`)) {\n const subPath = request.slice(aliasPackageName.length + 1);\n return path.join(targetRoot, subPath);\n }\n\n return undefined;\n}\n\nexport function installNxCucumberTsNodeAlias(\n targetRoot: string,\n moduleLoader: ModuleLoader,\n globalState: Record<string, unknown>\n) {\n if (!targetRoot || globalState[nxCucumberAliasPatchKey]) return false;\n\n const originalResolveFilename = moduleLoader._resolveFilename.bind(moduleLoader);\n\n moduleLoader._resolveFilename = (request, parent, isMain, options) => {\n const aliasRequest = resolveNxCucumberAliasRequest(request, targetRoot);\n if (aliasRequest) return originalResolveFilename(aliasRequest, parent, isMain, options);\n return originalResolveFilename(request, parent, isMain, options);\n };\n\n globalState[nxCucumberAliasPatchKey] = true;\n return true;\n}\n\nif (aliasTargetRoot) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const moduleLoader = require('module') as ModuleLoader;\n installNxCucumberTsNodeAlias(aliasTargetRoot, moduleLoader, global as Record<string, unknown>);\n}\n"]}
@@ -1,7 +1,15 @@
1
1
  import { ExecutorContext } from '@nx/devkit';
2
2
  import { TestRunOptions } from '../../core/test-run-options';
3
3
  import { CucumberJsExecutorSchema } from './schema';
4
+ type RuntimeModule = {
5
+ moduleDirectory: string;
6
+ moduleFileExtension: 'ts' | 'js';
7
+ useTsNode: boolean;
8
+ aliasNxCucumberPackage: boolean;
9
+ };
4
10
  export default function cucumberExecutor(inputOptions: CucumberJsExecutorSchema, context: ExecutorContext): Promise<{
5
11
  success: boolean;
6
12
  }>;
7
13
  export declare function buildCucumberOptions(options: CucumberJsExecutorSchema, cwd: string): TestRunOptions;
14
+ export declare function resolveCucumberRuntimeModule(moduleSrcDirectory: string, workspaceRoot: string, fileExists?: (fileName: string) => boolean): RuntimeModule;
15
+ export {};