@wdio/cli 9.0.0-alpha.114 → 9.0.0-alpha.321
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/build/commands/config.d.ts.map +1 -1
- package/build/commands/config.js +3 -5
- package/build/commands/repl.js +1 -1
- package/build/commands/run.d.ts +8 -7
- package/build/commands/run.d.ts.map +1 -1
- package/build/commands/run.js +28 -30
- package/build/constants.d.ts +6 -9
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +10 -17
- package/build/{cjs/index.js → index.cjs} +2 -8
- package/build/index.d.cts +2 -0
- package/build/index.d.cts.map +1 -0
- package/build/interface.d.ts.map +1 -1
- package/build/launcher.d.ts.map +1 -1
- package/build/launcher.js +6 -11
- package/build/templates/wdio.conf.tpl.ejs +2 -8
- package/build/types.d.ts +3 -4
- package/build/types.d.ts.map +1 -1
- package/build/utils.d.ts +7 -10
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +15 -57
- package/build/watcher.d.ts.map +1 -1
- package/build/watcher.js +1 -1
- package/package.json +15 -15
- package/build/cjs/index.d.ts +0 -2
- package/build/cjs/index.d.ts.map +0 -1
- package/build/cjs/package.json +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAWjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIxE,eAAO,MAAM,OAAO,WAAW,CAAA;AAC/B,eAAO,MAAM,IAAI,4EAA4E,CAAA;AAE7F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;CAkBV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI;;;;;;;;;;;;;;;;;;GAKlC,CAAA;AAED,eAAO,MAAM,YAAY,QAAwB,OAAO,KAAG,QAAQ,aAAa,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAWjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIxE,eAAO,MAAM,OAAO,WAAW,CAAA;AAC/B,eAAO,MAAM,IAAI,4EAA4E,CAAA;AAE7F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;CAkBV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI;;;;;;;;;;;;;;;;;;GAKlC,CAAA;AAED,eAAO,MAAM,YAAY,QAAwB,OAAO,KAAG,QAAQ,aAAa,CAyF/E,CAAA;AAED,wBAAsB,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAqBlF;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,sBAAsB,EAAE,YAAY,0BAAmB;;;;GAQ1F;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM;;;GAMzD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,+BAQ3D;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,0BAAmB,8BA4BpH"}
|
package/build/commands/config.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import fs from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import inquirer from 'inquirer';
|
|
4
|
-
import { CONFIG_HELPER_INTRO, CLI_EPILOGUE,
|
|
5
|
-
import { convertPackageHashToObject, getAnswers, getPathForFileGeneration, getProjectProps, getProjectRoot, createPackageJSON, setupTypeScript,
|
|
4
|
+
import { CONFIG_HELPER_INTRO, CLI_EPILOGUE, SUPPORTED_PACKAGES, configHelperSuccessMessage, isNuxtProject, SUPPORTED_CONFIG_FILE_EXTENSION, CONFIG_HELPER_SERENITY_BANNER, } from '../constants.js';
|
|
5
|
+
import { convertPackageHashToObject, getAnswers, getPathForFileGeneration, getProjectProps, getProjectRoot, createPackageJSON, setupTypeScript, npmInstall, createWDIOConfig, createWDIOScript, runAppiumInstaller, getSerenityPackages } from '../utils.js';
|
|
6
6
|
const hasYarnLock = await fs.access('yarn.lock').then(() => true, () => false);
|
|
7
7
|
export const command = 'config';
|
|
8
8
|
export const desc = 'Initialize WebdriverIO and setup configuration in your current project.';
|
|
@@ -74,7 +74,7 @@ export const parseAnswers = async function (yes) {
|
|
|
74
74
|
*/
|
|
75
75
|
: path.resolve(projectRootDir, `tsconfig.${runnerPackage.short === 'local' ? 'e2e' : 'wdio'}.json`);
|
|
76
76
|
const parsedPaths = getPathForFileGeneration(answers, projectRootDir);
|
|
77
|
-
const isUsingTypeScript = answers.
|
|
77
|
+
const isUsingTypeScript = answers.isUsingTypeScript;
|
|
78
78
|
const wdioConfigFilename = `wdio.conf.${isUsingTypeScript ? 'ts' : 'js'}`;
|
|
79
79
|
const wdioConfigPath = path.resolve(projectRootDir, wdioConfigFilename);
|
|
80
80
|
return {
|
|
@@ -99,7 +99,6 @@ export const parseAnswers = async function (yes) {
|
|
|
99
99
|
stepDefinitions: answers.stepDefinitions && `./${path.relative(projectRootDir, answers.stepDefinitions).replaceAll(path.sep, '/')}`,
|
|
100
100
|
packagesToInstall,
|
|
101
101
|
isUsingTypeScript,
|
|
102
|
-
isUsingBabel: answers.isUsingCompiler === CompilerOptions.Babel,
|
|
103
102
|
esmSupport: projectProps && !(projectProps.esmSupported) ? false : true,
|
|
104
103
|
isSync: false,
|
|
105
104
|
_async: 'async ',
|
|
@@ -120,7 +119,6 @@ export async function runConfigCommand(parsedAnswers, npmTag) {
|
|
|
120
119
|
console.log('\n');
|
|
121
120
|
await createPackageJSON(parsedAnswers);
|
|
122
121
|
await setupTypeScript(parsedAnswers);
|
|
123
|
-
await setupBabel(parsedAnswers);
|
|
124
122
|
await npmInstall(parsedAnswers, npmTag);
|
|
125
123
|
await createWDIOConfig(parsedAnswers);
|
|
126
124
|
await createWDIOScript(parsedAnswers);
|
package/build/commands/repl.js
CHANGED
|
@@ -5,7 +5,7 @@ import { getCapabilities } from '../utils.js';
|
|
|
5
5
|
import { CLI_EPILOGUE } from '../constants.js';
|
|
6
6
|
const IGNORED_ARGS = [
|
|
7
7
|
'bail', 'framework', 'reporters', 'suite', 'spec', 'exclude',
|
|
8
|
-
'mochaOpts', 'jasmineOpts', 'cucumberOpts'
|
|
8
|
+
'mochaOpts', 'jasmineOpts', 'cucumberOpts'
|
|
9
9
|
];
|
|
10
10
|
export const command = 'repl <option> [capabilities]';
|
|
11
11
|
export const desc = 'Run WebDriver session in command line';
|
package/build/commands/run.d.ts
CHANGED
|
@@ -105,9 +105,6 @@ export declare const cmdArgs: {
|
|
|
105
105
|
[x: string]: string | number | boolean;
|
|
106
106
|
};
|
|
107
107
|
};
|
|
108
|
-
readonly autoCompileOpts: {
|
|
109
|
-
readonly desc: "Auto compilation options";
|
|
110
|
-
};
|
|
111
108
|
readonly coverage: {
|
|
112
109
|
readonly desc: "Enable coverage for browser runner";
|
|
113
110
|
};
|
|
@@ -119,7 +116,7 @@ export declare const cmdArgs: {
|
|
|
119
116
|
};
|
|
120
117
|
};
|
|
121
118
|
};
|
|
122
|
-
export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{}, "framework" | "reporters" | "hostname" | "port" | "path" | "updateSnapshots" | "
|
|
119
|
+
export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{}, "framework" | "reporters" | "hostname" | "port" | "path" | "updateSnapshots" | "user" | "key" | "exclude" | "spec" | "repeat" | "bail" | "watch" | "shard" | "mochaOpts" | "jasmineOpts" | "cucumberOpts" | "baseUrl" | "waitforTimeout" | "logLevel" | "coverage" | "suite"> & import("yargs").InferredOptionTypes<{
|
|
123
120
|
readonly watch: {
|
|
124
121
|
readonly desc: "Run WebdriverIO in watch mode";
|
|
125
122
|
readonly type: "boolean";
|
|
@@ -222,9 +219,6 @@ export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{}, "fr
|
|
|
222
219
|
[x: string]: string | number | boolean;
|
|
223
220
|
};
|
|
224
221
|
};
|
|
225
|
-
readonly autoCompileOpts: {
|
|
226
|
-
readonly desc: "Auto compilation options";
|
|
227
|
-
};
|
|
228
222
|
readonly coverage: {
|
|
229
223
|
readonly desc: "Enable coverage for browser runner";
|
|
230
224
|
};
|
|
@@ -238,5 +232,12 @@ export declare const builder: (yargs: Argv) => Argv<import("yargs").Omit<{}, "fr
|
|
|
238
232
|
}>>;
|
|
239
233
|
export declare function launchWithStdin(wdioConfPath: string, params: Partial<RunCommandArguments>): void;
|
|
240
234
|
export declare function launch(wdioConfPath: string, params: Partial<RunCommandArguments>): Promise<void>;
|
|
235
|
+
declare enum NodeVersion {
|
|
236
|
+
'major' = 0,
|
|
237
|
+
'minor' = 1,
|
|
238
|
+
'patch' = 2
|
|
239
|
+
}
|
|
240
|
+
export declare function nodeVersion(type: keyof typeof NodeVersion): number;
|
|
241
241
|
export declare function handler(argv: RunCommandArguments): Promise<false | void>;
|
|
242
|
+
export {};
|
|
242
243
|
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAMjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,eAAO,MAAM,OAAO,qBAAqB,CAAA;AAEzC,eAAO,MAAM,IAAI,yEAAyE,CAAA;AAa1F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAmDI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA9DJ;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;gCAA1C;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;gCAA1C;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAMjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,eAAO,MAAM,OAAO,qBAAqB,CAAA;AAEzC,eAAO,MAAM,IAAI,yEAAyE,CAAA;AAa1F,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAmDI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA9DJ;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;gCAA1C;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;gCAA1C;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;;;;iCAgH5C,MAAM;;;;;CAQpB,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA5DX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA9DJ;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;gCAA1C;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;gCAA1C;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;;;;iCAgH5C,MAAM;;;;;GAoB7B,CAAA;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,QAezF;AAED,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,iBAgBtF;AAED,aAAK,WAAW;IACZ,OAAO,IAAI;IACX,OAAO,IAAI;IACX,OAAO,IAAI;CACd;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,OAAO,WAAW,GAAG,MAAM,CAElE;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,mBAAmB,yBAsFtD"}
|
package/build/commands/run.js
CHANGED
|
@@ -114,9 +114,6 @@ export const cmdArgs = {
|
|
|
114
114
|
desc: 'Cucumber options',
|
|
115
115
|
coerce: coerceOpts
|
|
116
116
|
},
|
|
117
|
-
autoCompileOpts: {
|
|
118
|
-
desc: 'Auto compilation options'
|
|
119
|
-
},
|
|
120
117
|
coverage: {
|
|
121
118
|
desc: 'Enable coverage for browser runner'
|
|
122
119
|
},
|
|
@@ -138,14 +135,14 @@ export const builder = (yargs) => {
|
|
|
138
135
|
.example('$0 run wdio.conf.js --spec ./tests/e2e/a.js --spec ./tests/e2e/b.js', 'Run suite on specific specs')
|
|
139
136
|
.example('$0 run wdio.conf.js --shard 1/4', 'Run only the first shard of 4 shards')
|
|
140
137
|
.example('$0 run wdio.conf.js --mochaOpts.timeout 60000', 'Run suite with custom Mocha timeout')
|
|
141
|
-
.example('$0 run wdio.conf.js --
|
|
142
|
-
.example('$0 run wdio.conf.js --autoCompileOpts.tsNodeOpts.project=./configs/bdd-tsconfig.json', 'Run suite with ts-node using custom tsconfig.json')
|
|
138
|
+
.example('$0 run wdio.conf.js --tsConfigPath=./configs/bdd-tsconfig.json', 'Run suite with tsx using custom tsconfig.json')
|
|
143
139
|
.epilogue(CLI_EPILOGUE)
|
|
144
140
|
.help();
|
|
145
141
|
};
|
|
146
142
|
export function launchWithStdin(wdioConfPath, params) {
|
|
147
143
|
let stdinData = '';
|
|
148
|
-
|
|
144
|
+
process.stdin.resume();
|
|
145
|
+
const stdin = process.stdin;
|
|
149
146
|
stdin.setEncoding('utf8');
|
|
150
147
|
stdin.on('data', (data) => {
|
|
151
148
|
stdinData += data;
|
|
@@ -180,7 +177,7 @@ var NodeVersion;
|
|
|
180
177
|
NodeVersion[NodeVersion["minor"] = 1] = "minor";
|
|
181
178
|
NodeVersion[NodeVersion["patch"] = 2] = "patch";
|
|
182
179
|
})(NodeVersion || (NodeVersion = {}));
|
|
183
|
-
function nodeVersion(type) {
|
|
180
|
+
export function nodeVersion(type) {
|
|
184
181
|
return process.versions.node.split('.').map(Number)[NodeVersion[type]];
|
|
185
182
|
}
|
|
186
183
|
export async function handler(argv) {
|
|
@@ -196,34 +193,35 @@ export async function handler(argv) {
|
|
|
196
193
|
}
|
|
197
194
|
}
|
|
198
195
|
/**
|
|
199
|
-
* In order to load TypeScript files in ESM we need to apply the
|
|
196
|
+
* In order to load TypeScript files in ESM we need to apply the tsx loader.
|
|
200
197
|
* Let's have WebdriverIO set it automatically if the user doesn't.
|
|
201
198
|
*/
|
|
202
199
|
const nodePath = process.argv[0];
|
|
203
200
|
let NODE_OPTIONS = process.env.NODE_OPTIONS || '';
|
|
204
|
-
const isTSFile = wdioConf.fullPath.endsWith('.ts') || wdioConf.fullPath.endsWith('.mts');
|
|
205
|
-
const runsWithLoader = (Boolean(process.argv.find((arg) => arg.startsWith('--loader')) &&
|
|
206
|
-
process.argv.find((arg) => arg.endsWith('
|
|
207
|
-
NODE_OPTIONS?.includes('
|
|
201
|
+
const isTSFile = wdioConf.fullPath.endsWith('.ts') || wdioConf.fullPath.endsWith('.mts') || confAccess?.endsWith('.ts') || confAccess?.endsWith('.mts');
|
|
202
|
+
const runsWithLoader = (Boolean(process.argv.find((arg) => arg.startsWith('--import') || arg.startsWith('--loader')) &&
|
|
203
|
+
process.argv.find((arg) => arg.endsWith('tsx'))) ||
|
|
204
|
+
NODE_OPTIONS?.includes('tsx'));
|
|
208
205
|
if (isTSFile && !runsWithLoader && nodePath) {
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
216
|
-
const
|
|
217
|
-
path.resolve(process.cwd(), process.env.
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
206
|
+
// The `--import` flag is only available in Node 20.6.0 / 18.19.0 and later.
|
|
207
|
+
// This switching can be removed once the minimum supported version of Node exceeds 20.6.0 / 18.19.0
|
|
208
|
+
// see https://nodejs.org/api/module.html#customization-hooks
|
|
209
|
+
// and https://tsx.is/node#es-modules-only
|
|
210
|
+
const moduleLoaderFlag = (nodeVersion('major') >= 20 && nodeVersion('minor') >= 6) ||
|
|
211
|
+
(nodeVersion('major') === 18 && nodeVersion('minor') >= 19) ? '--import' : '--loader';
|
|
212
|
+
NODE_OPTIONS += ` ${moduleLoaderFlag} tsx`;
|
|
213
|
+
const tsConfigPathFromEnvVar = (process.env.TSCONFIG_PATH &&
|
|
214
|
+
path.resolve(process.cwd(), process.env.TSCONFIG_PATH)) || (process.env.TSX_TSCONFIG_PATH &&
|
|
215
|
+
path.resolve(process.cwd(), process.env.TSX_TSCONFIG_PATH));
|
|
216
|
+
const tsConfigPathFromParams = params.tsConfigPath &&
|
|
217
|
+
path.resolve(process.cwd(), params.tsConfigPath);
|
|
218
|
+
const tsConfigPathRelativeToWdioConfig = path.join(path.dirname(wdioConf.fullPath), 'tsconfig.json');
|
|
219
|
+
if (tsConfigPathFromParams) {
|
|
220
|
+
console.log('Deprecated: use the TSCONFIG_PATH environment variable instead');
|
|
223
221
|
}
|
|
224
|
-
const localTSConfigPath = (
|
|
225
|
-
|
|
226
|
-
|
|
222
|
+
const localTSConfigPath = (tsConfigPathFromEnvVar ||
|
|
223
|
+
tsConfigPathFromParams ||
|
|
224
|
+
tsConfigPathRelativeToWdioConfig);
|
|
227
225
|
const hasLocalTSConfig = await fs.access(localTSConfigPath).then(() => true, () => false);
|
|
228
226
|
const p = await execa(nodePath, process.argv.slice(1), {
|
|
229
227
|
reject: false,
|
|
@@ -231,7 +229,7 @@ export async function handler(argv) {
|
|
|
231
229
|
stdio: 'inherit',
|
|
232
230
|
env: {
|
|
233
231
|
...process.env,
|
|
234
|
-
...(hasLocalTSConfig ? {
|
|
232
|
+
...(hasLocalTSConfig ? { TSX_TSCONFIG_PATH: localTSConfigPath } : {}),
|
|
235
233
|
NODE_OPTIONS
|
|
236
234
|
}
|
|
237
235
|
});
|
package/build/constants.d.ts
CHANGED
|
@@ -23,11 +23,6 @@ export declare const IOS_CONFIG: {
|
|
|
23
23
|
automationName: string;
|
|
24
24
|
deviceName: string;
|
|
25
25
|
};
|
|
26
|
-
export declare enum CompilerOptions {
|
|
27
|
-
Babel = "Babel (https://babeljs.io/)",
|
|
28
|
-
TS = "TypeScript (https://www.typescriptlang.org/)",
|
|
29
|
-
Nil = "No!"
|
|
30
|
-
}
|
|
31
26
|
/**
|
|
32
27
|
* We have to use a string hash for value because InquirerJS default values do not work if we have
|
|
33
28
|
* objects as a `value` to be stored from the user's answers.
|
|
@@ -212,9 +207,9 @@ export declare const QUESTIONNAIRE: ({
|
|
|
212
207
|
type: string;
|
|
213
208
|
name: string;
|
|
214
209
|
message: string;
|
|
215
|
-
|
|
216
|
-
default: (answers: Questionnair) => Promise<
|
|
217
|
-
|
|
210
|
+
when: (answers: Questionnair) => boolean;
|
|
211
|
+
default: (answers: Questionnair) => true | Promise<boolean>;
|
|
212
|
+
choices?: undefined;
|
|
218
213
|
} | {
|
|
219
214
|
type: string;
|
|
220
215
|
name: string;
|
|
@@ -258,7 +253,9 @@ export declare const QUESTIONNAIRE: ({
|
|
|
258
253
|
when?: undefined;
|
|
259
254
|
})[];
|
|
260
255
|
export declare const COMMUNITY_PACKAGES_WITH_TS_SUPPORT: string[];
|
|
261
|
-
export declare const TESTRUNNER_DEFAULTS: Options.Definition<Options.Testrunner
|
|
256
|
+
export declare const TESTRUNNER_DEFAULTS: Options.Definition<Options.Testrunner & {
|
|
257
|
+
capabilities: unknown;
|
|
258
|
+
}>;
|
|
262
259
|
export declare const WORKER_GROUPLOGS_MESSAGES: {
|
|
263
260
|
normalExit: (cid: string) => string;
|
|
264
261
|
exitWithError: (cid: string) => string;
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAuB,MAAM,aAAa,CAAA;AAS/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,mBAAmB,8HAI/B,CAAA;AAED,eAAO,MAAM,GAAG,yCAA0C,CAAA;AAC1D,eAAO,MAAM,+BAA+B,UAA2C,CAAA;AACvF,eAAO,MAAM,0BAA0B,6CAAmD;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,WAYzJ,CAAA;AAED,eAAO,MAAM,6BAA6B,8EAGzC,CAAA;AAED,eAAO,MAAM,iCAAiC,8CAG7C,CAAA;AAED,eAAO,MAAM,WAAW,KAAK,CAAA;AAE7B,eAAO,MAAM,cAAc;;;;CAI1B,CAAA;AAED,eAAO,MAAM,UAAU;;;;CAItB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAqF9B,CAAA;AAED,eAAO,MAAM,gCAAgC;;;;;;IAS5C,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAA;AAED,oBAAY,aAAa;IACrB,KAAK,wBAAwB;IAC7B,UAAU,kCAAkC;IAC5C,SAAS,kCAAkC;IAC3C,YAAY,oCAAoC;IAChD,YAAY,uEAAuE;IACnF,IAAI,iCAAiC;CACxC;AAED,oBAAY,uBAAuB;IAC/B,aAAa,mDAAmD;IAChE,eAAe,mDAAmD;IAClE,aAAa,mBAAmB;CACnC;AAED,aAAK,eAAe;IAChB,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,oBAAY,aAAa;IACrB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,IAAI,SAAS;CAChB;AAED,eAAO,MAAM,gBAAgB;;;GAG5B,CAAA;AAED,eAAO,MAAM,mBAAmB;;;GAG/B,CAAA;AAED,eAAO,MAAM,oBAAoB;;;GAKhC,CAAA;AAED,iBAAS,eAAe,CAAE,OAAO,EAAE,YAAY,WAE9C;AAED,wBAAgB,YAAY,CAAE,OAAO,EAAE,YAAY,WAElD;AAMD,eAAO,MAAM,aAAa,SAYzB,CAAA;AAqBD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAkBqB,YAAY;;;;;;;oBAYX,YAAY;;;;;;;oBAWZ,YAAY;;;;;;;;;;;oBAOb,YAAY;;;;;;;;;;oBAgBX,YAAY;;;;;oBAQb,YAAY;;;;;;;;oBAMZ,YAAY;;;;;;;;oBAyBZ,YAAY;;;;;;oBAoDZ,YAAY;;;;;;;oBASZ,YAAY;;;;;;uBA0BR,YAAY;;;;;;;;;;oBAsBhB,YAAY;uBAST,YAAY;;;;;;uBAmBZ,YAAY;oBAIf,YAAY;;;;;;uBAuCT,YAAY;oBAKf,YAAY;;;;;;;;;;;;;;;;uBA0CpC,YAAY;;;;uBAuBZ,YAAY;;;;;;;;;IA8CjC,CAAA;AAGF,eAAO,MAAM,kCAAkC,UAM9C,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CA+SlG,CAAA;AAED,eAAO,MAAM,yBAAyB;sBAChB,MAAM;yBACH,MAAM;CAC9B,CAAA"}
|
package/build/constants.js
CHANGED
|
@@ -45,12 +45,6 @@ export const IOS_CONFIG = {
|
|
|
45
45
|
automationName: 'XCUITest',
|
|
46
46
|
deviceName: 'iPhone Simulator'
|
|
47
47
|
};
|
|
48
|
-
export var CompilerOptions;
|
|
49
|
-
(function (CompilerOptions) {
|
|
50
|
-
CompilerOptions["Babel"] = "Babel (https://babeljs.io/)";
|
|
51
|
-
CompilerOptions["TS"] = "TypeScript (https://www.typescriptlang.org/)";
|
|
52
|
-
CompilerOptions["Nil"] = "No!";
|
|
53
|
-
})(CompilerOptions || (CompilerOptions = {}));
|
|
54
48
|
/**
|
|
55
49
|
* We have to use a string hash for value because InquirerJS default values do not work if we have
|
|
56
50
|
* objects as a `value` to be stored from the user's answers.
|
|
@@ -107,7 +101,7 @@ export const SUPPORTED_PACKAGES = {
|
|
|
107
101
|
{ name: 'sauce', value: '@wdio/sauce-service$--$sauce' },
|
|
108
102
|
{ name: 'testingbot', value: '@wdio/testingbot-service$--$testingbot' },
|
|
109
103
|
{ name: 'browserstack', value: '@wdio/browserstack-service$--$browserstack' },
|
|
110
|
-
{ name: '
|
|
104
|
+
{ name: 'lighthouse', value: '@wdio/lighthouse-service$--$lighthouse' },
|
|
111
105
|
{ name: 'vscode', value: 'wdio-vscode-service$--$vscode' },
|
|
112
106
|
{ name: 'electron', value: 'wdio-electron-service$--$electron' },
|
|
113
107
|
{ name: 'appium', value: '@wdio/appium-service$--$appium' },
|
|
@@ -131,7 +125,6 @@ export const SUPPORTED_PACKAGES = {
|
|
|
131
125
|
{ name: 'performancetotal', value: 'wdio-performancetotal-service$--$performancetotal' },
|
|
132
126
|
{ name: 'cleanuptotal', value: 'wdio-cleanuptotal-service$--$cleanuptotal' },
|
|
133
127
|
{ name: 'aws-device-farm', value: 'wdio-aws-device-farm-service$--$aws-device-farm' },
|
|
134
|
-
{ name: 'ocr-native-apps', value: 'wdio-ocr-service$--$ocr-native-apps' },
|
|
135
128
|
{ name: 'ms-teams', value: 'wdio-ms-teams-service$--$ms-teams' },
|
|
136
129
|
{ name: 'tesults', value: 'wdio-tesults-service$--$tesults' },
|
|
137
130
|
{ name: 'azure-devops', value: '@gmangiapelo/wdio-azure-devops-service$--$azure-devops' },
|
|
@@ -420,19 +413,19 @@ export const QUESTIONNAIRE = [{
|
|
|
420
413
|
return SUPPORTED_PACKAGES.framework;
|
|
421
414
|
}
|
|
422
415
|
}, {
|
|
423
|
-
type: '
|
|
424
|
-
name: '
|
|
425
|
-
message: 'Do you want to use
|
|
426
|
-
|
|
416
|
+
type: 'confirm',
|
|
417
|
+
name: 'isUsingTypeScript',
|
|
418
|
+
message: 'Do you want to use Typescript to write tests?',
|
|
419
|
+
when: /* istanbul ignore next */ (answers) => {
|
|
427
420
|
/**
|
|
428
|
-
* StencilJS only supports TypeScript
|
|
421
|
+
* StencilJS only supports TypeScript - use the default
|
|
429
422
|
*/
|
|
430
|
-
if (answers.preset
|
|
431
|
-
return
|
|
423
|
+
if (answers.preset?.includes('stencil')) {
|
|
424
|
+
return false;
|
|
432
425
|
}
|
|
433
|
-
return
|
|
426
|
+
return true;
|
|
434
427
|
},
|
|
435
|
-
default: /* istanbul ignore next */ (answers) => detectCompiler(answers)
|
|
428
|
+
default: /* istanbul ignore next */ (answers) => answers.preset?.includes('stencil') || detectCompiler(answers)
|
|
436
429
|
}, {
|
|
437
430
|
type: 'confirm',
|
|
438
431
|
name: 'generateTestFiles',
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class Launcher {
|
|
4
|
-
configFilePath;
|
|
5
|
-
args;
|
|
6
|
-
isWatchMode;
|
|
7
4
|
#esmLauncher;
|
|
8
5
|
constructor(configFilePath, args = {}, isWatchMode = false) {
|
|
9
|
-
this.configFilePath
|
|
10
|
-
this.args = args;
|
|
11
|
-
this.isWatchMode = isWatchMode;
|
|
12
|
-
this.#esmLauncher = import('../launcher.js').then(({ default: Launcher }) => new Launcher(this.configFilePath, this.args, this.isWatchMode));
|
|
6
|
+
this.#esmLauncher = import('./launcher.js').then(({ default: Launcher }) => new Launcher(configFilePath, args, isWatchMode));
|
|
13
7
|
}
|
|
14
8
|
/**
|
|
15
9
|
* run sequence
|
|
@@ -20,7 +14,7 @@ class Launcher {
|
|
|
20
14
|
}
|
|
21
15
|
}
|
|
22
16
|
async function run() {
|
|
23
|
-
const { run } = await import('
|
|
17
|
+
const { run } = await import('./index.js');
|
|
24
18
|
return run();
|
|
25
19
|
}
|
|
26
20
|
module.exports = { Launcher, run };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.cts"],"names":[],"mappings":""}
|
package/build/interface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAMtC,UAAU,SAAS;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,iBAAiB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;;IA6BjD,OAAO,CAAC,OAAO;IACR,cAAc,EAAE,MAAM;IAC7B,OAAO,CAAC,YAAY;IA1BjB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM;;;;;MAKZ;IAED,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,qBAAqB,CAAQ;IAErC,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAMZ;gBAGO,OAAO,EAAE,OAAO,CAAC,UAAU,EAC5B,cAAc,EAAE,MAAM,EACrB,YAAY,UAAQ;IA2BhC,KAAK;IAqBL,OAAO;IAcP,aAAa,CAAE,GAAG,EAAE,MAAM;IAI1B,WAAW,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI;IAKxD,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI;IAIvD,aAAa,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI;IAI1D,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAI1C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,SAAI,EAAE,OAAO,SAAK,EAAE,OAAO,GAAE,QAAmB;IAYrG,WAAW,CAAE,OAAO,EAAE,iBAAiB;IAUvC,YAAY,CAAE,KAAK,GAAE,MAAM,EAAO;IAOlC;;OAEG;IACH,MAAM,CAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,GAAG,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IASrE;;OAEG;IACH,QAAQ,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IA2BrF;;OAEG;IACH,GAAG,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAMnB,YAAY,CAAE,KAAK,EAAE,KAAK,GAAG,SAAS;IAOtC;;OAEG;IACH,SAAS,CAAE,KAAK,EAAE,iBAAiB;IAwDnC,aAAa;IAgBb,cAAc;IAYd,YAAY;IAsCZ,QAAQ;CAIX"}
|
package/build/launcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAIxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAiBrD,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,cAAM,QAAQ;IAkBN,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IAnBjB,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,UAAQ;IACrB,qBAAqB,UAAQ;IAC7B,MAAM,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAA;IAChC,SAAS,CAAC,EAAE,WAAW,CAAA;IAE9B,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,SAAS,CAAC,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAU;gBAGf,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,OAAO,CAAC,mBAAmB,CAAM,EACxC,YAAY,UAAQ;IAKhC;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAIxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAiBrD,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,cAAM,QAAQ;IAkBN,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IAnBjB,YAAY,EAAE,YAAY,CAAA;IAC1B,aAAa,UAAQ;IACrB,qBAAqB,UAAQ;IAC7B,MAAM,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAA;IAChC,SAAS,CAAC,EAAE,WAAW,CAAA;IAE9B,OAAO,CAAC,SAAS,CAAI;IACrB,OAAO,CAAC,wBAAwB,CAAQ;IACxC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,SAAS,CAAC,CAA4B;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAU;gBAGf,eAAe,EAAE,MAAM,EACvB,KAAK,GAAE,OAAO,CAAC,mBAAmB,CAAM,EACxC,YAAY,UAAQ;IAKhC;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;IA8GxC;;OAEG;IACH,OAAO,CAAC,QAAQ;IA+EhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAyBpB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAmEjB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAIpC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;;;;OAMG;YACW,cAAc;IAuG5B,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;;;OAMG;YACW,WAAW;IA0DzB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAcpB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAG7B;AAED,eAAe,QAAQ,CAAA"}
|
package/build/launcher.js
CHANGED
|
@@ -38,11 +38,6 @@ class Launcher {
|
|
|
38
38
|
async run() {
|
|
39
39
|
await this.configParser.initialize(this._args);
|
|
40
40
|
const config = this.configParser.getConfig();
|
|
41
|
-
/**
|
|
42
|
-
* assign parsed autocompile options into args so it can be used within the worker
|
|
43
|
-
* without having to read the config again
|
|
44
|
-
*/
|
|
45
|
-
this._args.autoCompileOpts = config.autoCompileOpts;
|
|
46
41
|
const capabilities = this.configParser.getCapabilities();
|
|
47
42
|
this.isParallelMultiremote = Array.isArray(capabilities) &&
|
|
48
43
|
capabilities.every(cap => Object.values(cap).length > 0 && Object.values(cap).every(c => typeof c === 'object' && c.capabilities));
|
|
@@ -58,9 +53,12 @@ class Launcher {
|
|
|
58
53
|
.map((c) => {
|
|
59
54
|
if (this.isParallelMultiremote) {
|
|
60
55
|
const keys = Object.keys(c);
|
|
61
|
-
|
|
56
|
+
const caps = c[keys[0]].capabilities;
|
|
57
|
+
return this.configParser.getSpecs(caps['wdio:specs'], caps['wdio:exclude']).length;
|
|
62
58
|
}
|
|
63
|
-
|
|
59
|
+
const standaloneCaps = c;
|
|
60
|
+
const cap = 'alwaysMatch' in standaloneCaps ? standaloneCaps.alwaysMatch : standaloneCaps;
|
|
61
|
+
return this.configParser.getSpecs(cap['wdio:specs'], cap['wdio:exclude']).length;
|
|
64
62
|
})
|
|
65
63
|
.reduce((a, b) => a + b, 0)
|
|
66
64
|
: 1;
|
|
@@ -175,7 +173,7 @@ class Launcher {
|
|
|
175
173
|
*/
|
|
176
174
|
const availableInstances = this.isParallelMultiremote ? config.maxInstances || 1 : config.runner === 'browser'
|
|
177
175
|
? 1
|
|
178
|
-
: capabilities
|
|
176
|
+
: capabilities['wdio:maxInstances'] || config.maxInstancesPerCapability;
|
|
179
177
|
this._schedule.push({
|
|
180
178
|
cid: cid++,
|
|
181
179
|
caps: capabilities,
|
|
@@ -370,9 +368,6 @@ class Launcher {
|
|
|
370
368
|
configFile: this._configFilePath,
|
|
371
369
|
args: {
|
|
372
370
|
...this._args,
|
|
373
|
-
...(config?.autoCompileOpts
|
|
374
|
-
? { autoCompileOpts: config.autoCompileOpts }
|
|
375
|
-
: {}),
|
|
376
371
|
/**
|
|
377
372
|
* Pass on user and key values to ensure they are available in the worker process when using
|
|
378
373
|
* environment variables that were locally exported but not part of the environment.
|
|
@@ -39,13 +39,7 @@ if (answers.isUsingTypeScript) {
|
|
|
39
39
|
}
|
|
40
40
|
%>,<%
|
|
41
41
|
if (answers.isUsingTypeScript) { %>
|
|
42
|
-
|
|
43
|
-
autoCompile: true,
|
|
44
|
-
tsNodeOpts: {
|
|
45
|
-
project: '<%- answers.tsProject %>',
|
|
46
|
-
transpileOnly: true
|
|
47
|
-
}
|
|
48
|
-
},
|
|
42
|
+
tsConfigPath: '<%- answers.tsProject %>',
|
|
49
43
|
<% }
|
|
50
44
|
if(answers.expEnvAccessKey){ %>
|
|
51
45
|
hostname: '<%- answers.expEnvHostname %>',
|
|
@@ -148,7 +142,7 @@ if (answers.isUsingTypeScript) {
|
|
|
148
142
|
// Set specific log levels per logger
|
|
149
143
|
// loggers:
|
|
150
144
|
// - webdriver, webdriverio
|
|
151
|
-
// - @wdio/browserstack-service, @wdio/
|
|
145
|
+
// - @wdio/browserstack-service, @wdio/lighthouse-service, @wdio/sauce-service
|
|
152
146
|
// - @wdio/mocha-framework, @wdio/jasmine-framework
|
|
153
147
|
// - @wdio/local-runner
|
|
154
148
|
// - @wdio/sumologic-reporter
|
package/build/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Options, Reporters } from '@wdio/types';
|
|
2
2
|
import type { NormalizedPackageJson } from 'read-pkg-up';
|
|
3
|
-
import type { BackendChoice, RegionOptions,
|
|
3
|
+
import type { BackendChoice, RegionOptions, ElectronBuildToolChoice, PMs } from './constants.js';
|
|
4
4
|
export type PM = typeof PMs[number];
|
|
5
5
|
export interface Questionnair {
|
|
6
6
|
runner: string;
|
|
@@ -27,7 +27,7 @@ export interface Questionnair {
|
|
|
27
27
|
generateTestFiles: boolean;
|
|
28
28
|
usePageObjects?: boolean;
|
|
29
29
|
pages?: string;
|
|
30
|
-
|
|
30
|
+
isUsingTypeScript: boolean;
|
|
31
31
|
reporters: string[];
|
|
32
32
|
services: string[];
|
|
33
33
|
serenityLibPath?: string;
|
|
@@ -53,7 +53,6 @@ export interface ParsedAnswers extends Omit<Questionnair, 'runner' | 'framework'
|
|
|
53
53
|
services: string[];
|
|
54
54
|
packagesToInstall: string[];
|
|
55
55
|
isUsingTypeScript: boolean;
|
|
56
|
-
isUsingBabel: boolean;
|
|
57
56
|
serenityAdapter: string | false;
|
|
58
57
|
esmSupport: boolean;
|
|
59
58
|
isSync: boolean;
|
|
@@ -91,9 +90,9 @@ export interface RunCommandArguments {
|
|
|
91
90
|
mochaOpts?: WebdriverIO.MochaOpts;
|
|
92
91
|
jasmineOpts?: WebdriverIO.JasmineOpts;
|
|
93
92
|
cucumberOpts?: WebdriverIO.CucumberOpts;
|
|
94
|
-
autoCompileOpts?: Options.AutoCompileConfig;
|
|
95
93
|
configPath: string;
|
|
96
94
|
updateSnapshots?: Options.Testrunner['updateSnapshots'];
|
|
95
|
+
tsConfigPath?: string;
|
|
97
96
|
/**
|
|
98
97
|
* @internal
|
|
99
98
|
*/
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/utils.d.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import type { SpawnOptions } from 'node:child_process';
|
|
3
3
|
import { SevereServiceError } from 'webdriverio';
|
|
4
4
|
import type { Capabilities, Options, Services } from '@wdio/types';
|
|
5
|
-
import { CompilerOptions } from './constants.js';
|
|
6
5
|
import type { OnCompleteResult, ParsedAnswers, ProjectProps, Questionnair, ReplCommandArguments, SupportedPackage } from './types.js';
|
|
7
6
|
export declare const renderFile: (path: string, data: Record<string, any>) => Promise<string>;
|
|
8
7
|
export declare class HookError extends SevereServiceError {
|
|
@@ -28,11 +27,11 @@ export declare function runLauncherHook(hook: Function | Function[], ...args: an
|
|
|
28
27
|
* @param {*} exitCode
|
|
29
28
|
* @param {*} results
|
|
30
29
|
*/
|
|
31
|
-
export declare function runOnCompleteHook(onCompleteHook: Function | Function[], config: Options.Testrunner, capabilities: Capabilities.
|
|
30
|
+
export declare function runOnCompleteHook(onCompleteHook: Function | Function[], config: Options.Testrunner, capabilities: Capabilities.TestrunnerCapabilities, exitCode: number, results: OnCompleteResult): Promise<(0 | 1)[]>;
|
|
32
31
|
/**
|
|
33
32
|
* get runner identification by caps
|
|
34
33
|
*/
|
|
35
|
-
export declare function getRunnerName(caps?: Capabilities
|
|
34
|
+
export declare function getRunnerName(caps?: WebdriverIO.Capabilities): string;
|
|
36
35
|
export declare function findInConfig(config: string, type: string): RegExpMatchArray | null;
|
|
37
36
|
export declare function replaceConfig(config: string, type: string, name: string): string | undefined;
|
|
38
37
|
export declare function addServiceDeps(names: SupportedPackage[], packages: string[], update?: boolean): void;
|
|
@@ -80,7 +79,7 @@ export declare function hasBabelConfig(rootDir: string): Promise<boolean>;
|
|
|
80
79
|
/**
|
|
81
80
|
* detect if project has a compiler file
|
|
82
81
|
*/
|
|
83
|
-
export declare function detectCompiler(answers: Questionnair): Promise<
|
|
82
|
+
export declare function detectCompiler(answers: Questionnair): Promise<boolean>;
|
|
84
83
|
/**
|
|
85
84
|
* Check if package is installed
|
|
86
85
|
* @param {string} package to check existance for
|
|
@@ -124,13 +123,9 @@ export declare function npmInstall(parsedAnswers: ParsedAnswers, npmTag: string)
|
|
|
124
123
|
*/
|
|
125
124
|
export declare function detectPackageManager(argv?: string[]): "npm" | "yarn" | "pnpm" | "bun";
|
|
126
125
|
/**
|
|
127
|
-
*
|
|
126
|
+
* set up TypeScript if it is desired but not installed
|
|
128
127
|
*/
|
|
129
128
|
export declare function setupTypeScript(parsedAnswers: ParsedAnswers): Promise<void>;
|
|
130
|
-
/**
|
|
131
|
-
* add @babel/register package if not installed
|
|
132
|
-
*/
|
|
133
|
-
export declare function setupBabel(parsedAnswers: ParsedAnswers): Promise<void>;
|
|
134
129
|
export declare function createWDIOConfig(parsedAnswers: ParsedAnswers): Promise<void>;
|
|
135
130
|
/**
|
|
136
131
|
* Get project root directory based on questionair answers
|
|
@@ -140,5 +135,7 @@ export declare function createWDIOConfig(parsedAnswers: ParsedAnswers): Promise<
|
|
|
140
135
|
*/
|
|
141
136
|
export declare function getProjectRoot(parsedAnswers?: Questionnair): Promise<string>;
|
|
142
137
|
export declare function createWDIOScript(parsedAnswers: ParsedAnswers): Promise<boolean>;
|
|
143
|
-
export declare function runAppiumInstaller(parsedAnswers: ParsedAnswers): Promise<void | import("execa").
|
|
138
|
+
export declare function runAppiumInstaller(parsedAnswers: ParsedAnswers): Promise<void | import("execa").Result<{
|
|
139
|
+
stdio: "inherit";
|
|
140
|
+
}>>;
|
|
144
141
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAYtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/build/utils.js
CHANGED
|
@@ -16,7 +16,7 @@ import { SevereServiceError } from 'webdriverio';
|
|
|
16
16
|
import { ConfigParser } from '@wdio/config/node';
|
|
17
17
|
import { CAPABILITY_KEYS } from '@wdio/protocols';
|
|
18
18
|
import { installPackages, getInstallCommand } from './install.js';
|
|
19
|
-
import { ANDROID_CONFIG,
|
|
19
|
+
import { ANDROID_CONFIG, DEPENDENCIES_INSTALLATION_MESSAGE, IOS_CONFIG, pkg, QUESTIONNAIRE, TESTING_LIBRARY_PACKAGES, COMMUNITY_PACKAGES_WITH_TS_SUPPORT, usesSerenity, PMs, } from './constants.js';
|
|
20
20
|
import { EjsHelpers } from './templates/EjsHelpers.js';
|
|
21
21
|
const log = logger('@wdio/cli:utils');
|
|
22
22
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -185,7 +185,6 @@ export function getSerenityPackages(answers) {
|
|
|
185
185
|
if (framework.package !== '@serenity-js/webdriverio') {
|
|
186
186
|
return [];
|
|
187
187
|
}
|
|
188
|
-
const isUsingTypeScript = answers.isUsingCompiler === CompilerOptions.TS;
|
|
189
188
|
const packages = {
|
|
190
189
|
cucumber: [
|
|
191
190
|
'@cucumber/cucumber',
|
|
@@ -194,12 +193,10 @@ export function getSerenityPackages(answers) {
|
|
|
194
193
|
mocha: [
|
|
195
194
|
'@serenity-js/mocha',
|
|
196
195
|
'mocha',
|
|
197
|
-
isUsingTypeScript && '@types/mocha',
|
|
198
196
|
],
|
|
199
197
|
jasmine: [
|
|
200
198
|
'@serenity-js/jasmine',
|
|
201
199
|
'jasmine',
|
|
202
|
-
isUsingTypeScript && '@types/jasmine',
|
|
203
200
|
],
|
|
204
201
|
common: [
|
|
205
202
|
'@serenity-js/assertions',
|
|
@@ -208,11 +205,15 @@ export function getSerenityPackages(answers) {
|
|
|
208
205
|
'@serenity-js/rest',
|
|
209
206
|
'@serenity-js/serenity-bdd',
|
|
210
207
|
'@serenity-js/web',
|
|
211
|
-
isUsingTypeScript && '@types/node',
|
|
212
208
|
'npm-failsafe',
|
|
213
209
|
'rimraf',
|
|
214
210
|
]
|
|
215
211
|
};
|
|
212
|
+
if (answers.isUsingTypeScript) {
|
|
213
|
+
packages.mocha.push('@types/mocha');
|
|
214
|
+
packages.jasmine.push('@types/jasmine');
|
|
215
|
+
packages.common.push('@types/node');
|
|
216
|
+
}
|
|
216
217
|
return [
|
|
217
218
|
...packages[framework.purpose],
|
|
218
219
|
...packages.common,
|
|
@@ -250,7 +251,7 @@ export async function getCapabilities(arg) {
|
|
|
250
251
|
}
|
|
251
252
|
catch (e) {
|
|
252
253
|
throw Error(e.code === 'MODULE_NOT_FOUND' ? `Config File not found: ${arg.option}` :
|
|
253
|
-
`Could not parse ${arg.option}, failed with error
|
|
254
|
+
`Could not parse ${arg.option}, failed with error: ${e.message}`);
|
|
254
255
|
}
|
|
255
256
|
if (typeof arg.capabilities === 'undefined') {
|
|
256
257
|
throw Error('Please provide index/named property of capability to use from the capabilities array/object in wdio config file');
|
|
@@ -288,11 +289,7 @@ export function hasBabelConfig(rootDir) {
|
|
|
288
289
|
export async function detectCompiler(answers) {
|
|
289
290
|
const root = await getProjectRoot(answers);
|
|
290
291
|
const rootTSConfigExist = await fs.access(path.resolve(root, 'tsconfig.json')).then(() => true, () => false);
|
|
291
|
-
return (await hasBabelConfig(root))
|
|
292
|
-
? CompilerOptions.Babel // default to Babel
|
|
293
|
-
: rootTSConfigExist
|
|
294
|
-
? CompilerOptions.TS // default to TypeScript
|
|
295
|
-
: CompilerOptions.Nil; // default to no compiler
|
|
292
|
+
return (await hasBabelConfig(root) || rootTSConfigExist) ? true : false;
|
|
296
293
|
}
|
|
297
294
|
/**
|
|
298
295
|
* Check if package is installed
|
|
@@ -428,7 +425,7 @@ export async function getAnswers(yes) {
|
|
|
428
425
|
/**
|
|
429
426
|
* some questions have async defaults
|
|
430
427
|
*/
|
|
431
|
-
answers.
|
|
428
|
+
answers.isUsingTypeScript = await answers.isUsingTypeScript;
|
|
432
429
|
answers.specs = await answers.specs;
|
|
433
430
|
answers.pages = await answers.pages;
|
|
434
431
|
return answers;
|
|
@@ -510,7 +507,7 @@ export async function getDefaultFiles(answers, pattern) {
|
|
|
510
507
|
const isJSX = TSX_BASED_FRAMEWORKS.includes(presetPackage.short || '');
|
|
511
508
|
const val = pattern.endsWith('.feature')
|
|
512
509
|
? path.join(rootdir, pattern)
|
|
513
|
-
: answers?.
|
|
510
|
+
: answers?.isUsingTypeScript
|
|
514
511
|
? `${path.join(rootdir, pattern)}.ts${isJSX ? 'x' : ''}`
|
|
515
512
|
: `${path.join(rootdir, pattern)}.js${isJSX ? 'x' : ''}`;
|
|
516
513
|
return val;
|
|
@@ -704,7 +701,7 @@ export function detectPackageManager(argv = process.argv) {
|
|
|
704
701
|
argv[1].includes(`${path.sep}.${pm}${path.sep}`))) || 'npm';
|
|
705
702
|
}
|
|
706
703
|
/**
|
|
707
|
-
*
|
|
704
|
+
* set up TypeScript if it is desired but not installed
|
|
708
705
|
*/
|
|
709
706
|
export async function setupTypeScript(parsedAnswers) {
|
|
710
707
|
/**
|
|
@@ -714,17 +711,17 @@ export async function setupTypeScript(parsedAnswers) {
|
|
|
714
711
|
return;
|
|
715
712
|
}
|
|
716
713
|
/**
|
|
717
|
-
* don't set up TypeScript if a `tsconfig.json` already exists but ensure we install `
|
|
718
|
-
* as it is a requirement for running TypeScript
|
|
714
|
+
* don't set up TypeScript if a `tsconfig.json` already exists but ensure we install `tsx`
|
|
715
|
+
* as it is a requirement for running tests with TypeScript
|
|
719
716
|
*/
|
|
720
717
|
if (parsedAnswers.hasRootTSConfig) {
|
|
721
|
-
parsedAnswers.packagesToInstall.push('
|
|
718
|
+
parsedAnswers.packagesToInstall.push('tsx');
|
|
722
719
|
return;
|
|
723
720
|
}
|
|
724
721
|
console.log('Setting up TypeScript...');
|
|
725
722
|
const frameworkPackage = convertPackageHashToObject(parsedAnswers.rawAnswers.framework);
|
|
726
723
|
const servicePackages = parsedAnswers.rawAnswers.services.map((service) => convertPackageHashToObject(service));
|
|
727
|
-
parsedAnswers.packagesToInstall.push('
|
|
724
|
+
parsedAnswers.packagesToInstall.push('tsx');
|
|
728
725
|
const serenityTypes = parsedAnswers.serenityAdapter === 'jasmine' ? ['jasmine'] : [];
|
|
729
726
|
const types = [
|
|
730
727
|
'node',
|
|
@@ -808,45 +805,6 @@ function getPreset(parsedAnswers) {
|
|
|
808
805
|
const isUsingFramework = typeof parsedAnswers.preset === 'string';
|
|
809
806
|
return isUsingFramework ? (parsedAnswers.preset || 'lit') : '';
|
|
810
807
|
}
|
|
811
|
-
/**
|
|
812
|
-
* add @babel/register package if not installed
|
|
813
|
-
*/
|
|
814
|
-
export async function setupBabel(parsedAnswers) {
|
|
815
|
-
if (!parsedAnswers.isUsingBabel) {
|
|
816
|
-
return;
|
|
817
|
-
}
|
|
818
|
-
if (!await hasPackage('@babel/register')) {
|
|
819
|
-
parsedAnswers.packagesToInstall.push('@babel/register');
|
|
820
|
-
}
|
|
821
|
-
/**
|
|
822
|
-
* setup Babel if no config file exists
|
|
823
|
-
*/
|
|
824
|
-
const hasBabelConfig = await Promise.all([
|
|
825
|
-
fs.access(path.join(parsedAnswers.projectRootDir, 'babel.js')),
|
|
826
|
-
fs.access(path.join(parsedAnswers.projectRootDir, 'babel.cjs')),
|
|
827
|
-
fs.access(path.join(parsedAnswers.projectRootDir, 'babel.mjs')),
|
|
828
|
-
fs.access(path.join(parsedAnswers.projectRootDir, '.babelrc'))
|
|
829
|
-
]).then((results) => results.filter(Boolean).length > 1, () => false);
|
|
830
|
-
if (!hasBabelConfig) {
|
|
831
|
-
console.log('Setting up Babel project...');
|
|
832
|
-
if (!await hasPackage('@babel/core')) {
|
|
833
|
-
parsedAnswers.packagesToInstall.push('@babel/core');
|
|
834
|
-
}
|
|
835
|
-
if (!await hasPackage('@babel/preset-env')) {
|
|
836
|
-
parsedAnswers.packagesToInstall.push('@babel/preset-env');
|
|
837
|
-
}
|
|
838
|
-
await fs.writeFile(path.join(process.cwd(), 'babel.config.js'), `module.exports = ${JSON.stringify({
|
|
839
|
-
presets: [
|
|
840
|
-
['@babel/preset-env', {
|
|
841
|
-
targets: {
|
|
842
|
-
node: 18
|
|
843
|
-
}
|
|
844
|
-
}]
|
|
845
|
-
]
|
|
846
|
-
}, null, 4)}`);
|
|
847
|
-
console.log(chalk.green(chalk.bold('✔ Success!\n')));
|
|
848
|
-
}
|
|
849
|
-
}
|
|
850
808
|
export async function createWDIOConfig(parsedAnswers) {
|
|
851
809
|
try {
|
|
852
810
|
console.log('Creating a WebdriverIO config file...');
|
package/build/watcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKvE,MAAM,CAAC,OAAO,OAAO,OAAO;IAKpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IALjB,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,MAAM,CAAa;gBAGf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAMpD,KAAK;
|
|
1
|
+
{"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAA;AAGxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAKvE,MAAM,CAAC,OAAO,OAAO,OAAO;IAKpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,KAAK;IALjB,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,MAAM,CAAa;gBAGf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC;IAMpD,KAAK;IAmDX;;;;OAIG;IACH,eAAe,CAAE,UAAU,UAAO,UAChB,MAAM;IAgCxB;;;;;OAKG;IACH,UAAU,CAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU;IAqB7H;;;OAGG;IACH,GAAG,CAAE,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAqC9C,OAAO;CAGV"}
|
package/build/watcher.js
CHANGED
|
@@ -22,7 +22,7 @@ export default class Watcher {
|
|
|
22
22
|
const specs = this._launcher.configParser.getSpecs();
|
|
23
23
|
const capSpecs = this._launcher.isMultiremote
|
|
24
24
|
? []
|
|
25
|
-
: union(flattenDeep(this._launcher.configParser.getCapabilities().map(cap => cap.specs || [])));
|
|
25
|
+
: union(flattenDeep(this._launcher.configParser.getCapabilities().map(cap => ('alwaysMatch' in cap ? cap.alwaysMatch['wdio:specs'] : cap['wdio:specs'] || []))));
|
|
26
26
|
this._specs = [...specs, ...capSpecs];
|
|
27
27
|
/**
|
|
28
28
|
* listen on spec changes and rerun specific spec file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/cli",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.321+63953a607",
|
|
4
4
|
"description": "WebdriverIO testrunner command line interface",
|
|
5
5
|
"author": "Christian Bromann <mail@bromann.dev>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-cli",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"bugs": {
|
|
29
29
|
"url": "https://github.com/webdriverio/webdriverio/issues"
|
|
30
30
|
},
|
|
31
|
-
"main": "./build/
|
|
31
|
+
"main": "./build/index.cjs",
|
|
32
32
|
"type": "module",
|
|
33
33
|
"module": "./build/index.js",
|
|
34
34
|
"types": "./build/index.d.ts",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
{
|
|
38
38
|
"types": "./build/index.d.ts",
|
|
39
39
|
"import": "./build/index.js",
|
|
40
|
-
"require": "./build/
|
|
40
|
+
"require": "./build/index.cjs"
|
|
41
41
|
},
|
|
42
|
-
"./build/
|
|
42
|
+
"./build/index.cjs"
|
|
43
43
|
],
|
|
44
44
|
"./package.json": "./package.json"
|
|
45
45
|
},
|
|
@@ -47,27 +47,27 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@types/node": "^20.1.1",
|
|
49
49
|
"@vitest/snapshot": "^1.2.1",
|
|
50
|
-
"@wdio/config": "9.0.0-alpha.
|
|
51
|
-
"@wdio/globals": "9.0.0-alpha.
|
|
52
|
-
"@wdio/logger": "9.0.0-alpha.
|
|
53
|
-
"@wdio/protocols": "9.0.0-alpha.
|
|
54
|
-
"@wdio/types": "9.0.0-alpha.
|
|
55
|
-
"@wdio/utils": "9.0.0-alpha.
|
|
50
|
+
"@wdio/config": "9.0.0-alpha.321+63953a607",
|
|
51
|
+
"@wdio/globals": "9.0.0-alpha.321+63953a607",
|
|
52
|
+
"@wdio/logger": "9.0.0-alpha.321+63953a607",
|
|
53
|
+
"@wdio/protocols": "9.0.0-alpha.321+63953a607",
|
|
54
|
+
"@wdio/types": "9.0.0-alpha.321+63953a607",
|
|
55
|
+
"@wdio/utils": "9.0.0-alpha.321+63953a607",
|
|
56
56
|
"async-exit-hook": "^2.0.1",
|
|
57
57
|
"chalk": "^5.2.0",
|
|
58
58
|
"chokidar": "^3.5.3",
|
|
59
|
-
"cli-spinners": "^
|
|
59
|
+
"cli-spinners": "^3.0.0",
|
|
60
60
|
"dotenv": "^16.3.1",
|
|
61
61
|
"ejs": "^3.1.9",
|
|
62
|
-
"execa": "^
|
|
62
|
+
"execa": "^9.2.0",
|
|
63
63
|
"import-meta-resolve": "^4.0.0",
|
|
64
|
-
"inquirer": "9.2.
|
|
64
|
+
"inquirer": "9.2.23",
|
|
65
65
|
"lodash.flattendeep": "^4.4.0",
|
|
66
66
|
"lodash.pickby": "^4.6.0",
|
|
67
67
|
"lodash.union": "^4.6.0",
|
|
68
68
|
"read-pkg-up": "^10.0.0",
|
|
69
69
|
"recursive-readdir": "^2.2.3",
|
|
70
|
-
"webdriverio": "9.0.0-alpha.
|
|
70
|
+
"webdriverio": "9.0.0-alpha.321+63953a607",
|
|
71
71
|
"yargs": "^17.7.2"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"publishConfig": {
|
|
84
84
|
"access": "public"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "63953a6079023cb390a113fe5ce1c1b01b8e4bb6"
|
|
87
87
|
}
|
package/build/cjs/index.d.ts
DELETED
package/build/cjs/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cjs/index.ts"],"names":[],"mappings":""}
|