yeoman-test 11.4.1 → 11.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/helpers.d.ts CHANGED
@@ -159,4 +159,6 @@ export declare class YeomanTest {
159
159
  }
160
160
  declare const defaultHelpers: YeomanTest;
161
161
  export default defaultHelpers;
162
- export declare const createHelpers: (options: Partial<YeomanTest>) => YeomanTest;
162
+ export declare const createHelpers: <T extends YeomanTest = YeomanTest>(options: Partial<T> & {
163
+ factory?: () => T;
164
+ }) => T;
package/dist/helpers.js CHANGED
@@ -257,12 +257,14 @@ export class YeomanTest {
257
257
  const contextSettings = cloneDeep(this.settings ?? {});
258
258
  const generatorOptions = cloneDeep(this.generatorOptions ?? {});
259
259
  const RunContext = this.getRunContextType();
260
- if (typeof GeneratorOrNamespace === 'string' && GeneratorOrNamespace.startsWith('.')) {
261
- if (!this.importMeta) {
262
- throw new Error('importMeta is required to resolve relative generator paths');
260
+ if (typeof GeneratorOrNamespace === 'string') {
261
+ if (GeneratorOrNamespace.startsWith('.')) {
262
+ if (!this.importMeta) {
263
+ throw new Error('importMeta is required to resolve relative generator paths');
264
+ }
265
+ GeneratorOrNamespace = this.importMeta.resolve(GeneratorOrNamespace);
263
266
  }
264
- GeneratorOrNamespace = this.importMeta.resolve(GeneratorOrNamespace);
265
- if (URL.canParse(GeneratorOrNamespace)) {
267
+ if (GeneratorOrNamespace.startsWith('file://')) {
266
268
  GeneratorOrNamespace = fileURLToPath(GeneratorOrNamespace);
267
269
  }
268
270
  }
@@ -304,7 +306,8 @@ export class YeomanTest {
304
306
  const defaultHelpers = new YeomanTest();
305
307
  export default defaultHelpers;
306
308
  export const createHelpers = (options) => {
307
- const helpers = new YeomanTest();
309
+ const { factory = () => new YeomanTest() } = options;
310
+ const helpers = factory();
308
311
  Object.assign(helpers, options);
309
312
  return helpers;
310
313
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yeoman-test",
3
- "version": "11.4.1",
3
+ "version": "11.5.0",
4
4
  "description": "Test utilities for Yeoman generators",
5
5
  "keywords": [
6
6
  "yeoman",