@yeoman/types 1.9.1 → 1.10.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": "1.9.1",
3
+ "version": "1.10.0",
4
4
  "private": false,
5
5
  "description": "Common API for yeoman's generator/environment stack",
6
6
  "keywords": [
@@ -33,8 +33,7 @@
33
33
  "peerDependencies": {
34
34
  "@types/node": ">=16.18.26",
35
35
  "@yeoman/adapter": "^1.6.0 || ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0",
36
- "mem-fs": "^3.0.0 || ^4.0.0-beta.1",
37
- "mem-fs-editor": "^10.0.2 || >=10.0.2"
36
+ "mem-fs": "^3.0.0 || ^4.0.0-beta.1"
38
37
  },
39
38
  "peerDependenciesMeta": {
40
39
  "@yeoman/adapter": {
@@ -42,9 +41,6 @@
42
41
  },
43
42
  "mem-fs": {
44
43
  "optional": true
45
- },
46
- "mem-fs-editor": {
47
- "optional": true
48
44
  }
49
45
  },
50
46
  "engines": {
@@ -54,5 +50,5 @@
54
50
  "access": "public",
55
51
  "registry": "https://registry.npmjs.org/"
56
52
  },
57
- "gitHead": "3ad74f9fc8d3014757b50fdc10426403b2cbec96"
53
+ "gitHead": "232c177eddf5870826bb4a8c7bef05f549410e1d"
58
54
  }
@@ -1,6 +1,5 @@
1
1
  import type { PipelineSource, Transform } from 'node:stream';
2
2
  import type { Store } from 'mem-fs';
3
- import type { MemFsEditorFile } from 'mem-fs-editor';
4
3
 
5
4
  import type { BaseGeneratorOptions } from '../generator/generator-options.js';
6
5
  import type { BaseGenerator, BaseGeneratorConstructor } from '../generator/generator.js';
@@ -15,6 +14,8 @@ import type {
15
14
  LookupOptions,
16
15
  } from './methods-options.js';
17
16
 
17
+ type StreamFile = typeof import('mem-fs-editor') extends never ? { path: string } : import('mem-fs-editor').MemFsEditorFile;
18
+
18
19
  export type EnvironmentConstructor<A extends InputOutputAdapter = InputOutputAdapter> = new (
19
20
  options?: BaseEnvironmentOptions<A>,
20
21
  /** @deprecated */
@@ -53,17 +54,17 @@ export type BaseEnvironmentOptions<A extends InputOutputAdapter = InputOutputAda
53
54
  adapter?: A;
54
55
  };
55
56
 
56
- export type ApplyTransformsOptions = {
57
+ export type ApplyTransformsOptions<S extends Store<{ path: string }> = Store<StreamFile>> = {
57
58
  name?: string;
58
59
  log?: boolean;
59
60
  stream?: PipelineSource<any>;
60
- streamOptions?: Parameters<Store<MemFsEditorFile>['stream']>[0];
61
+ streamOptions?: Parameters<S['stream']>[0];
61
62
  };
62
63
 
63
64
  /**
64
65
  * BaseEnvironment provides the api used by yeoman-test and yeoman-generator that should remain stable between major yeoman-environment versions.
65
66
  */
66
- export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorFile> = Store<MemFsEditorFile>> = {
67
+ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<{ path: string }> = Store<StreamFile>> = {
67
68
  cwd: string;
68
69
  adapter: A;
69
70
  sharedFs: S;
@@ -76,7 +77,7 @@ export type BaseEnvironment<A = InputOutputAdapter, S extends Store<MemFsEditorF
76
77
  on(eventName: string | symbol, listener: (...arguments_: any[]) => void): unknown;
77
78
  once(eventName: string | symbol, listener: (...arguments_: any[]) => void): unknown;
78
79
 
79
- applyTransforms(transformStreams: Transform[], options?: ApplyTransformsOptions): Promise<void>;
80
+ applyTransforms(transformStreams: Transform[], options?: ApplyTransformsOptions<S>): Promise<void>;
80
81
 
81
82
  /**
82
83
  * Gets a single constructor of a generator from the registered list of generators.