@wdio/config 8.0.0-alpha.577 → 8.0.0-alpha.589

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 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAKpD,eAAO,MAAM,eAAe,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CA6EzE,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAMnD,CAAA;AAED,eAAO,MAAM,yBAAyB,UAErC,CAAA;AAED,eAAO,MAAM,sBAAsB,QAIlC,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAKpD,eAAO,MAAM,eAAe,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAgFzE,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAMnD,CAAA;AAED,eAAO,MAAM,yBAAyB,UAErC,CAAA;AAED,eAAO,MAAM,sBAAsB,QAIlC,CAAA"}
@@ -31,6 +31,9 @@ export const DEFAULT_CONFIGS = () => ({
31
31
  cucumberFeaturesWithLineNumbers: [],
32
32
  autoCompileOpts: {
33
33
  autoCompile: true,
34
+ tsNodeOpts: {
35
+ transpileOnly: true
36
+ },
34
37
  babelOpts: {}
35
38
  },
36
39
  /**
@@ -28,7 +28,6 @@ export default class ConfigParser {
28
28
  * intializes the config object
29
29
  */
30
30
  initialize(object?: MergeConfig): Promise<void>;
31
- private autoCompile;
32
31
  /**
33
32
  * merges config file with default values
34
33
  * @param {String} filename path of file relative to current directory
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../../src/lib/ConfigParser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAUlE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAIhE,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AAK7B,UAAU,+BAAgC,SAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;IACtF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAA;IAC9C,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;;IAazB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,qBAAqB;IAXjC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,aAAa,CAAsC;gBAGvD,cAAc,EAAE,MAAM;IACtB;;;OAGG;IACH,aAAa,GAAE,OAAO,CAAC,+BAA+B,CAAM,EACpD,YAAY,GAAE,WAAyC,EACvD,qBAAqB,GAAE,mBAA0C;IAkB7E;;OAEG;IACG,UAAU,CAAE,MAAM,GAAE,WAAgB;YAO5B,WAAW;IAUzB;;;OAGG;YACW,aAAa;IAsD3B;;;OAGG;IACH,OAAO,CAAC,KAAK;IAwCb;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK;IAkClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE;IA8C/C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IA8ClE;;OAEG;IACH,SAAS;IAOT;;OAEG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM;IAY1B;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,WAAyC,EAAE,cAAc,CAAC,EAAE,MAAM;IAkDtI;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;CAU/C"}
1
+ {"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../../src/lib/ConfigParser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAUlE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAIhE,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AAK7B,UAAU,+BAAgC,SAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;IACtF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAA;IAC9C,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;;IAazB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,qBAAqB;IAXjC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,aAAa,CAAsC;gBAGvD,cAAc,EAAE,MAAM;IACtB;;;OAGG;IACH,aAAa,GAAE,OAAO,CAAC,+BAA+B,CAAM,EACpD,YAAY,GAAE,WAAyC,EACvD,qBAAqB,GAAE,mBAA0C;IAkB7E;;OAEG;IACG,UAAU,CAAE,MAAM,GAAE,WAAgB;IAO1C;;;OAGG;YACW,aAAa;IAsD3B;;;OAGG;IACH,OAAO,CAAC,KAAK;IAwCb;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK;IAkClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE;IA8C/C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IA8ClE;;OAEG;IACH,SAAS;IAOT;;OAEG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM;IAY1B;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,WAAyC,EAAE,cAAc,CAAC,EAAE,MAAM;IAkDtI;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;CAU/C"}
@@ -36,20 +36,11 @@ export default class ConfigParser {
36
36
  * intializes the config object
37
37
  */
38
38
  async initialize(object = {}) {
39
- await this.autoCompile();
39
+ await loadAutoCompilers(this._config.autoCompileOpts, this._moduleRequireService);
40
40
  await this.addConfigFile(this.#configFilePath);
41
41
  this.merge({ ...object });
42
42
  this.#isInitialised = true;
43
43
  }
44
- async autoCompile() {
45
- /**
46
- * on launcher compile files if Babel or TypeScript are installed using our defaults
47
- */
48
- if (this._config.autoCompileOpts && !(await loadAutoCompilers(this._config.autoCompileOpts, this._moduleRequireService))) {
49
- log.debug('No compiler found, continue without compiling files');
50
- this._config.autoCompileOpts.autoCompile = false;
51
- }
52
- }
53
44
  /**
54
45
  * merges config file with default values
55
46
  * @param {String} filename path of file relative to current directory
package/build/utils.d.ts CHANGED
@@ -23,7 +23,8 @@ export declare function isCloudCapability(caps: Capabilities.Capabilities): bool
23
23
  */
24
24
  export declare function validateConfig<T>(defaults: Options.Definition<T>, options: T, keysToKeep?: (keyof T)[]): T;
25
25
  export declare function loadAutoCompilers(autoCompileConfig: Options.AutoCompileConfig, requireService: ModuleImportService): Promise<boolean | undefined>;
26
- export declare function loadTypeScriptCompiler(): Promise<boolean>;
26
+ export declare function loadTypeScriptCompiler(autoCompileConfig: Options.AutoCompileConfig): Promise<boolean>;
27
+ export declare function objectToEnv(params?: Record<string, any>): void;
27
28
  export declare function loadBabelCompiler(babelOpts: Record<string, any> | undefined, requireService: ModuleImportService): Promise<boolean>;
28
29
  export declare function makeRelativeToCWD(files?: (string | string[])[]): (string | string[])[];
29
30
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAIrD,eAAO,MAAM,kBAAkB,WAAY,GAAG,6BACoB,CAAA;AAElE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,UAMjD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,WAGtE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,WAEhE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,cAAoB,KA+C5G;AAED,wBAAsB,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,gCAWxH;AAED,wBAAsB,sBAAsB,qBAO3C;AAED,wBAAsB,iBAAiB,CAAE,SAAS,iCAA0B,EAAE,cAAc,EAAE,mBAAmB,oBAehH;AAED,wBAAgB,iBAAiB,CAAE,KAAK,GAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAO,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAa3F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAIrD,eAAO,MAAM,kBAAkB,WAAY,GAAG,6BACoB,CAAA;AAElE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,UAMjD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,WAGtE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,WAEhE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,cAAoB,KA+C5G;AAED,wBAAsB,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,gCAYxH;AAED,wBAAsB,sBAAsB,CAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,oBAuBzF;AAED,wBAAgB,WAAW,CAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAkBxD;AAED,wBAAsB,iBAAiB,CAAE,SAAS,iCAA0B,EAAE,cAAc,EAAE,mBAAmB,oBAehH;AAED,wBAAgB,iBAAiB,CAAE,KAAK,GAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAO,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAa3F"}
package/build/utils.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import logger from '@wdio/logger';
3
+ import decamelize from 'decamelize';
3
4
  import { resolve } from 'import-meta-resolve';
4
5
  const log = logger('@wdio/config:utils');
5
6
  export const validObjectOrArray = (object) => (Array.isArray(object) && object.length > 0) ||
@@ -77,19 +78,59 @@ export function validateConfig(defaults, options, keysToKeep = []) {
77
78
  return params;
78
79
  }
79
80
  export async function loadAutoCompilers(autoCompileConfig, requireService) {
80
- return (autoCompileConfig.autoCompile &&
81
- (await loadTypeScriptCompiler() ||
82
- await loadBabelCompiler(autoCompileConfig.babelOpts, requireService)));
81
+ if (!autoCompileConfig.autoCompile) {
82
+ return;
83
+ }
84
+ return (await loadTypeScriptCompiler(autoCompileConfig) ||
85
+ await loadBabelCompiler(autoCompileConfig.babelOpts, requireService));
83
86
  }
84
- export async function loadTypeScriptCompiler() {
87
+ export async function loadTypeScriptCompiler(autoCompileConfig) {
88
+ /**
89
+ * don't auto compile within worker as it already was spawn with a loader
90
+ */
91
+ if (process.env.WDIO_WORKER_ID) {
92
+ return true;
93
+ }
85
94
  try {
95
+ /**
96
+ * only for testing purposes
97
+ */
98
+ if (process.env.VITEST_WORKER_ID && process.env.THROW_TSNODE_RESOLVE) {
99
+ throw new Error('test fail');
100
+ }
86
101
  await resolve('ts-node', import.meta.url);
102
+ process.env.WDIO_LOAD_TS_NODE = '1';
103
+ objectToEnv(autoCompileConfig.tsNodeOpts);
87
104
  return true;
88
105
  }
89
106
  catch (err) {
107
+ log.debug(`Failed loading TS Node: ${err.message}`);
90
108
  return false;
91
109
  }
92
110
  }
111
+ export function objectToEnv(params) {
112
+ /**
113
+ * apply all config options as environment variables
114
+ */
115
+ for (const [key, value] of Object.entries(params || {})) {
116
+ const envKey = decamelize(key).toUpperCase();
117
+ if (Array.isArray(value)) {
118
+ process.env[envKey] = value.join(',');
119
+ }
120
+ else if (typeof value === 'boolean' && value) {
121
+ process.env[envKey] = '1';
122
+ }
123
+ else if (value instanceof RegExp) {
124
+ process.env[envKey] = value.toString();
125
+ }
126
+ else if (typeof value === 'object') {
127
+ process.env[envKey] = JSON.stringify(value);
128
+ }
129
+ else if (value && typeof value.toString === 'function') {
130
+ process.env[envKey] = value.toString();
131
+ }
132
+ }
133
+ }
93
134
  export async function loadBabelCompiler(babelOpts = {}, requireService) {
94
135
  try {
95
136
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/config",
3
- "version": "8.0.0-alpha.577+73cd77ef7",
3
+ "version": "8.0.0-alpha.589+cdaf6ecd0",
4
4
  "description": "A helper utility to parse and validate WebdriverIO options",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-config",
@@ -26,9 +26,10 @@
26
26
  "url": "https://github.com/webdriverio/webdriverio/issues"
27
27
  },
28
28
  "dependencies": {
29
- "@wdio/logger": "8.0.0-alpha.577+73cd77ef7",
30
- "@wdio/types": "8.0.0-alpha.577+73cd77ef7",
31
- "@wdio/utils": "8.0.0-alpha.577+73cd77ef7",
29
+ "@wdio/logger": "8.0.0-alpha.589+cdaf6ecd0",
30
+ "@wdio/types": "8.0.0-alpha.589+cdaf6ecd0",
31
+ "@wdio/utils": "8.0.0-alpha.589+cdaf6ecd0",
32
+ "decamelize": "^6.0.0",
32
33
  "deepmerge-ts": "^4.2.2",
33
34
  "glob": "^8.0.3",
34
35
  "import-meta-resolve": "^2.1.0"
@@ -40,5 +41,5 @@
40
41
  "minimatch": "^5.0.0",
41
42
  "tsconfig-paths": "^4.1.0"
42
43
  },
43
- "gitHead": "73cd77ef7887819c56dc98932a0c34e8af10b64a"
44
+ "gitHead": "cdaf6ecd07072087dcea8962ac36b8f886e94c98"
44
45
  }