yeoman-test 7.0.0 → 7.1.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
@@ -95,7 +95,7 @@ export declare class YeomanTest {
95
95
  * ];
96
96
  * var angular = createGenerator('angular:app', deps);
97
97
  */
98
- createGenerator<GeneratorType extends YeomanGenerator = YeomanGenerator>(name: string, dependencies: Dependency[], args?: string[], options?: YeomanGenerator.GeneratorOptions, localConfigOnly?: boolean): GeneratorType;
98
+ createGenerator<GeneratorType extends YeomanGenerator = YeomanGenerator>(name: string, dependencies: Dependency[], args?: string[], options?: YeomanGenerator.GeneratorOptions, localConfigOnly?: boolean): GeneratorType | Promise<GeneratorType>;
99
99
  /**
100
100
  * @deprecated
101
101
  * Register a list of dependent generators into the provided env.
@@ -119,16 +119,15 @@ export declare class YeomanTest {
119
119
  * createEnv.restore();
120
120
  * });
121
121
  */
122
- createEnv(...args: Parameters<typeof createEnv>): ReturnType<typeof createEnv>;
122
+ createEnv(...args: Parameters<typeof createEnv>): ReturnType<typeof createEnv> | Promise<ReturnType<typeof createEnv>>;
123
123
  /**
124
124
  * Creates a test environment.
125
125
  *
126
126
  * @param {Function} envContructor - environment constructor method.
127
127
  * @param {Object} [options] - Options to be passed to the environment
128
- * @returns {Object} environment instance
129
128
  * const env = createTestEnv(require('yeoman-environment').createEnv);
130
129
  */
131
- createTestEnv(envContructor?: (args?: string | string[] | undefined, opts?: Environment.Options | undefined, adapter?: import("yeoman-environment/lib/adapter.js") | undefined) => Environment<Environment.Options>, options?: Environment.Options): Environment<Environment.Options>;
130
+ createTestEnv(envContructor?: (args?: string | string[] | undefined, opts?: Environment.Options | undefined, adapter?: import("yeoman-environment/lib/adapter.js") | undefined) => Environment<Environment.Options> | Promise<Environment<Environment.Options>>, options?: Environment.Options): Environment<Environment.Options> | Promise<Environment<Environment.Options>>;
132
131
  /**
133
132
  * Get RunContext type
134
133
  * @return {RunContext}
package/dist/helpers.js CHANGED
@@ -147,9 +147,16 @@ export class YeomanTest {
147
147
  * var angular = createGenerator('angular:app', deps);
148
148
  */
149
149
  createGenerator(name, dependencies, args, options, localConfigOnly = true) {
150
- const env = this.createEnv([], { sharedOptions: { localConfigOnly } });
151
- this.registerDependencies(env, dependencies);
152
- return env.create(name, args, options);
150
+ const maybeEnv = this.createEnv([], { sharedOptions: { localConfigOnly } });
151
+ // TODO convert method to async.
152
+ if ('then' in maybeEnv) {
153
+ return maybeEnv.then(env => {
154
+ this.registerDependencies(env, dependencies);
155
+ return env.create(name, args, options);
156
+ });
157
+ }
158
+ this.registerDependencies(maybeEnv, dependencies);
159
+ return maybeEnv.create(name, args, options);
153
160
  }
154
161
  /**
155
162
  * @deprecated
@@ -191,7 +198,6 @@ export class YeomanTest {
191
198
  *
192
199
  * @param {Function} envContructor - environment constructor method.
193
200
  * @param {Object} [options] - Options to be passed to the environment
194
- * @returns {Object} environment instance
195
201
  * const env = createTestEnv(require('yeoman-environment').createEnv);
196
202
  */
197
203
  createTestEnv(envContructor = this.createEnv, options = { localConfigOnly: true }) {
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { default, createHelpers, YeomanTest, type Dependency } from './helpers.js';
2
2
  export { default as RunContext, RunContextBase, type RunContextSettings } from './run-context.js';
3
3
  export { default as RunResult, type RunResultOptions } from './run-result.js';
4
+ export { default as context } from './test-context.js';
4
5
  export { DummyPrompt, TestAdapter } from './adapter.js';
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { default, createHelpers, YeomanTest } from './helpers.js';
2
2
  export { default as RunContext, RunContextBase } from './run-context.js';
3
3
  export { default as RunResult } from './run-result.js';
4
+ export { default as context } from './test-context.js';
4
5
  export { DummyPrompt, TestAdapter } from './adapter.js';
@@ -424,7 +424,7 @@ export class RunContextBase extends EventEmitter {
424
424
  if (!this.targetDirectory) {
425
425
  throw new Error('targetDirectory is required');
426
426
  }
427
- const testEnv = this.helpers.createTestEnv(this.envOptions.createEnv, {
427
+ const testEnv = await this.helpers.createTestEnv(this.envOptions.createEnv, {
428
428
  cwd: this.settings.forwardCwd ? this.targetDirectory : undefined,
429
429
  ...this.options,
430
430
  ...this.envOptions,
@@ -1,6 +1,5 @@
1
1
  import type RunContext from './run-context.js';
2
2
  declare class TestContext {
3
- autoCleanup: boolean;
4
3
  private runContext?;
5
4
  startNewContext(runContext: RunContext<any>): void;
6
5
  }
@@ -1,5 +1,4 @@
1
1
  class TestContext {
2
- autoCleanup = false;
3
2
  runContext;
4
3
  startNewContext(runContext) {
5
4
  this.runContext?.cleanupTemporaryDir();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yeoman-test",
3
- "version": "7.0.0",
3
+ "version": "7.1.0",
4
4
  "description": "Test utilities for Yeoman generators",
5
5
  "homepage": "http://yeoman.io/authoring/testing.html",
6
6
  "author": "The Yeoman Team",
@@ -26,7 +26,7 @@
26
26
  "doc_path": "../yeoman-test-doc"
27
27
  },
28
28
  "devDependencies": {
29
- "@esbuild-kit/esm-loader": "^2.5.1",
29
+ "@node-loaders/esbuild": "^0.6.0",
30
30
  "@types/mocha": "^10.0.0",
31
31
  "@types/sinon": "^10.0.13",
32
32
  "coveralls": "^3.1.1",