@wdio/cli 8.0.0-alpha.411 → 8.0.0-alpha.504

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.
@@ -1,6 +1,6 @@
1
+ import fs from 'node:fs/promises';
1
2
  import path from 'node:path';
2
3
  import util from 'node:util';
3
- import fs from 'fs-extra';
4
4
  import inquirer from 'inquirer';
5
5
  import yarnInstall from 'yarn-install';
6
6
  import { CONFIG_HELPER_INTRO, CLI_EPILOGUE, COMPILER_OPTIONS, TS_COMPILER_INSTRUCTIONS, SUPPORTED_PACKAGES, CONFIG_HELPER_SUCCESS_MESSAGE, DEPENDENCIES_INSTALLATION_MESSAGE, pkg } from '../constants.js';
@@ -82,8 +82,8 @@ const runConfig = async function (useYarn, yes, exit = false) {
82
82
  target: 'es2019',
83
83
  }
84
84
  };
85
- fs.ensureDirSync(path.join(process.cwd(), 'test'));
86
- await fs.promises.writeFile(parsedAnswers.tsConfigFilePath, JSON.stringify(config, null, 4));
85
+ await fs.mkdir(path.join(process.cwd(), 'test'), { recursive: true });
86
+ await fs.writeFile(parsedAnswers.tsConfigFilePath, JSON.stringify(config, null, 4));
87
87
  }
88
88
  /**
89
89
  * add @babel/register package if not installed
@@ -102,7 +102,7 @@ const runConfig = async function (useYarn, yes, exit = false) {
102
102
  if (!hasPackage('@babel/preset-env')) {
103
103
  packagesToInstall.push('@babel/preset-env');
104
104
  }
105
- await fs.promises.writeFile(path.join(process.cwd(), 'babel.config.js'), `module.exports = ${JSON.stringify({
105
+ await fs.writeFile(path.join(process.cwd(), 'babel.config.js'), `module.exports = ${JSON.stringify({
106
106
  presets: [
107
107
  ['@babel/preset-env', {
108
108
  targets: {
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAUjC,OAAO,KAAK,EAAE,uBAAuB,EAAoB,MAAM,UAAU,CAAA;AASzE,eAAO,MAAM,OAAO,0BAA0B,CAAA;AAC9C,eAAO,MAAM,IAAI,QAIN,CAAA;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI,aAalC,CAAA;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,uBAAuB,iBAyE1D"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAUjC,OAAO,KAAK,EAAE,uBAAuB,EAAoB,MAAM,UAAU,CAAA;AASzE,eAAO,MAAM,OAAO,0BAA0B,CAAA;AAC9C,eAAO,MAAM,IAAI,QAIN,CAAA;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;CAUV,CAAA;AAEV,eAAO,MAAM,OAAO,UAAW,IAAI,aAalC,CAAA;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,uBAAuB,iBA0E1D"}
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-console */
2
+ import fs from 'node:fs/promises';
2
3
  import path from 'node:path';
3
- import fs from 'fs-extra';
4
4
  import yarnInstall from 'yarn-install';
5
5
  import { replaceConfig, findInConfig, addServiceDeps, convertPackageHashToObject } from '../utils.js';
6
6
  import { missingConfigurationPrompt } from './config.js';
@@ -64,7 +64,8 @@ export async function handler(argv) {
64
64
  return;
65
65
  }
66
66
  const localConfPath = path.join(process.cwd(), config);
