@lynxwall/cucumber-tsflow 6.1.1 → 6.2.0
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/README.md +62 -21
- package/lib/behave.d.ts +1 -1
- package/lib/behave.js +27 -27
- package/lib/cli/argv-parser.d.ts +24 -24
- package/lib/cli/argv-parser.js +103 -103
- package/lib/cli/index.d.ts +21 -22
- package/lib/cli/index.js +95 -101
- package/lib/cli/load-configuration.d.ts +20 -20
- package/lib/cli/load-configuration.js +101 -90
- package/lib/cli/run.d.ts +1 -1
- package/lib/cli/run.js +49 -47
- package/lib/cucumber/binding-decorator.d.ts +10 -10
- package/lib/cucumber/binding-decorator.js +180 -180
- package/lib/cucumber/binding-registry.d.ts +82 -82
- package/lib/cucumber/binding-registry.js +215 -215
- package/lib/cucumber/hook-decorators.d.ts +46 -46
- package/lib/cucumber/hook-decorators.js +102 -102
- package/lib/cucumber/managed-scenario-context.d.ts +21 -21
- package/lib/cucumber/managed-scenario-context.js +95 -95
- package/lib/cucumber/message-collector.d.ts +81 -81
- package/lib/cucumber/message-collector.js +250 -250
- package/lib/cucumber/parallel/coordinator.d.ts +79 -79
- package/lib/cucumber/parallel/coordinator.js +246 -246
- package/lib/cucumber/parallel/run-worker.d.ts +1 -1
- package/lib/cucumber/parallel/run-worker.js +31 -31
- package/lib/cucumber/parallel/worker.d.ts +30 -30
- package/lib/cucumber/parallel/worker.js +103 -103
- package/lib/cucumber/run-cucumber.d.ts +14 -14
- package/lib/cucumber/run-cucumber.js +118 -118
- package/lib/cucumber/runtime.d.ts +25 -25
- package/lib/cucumber/runtime.js +39 -39
- package/lib/cucumber/step-definition-decorators.d.ts +24 -24
- package/lib/cucumber/step-definition-decorators.js +91 -91
- package/lib/cucumber/utils.d.ts +16 -16
- package/lib/cucumber/utils.js +77 -77
- package/lib/esnode.js +18 -18
- package/lib/esvue.d.ts +1 -1
- package/lib/esvue.js +40 -40
- package/lib/formatters/behave-json-formatter.d.ts +49 -49
- package/lib/formatters/behave-json-formatter.js +74 -74
- package/lib/formatters/tsflow-snippet-syntax.d.ts +9 -9
- package/lib/formatters/tsflow-snippet-syntax.js +89 -89
- package/lib/gherkin/configuration.d.ts +30 -30
- package/lib/gherkin/configuration.js +26 -26
- package/lib/gherkin/gherkin-feature.d.ts +28 -28
- package/lib/gherkin/gherkin-feature.js +352 -352
- package/lib/gherkin/gherkin-manager.d.ts +29 -29
- package/lib/gherkin/gherkin-manager.js +143 -143
- package/lib/gherkin/models.d.ts +46 -46
- package/lib/gherkin/models.js +2 -2
- package/lib/index.d.ts +4 -4
- package/lib/index.js +22 -22
- package/lib/snippet.d.ts +1 -1
- package/lib/snippet.js +27 -27
- package/lib/transpilers/esbuild-transpiler.d.ts +4 -4
- package/lib/transpilers/esbuild-transpiler.js +18 -18
- package/lib/transpilers/esbuild.d.ts +12 -12
- package/lib/transpilers/esbuild.js +54 -54
- package/lib/transpilers/vue-sfc/compiler.d.ts +7 -7
- package/lib/transpilers/vue-sfc/compiler.js +21 -21
- package/lib/transpilers/vue-sfc/index.d.ts +23 -23
- package/lib/transpilers/vue-sfc/index.js +46 -46
- package/lib/transpilers/vue-sfc/main.d.ts +8 -8
- package/lib/transpilers/vue-sfc/main.js +247 -247
- package/lib/transpilers/vue-sfc/script.d.ts +5 -5
- package/lib/transpilers/vue-sfc/script.js +41 -41
- package/lib/transpilers/vue-sfc/template.d.ts +8 -8
- package/lib/transpilers/vue-sfc/template.js +101 -101
- package/lib/transpilers/vue-sfc/types.d.ts +55 -55
- package/lib/transpilers/vue-sfc/types.js +2 -2
- package/lib/transpilers/vue-sfc/utils/descriptorCache.d.ts +13 -13
- package/lib/transpilers/vue-sfc/utils/descriptorCache.js +67 -67
- package/lib/transpilers/vue-sfc/utils/error.d.ts +3 -3
- package/lib/transpilers/vue-sfc/utils/error.js +22 -22
- package/lib/transpilers/vue-sfc/utils/query.d.ts +13 -13
- package/lib/transpilers/vue-sfc/utils/query.js +35 -35
- package/lib/tsnode.js +17 -17
- package/lib/tsvue.d.ts +1 -1
- package/lib/tsvue.js +39 -39
- package/lib/types/scenario-context.d.ts +16 -16
- package/lib/types/scenario-context.js +17 -17
- package/lib/types/scenario-info.d.ts +16 -16
- package/lib/types/scenario-info.js +22 -22
- package/lib/types/step-binding-flags.d.ts +53 -53
- package/lib/types/step-binding-flags.js +59 -59
- package/lib/types/step-binding.d.ts +50 -50
- package/lib/types/step-binding.js +17 -17
- package/lib/types/types.d.ts +21 -21
- package/lib/types/types.js +2 -2
- package/lib/utils/helpers.d.ts +6 -6
- package/lib/utils/helpers.js +17 -17
- package/lib/utils/logger.d.ts +3 -3
- package/lib/utils/logger.js +29 -29
- package/lib/utils/our-callsite.d.ts +27 -27
- package/lib/utils/our-callsite.js +72 -72
- package/lib/version.d.ts +1 -1
- package/lib/version.js +5 -5
- package/package.json +11 -11
package/lib/cli/index.js
CHANGED
|
@@ -1,101 +1,95 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const messages_1 = require("@cucumber/messages");
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
env
|
|
26
|
-
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
success
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.default = Cli;
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQWlEO0FBQ2pELHNFQUE0RTtBQUc1RSwyREFBdUQ7QUFDdkQsNkRBQXlEO0FBQ3pELDBEQUE0RTtBQUM1RSxvRkFBK0U7QUFDL0UsNERBQWdFO0FBQ2hFLHdFQUEwRTtBQUMxRSxnRUFBMkU7QUFDM0UsbUVBQStEO0FBQy9ELGdFQUF1QztBQUN2QyxrREFBMEI7QUFFMUIsOEVBQTBFO0FBQzFFLHFDQUFrQztBQVFsQyxNQUFxQixHQUFHO0lBQ04sSUFBSSxDQUFXO0lBQ2YsR0FBRyxDQUFTO0lBQ1osTUFBTSxDQUFtQjtJQUN6QixNQUFNLENBQW1CO0lBQ3pCLEdBQUcsQ0FBb0I7SUFFeEMsWUFBWSxFQUNYLElBQUksRUFDSixHQUFHLEVBQ0gsTUFBTSxFQUNOLE1BQU0sRUFDTixHQUFHLEVBT0g7UUFDQSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRztRQUNSLE1BQU0sSUFBQSxtQ0FBZSxHQUFFLENBQUM7UUFFeEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxxQkFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFjLENBQUMsS0FBSyxDQUFDLElBQUEsbUJBQVksR0FBRSxDQUFDLENBQUM7WUFDM0MsT0FBTztn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
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const messages_1 = require("@cucumber/messages");
|
|
7
|
+
const run_cucumber_1 = require("../cucumber/run-cucumber");
|
|
8
|
+
const load_configuration_1 = require("./load-configuration");
|
|
9
|
+
const i18n_1 = require("@cucumber/cucumber/lib/cli/i18n");
|
|
10
|
+
const install_validator_1 = require("@cucumber/cucumber/lib/cli/install_validator");
|
|
11
|
+
const paths_1 = require("@cucumber/cucumber/lib/api/paths");
|
|
12
|
+
const environment_1 = require("@cucumber/cucumber/lib/api/environment");
|
|
13
|
+
const support_1 = require("@cucumber/cucumber/lib/api/support");
|
|
14
|
+
const binding_registry_1 = require("../cucumber/binding-registry");
|
|
15
|
+
const argv_parser_1 = __importDefault(require("./argv-parser"));
|
|
16
|
+
const debug_1 = __importDefault(require("debug"));
|
|
17
|
+
const console_logger_1 = require("@cucumber/cucumber/lib/api/console_logger");
|
|
18
|
+
const console_1 = require("console");
|
|
19
|
+
class Cli {
|
|
20
|
+
argv;
|
|
21
|
+
cwd;
|
|
22
|
+
stdout;
|
|
23
|
+
stderr;
|
|
24
|
+
env;
|
|
25
|
+
constructor({ argv, cwd, stdout, stderr, env }) {
|
|
26
|
+
this.argv = argv;
|
|
27
|
+
this.cwd = cwd;
|
|
28
|
+
this.stdout = stdout;
|
|
29
|
+
this.stderr = stderr;
|
|
30
|
+
this.env = env;
|
|
31
|
+
}
|
|
32
|
+
async run() {
|
|
33
|
+
await (0, install_validator_1.validateInstall)();
|
|
34
|
+
const { options, configuration: argvConfiguration } = argv_parser_1.default.parse(this.argv);
|
|
35
|
+
if (options.i18nLanguages) {
|
|
36
|
+
this.stdout.write((0, i18n_1.getLanguages)());
|
|
37
|
+
return {
|
|
38
|
+
shouldExitImmediately: true,
|
|
39
|
+
success: true
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
if (options.i18nKeywords) {
|
|
43
|
+
this.stdout.write((0, i18n_1.getKeywords)(options.i18nKeywords));
|
|
44
|
+
return {
|
|
45
|
+
shouldExitImmediately: true,
|
|
46
|
+
success: true
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const enableDebug = debug_1.default.enabled('cucumber');
|
|
50
|
+
const environment = {
|
|
51
|
+
cwd: this.cwd,
|
|
52
|
+
stdout: this.stdout,
|
|
53
|
+
stderr: this.stderr,
|
|
54
|
+
env: this.env,
|
|
55
|
+
debug: enableDebug
|
|
56
|
+
};
|
|
57
|
+
const consoleLogger = new console_1.Console(environment.stdout, environment.stderr);
|
|
58
|
+
consoleLogger.info('Loading configuration and step definitions...\n');
|
|
59
|
+
const { useConfiguration: configuration, runConfiguration } = await (0, load_configuration_1.loadConfiguration)({
|
|
60
|
+
file: options.config,
|
|
61
|
+
profiles: options.profile,
|
|
62
|
+
provided: argvConfiguration
|
|
63
|
+
}, environment);
|
|
64
|
+
// get run options
|
|
65
|
+
const { cwd } = (0, environment_1.mergeEnvironment)(environment);
|
|
66
|
+
const newId = messages_1.IdGenerator.uuid();
|
|
67
|
+
const runOptions = runConfiguration;
|
|
68
|
+
const supportCoordinates = 'World' in runOptions.support ? runOptions.support.originalCoordinates : runOptions.support;
|
|
69
|
+
const logger = new console_logger_1.ConsoleLogger(environment.stderr, enableDebug);
|
|
70
|
+
const { requirePaths, importPaths } = await (0, paths_1.resolvePaths)(logger, cwd, runOptions.sources, supportCoordinates);
|
|
71
|
+
// Load the step and hook definitions
|
|
72
|
+
const supportCodeLibrary = 'World' in runOptions.support
|
|
73
|
+
? runOptions.support
|
|
74
|
+
: await (0, support_1.getSupportCodeLibrary)({
|
|
75
|
+
cwd,
|
|
76
|
+
newId,
|
|
77
|
+
requirePaths,
|
|
78
|
+
importPaths,
|
|
79
|
+
requireModules: supportCoordinates.requireModules
|
|
80
|
+
});
|
|
81
|
+
// Set support to the updated step and hook definitions
|
|
82
|
+
// in the supportCodeLibrary. We also need to initialize originalCoordinates
|
|
83
|
+
// to support parallel execution.
|
|
84
|
+
runOptions.support = binding_registry_1.BindingRegistry.instance.updateSupportCodeLibrary(supportCodeLibrary);
|
|
85
|
+
runOptions.support = { ...runOptions.support, ...{ originalCoordinates: supportCoordinates } };
|
|
86
|
+
// now we can run cucumber
|
|
87
|
+
const { success } = await (0, run_cucumber_1.runCucumber)(runOptions, environment);
|
|
88
|
+
return {
|
|
89
|
+
shouldExitImmediately: configuration.forceExit,
|
|
90
|
+
success
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.default = Cli;
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQWlEO0FBSWpELDJEQUF1RDtBQUN2RCw2REFBeUQ7QUFDekQsMERBQTRFO0FBQzVFLG9GQUErRTtBQUMvRSw0REFBZ0U7QUFDaEUsd0VBQTBFO0FBQzFFLGdFQUEyRTtBQUMzRSxtRUFBK0Q7QUFDL0QsZ0VBQXVDO0FBQ3ZDLGtEQUEwQjtBQUUxQiw4RUFBMEU7QUFDMUUscUNBQWtDO0FBT2xDLE1BQXFCLEdBQUc7SUFDTixJQUFJLENBQVc7SUFDZixHQUFHLENBQVM7SUFDWixNQUFNLENBQW1CO0lBQ3pCLE1BQU0sQ0FBbUI7SUFDekIsR0FBRyxDQUFvQjtJQUV4QyxZQUFZLEVBQ1gsSUFBSSxFQUNKLEdBQUcsRUFDSCxNQUFNLEVBQ04sTUFBTSxFQUNOLEdBQUcsRUFPSDtRQUNBLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHO1FBQ1IsTUFBTSxJQUFBLG1DQUFlLEdBQUUsQ0FBQztRQUV4QixNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLHFCQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRixJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQWMsQ0FBQyxLQUFLLENBQUMsSUFBQSxtQkFBWSxHQUFFLENBQUMsQ0FBQztZQUMzQyxPQUFPO2dCQUNOLHFCQUFxQixF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
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { IRunEnvironment, ILoadConfigurationOptions, IRunConfiguration } from '@cucumber/cucumber/lib/api/types';
|
|
2
|
-
import { ITsflowConfiguration } from './argv-parser';
|
|
3
|
-
export interface ITsflowResolvedConfiguration {
|
|
4
|
-
/**
|
|
5
|
-
* The final flat configuration object resolved from the configuration file/profiles plus any extra provided.
|
|
6
|
-
*/
|
|
7
|
-
useConfiguration: ITsflowConfiguration;
|
|
8
|
-
/**
|
|
9
|
-
* The format that can be passed into `runCucumber`.
|
|
10
|
-
*/
|
|
11
|
-
runConfiguration: IRunConfiguration;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Load user-authored configuration to be used in a test run.
|
|
15
|
-
*
|
|
16
|
-
* @public
|
|
17
|
-
* @param options - Coordinates required to find configuration.
|
|
18
|
-
* @param environment - Project environment.
|
|
19
|
-
*/
|
|
20
|
-
export declare const loadConfiguration: (options?: ILoadConfigurationOptions, environment?: IRunEnvironment) => Promise<ITsflowResolvedConfiguration>;
|
|
1
|
+
import { IRunEnvironment, ILoadConfigurationOptions, IRunConfiguration } from '@cucumber/cucumber/lib/api/types';
|
|
2
|
+
import { ITsflowConfiguration } from './argv-parser';
|
|
3
|
+
export interface ITsflowResolvedConfiguration {
|
|
4
|
+
/**
|
|
5
|
+
* The final flat configuration object resolved from the configuration file/profiles plus any extra provided.
|
|
6
|
+
*/
|
|
7
|
+
useConfiguration: ITsflowConfiguration;
|
|
8
|
+
/**
|
|
9
|
+
* The format that can be passed into `runCucumber`.
|
|
10
|
+
*/
|
|
11
|
+
runConfiguration: IRunConfiguration;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Load user-authored configuration to be used in a test run.
|
|
15
|
+
*
|
|
16
|
+
* @public
|
|
17
|
+
* @param options - Coordinates required to find configuration.
|
|
18
|
+
* @param environment - Project environment.
|
|
19
|
+
*/
|
|
20
|
+
export declare const loadConfiguration: (options?: ILoadConfigurationOptions, environment?: IRunEnvironment) => Promise<ITsflowResolvedConfiguration>;
|
|
@@ -1,90 +1,101 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.loadConfiguration = void 0;
|
|
7
|
-
const locate_file_1 = require("@cucumber/cucumber/lib/configuration/locate_file");
|
|
8
|
-
const index_1 = require("@cucumber/cucumber/lib/configuration/index");
|
|
9
|
-
const validate_configuration_1 = require("@cucumber/cucumber/lib/configuration/validate_configuration");
|
|
10
|
-
const convert_configuration_1 = require("@cucumber/cucumber/lib/api/convert_configuration");
|
|
11
|
-
const environment_1 = require("@cucumber/cucumber/lib/api/environment");
|
|
12
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
-
const helpers_1 = require("../utils/helpers");
|
|
14
|
-
const gherkin_manager_1 = __importDefault(require("../gherkin/gherkin-manager"));
|
|
15
|
-
const console_logger_1 = require("@cucumber/cucumber/lib/api/console_logger");
|
|
16
|
-
/**
|
|
17
|
-
* Load user-authored configuration to be used in a test run.
|
|
18
|
-
*
|
|
19
|
-
* @public
|
|
20
|
-
* @param options - Coordinates required to find configuration.
|
|
21
|
-
* @param environment - Project environment.
|
|
22
|
-
*/
|
|
23
|
-
const loadConfiguration = async (options = {}, environment = {}) => {
|
|
24
|
-
const { cwd, stderr, env, debug } = (0, environment_1.mergeEnvironment)(environment);
|
|
25
|
-
const logger = new console_logger_1.ConsoleLogger(stderr, debug);
|
|
26
|
-
const configFile = options.file ?? (0, locate_file_1.locateFile)(cwd);
|
|
27
|
-
if (configFile) {
|
|
28
|
-
logger.debug(`Configuration will be loaded from "${configFile}"`);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
logger.debug('No configuration file found');
|
|
32
|
-
}
|
|
33
|
-
const profileConfiguration = configFile ? await (0, index_1.fromFile)(logger, cwd, configFile, options.profiles) : {};
|
|
34
|
-
// if a feature was passed in on command line it's added
|
|
35
|
-
// to the provided configuration as paths. We need to clear
|
|
36
|
-
// any paths from configuration so that only the feature passed
|
|
37
|
-
// in is executed.
|
|
38
|
-
if (options.provided?.paths && options.provided.paths?.length > 0) {
|
|
39
|
-
profileConfiguration.paths = [];
|
|
40
|
-
}
|
|
41
|
-
const original = (0, index_1.mergeConfigurations)(index_1.DEFAULT_CONFIGURATION, profileConfiguration, options.provided);
|
|
42
|
-
switch (original.transpiler) {
|
|
43
|
-
case 'esvue':
|
|
44
|
-
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/esvue');
|
|
45
|
-
break;
|
|
46
|
-
case 'tsvue':
|
|
47
|
-
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/tsvue');
|
|
48
|
-
break;
|
|
49
|
-
case 'tsnode':
|
|
50
|
-
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/tsnode');
|
|
51
|
-
break;
|
|
52
|
-
default:
|
|
53
|
-
// defaulting to esbuild
|
|
54
|
-
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/esnode');
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
// set the snippet syntax
|
|
58
|
-
if (!original.formatOptions.snippetSyntax) {
|
|
59
|
-
original.formatOptions.snippetSyntax = '@lynxwall/cucumber-tsflow/lib/snippet.js';
|
|
60
|
-
}
|
|
61
|
-
// look for behave format
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadConfiguration = void 0;
|
|
7
|
+
const locate_file_1 = require("@cucumber/cucumber/lib/configuration/locate_file");
|
|
8
|
+
const index_1 = require("@cucumber/cucumber/lib/configuration/index");
|
|
9
|
+
const validate_configuration_1 = require("@cucumber/cucumber/lib/configuration/validate_configuration");
|
|
10
|
+
const convert_configuration_1 = require("@cucumber/cucumber/lib/api/convert_configuration");
|
|
11
|
+
const environment_1 = require("@cucumber/cucumber/lib/api/environment");
|
|
12
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
+
const helpers_1 = require("../utils/helpers");
|
|
14
|
+
const gherkin_manager_1 = __importDefault(require("../gherkin/gherkin-manager"));
|
|
15
|
+
const console_logger_1 = require("@cucumber/cucumber/lib/api/console_logger");
|
|
16
|
+
/**
|
|
17
|
+
* Load user-authored configuration to be used in a test run.
|
|
18
|
+
*
|
|
19
|
+
* @public
|
|
20
|
+
* @param options - Coordinates required to find configuration.
|
|
21
|
+
* @param environment - Project environment.
|
|
22
|
+
*/
|
|
23
|
+
const loadConfiguration = async (options = {}, environment = {}) => {
|
|
24
|
+
const { cwd, stderr, env, debug } = (0, environment_1.mergeEnvironment)(environment);
|
|
25
|
+
const logger = new console_logger_1.ConsoleLogger(stderr, debug);
|
|
26
|
+
const configFile = options.file ?? (0, locate_file_1.locateFile)(cwd);
|
|
27
|
+
if (configFile) {
|
|
28
|
+
logger.debug(`Configuration will be loaded from "${configFile}"`);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
logger.debug('No configuration file found');
|
|
32
|
+
}
|
|
33
|
+
const profileConfiguration = configFile ? await (0, index_1.fromFile)(logger, cwd, configFile, options.profiles) : {};
|
|
34
|
+
// if a feature was passed in on command line it's added
|
|
35
|
+
// to the provided configuration as paths. We need to clear
|
|
36
|
+
// any paths from configuration so that only the feature passed
|
|
37
|
+
// in is executed.
|
|
38
|
+
if (options.provided?.paths && options.provided.paths?.length > 0) {
|
|
39
|
+
profileConfiguration.paths = [];
|
|
40
|
+
}
|
|
41
|
+
const original = (0, index_1.mergeConfigurations)(index_1.DEFAULT_CONFIGURATION, profileConfiguration, options.provided);
|
|
42
|
+
switch (original.transpiler) {
|
|
43
|
+
case 'esvue':
|
|
44
|
+
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/esvue');
|
|
45
|
+
break;
|
|
46
|
+
case 'tsvue':
|
|
47
|
+
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/tsvue');
|
|
48
|
+
break;
|
|
49
|
+
case 'tsnode':
|
|
50
|
+
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/tsnode');
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
// defaulting to esbuild
|
|
54
|
+
original.requireModule.push('@lynxwall/cucumber-tsflow/lib/esnode');
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
// set the snippet syntax
|
|
58
|
+
if (!original.formatOptions.snippetSyntax) {
|
|
59
|
+
original.formatOptions.snippetSyntax = '@lynxwall/cucumber-tsflow/lib/snippet.js';
|
|
60
|
+
}
|
|
61
|
+
// look for behave format
|
|
62
|
+
for (let idx = 0; idx < original.format.length; idx++) {
|
|
63
|
+
if (typeof original.format[idx] === 'string') {
|
|
64
|
+
const formatItem = original.format[idx];
|
|
65
|
+
if (formatItem.startsWith('behave:')) {
|
|
66
|
+
original.format[idx] = formatItem.replace('behave', '@lynxwall/cucumber-tsflow/lib/behave.js');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else if (original.format[idx].length > 0) {
|
|
70
|
+
const formatItem = original.format[idx][0];
|
|
71
|
+
if (formatItem.startsWith('behave')) {
|
|
72
|
+
const newVal = formatItem.replace('behave', '@lynxwall/cucumber-tsflow/lib/behave.js');
|
|
73
|
+
original.format[idx] = original.format[idx].length > 1 ? [newVal, original.format[idx][1]] : [newVal];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// check to see if a debugFile was passed in
|
|
78
|
+
if ((0, helpers_1.hasStringValue)(original.debugFile)) {
|
|
79
|
+
// Initialize gherkin manager with path to feature files
|
|
80
|
+
const gherkin = new gherkin_manager_1.default();
|
|
81
|
+
await gherkin.loadFeatures(original.paths);
|
|
82
|
+
const features = gherkin.findFeaturesByStepFile(original.debugFile);
|
|
83
|
+
if (features.length > 0) {
|
|
84
|
+
original.paths = [];
|
|
85
|
+
features.forEach(x => original.paths.push(x.featureFile));
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// log a message if the feature path is not found
|
|
89
|
+
logger.warn(chalk_1.default.yellow(`\nUnable to find feature for debugFile: ${original.debugFile}`));
|
|
90
|
+
logger.warn(chalk_1.default.yellow('All tests will be executed\n'));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
(0, validate_configuration_1.validateConfiguration)(original, logger);
|
|
94
|
+
const runnable = await (0, convert_configuration_1.convertConfiguration)(logger, original, env);
|
|
95
|
+
return {
|
|
96
|
+
useConfiguration: original,
|
|
97
|
+
runConfiguration: runnable
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
exports.loadConfiguration = loadConfiguration;
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1jb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9sb2FkLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esa0ZBQThFO0FBQzlFLHNFQUtvRDtBQUNwRCx3R0FBb0c7QUFDcEcsNEZBQXdGO0FBQ3hGLHdFQUEwRTtBQUUxRSxrREFBMEI7QUFDMUIsOENBQWtEO0FBQ2xELGlGQUF3RDtBQUV4RCw4RUFBMEU7QUFZMUU7Ozs7OztHQU1HO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQ3JDLFVBQXFDLEVBQUUsRUFDdkMsY0FBK0IsRUFBRSxFQUNPLEVBQUU7SUFDMUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUEsOEJBQWdCLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQVksSUFBSSw4QkFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUV6RCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUEsd0JBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxJQUFJLFVBQVUsRUFBRTtRQUNmLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLFVBQVUsR0FBRyxDQUFDLENBQUM7S0FDbEU7U0FBTTtRQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztLQUM1QztJQUNELE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUEsZ0JBQVEsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUV6Ryx3REFBd0Q7SUFDeEQsMkRBQTJEO0lBQzNELCtEQUErRDtJQUMvRCxrQkFBa0I7SUFDbEIsSUFB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
|
package/lib/cli/run.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function run(): Promise<void>;
|
|
1
|
+
export default function run(): Promise<void>;
|
package/lib/cli/run.js
CHANGED
|
@@ -1,47 +1,49 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
/* eslint-disable no-console */
|
|
7
|
-
/* This is one rare place where we're fine to use process/console directly,
|
|
8
|
-
* but other code abstracts those to remain composable and testable. */
|
|
9
|
-
const _1 = __importDefault(require("./"));
|
|
10
|
-
const verror_1 = __importDefault(require("verror"));
|
|
11
|
-
const validate_node_engine_version_1 = require("@cucumber/cucumber/lib/cli/validate_node_engine_version");
|
|
12
|
-
function logErrorMessageAndExit(message) {
|
|
13
|
-
console.error(message);
|
|
14
|
-
process.exit(1);
|
|
15
|
-
}
|
|
16
|
-
async function run() {
|
|
17
|
-
(0, validate_node_engine_version_1.validateNodeEngineVersion)(process.version, (error) => {
|
|
18
|
-
console.error(error);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}, console.warn);
|
|
21
|
-
const cli = new _1.default({
|
|
22
|
-
argv: process.argv,
|
|
23
|
-
cwd: process.cwd(),
|
|
24
|
-
stdout: process.stdout,
|
|
25
|
-
stderr: process.stderr,
|
|
26
|
-
env: process.env
|
|
27
|
-
});
|
|
28
|
-
let result;
|
|
29
|
-
try {
|
|
30
|
-
result = await cli.run();
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
logErrorMessageAndExit(verror_1.default.fullStack(error));
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint-disable no-console */
|
|
7
|
+
/* This is one rare place where we're fine to use process/console directly,
|
|
8
|
+
* but other code abstracts those to remain composable and testable. */
|
|
9
|
+
const _1 = __importDefault(require("./"));
|
|
10
|
+
const verror_1 = __importDefault(require("verror"));
|
|
11
|
+
const validate_node_engine_version_1 = require("@cucumber/cucumber/lib/cli/validate_node_engine_version");
|
|
12
|
+
function logErrorMessageAndExit(message) {
|
|
13
|
+
console.error(message);
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
async function run() {
|
|
17
|
+
(0, validate_node_engine_version_1.validateNodeEngineVersion)(process.version, (error) => {
|
|
18
|
+
console.error(error);
|
|
19
|
+
process.exit(1);
|
|
20
|
+
}, console.warn);
|
|
21
|
+
const cli = new _1.default({
|
|
22
|
+
argv: process.argv,
|
|
23
|
+
cwd: process.cwd(),
|
|
24
|
+
stdout: process.stdout,
|
|
25
|
+
stderr: process.stderr,
|
|
26
|
+
env: process.env
|
|
27
|
+
});
|
|
28
|
+
let result;
|
|
29
|
+
try {
|
|
30
|
+
result = await cli.run();
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
logErrorMessageAndExit(verror_1.default.fullStack(error));
|
|
34
|
+
}
|
|
35
|
+
// 0 = success, 2 = failed or has pending, undefined or unknown steps
|
|
36
|
+
let exitCode = result.success ? 0 : 2;
|
|
37
|
+
if (!result.success && global.messageCollector.hasFailures()) {
|
|
38
|
+
// 3 = implemented tests have failed
|
|
39
|
+
exitCode = 3;
|
|
40
|
+
}
|
|
41
|
+
if (result.shouldExitImmediately) {
|
|
42
|
+
process.exit(exitCode);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
process.exitCode = exitCode;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.default = run;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaS9ydW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0I7dUVBQ3VFO0FBQ3ZFLDBDQUF3QztBQUN4QyxvREFBNEI7QUFDNUIsMEdBQW9HO0FBRXBHLFNBQVMsc0JBQXNCLENBQUMsT0FBZTtJQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQztBQUVjLEtBQUssVUFBVSxHQUFHO0lBQ2hDLElBQUEsd0RBQXlCLEVBQ3hCLE9BQU8sQ0FBQyxPQUFPLEVBQ2YsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDLEVBQ0QsT0FBTyxDQUFDLElBQUksQ0FDWixDQUFDO0lBRUYsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO1FBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07UUFDdEIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0tBQ2hCLENBQUMsQ0FBQztJQUVILElBQUksTUFBc0IsQ0FBQztJQUMzQixJQUFJO1FBQ0gsTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3pCO0lBQUMsT0FBTyxLQUFVLEVBQUU7UUFDcEIsc0JBQXNCLENBQUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNoRDtJQUVELHFFQUFxRTtJQUNyRSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDN0Qsb0NBQW9DO1FBQ3BDLFFBQVEsR0FBRyxDQUFDLENBQUM7S0FDYjtJQUVELElBQUksTUFBTSxDQUFDLHFCQUFxQixFQUFFO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDdkI7U0FBTTtRQUNOLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0tBQzVCO0FBQ0YsQ0FBQztBQXJDRCxzQkFxQ0MifQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ContextType, TypeDecorator } from '../types/types';
|
|
2
|
-
/**
|
|
3
|
-
* A class decorator that marks the associated class as a CucumberJS binding.
|
|
4
|
-
*
|
|
5
|
-
* @param requiredContextTypes An optional array of Types that will be created and passed into the created
|
|
6
|
-
* object for each scenario.
|
|
7
|
-
*
|
|
8
|
-
* An instance of the decorated class will be created for each scenario.
|
|
9
|
-
*/
|
|
10
|
-
export declare function binding(requiredContextTypes?: ContextType[]): TypeDecorator;
|
|
1
|
+
import { ContextType, TypeDecorator } from '../types/types';
|
|
2
|
+
/**
|
|
3
|
+
* A class decorator that marks the associated class as a CucumberJS binding.
|
|
4
|
+
*
|
|
5
|
+
* @param requiredContextTypes An optional array of Types that will be created and passed into the created
|
|
6
|
+
* object for each scenario.
|
|
7
|
+
*
|
|
8
|
+
* An instance of the decorated class will be created for each scenario.
|
|
9
|
+
*/
|
|
10
|
+
export declare function binding(requiredContextTypes?: ContextType[]): TypeDecorator;
|