@wdio/utils 8.0.0-alpha.537 → 8.0.0-alpha.558

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,5 +1,5 @@
1
1
  import type { executeHooksWithArgs, executeAsync } from '../shim';
2
- export declare type HookFnArgs<T> = (ctx: T) => [unknown, T];
2
+ export type HookFnArgs<T> = (ctx: T) => [unknown, T];
3
3
  export interface WrapperMethods {
4
4
  executeHooksWithArgs: typeof executeHooksWithArgs;
5
5
  executeAsync: typeof executeAsync;
@@ -19,7 +19,7 @@ export interface AfterHookParam<T> {
19
19
  export interface JasmineContext {
20
20
  failedExpectations: Array<Record<string, unknown>>;
21
21
  }
22
- export declare type SpecArguments = (
22
+ export type SpecArguments = (
23
23
  /**
24
24
  * e.g. before(() => { ... })
25
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/test-framework/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEjE,oBAAY,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAEpD,MAAM,WAAW,cAAc;IAC3B,oBAAoB,EAAE,OAAO,oBAAoB,CAAA;IACjD,YAAY,EAAE,OAAO,YAAY,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,QAAQ,CAAA;IAChB,UAAU,EAAE,GAAG,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAC/B,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAC9B,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACrD;AAED,oBAAY,aAAa,GAAG;AACxB;;GAEG;AACH;IAAC,QAAQ;CAAC;AACV;;GAEG;AACH;IAAC,QAAQ;IAAE,MAAM;CAAC;AAClB;;GAEG;AACH;IAAC,MAAM;IAAE,QAAQ;CAAC;AAClB;;GAEG;AACH;IAAC,MAAM;IAAE,QAAQ;IAAE,MAAM;CAAC,CAC7B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/test-framework/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEjE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAEpD,MAAM,WAAW,cAAc;IAC3B,oBAAoB,EAAE,OAAO,oBAAoB,CAAA;IACjD,YAAY,EAAE,OAAO,YAAY,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,QAAQ,CAAA;IAChB,UAAU,EAAE,GAAG,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAC/B,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAA;IAC9B,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACrD;AAED,MAAM,MAAM,aAAa,GAAG;AACxB;;GAEG;AACH;IAAC,QAAQ;CAAC;AACV;;GAEG;AACH;IAAC,QAAQ;IAAE,MAAM;CAAC;AAClB;;GAEG;AACH;IAAC,MAAM;IAAE,QAAQ;CAAC;AAClB;;GAEG;AACH;IAAC,MAAM;IAAE,QAAQ;IAAE,MAAM;CAAC,CAC7B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,aAAa,CAAA;AAQpD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE;IAAE,sBAAsB,CAAC,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,QAsCzH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UA+BrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAE,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAapF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,WA8B/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,GAAG,wGAExC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,CA2BtF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAE,EAAE,EAAE,QAAQ,WAE5C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAE,IAAI,EAAE,GAAG,EAAE,SAE1C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,WAanC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,UAAW,MAAM,YAWtC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,mCAAoD,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,aAAa,CAAA;AAQpD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE;IAAE,sBAAsB,CAAC,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,QAsCzH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UA+BrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAE,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAapF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,WA8B/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,GAAG,wGAExC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,CA8DtF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAE,EAAE,EAAE,QAAQ,WAE5C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAE,IAAI,EAAE,GAAG,EAAE,SAE1C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,WAanC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,UAAW,MAAM,YAWtC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,mCAAoD,CAAA"}
package/build/utils.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import fs from 'node:fs';
2
+ import path from 'node:path';
2
3
  import { pathToFileURL } from 'node:url';
3
4
  import { createRequire } from 'node:module';
4
5
  const require = createRequire(import.meta.url);
@@ -158,19 +159,53 @@ export async function safeImport(name) {
158
159
  * also allows to link the package to a random place and have plugins
159
160
  * imported correctly (for dev purposes).
160
161
  */
162
+ const localNodeModules = path.join(process.cwd(), 'node_modules');
161
163
  /* istanbul ignore if */
162
- if (require.resolve) {
163
- requirePath = await require.resolve(name);
164
- if (!requirePath.startsWith('file://')) {
165
- requirePath = pathToFileURL(requirePath).href;
166
- }
164
+ if (!require.resolve.paths(name)?.includes(localNodeModules)) {
165
+ const resolveLocation = [
166
+ ...(require.resolve.paths(name) || []),
167
+ localNodeModules
168
+ ];
169
+ /**
170
+ * don't set requireOpts when running unit tests as it
171
+ * confuses Jest require magic
172
+ */
173
+ const requireOpts = process.env.VITEST_WORKER_ID
174
+ ? {}
175
+ : { paths: resolveLocation };
176
+ requirePath = require.resolve(name, requireOpts);
177
+ }
178
+ else {
179
+ requirePath = require.resolve(name);
180
+ }
181
+ if (!requirePath.startsWith('file://')) {
182
+ requirePath = pathToFileURL(requirePath).href;
167
183
  }
168
184
  }
169
185
  catch (err) {
170
186
  return null;
171
187
  }
172
188
  try {
173
- return await import(requirePath);
189
+ const pkg = await import(requirePath);
190
+ /**
191
+ * CJS packages build with TS imported through an ESM context can end up being this:
192
+ *
193
+ * [Module: null prototype] {
194
+ * __esModule: true,
195
+ * default: {
196
+ * launcher: [class SmokeServiceLauncher],
197
+ * default: [class SmokeService]
198
+ * },
199
+ * launcher: [class SmokeServiceLauncher]
200
+ * }
201
+ *
202
+ * In order to not have the testrunner ignore importing a service we should double check if
203
+ * a nested default is given and return that.
204
+ */
205
+ if (pkg.default && pkg.default.default) {
206
+ return pkg.default;
207
+ }
208
+ return pkg;
174
209
  }
175
210
  catch (e) {
176
211
  throw new Error(`Couldn't initialise "${name}".\n${e.stack}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/utils",
3
- "version": "8.0.0-alpha.537+c2761a175",
3
+ "version": "8.0.0-alpha.558+9156ec0f4",
4
4
  "description": "A WDIO helper utility to provide several utility functions used across the project.",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-utils",
@@ -27,12 +27,12 @@
27
27
  "url": "https://github.com/webdriverio/webdriverio/issues"
28
28
  },
29
29
  "dependencies": {
30
- "@wdio/logger": "8.0.0-alpha.537+c2761a175",
31
- "@wdio/types": "8.0.0-alpha.537+c2761a175",
30
+ "@wdio/logger": "8.0.0-alpha.558+9156ec0f4",
31
+ "@wdio/types": "8.0.0-alpha.558+9156ec0f4",
32
32
  "p-iteration": "^1.1.8"
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "c2761a17597c5dfbd349445fc203183fb004c3f5"
37
+ "gitHead": "9156ec0f422b7e784ea148e569fe423ba21a0355"
38
38
  }