67
- if (!fs.existsSync(localConfPath)) {
67
+ const localConfExists = await fs.access(localConfPath).then(() => true, () => false);
68
+ if (!localConfExists) {
68
69
  try {
69
70
  const promptMessage = `Cannot install packages without a WebdriverIO configuration.
70
71
  You can create one by running 'wdio config'`;
@@ -75,7 +76,7 @@ You can create one by running 'wdio config'`;
75
76
  return;
76
77
  }
77
78
  }
78
- const configFile = fs.readFileSync(localConfPath, { encoding: 'utf-8' });
79
+ const configFile = await fs.readFile(localConfPath, { encoding: 'utf-8' });
79
80
  const match = findInConfig(configFile, type);
80
81
  if (match && match[0].includes(name)) {
81
82
  console.log(`The ${type} ${name} is already part of your configuration.`);
@@ -97,7 +98,7 @@ You can create one by running 'wdio config'`;
97
98
  if (!newConfig) {
98
99
  throw new Error(`Couldn't find "${type}" property in ${path.basename(localConfPath)}`);
99
100
  }
100
- fs.writeFileSync(localConfPath, newConfig, { encoding: 'utf-8' });
101
+ await fs.writeFile(localConfPath, newConfig, { encoding: 'utf-8' });
101
102
  console.log('Your wdio.conf.js file has been updated.');
102
103
  process.exit(0);
103
104
  }
@@ -217,6 +217,9 @@ export declare const SUPPORTED_PACKAGES: {
217
217
  }, {
218
218
  readonly name: "azure-devops";
219
219
  readonly value: "@gmangiapelo/wdio-azure-devops-service$--$azure-devops";
220
+ }, {
221
+ readonly name: "google-Chat";
222
+ readonly value: "wdio-google-chat-service";
220
223
  }, {
221
224
  readonly name: "qmate-service";
222
225
  readonly value: "@sap_oss/wdio-qmate-service--$qmate-service";
@@ -522,11 +525,14 @@ export declare const QUESTIONNAIRE: ({
522
525
  }, {
523
526
  readonly name: "azure-devops";
524
527
  readonly value: "@gmangiapelo/wdio-azure-devops-service$--$azure-devops";
528
+ }, {
529
+ readonly name: "google-Chat";
530
+ readonly value: "wdio-google-chat-service";
525
531
  }, {
526
532
  readonly name: "qmate-service";
527
533
  readonly value: "@sap_oss/wdio-qmate-service--$qmate-service";
528
534
  }];
529
- default: ("wdio-chromedriver-service$--$chromedriver" | "wdio-geckodriver-service$--$geckodriver" | "wdio-edgedriver-service$--$edgedriver" | "@wdio/sauce-service$--$sauce" | "@wdio/testingbot-service$--$testingbot" | "@wdio/selenium-standalone-service$--$selenium-standalone" | "wdio-vscode-service$--$vscode" | "wdio-electron-service$--$electron" | "@wdio/devtools-service$--$devtools" | "@wdio/browserstack-service$--$browserstack" | "@wdio/appium-service$--$appium" | "@wdio/firefox-profile-service$--$firefox-profile" | "@wdio/crossbrowsertesting-service$--$crossbrowsertesting" | "wdio-eslinter-service$--$eslinter" | "wdio-lambdatest-service$--$lambdatest" | "wdio-zafira-listener-service$--$zafira-listener" | "wdio-reportportal-service$--$reportportal" | "wdio-docker-service$--$docker" | "wdio-ui5-service$--$ui5" | "wdio-wiremock-service$--$wiremock" | "wdio-ng-apimock-service$--ng-apimock" | "wdio-slack-service$--$slack" | "wdio-cucumber-viewport-logger-service$--$cucumber-viewport-logger" | "wdio-intercept-service$--$intercept" | "wdio-image-comparison-service$--$image-comparison" | "wdio-novus-visual-regression-service$--$novus-visual-regression" | "wdio-rerun-service$--$rerun" | "wdio-winappdriver-service$--$winappdriver" | "wdio-ywinappdriver-service$--$ywinappdriver" | "wdio-performancetotal-service$--$performancetotal" | "wdio-cleanuptotal-service$--$cleanuptotal" | "wdio-aws-device-farm-service$--$aws-device-farm" | "wdio-ocr-service$--$ocr-native-apps" | "wdio-ms-teams-service$--$ms-teams" | "wdio-tesults-service$--$tesults" | "@gmangiapelo/wdio-azure-devops-service$--$azure-devops" | "@sap_oss/wdio-qmate-service--$qmate-service")[];
535
+ default: ("wdio-chromedriver-service$--$chromedriver" | "wdio-geckodriver-service$--$geckodriver" | "wdio-edgedriver-service$--$edgedriver" | "@wdio/sauce-service$--$sauce" | "@wdio/testingbot-service$--$testingbot" | "@wdio/selenium-standalone-service$--$selenium-standalone" | "wdio-vscode-service$--$vscode" | "wdio-electron-service$--$electron" | "@wdio/devtools-service$--$devtools" | "@wdio/browserstack-service$--$browserstack" | "@wdio/appium-service$--$appium" | "@wdio/firefox-profile-service$--$firefox-profile" | "@wdio/crossbrowsertesting-service$--$crossbrowsertesting" | "wdio-eslinter-service$--$eslinter" | "wdio-lambdatest-service$--$lambdatest" | "wdio-zafira-listener-service$--$zafira-listener" | "wdio-reportportal-service$--$reportportal" | "wdio-docker-service$--$docker" | "wdio-ui5-service$--$ui5" | "wdio-wiremock-service$--$wiremock" | "wdio-ng-apimock-service$--ng-apimock" | "wdio-slack-service$--$slack" | "wdio-cucumber-viewport-logger-service$--$cucumber-viewport-logger" | "wdio-intercept-service$--$intercept" | "wdio-image-comparison-service$--$image-comparison" | "wdio-novus-visual-regression-service$--$novus-visual-regression" | "wdio-rerun-service$--$rerun" | "wdio-winappdriver-service$--$winappdriver" | "wdio-ywinappdriver-service$--$ywinappdriver" | "wdio-performancetotal-service$--$performancetotal" | "wdio-cleanuptotal-service$--$cleanuptotal" | "wdio-aws-device-farm-service$--$aws-device-farm" | "wdio-ocr-service$--$ocr-native-apps" | "wdio-ms-teams-service$--$ms-teams" | "wdio-tesults-service$--$tesults" | "@gmangiapelo/wdio-azure-devops-service$--$azure-devops" | "wdio-google-chat-service" | "@sap_oss/wdio-qmate-service--$qmate-service")[];
530
536
  validate: (answers: string[]) => string | Boolean;
531
537
  when?: undefined;
532
538
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,mBAAmB,wFAI/B,CAAA;AAED,eAAO,MAAM,6BAA6B,iHAIzC,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,eAAO,MAAM,uBAAuB,iGAI1B,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAEV,eAAO,MAAM,wBAAwB,gQAQpC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ErB,CAAA;AAEV,eAAO,MAAM,kCAAkC,UAG9C,CAAA;AAED,eAAO,MAAM,eAAe,0NAMlB,CAAA;AAEV,eAAO,MAAM,gBAAgB,4BAGnB,CAAA;AAEV,eAAO,MAAM,aAAa,+BAIhB,CAAA;AAEV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;oBAgBqB,YAAY;;;;;;;;;oBAMZ,YAAY;;;;;;;;;oBAyBZ,YAAY;;;;;;;oBAkDZ,YAAY;;;;;;;;oBAMZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAsCpC,YAAY;oBACY,YAAY;;;;;;;uBAWpC,YAAY;oBACY,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgDR,MAAM,EAAE;;;;;;;;;;IA6BzD,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,GAAG,KAA6B,CAAA;AAE7C,eAAO,MAAM,YAAY,QAAqE,CAAA;AAE9F,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,mBAAmB,wFAI/B,CAAA;AAED,eAAO,MAAM,6BAA6B,iHAIzC,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,eAAO,MAAM,uBAAuB,iGAI1B,CAAA;AAEV,eAAO,MAAM,gBAAgB;;;;CAInB,CAAA;AAEV,eAAO,MAAM,wBAAwB,gQAQpC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ErB,CAAA;AAEV,eAAO,MAAM,kCAAkC,UAG9C,CAAA;AAED,eAAO,MAAM,eAAe,0NAMlB,CAAA;AAEV,eAAO,MAAM,gBAAgB,4BAGnB,CAAA;AAEV,eAAO,MAAM,aAAa,+BAIhB,CAAA;AAEV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;oBAgBqB,YAAY;;;;;;;;;oBAMZ,YAAY;;;;;;;;;oBAyBZ,YAAY;;;;;;;oBAkDZ,YAAY;;;;;;;;oBAMZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAsCpC,YAAY;oBACY,YAAY;;;;;;;uBAWpC,YAAY;oBACY,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgDR,MAAM,EAAE;;;;;;;;;;IA6BzD,CAAA"}
@@ -132,6 +132,7 @@ export const SUPPORTED_PACKAGES = {
132
132
  { name: 'ms-teams', value: 'wdio-ms-teams-service$--$ms-teams' },
133
133
  { name: 'tesults', value: 'wdio-tesults-service$--$tesults' },
134
134
  { name: 'azure-devops', value: '@gmangiapelo/wdio-azure-devops-service$--$azure-devops' },
135
+ { name: 'google-Chat', value: 'wdio-google-chat-service' },
135
136
  { name: 'qmate-service', value: '@sap_oss/wdio-qmate-service--$qmate-service' }
136
137
  ]
137
138
  };
@@ -67,7 +67,7 @@ export default class WDIOCLInterface extends EventEmitter {
67
67
  /**
68
68
  * event handler that is triggered when runner sends up events
69
69
  */
70
- onMessage(event: CLIInterfaceEvent): boolean | void | any[];
70
+ onMessage(event: CLIInterfaceEvent): boolean | any[] | undefined;
71
71
  sigintTrigger(): false | any[];
72
72
  printReporters(): void;
73
73
  printSummary(): any[];
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAA;AAEjE,OAAO,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAA;AAIrD,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;IAyBjD,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;IAuBhC,KAAK;IAqBL,OAAO;IAWP,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,SAAS;IAI9B;;OAEG;IACH,SAAS,CAAE,KAAK,EAAE,iBAAiB;IA8CnC,aAAa;IAgBb,cAAc;IAYd,YAAY;IAaZ,QAAQ;CAQX"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,OAAO,EAAgB,OAAO,EAAE,MAAM,aAAa,CAAA;AAEjE,OAAO,EAAiB,SAAS,EAAE,MAAM,YAAY,CAAA;AAKrD,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;IAyBjD,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;IAuBhC,KAAK;IAqBL,OAAO;IAWP,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,SAAS;IAI9B;;OAEG;IACH,SAAS,CAAE,KAAK,EAAE,iBAAiB;IAsDnC,aAAa;IAgBb,cAAc;IAYd,YAAY;IAaZ,QAAQ;CAQX"}
@@ -3,6 +3,7 @@ import chalk, { supportsColor } from 'chalk';
3
3
  import logger from '@wdio/logger';
4
4
  import { getRunnerName } from './utils.js';
5
5
  const log = logger('@wdio/cli');
6
+ const EVENT_FILTER = ['sessionStarted', 'sessionEnded', 'finisedCommand'];
6
7
  export default class WDIOCLInterface extends EventEmitter {
7
8
  _config;
8
9
  totalWorkerCnt;
@@ -167,6 +168,8 @@ export default class WDIOCLInterface extends EventEmitter {
167
168
  * event handler that is triggered when runner sends up events
168
169
  */
169
170
  onMessage(event) {
171
+ // let a = true
172
+ // if (a) return
170
173
  if (event.name === 'reporterRealTime') {
171
174
  this.log(event.content);
172
175
  return;
@@ -183,13 +186,16 @@ export default class WDIOCLInterface extends EventEmitter {
183
186
  if (event.name === 'testFrameworkInit') {
184
187
  return this.emit('job:start', event.content);
185
188
  }
186
- if (!event.origin) {
187
- return log.warn(`Can't identify message from worker: ${JSON.stringify(event)}, ignoring!`);
188
- }
189
- if (event.origin === 'worker' && event.name === 'error') {
190
- return this.log(`[${event.cid}]`, chalk.white.bgRed.bold(' Error: '), event.content.message || event.content.stack || event.content);
189
+ if (event.name === 'error') {
190
+ return this.log(`[${event.cid}]`, chalk.white.bgRed.bold(' Error: '), event.content ? (event.content.message || event.content.stack || event.content) : '');
191
191
  }
192
192
  if (event.origin !== 'reporter' && event.origin !== 'debugger') {
193
+ /**
194
+ * filter certain events though
195
+ */
196
+ if (EVENT_FILTER.includes(event.name)) {
197
+ return;
198
+ }
193
199
  return this.log(event.cid, event.origin, event.name, event.content);
194
200
  }
195
201
  if (event.name === 'printFailureMessage') {
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAkBlD,UAAU,UAAU;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,cAAM,QAAQ;IAiBN,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IAlBjB,YAAY,eAAqB;IACjC,aAAa,UAAQ;IACrB,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;IAUhC;;;OAGG;IACG,GAAG;IA+FT;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkEtG;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,MAAM;;;;IAgBtJ;;;OAGG;IACH,QAAQ;IAmER;;;OAGG;IACH,2BAA2B;IAI3B;;;OAGG;IACH,oBAAoB;IAIpB;;;;;;OAMG;IACG,aAAa,CACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,uBAAuB,EAC5G,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE,MAAM;IAyFnB,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM;IAOxB;;;;;;OAMG;IACG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU;IAkDnE;;;;;OAKG;IACH,WAAW,CAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI;IAc7C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAG7B;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAkBlD,UAAU,UAAU;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,cAAM,QAAQ;IAiBN,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,YAAY;IAlBjB,YAAY,eAAqB;IACjC,aAAa,UAAQ;IACrB,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;IAUhC;;;OAGG;IACG,GAAG;IAgGT;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyEtG;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,MAAM;;;;IAetJ;;;OAGG;IACH,QAAQ;IAmER;;;OAGG;IACH,2BAA2B;IAI3B;;;OAGG;IACH,oBAAoB;IAIpB;;;;;;OAMG;IACG,aAAa,CACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,uBAAuB,EAC5G,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE,MAAM;IAyFnB,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM;IAOxB;;;;;;OAMG;IACG,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU;IAkDnE;;;;;OAKG;IACH,WAAW,CAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI;IAc7C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAG7B;AAED,eAAe,QAAQ,CAAA"}
package/build/launcher.js CHANGED
@@ -1,5 +1,5 @@
1
+ import fs from 'node:fs/promises';
1
2
  import path from 'node:path';
2
- import fs from 'fs-extra';
3
3
  import exitHook from 'async-exit-hook';
4
4
  import logger from '@wdio/logger';
5
5
  import { ConfigParser } from '@wdio/config';
@@ -51,7 +51,7 @@ class Launcher {
51
51
  const capabilities = this.configParser.getCapabilities();
52
52
  this.isMultiremote = !Array.isArray(capabilities);
53
53
  if (config.outputDir) {
54
- fs.ensureDirSync(path.join(config.outputDir));
54
+ await fs.mkdir(path.join(config.outputDir), { recursive: true });
55
55
  process.env.WDIO_LOG_PATH = path.join(config.outputDir, 'wdio.log');
56
56
  }
57
57
  logger.setLogLevelsConfig(config.logLevels, config.logLevel);
@@ -62,8 +62,9 @@ class Launcher {
62
62
  : 1;
63
63
  this.interface = new CLInterface(config, totalWorkerCnt, this._isWatchMode);
64
64
  config.runnerEnv.FORCE_COLOR = Number(this.interface.hasAnsiSupport);
65
- const Runner = (await initialisePlugin(config.runner, 'runner')).default;
66
- this.runner = new Runner(this._configFilePath, config);
65
+ const [runnerName, runnerOptions] = Array.isArray(config.runner) ? config.runner : [config.runner, {}];
66
+ const Runner = (await initialisePlugin(runnerName, 'runner')).default;
67
+ this.runner = new Runner(runnerOptions, config);
67
68
  /**
68
69
  * catches ctrl+c event
69
70
  */
@@ -155,11 +156,17 @@ class Launcher {
155
156
  * Regular mode
156
157
  */
157
158
  for (let capabilities of caps) {
159
+ /**
160
+ * when using browser runner we only allow one session per browser
161
+ */
162
+ const availableInstances = config.runner === 'browser'
163
+ ? 1
164
+ : capabilities.maxInstances || config.maxInstancesPerCapability;
158
165
  this._schedule.push({
159
166
  cid: cid++,
160
167
  caps: capabilities,
161
168
  specs: this.formatSpecs(capabilities, specFileRetries),
162
- availableInstances: capabilities.maxInstances || config.maxInstancesPerCapability,
169
+ availableInstances,
163
170
  runningInstances: 0
164
171
  });
165
172
  }
@@ -185,8 +192,7 @@ class Launcher {
185
192
  * Format the specs into an array of objects with files and retries
186
193
  */
187
194
  formatSpecs(capabilities, specFileRetries) {
188
- let files = [];
189
- files = this.configParser.getSpecs(capabilities.specs, capabilities.exclude);
195
+ const files = this.configParser.getSpecs(capabilities.specs, capabilities.exclude);
190
196
  return files.map(file => {
191
197
  if (typeof file === 'string') {
192
198
  return { files: [file], retries: specFileRetries };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAUpH,qBAAa,SAAU,SAAQ,kBAAkB;IACtC,MAAM,EAAE,MAAM,CAAA;gBACT,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI9C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAChC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,EACpC,QAAQ,EAAE,MAAM,QAAQ,CAAC,aAAa,EACtC,GAAG,IAAI,EAAE,GAAG,EAAE,sBA2BjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,yBAmBhF;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACnC,cAAc,EAAE,QAAQ,GAAG,QAAQ,EAAE,EACrC,MAAM,EAAE,OAAO,CAAC,UAAU,EAC1B,YAAY,EAAE,YAAY,CAAC,kBAAkB,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,sBAkB5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,IAAI,GAAE,YAAY,CAAC,mBAAwB,UAkBzE;AAoBD,wBAAgB,YAAY,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,2BASzD;AAED,wBAAgB,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAYxE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,UAAQ,QAmC3F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,GAAG,gBAAgB,CAMvF;AAED,wBAAsB,uBAAuB,CAAE,OAAO,EAAE,aAAa,iBAWpE;AAED,eAAO,MAAM,sBAAsB,YAAa,MAAM,EAAE,KAAG,OAAO,GAAG,MAgBpE,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDxD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAE,QAAQ,EAAE,MAAM,WAExC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,WActC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,aAAa,iBA6B9D;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA2BpE;AAED,wBAAgB,wBAAwB,CAAE,OAAO,EAAE,YAAY;;;;;EA+B9D;AAED,wBAAgB,eAAe,CAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,UAIhF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,YAgBnF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAUpH,qBAAa,SAAU,SAAQ,kBAAkB;IACtC,MAAM,EAAE,MAAM,CAAA;gBACT,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI9C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAChC,QAAQ,EAAE,QAAQ,CAAC,eAAe,EAAE,EACpC,QAAQ,EAAE,MAAM,QAAQ,CAAC,aAAa,EACtC,GAAG,IAAI,EAAE,GAAG,EAAE,sBA2BjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,yBAmBhF;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACnC,cAAc,EAAE,QAAQ,GAAG,QAAQ,EAAE,EACrC,MAAM,EAAE,OAAO,CAAC,UAAU,EAC1B,YAAY,EAAE,YAAY,CAAC,kBAAkB,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,gBAAgB,sBAkB5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAE,IAAI,GAAE,YAAY,CAAC,mBAAwB,UAkBzE;AAoBD,wBAAgB,YAAY,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,2BASzD;AAED,wBAAgB,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAYxE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,UAAQ,QAmC3F;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAS,GAAG,gBAAgB,CAMvF;AAED,wBAAsB,uBAAuB,CAAE,OAAO,EAAE,aAAa,iBAWpE;AAED,eAAO,MAAM,sBAAsB,YAAa,MAAM,EAAE,KAAG,OAAO,GAAG,MAgBpE,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDxD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAE,QAAQ,EAAE,MAAM,WAOxC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,WActC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,aAAa,iBA6B9D;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CA2BpE;AAED,wBAAgB,wBAAwB,CAAE,OAAO,EAAE,YAAY;;;;;EA+B9D;AAED,wBAAgB,eAAe,CAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,UAIhF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,YAgBnF"}
package/build/utils.js CHANGED
@@ -1,9 +1,10 @@
1
+ import fs from 'node:fs/promises';
2
+ import fsSync from 'node:fs';
1
3
  import { dirname } from 'node:path';
2
4
  import { fileURLToPath } from 'node:url';
3
5
  import { createRequire } from 'node:module';
4
6
  import { execSync } from 'node:child_process';
5
7
  import { promisify } from 'node:util';
6
- import fs from 'fs-extra';
7
8
  import ejs from 'ejs';
8
9
  import path from 'node:path';
9
10
  import inquirer from 'inquirer';
@@ -197,7 +198,7 @@ export async function renderConfigurationFile(answers) {
197
198
  const tplPath = path.join(__dirname, 'templates/wdio.conf.tpl.ejs');
198
199
  const filename = `wdio.conf.${answers.isUsingTypeScript ? 'ts' : 'js'}`;
199
200
  const renderedTpl = await renderFile(tplPath, { answers });
200
- return fs.promises.writeFile(path.join(process.cwd(), answers.isUsingTypeScript ? 'test' : '', filename), renderedTpl);
201
+ return fs.writeFile(path.join(process.cwd(), answers.isUsingTypeScript ? 'test' : '', filename), renderedTpl);
201
202
  }
202
203
  export const validateServiceAnswers = (answers) => {
203
204
  let result = true;
@@ -267,7 +268,13 @@ export function getCapabilities(arg) {
267
268
  * @param {string} filename to check existance for
268
269
  */
269
270
  export function hasFile(filename) {
270
- return fs.existsSync(path.join(process.cwd(), filename));
271
+ try {
272
+ fsSync.accessSync(path.join(process.cwd(), filename));
273
+ return true;
274
+ }
275
+ catch (err) {
276
+ return false;
277
+ }
271
278
  }
272
279
  /**
273
280
  * Check if package is installed
@@ -309,8 +316,8 @@ export async function generateTestFiles(answers) {
309
316
  : file.includes('step_definition')
310
317
  ? `${answers.stepDefinitions}`
311
318
  : `${answers.destSpecRootPath}/${path.basename(file)}`).replace(/\.ejs$/, '').replace(/\.js$/, answers.isUsingTypeScript ? '.ts' : '.js');
312
- fs.ensureDirSync(path.dirname(destPath));
313
- await fs.promises.writeFile(destPath, renderedTpl);
319
+ await fs.mkdir(path.dirname(destPath), { recursive: true });
320
+ await fs.writeFile(destPath, renderedTpl);
314
321
  }
315
322
  }
316
323
  export async function getAnswers(yes) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/cli",
3
- "version": "8.0.0-alpha.411+2d3189eaf",
3
+ "version": "8.0.0-alpha.504+428a9d729",
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",
@@ -34,32 +34,30 @@
34
34
  "typeScriptVersion": "3.8.3",
35
35
  "dependencies": {
36
36
  "@types/ejs": "^3.1.1",
37
- "@types/fs-extra": "^9.0.13",
38
37
  "@types/inquirer": "^9.0.0",
39
38
  "@types/lodash.flattendeep": "^4.4.7",
40
39
  "@types/lodash.pickby": "^4.6.7",
41
40
  "@types/lodash.union": "^4.6.7",
42
41
  "@types/recursive-readdir": "^2.2.1",
43
42
  "@types/yargs": "^17.0.10",
44
- "@wdio/config": "8.0.0-alpha.411+2d3189eaf",
45
- "@wdio/globals": "8.0.0-alpha.411+2d3189eaf",
46
- "@wdio/logger": "8.0.0-alpha.411+2d3189eaf",
47
- "@wdio/protocols": "8.0.0-alpha.411+2d3189eaf",
48
- "@wdio/types": "8.0.0-alpha.411+2d3189eaf",
49
- "@wdio/utils": "8.0.0-alpha.411+2d3189eaf",
43
+ "@wdio/config": "8.0.0-alpha.504+428a9d729",
44
+ "@wdio/globals": "8.0.0-alpha.504+428a9d729",
45
+ "@wdio/logger": "8.0.0-alpha.504+428a9d729",
46
+ "@wdio/protocols": "8.0.0-alpha.504+428a9d729",
47
+ "@wdio/types": "8.0.0-alpha.504+428a9d729",
48
+ "@wdio/utils": "8.0.0-alpha.504+428a9d729",
50
49
  "async-exit-hook": "^2.0.1",
51
50
  "chalk": "^5.0.1",
52
51
  "chokidar": "^3.5.3",
53
52
  "cli-spinners": "^2.6.1",
54
53
  "ejs": "^3.1.8",
55
- "fs-extra": "^10.1.0",
56
54
  "inquirer": "9.1.2",
57
55
  "lodash.flattendeep": "^4.4.0",
58
56
  "lodash.pickby": "^4.6.0",
59
57
  "lodash.union": "^4.6.0",
60
58
  "mkdirp": "^1.0.4",
61
59
  "recursive-readdir": "^2.2.2",
62
- "webdriverio": "8.0.0-alpha.411+2d3189eaf",
60
+ "webdriverio": "8.0.0-alpha.504+428a9d729",
63
61
  "yargs": "^17.5.1",
64
62
  "yarn-install": "^1.0.0"
65
63
  },
@@ -69,5 +67,5 @@
69
67
  "devDependencies": {
70
68
  "@types/node": "^18.0.0"
71
69
  },
72
- "gitHead": "2d3189eaf8779f61699c1377f44f9841ed8a72c7"
70
+ "gitHead": "428a9d729ae6231968a60908732fa3f607d195e9"
73
71
  }