yeoman-test 8.0.0-beta.4 → 8.0.0-beta.6
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/default-environment.d.ts +1 -1
- package/dist/default-environment.js +14 -3
- package/dist/helpers.d.ts +4 -3
- package/dist/helpers.js +6 -6
- package/dist/run-context.d.ts +2 -2
- package/dist/run-context.js +8 -5
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function createEnv(options: import('@yeoman/types').BaseEnvironmentOptions): import('@yeoman/types').BaseEnvironment;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @param {import('@yeoman/types').BaseEnvironmentOptions} options
|
|
3
|
+
* @returns {import('@yeoman/types').BaseEnvironment}
|
|
4
|
+
*/
|
|
5
|
+
export const createEnv = async (options) => {
|
|
6
|
+
const DynamicEnv = await import('yeoman-environment');
|
|
7
|
+
if (typeof DynamicEnv === 'function') {
|
|
8
|
+
return new DynamicEnv(options);
|
|
9
|
+
}
|
|
10
|
+
if (typeof DynamicEnv.default === 'function') {
|
|
11
|
+
// eslint-disable-next-line new-cap
|
|
12
|
+
return new DynamicEnv.default(options);
|
|
13
|
+
}
|
|
14
|
+
throw new Error(`'yeoman-environment' didn't returned a constructor`);
|
|
4
15
|
};
|
package/dist/helpers.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { BaseEnvironmentOptions, BaseGenerator, BaseGeneratorOptions, GetGeneratorConstructor, GetGeneratorOptions, PromptAnswers } from '@yeoman/types';
|
|
1
|
+
import type { BaseEnvironment, BaseEnvironmentOptions, BaseGenerator, BaseGeneratorOptions, GetGeneratorConstructor, GetGeneratorOptions, PromptAnswers } from '@yeoman/types';
|
|
2
2
|
import type { SinonSpiedInstance } from 'sinon';
|
|
3
3
|
import type { DefaultEnvironmentApi, DefaultGeneratorApi } from '../types/type-helpers.js';
|
|
4
4
|
import { type DummyPromptOptions } from './adapter.js';
|
|
5
5
|
import RunContext, { BasicRunContext, type RunContextSettings } from './run-context.js';
|
|
6
|
+
export type CreateEnv = (options: BaseEnvironmentOptions) => Promise<BaseEnvironment>;
|
|
6
7
|
/**
|
|
7
8
|
* Dependencies can be path (autodiscovery) or an array [<generator>, <name>]
|
|
8
9
|
*/
|
|
@@ -105,7 +106,7 @@ export declare class YeomanTest {
|
|
|
105
106
|
* createEnv.restore();
|
|
106
107
|
* });
|
|
107
108
|
*/
|
|
108
|
-
createEnv(
|
|
109
|
+
createEnv(options: BaseEnvironmentOptions): Promise<DefaultEnvironmentApi>;
|
|
109
110
|
/**
|
|
110
111
|
* Creates a test environment.
|
|
111
112
|
*
|
|
@@ -113,7 +114,7 @@ export declare class YeomanTest {
|
|
|
113
114
|
* @param {Object} - Options to be passed to the environment
|
|
114
115
|
* const env = createTestEnv(require('yeoman-environment').createEnv);
|
|
115
116
|
*/
|
|
116
|
-
createTestEnv(envContructor?:
|
|
117
|
+
createTestEnv(envContructor?: CreateEnv, options?: BaseEnvironmentOptions): Promise<BaseEnvironment>;
|
|
117
118
|
/**
|
|
118
119
|
* Get RunContext type
|
|
119
120
|
* @return {RunContext}
|
package/dist/helpers.js
CHANGED
|
@@ -7,7 +7,7 @@ import { spy as sinonSpy, stub as sinonStub } from 'sinon';
|
|
|
7
7
|
import { DummyPrompt, TestAdapter } from './adapter.js';
|
|
8
8
|
import RunContext, { BasicRunContext } from './run-context.js';
|
|
9
9
|
import testContext from './test-context.js';
|
|
10
|
-
import {
|
|
10
|
+
import { createEnv } from './default-environment.js';
|
|
11
11
|
let GeneratorImplementation;
|
|
12
12
|
try {
|
|
13
13
|
const GeneratorImport = await import('yeoman-generator');
|
|
@@ -171,7 +171,7 @@ export class YeomanTest {
|
|
|
171
171
|
* var angular = createGenerator('angular:app', deps);
|
|
172
172
|
*/
|
|
173
173
|
async createGenerator(name, dependencies, args, options, localConfigOnly = true) {
|
|
174
|
-
const env = await this.createEnv(
|
|
174
|
+
const env = await this.createEnv({ sharedOptions: { localConfigOnly } });
|
|
175
175
|
for (const dependency of dependencies) {
|
|
176
176
|
if (typeof dependency === 'string') {
|
|
177
177
|
env.register(dependency);
|
|
@@ -180,7 +180,7 @@ export class YeomanTest {
|
|
|
180
180
|
env.register(...dependency);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
return env.create(name, args, options);
|
|
183
|
+
return env.create(name, { generatorArgs: args, generatorOptions: options });
|
|
184
184
|
}
|
|
185
185
|
/**
|
|
186
186
|
* Shortcut to the Environment's createEnv.
|
|
@@ -197,8 +197,8 @@ export class YeomanTest {
|
|
|
197
197
|
* createEnv.restore();
|
|
198
198
|
* });
|
|
199
199
|
*/
|
|
200
|
-
async createEnv(
|
|
201
|
-
return (
|
|
200
|
+
async createEnv(options) {
|
|
201
|
+
return createEnv(options);
|
|
202
202
|
}
|
|
203
203
|
/**
|
|
204
204
|
* Creates a test environment.
|
|
@@ -231,7 +231,7 @@ export class YeomanTest {
|
|
|
231
231
|
...options,
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
|
-
return envContructor(
|
|
234
|
+
return envContructor({ ...envOptions, adapter: new TestAdapter() });
|
|
235
235
|
}
|
|
236
236
|
/**
|
|
237
237
|
* Get RunContext type
|
package/dist/run-context.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { BaseEnvironmentOptions, BaseGenerator, GetGeneratorConstructor, Ge
|
|
|
5
5
|
import { type MemFsEditorFile, type MemFsEditor } from 'mem-fs-editor';
|
|
6
6
|
import type { DefaultGeneratorApi, DefaultEnvironmentApi } from '../types/type-helpers.js';
|
|
7
7
|
import RunResult, { type RunResultOptions } from './run-result.js';
|
|
8
|
-
import { type Dependency, type YeomanTest } from './helpers.js';
|
|
8
|
+
import { type CreateEnv, type Dependency, type YeomanTest } from './helpers.js';
|
|
9
9
|
import { type DummyPromptOptions } from './adapter.js';
|
|
10
10
|
/**
|
|
11
11
|
* Provides settings for creating a `RunContext`.
|
|
@@ -34,7 +34,7 @@ export type RunContextSettings = {
|
|
|
34
34
|
type PromiseRunResult<GeneratorType extends BaseGenerator> = Promise<RunResult<GeneratorType>>;
|
|
35
35
|
type MockedGeneratorFactory<GenParameter extends BaseGenerator = DefaultGeneratorApi> = (GeneratorClass?: GetGeneratorConstructor<GenParameter>) => GetGeneratorConstructor<GenParameter>;
|
|
36
36
|
type EnvOptions = BaseEnvironmentOptions & {
|
|
37
|
-
createEnv?:
|
|
37
|
+
createEnv?: CreateEnv;
|
|
38
38
|
};
|
|
39
39
|
export declare class RunContextBase<GeneratorType extends BaseGenerator = DefaultGeneratorApi> extends EventEmitter {
|
|
40
40
|
readonly mockedGenerators: Record<string, BaseGenerator>;
|
package/dist/run-context.js
CHANGED
|
@@ -502,11 +502,14 @@ export class RunContextBase extends EventEmitter {
|
|
|
502
502
|
const { resolved } = this.settings;
|
|
503
503
|
this.env.register(this.Generator, { namespace, resolved });
|
|
504
504
|
}
|
|
505
|
-
this.generator = await this.env.create(namespace,
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
505
|
+
this.generator = await this.env.create(namespace, {
|
|
506
|
+
generatorArgs: this.args,
|
|
507
|
+
generatorOptions: {
|
|
508
|
+
force: true,
|
|
509
|
+
skipCache: true,
|
|
510
|
+
skipInstall: true,
|
|
511
|
+
...this.options,
|
|
512
|
+
},
|
|
510
513
|
});
|
|
511
514
|
for (const onGeneratorCallback of this.onGeneratorCallbacks) {
|
|
512
515
|
// eslint-disable-next-line no-await-in-loop
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yeoman-test",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.6",
|
|
4
4
|
"description": "Test utilities for Yeoman generators",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"yeoman",
|
|
@@ -59,13 +59,13 @@
|
|
|
59
59
|
"tui-jsdoc-template": "^1.2.2",
|
|
60
60
|
"typescript": "^5.0.4",
|
|
61
61
|
"xo": "^0.54.2",
|
|
62
|
-
"yeoman-environment": "^3.
|
|
63
|
-
"yeoman-generator": "^5.
|
|
62
|
+
"yeoman-environment": "^3.18.3",
|
|
63
|
+
"yeoman-generator": "^5.9.0"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@yeoman/types": "^0.
|
|
67
|
-
"yeoman-environment": "^3.
|
|
68
|
-
"yeoman-generator": "^5.
|
|
66
|
+
"@yeoman/types": "^1.0.1",
|
|
67
|
+
"yeoman-environment": "^3.18.3 || ^4.0.0-alpha.6",
|
|
68
|
+
"yeoman-generator": "^5.9.0 || ^6.0.0-beta.4"
|
|
69
69
|
},
|
|
70
70
|
"peerDependenciesMeta": {
|
|
71
71
|
"yeoman-environment": {
|