@yeoman/types 0.4.0 → 1.0.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yeoman/types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Common API for yeoman's generator/environment stack",
|
|
6
6
|
"keywords": [
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"access": "public",
|
|
57
57
|
"registry": "https://registry.npmjs.org/"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "cb5b453d1e92fcc70874d4cdaea77cf90fdd60f7"
|
|
60
60
|
}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
import type { Transform } from 'node:stream';
|
|
1
|
+
import type { PipelineSource, Transform } from 'node:stream';
|
|
2
2
|
import type { Store } from 'mem-fs';
|
|
3
3
|
import type { MemFsEditorFile } from 'mem-fs-editor';
|
|
4
4
|
|
|
5
5
|
import type { BaseGeneratorOptions } from '../generator/generator-options.js';
|
|
6
6
|
import type { BaseGenerator, BaseGeneratorConstructor } from '../generator/generator.js';
|
|
7
|
-
import type { GetGeneratorConstructor
|
|
7
|
+
import type { GetGeneratorConstructor } from '../generator/utils.js';
|
|
8
8
|
import type { InputOutputAdapter } from './adapter.js';
|
|
9
|
-
import type {
|
|
9
|
+
import type {
|
|
10
|
+
GeneratorMeta,
|
|
11
|
+
LookupGeneratorMeta,
|
|
12
|
+
LookupOptions,
|
|
13
|
+
BaseGeneratorMeta,
|
|
14
|
+
InstantiateOptions,
|
|
15
|
+
ComposeOptions,
|
|
16
|
+
} from './methods-options.js';
|
|
10
17
|
|
|
11
18
|
export type EnvironmentConstructor<A extends InputOutputAdapter = InputOutputAdapter> = new (
|
|
12
19
|
options?: BaseEnvironmentOptions,
|
|
@@ -38,16 +45,21 @@ export type BaseEnvironmentOptions = BaseGeneratorOptions & {
|
|
|
38
45
|
export type ApplyTransformsOptions = {
|
|
39
46
|
name?: string;
|
|
40
47
|
log?: boolean;
|
|
41
|
-
stream?:
|
|
42
|
-
streamOptions
|
|
48
|
+
stream?: PipelineSource<any>;
|
|
49
|
+
streamOptions?: Parameters<Store<MemFsEditorFile>['stream']>[0];
|
|
43
50
|
};
|
|
44
51
|
|
|
52
|
+
/**
|
|
53
|
+
* BaseEnvironment provides the api used by yeoman-test and yeoman-generator that should remain stable between major yeoman-environment versions.
|
|
54
|
+
*/
|
|
45
55
|
export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorFile> = Store<MemFsEditorFile>> = {
|
|
46
56
|
cwd: string;
|
|
47
57
|
adapter: A;
|
|
48
58
|
sharedFs: S;
|
|
49
59
|
|
|
50
60
|
emit(eventName: string | symbol, ...args: any[]): boolean;
|
|
61
|
+
on(eventName: string | symbol, listener: (...args: any[]) => void): unknown;
|
|
62
|
+
once(eventName: string | symbol, listener: (...args: any[]) => void): unknown;
|
|
51
63
|
|
|
52
64
|
applyTransforms(transformStreams: Transform[], options?: ApplyTransformsOptions): Promise<void>;
|
|
53
65
|
|
|
@@ -65,14 +77,17 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
|
|
|
65
77
|
|
|
66
78
|
create<G extends BaseGenerator = BaseGenerator>(
|
|
67
79
|
namespaceOrPath: string | GetGeneratorConstructor<G>,
|
|
68
|
-
|
|
69
|
-
options?: Partial<Omit<GetGeneratorOptions<G>, 'env' | 'resolved' | 'namespace'>>,
|
|
80
|
+
instantiateOptions: InstantiateOptions<G>,
|
|
70
81
|
): Promise<G>;
|
|
71
82
|
|
|
72
83
|
instantiate<G extends BaseGenerator = BaseGenerator>(
|
|
73
84
|
generator: GetGeneratorConstructor<G>,
|
|
74
|
-
|
|
75
|
-
|
|
85
|
+
instantiateOptions: InstantiateOptions<G>,
|
|
86
|
+
): Promise<G>;
|
|
87
|
+
|
|
88
|
+
composeWith<G extends BaseGenerator = BaseGenerator>(
|
|
89
|
+
generator: string | GetGeneratorConstructor<G>,
|
|
90
|
+
composeOptions?: ComposeOptions<G>,
|
|
76
91
|
): Promise<G>;
|
|
77
92
|
|
|
78
93
|
/**
|
|
@@ -117,10 +132,9 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
|
|
|
117
132
|
*
|
|
118
133
|
* @param dependency The name of the dependency.
|
|
119
134
|
*/
|
|
120
|
-
|
|
121
|
-
getVersion(dependency: string): string;
|
|
135
|
+
getVersion(dependency: string): string | undefined;
|
|
122
136
|
|
|
123
|
-
queueGenerator<G extends BaseGenerator = BaseGenerator>(generator: G, schedule?: boolean): Promise<G>;
|
|
137
|
+
queueGenerator<G extends BaseGenerator = BaseGenerator>(generator: G, queueOptions?: { schedule?: boolean }): Promise<G>;
|
|
124
138
|
|
|
125
139
|
rootGenerator<G extends BaseGenerator = BaseGenerator>(): G;
|
|
126
140
|
|
|
@@ -133,7 +147,7 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
|
|
|
133
147
|
* @param filePath The filepath to the generator or an npm package name.
|
|
134
148
|
* @param meta Generator metadata.
|
|
135
149
|
*/
|
|
136
|
-
register(filePath: string, meta?: Partial<BaseGeneratorMeta>):
|
|
150
|
+
register(filePath: string, meta?: Partial<BaseGeneratorMeta>): GeneratorMeta;
|
|
137
151
|
|
|
138
152
|
/**
|
|
139
153
|
* Registers a stubbed generator to this environment.
|
|
@@ -141,7 +155,7 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
|
|
|
141
155
|
* @param generator The generator constructor.
|
|
142
156
|
* @param meta Generator metadata.
|
|
143
157
|
*/
|
|
144
|
-
register(generator: unknown, meta: BaseGeneratorMeta):
|
|
158
|
+
register(generator: unknown, meta: BaseGeneratorMeta): GeneratorMeta;
|
|
145
159
|
|
|
146
160
|
/**
|
|
147
161
|
* Queue tasks
|
|
@@ -175,21 +189,8 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
|
|
|
175
189
|
*/
|
|
176
190
|
lookup(options?: LookupOptions): Promise<LookupGeneratorMeta[]>;
|
|
177
191
|
|
|
178
|
-
/**
|
|
179
|
-
* Checks whether a package with the specified `packageNamespace` has been registered.
|
|
180
|
-
*
|
|
181
|
-
* @param packageNamespace The package-namespace to check.
|
|
182
|
-
* @returns A value indicating whether a package with the specified `packageNamespace` has been registered.
|
|
183
|
-
*/
|
|
184
|
-
isPackageRegistered(packageNamespace?: string): boolean;
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Gets the namespaces of all registered packages.
|
|
188
|
-
*/
|
|
189
|
-
getRegisteredPackages(): string[];
|
|
190
|
-
|
|
191
192
|
/**
|
|
192
193
|
* Returns stored generators meta
|
|
193
194
|
*/
|
|
194
|
-
getGeneratorMeta(namespace: string): GeneratorMeta;
|
|
195
|
+
getGeneratorMeta(namespace: string): GeneratorMeta | undefined;
|
|
195
196
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { GetGeneratorOptions, BaseGenerator, GetGeneratorConstructor } from '../index.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Provides options for the `lookup` method.
|
|
@@ -40,30 +40,21 @@ export type LookupOptions = {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
|
-
* Provides information about a generator.
|
|
43
|
+
* Provides lookup information about a generator.
|
|
44
44
|
*/
|
|
45
|
-
export type LookupGeneratorMeta =
|
|
46
|
-
/**
|
|
47
|
-
* A value indicating whether the generator could be registered.
|
|
48
|
-
*/
|
|
49
|
-
registered: boolean;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* The resolved path to the generator.
|
|
53
|
-
*/
|
|
54
|
-
generatorPath: string;
|
|
45
|
+
export type LookupGeneratorMeta = NotRegisteredLookupGeneratorMeta | RegisteredLookupGeneratorMeta;
|
|
55
46
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
namespace: string;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* The path to the package containing the generator.
|
|
63
|
-
*/
|
|
64
|
-
packagePath: string;
|
|
47
|
+
export type NotRegisteredLookupGeneratorMeta = Required<BaseGeneratorMeta> & {
|
|
48
|
+
/** Failed to register. */
|
|
49
|
+
registered: false;
|
|
65
50
|
};
|
|
66
51
|
|
|
52
|
+
export type RegisteredLookupGeneratorMeta = Required<BaseGeneratorMeta> &
|
|
53
|
+
GeneratorMeta & {
|
|
54
|
+
/** Successfully registered package. */
|
|
55
|
+
registered: true;
|
|
56
|
+
};
|
|
57
|
+
|
|
67
58
|
export type BaseGeneratorMeta = {
|
|
68
59
|
/** The key under which the generator can be retrieved */
|
|
69
60
|
namespace: string;
|
|
@@ -80,7 +71,14 @@ export type GeneratorMeta = BaseGeneratorMeta & {
|
|
|
80
71
|
/** Import the module `import(meta.resolved)` */
|
|
81
72
|
importModule?: () => Promise<unknown>;
|
|
82
73
|
/** Intantiate the Generator `env.instantiate(await meta.importGenerator())` */
|
|
83
|
-
instantiate:
|
|
74
|
+
instantiate: (args?: string[], options?: any) => Promise<BaseGenerator>;
|
|
84
75
|
/** Intantiate the Generator passing help option */
|
|
85
|
-
instantiateHelp:
|
|
76
|
+
instantiateHelp: () => Promise<BaseGenerator>;
|
|
86
77
|
};
|
|
78
|
+
|
|
79
|
+
export type InstantiateOptions<G extends BaseGenerator = BaseGenerator> = {
|
|
80
|
+
generatorArgs?: string[];
|
|
81
|
+
generatorOptions?: Partial<Omit<GetGeneratorOptions<G>, 'env' | 'resolved' | 'namespace'>> | undefined;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export type ComposeOptions<G extends BaseGenerator = BaseGenerator> = InstantiateOptions<G> & { schedule?: boolean };
|
|
@@ -6,6 +6,10 @@ export type EnvironmentGenerator = {
|
|
|
6
6
|
readonly env: BaseEnvironment;
|
|
7
7
|
readonly features: unknown;
|
|
8
8
|
|
|
9
|
+
emit(eventName: string | symbol, ...args: any[]): boolean;
|
|
10
|
+
on(eventName: string | symbol, listener: (...args: any[]) => void): unknown;
|
|
11
|
+
once(eventName: string | symbol, listener: (...args: any[]) => void): unknown;
|
|
12
|
+
|
|
9
13
|
_postConstruct?(): Promise<void>;
|
|
10
14
|
|
|
11
15
|
destinationRoot(): string;
|
|
@@ -24,6 +28,7 @@ export type BaseGenerator<
|
|
|
24
28
|
readonly features: F | undefined;
|
|
25
29
|
};
|
|
26
30
|
|
|
27
|
-
export type BaseGeneratorConstructor<
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
export type BaseGeneratorConstructor<
|
|
32
|
+
O extends GeneratorOptions = GeneratorOptions,
|
|
33
|
+
F extends GeneratorFeatures = GeneratorFeatures,
|
|
34
|
+
> = (new (args?: string[], options?: O, features?: F) => BaseGenerator<O, F>) & (new (options?: O, features?: F) => BaseGenerator<O, F>);
|