yeoman-environment 4.0.0-beta.5 → 4.0.0-rc.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/commit.d.ts +2 -7
- package/dist/commit.js +5 -14
- package/dist/environment-base.d.ts +2 -3
- package/dist/environment-base.js +2 -5
- package/dist/environment-full.js +1 -2
- package/package.json +35 -24
package/dist/commit.d.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import type { PipelineSource } from 'node:stream';
|
|
3
1
|
import type { InputOutputAdapter } from '@yeoman/types';
|
|
4
2
|
import { type ConflicterOptions } from '@yeoman/conflicter';
|
|
5
3
|
import type { Store } from 'mem-fs';
|
|
6
4
|
import { type MemFsEditorFile } from 'mem-fs-editor';
|
|
7
5
|
/**
|
|
8
6
|
* Commits the MemFs to the disc.
|
|
9
|
-
* @param {Stream} [stream] - files stream, defaults to this.sharedFs.stream().
|
|
10
|
-
* @return {Promise}
|
|
11
7
|
*/
|
|
12
|
-
export declare const commitSharedFsTask: ({ adapter, conflicterOptions, sharedFs,
|
|
8
|
+
export declare const commitSharedFsTask: ({ adapter, conflicterOptions, sharedFs, }: {
|
|
13
9
|
adapter: InputOutputAdapter;
|
|
14
10
|
conflicterOptions?: ConflicterOptions | undefined;
|
|
15
11
|
sharedFs: Store<MemFsEditorFile>;
|
|
16
|
-
|
|
17
|
-
}) => any;
|
|
12
|
+
}) => Promise<void>;
|
package/dist/commit.js
CHANGED
|
@@ -2,24 +2,15 @@ import { createConflicterTransform, createYoResolveTransform, forceYoFiles } fro
|
|
|
2
2
|
import createdLogger from 'debug';
|
|
3
3
|
import { create as createMemFsEditor } from 'mem-fs-editor';
|
|
4
4
|
// eslint-disable-next-line n/file-extension-in-import
|
|
5
|
-
import { isFilePending } from 'mem-fs-editor/state';
|
|
6
|
-
// eslint-disable-next-line n/file-extension-in-import
|
|
7
5
|
import { createCommitTransform } from 'mem-fs-editor/transform';
|
|
6
|
+
// eslint-disable-next-line n/file-extension-in-import
|
|
7
|
+
import { isFilePending } from 'mem-fs-editor/state';
|
|
8
8
|
const debug = createdLogger('yeoman:environment:commit');
|
|
9
9
|
/**
|
|
10
10
|
* Commits the MemFs to the disc.
|
|
11
|
-
* @param {Stream} [stream] - files stream, defaults to this.sharedFs.stream().
|
|
12
|
-
* @return {Promise}
|
|
13
11
|
*/
|
|
14
|
-
export const commitSharedFsTask = ({ adapter, conflicterOptions, sharedFs,
|
|
12
|
+
export const commitSharedFsTask = async ({ adapter, conflicterOptions, sharedFs, }) => {
|
|
15
13
|
debug('Running commitSharedFsTask');
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
return fs.commit([
|
|
19
|
-
createYoResolveTransform(),
|
|
20
|
-
forceYoFiles(),
|
|
21
|
-
createConflicterTransform(adapter, conflicterOptions),
|
|
22
|
-
// Use custom commit transform due to out of order transform.
|
|
23
|
-
createCommitTransform(fs),
|
|
24
|
-
], stream);
|
|
14
|
+
const editor = createMemFsEditor(sharedFs);
|
|
15
|
+
await sharedFs.pipeline({ filter: (file) => isFilePending(file) || file.path.endsWith('.yo-resolve') }, createYoResolveTransform(), forceYoFiles(), createConflicterTransform(adapter, conflicterOptions), createCommitTransform());
|
|
25
16
|
};
|
|
@@ -3,7 +3,7 @@ import EventEmitter from 'node:events';
|
|
|
3
3
|
import { QueuedAdapter, type TerminalAdapterOptions } from '@yeoman/adapter';
|
|
4
4
|
import type { ApplyTransformsOptions, BaseEnvironment, BaseEnvironmentOptions, BaseGenerator, BaseGeneratorConstructor, BaseGeneratorMeta, ComposeOptions, GeneratorMeta, GetGeneratorConstructor, InputOutputAdapter, InstantiateOptions, LookupGeneratorMeta } from '@yeoman/types';
|
|
5
5
|
import { type Store as MemFs } from 'mem-fs';
|
|
6
|
-
import { type
|
|
6
|
+
import { type MemFsEditorFile } from 'mem-fs-editor';
|
|
7
7
|
import { FlyRepository } from 'fly-import';
|
|
8
8
|
import GroupedQueue from 'grouped-queue';
|
|
9
9
|
import { type FilePipelineTransform } from '@yeoman/transform';
|
|
@@ -29,10 +29,10 @@ export type EnvironmentOptions = BaseEnvironmentOptions & Omit<TerminalAdapterOp
|
|
|
29
29
|
export declare function removePropertiesWithNullishValues(object: Record<string, any>): Record<string, any>;
|
|
30
30
|
export default class EnvironmentBase extends EventEmitter implements BaseEnvironment {
|
|
31
31
|
cwd: string;
|
|
32
|
+
logCwd: string;
|
|
32
33
|
adapter: QueuedAdapter;
|
|
33
34
|
sharedFs: MemFs<MemFsEditorFile>;
|
|
34
35
|
conflicterOptions?: ConflicterOptions;
|
|
35
|
-
protected logCwd: string;
|
|
36
36
|
protected readonly options: EnvironmentOptions;
|
|
37
37
|
protected readonly aliases: Array<{
|
|
38
38
|
match: RegExp;
|
|
@@ -42,7 +42,6 @@ export default class EnvironmentBase extends EventEmitter implements BaseEnviron
|
|
|
42
42
|
protected command?: YeomanCommand;
|
|
43
43
|
protected runLoop: GroupedQueue;
|
|
44
44
|
protected composedStore: ComposedStore;
|
|
45
|
-
protected fs: MemFsEditor;
|
|
46
45
|
protected lookups: string[];
|
|
47
46
|
protected sharedOptions: Record<string, any>;
|
|
48
47
|
protected repository: FlyRepository;
|
package/dist/environment-base.js
CHANGED
|
@@ -5,7 +5,6 @@ import process from 'node:process';
|
|
|
5
5
|
import { realpathSync } from 'node:fs';
|
|
6
6
|
import { QueuedAdapter } from '@yeoman/adapter';
|
|
7
7
|
import { create as createMemFs } from 'mem-fs';
|
|
8
|
-
import { create as createMemFsEditor } from 'mem-fs-editor';
|
|
9
8
|
import { FlyRepository } from 'fly-import';
|
|
10
9
|
import createdLogger from 'debug';
|
|
11
10
|
// @ts-expect-error grouped-queue don't have types
|
|
@@ -88,17 +87,16 @@ export function removePropertiesWithNullishValues(object) {
|
|
|
88
87
|
// eslint-disable-next-line unicorn/prefer-event-target
|
|
89
88
|
export default class EnvironmentBase extends EventEmitter {
|
|
90
89
|
cwd;
|
|
90
|
+
logCwd;
|
|
91
91
|
adapter;
|
|
92
92
|
sharedFs;
|
|
93
93
|
conflicterOptions;
|
|
94
|
-
logCwd;
|
|
95
94
|
options;
|
|
96
95
|
aliases = [];
|
|
97
96
|
store;
|
|
98
97
|
command;
|
|
99
98
|
runLoop;
|
|
100
99
|
composedStore;
|
|
101
|
-
fs;
|
|
102
100
|
lookups;
|
|
103
101
|
sharedOptions;
|
|
104
102
|
repository;
|
|
@@ -122,7 +120,6 @@ export default class EnvironmentBase extends EventEmitter {
|
|
|
122
120
|
// Node won't complain about event listeners leaks.
|
|
123
121
|
this.runLoop.setMaxListeners(0);
|
|
124
122
|
this.sharedFs.setMaxListeners(0);
|
|
125
|
-
this.fs = createMemFsEditor(sharedFs);
|
|
126
123
|
this.lookups = defaultLookups;
|
|
127
124
|
this.sharedOptions = sharedOptions;
|
|
128
125
|
// Create a default sharedData.
|
|
@@ -613,7 +610,7 @@ export default class EnvironmentBase extends EventEmitter {
|
|
|
613
610
|
// Conflicter can change files add listener before commit task.
|
|
614
611
|
this.sharedFs.once('change', queueCommit);
|
|
615
612
|
debug('Running conflicts');
|
|
616
|
-
const { customCommitTask = () => commitSharedFsTask(this) } = this.composedStore;
|
|
613
|
+
const { customCommitTask = async () => commitSharedFsTask(this) } = this.composedStore;
|
|
617
614
|
if (typeof customCommitTask === 'function') {
|
|
618
615
|
await customCommitTask();
|
|
619
616
|
}
|
package/dist/environment-full.js
CHANGED
|
@@ -164,8 +164,7 @@ class FullEnvironment extends EnvironmentBase {
|
|
|
164
164
|
async requireGenerator(namespace) {
|
|
165
165
|
if (namespace === undefined) {
|
|
166
166
|
try {
|
|
167
|
-
// @
|
|
168
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
167
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention, import/no-extraneous-dependencies
|
|
169
168
|
const { default: Generator } = await import('yeoman-generator');
|
|
170
169
|
return Generator;
|
|
171
170
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yeoman-environment",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-rc.0",
|
|
4
4
|
"description": "Handles the lifecyle and bootstrapping of generators in a specific environment",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"development",
|
|
@@ -57,52 +57,63 @@
|
|
|
57
57
|
"doc_path": "./yeoman-environment-doc"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@yeoman/adapter": "^1.
|
|
61
|
-
"@yeoman/conflicter": "^
|
|
60
|
+
"@yeoman/adapter": "^1.4.0",
|
|
61
|
+
"@yeoman/conflicter": "^2.0.0-alpha.2",
|
|
62
62
|
"@yeoman/namespace": "^1.0.0",
|
|
63
63
|
"@yeoman/transform": "^1.2.0",
|
|
64
64
|
"arrify": "^3.0.0",
|
|
65
|
-
"chalk": "^5.
|
|
66
|
-
"commander": "^11.
|
|
65
|
+
"chalk": "^5.3.0",
|
|
66
|
+
"commander": "^11.1.0",
|
|
67
67
|
"debug": "^4.3.4",
|
|
68
68
|
"execa": "^8.0.1",
|
|
69
|
-
"fly-import": "^0.3.
|
|
70
|
-
"globby": "^13.
|
|
69
|
+
"fly-import": "^0.3.1",
|
|
70
|
+
"globby": "^13.2.2",
|
|
71
71
|
"grouped-queue": "^2.0.0",
|
|
72
72
|
"locate-path": "^7.2.0",
|
|
73
73
|
"lodash-es": "^4.17.21",
|
|
74
|
-
"mem-fs": "^
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"slash": "^5.0.1",
|
|
74
|
+
"mem-fs-editor": "^11.0.0",
|
|
75
|
+
"semver": "^7.5.4",
|
|
76
|
+
"slash": "^5.1.0",
|
|
78
77
|
"untildify": "^5.0.0",
|
|
79
78
|
"which-package-manager": "^0.0.1"
|
|
80
79
|
},
|
|
81
80
|
"devDependencies": {
|
|
82
|
-
"@types/debug": "^4.1.
|
|
83
|
-
"@types/lodash-es": "^4.17.
|
|
84
|
-
"@types/semver": "^7.5.
|
|
85
|
-
"c8": "^8.0.
|
|
81
|
+
"@types/debug": "^4.1.9",
|
|
82
|
+
"@types/lodash-es": "^4.17.9",
|
|
83
|
+
"@types/semver": "^7.5.3",
|
|
84
|
+
"c8": "^8.0.1",
|
|
86
85
|
"cpy-cli": "^5.0.0",
|
|
87
86
|
"esmocha": "^1.0.1",
|
|
88
87
|
"fs-extra": "^11.1.1",
|
|
89
|
-
"inquirer": "^9.2.
|
|
88
|
+
"inquirer": "^9.2.11",
|
|
90
89
|
"jsdoc": "^4.0.2",
|
|
91
90
|
"prettier": "3.0.3",
|
|
92
|
-
"prettier-plugin-packagejson": "^2.4.
|
|
93
|
-
"rimraf": "^5.0.
|
|
94
|
-
"sinon": "^
|
|
91
|
+
"prettier-plugin-packagejson": "^2.4.6",
|
|
92
|
+
"rimraf": "^5.0.5",
|
|
93
|
+
"sinon": "^16.1.0",
|
|
95
94
|
"sinon-test": "^3.1.5",
|
|
96
|
-
"strip-ansi": "^7.0
|
|
95
|
+
"strip-ansi": "^7.1.0",
|
|
97
96
|
"typescript": "5.2.2",
|
|
98
97
|
"xo": "0.56.0",
|
|
99
98
|
"yeoman-assert": "^3.1.1",
|
|
100
|
-
"yeoman-
|
|
101
|
-
"yeoman-
|
|
99
|
+
"yeoman-environment": "file:.",
|
|
100
|
+
"yeoman-generator-2": "npm:yeoman-generator@^2.0.5",
|
|
101
|
+
"yeoman-generator-4": "npm:yeoman-generator@^4.13.0",
|
|
102
|
+
"yeoman-generator-5": "npm:yeoman-generator@^5.9.0",
|
|
103
|
+
"yeoman-generator-6": "npm:yeoman-generator@^6.0.1",
|
|
104
|
+
"yeoman-test": "^8.1.0"
|
|
105
|
+
},
|
|
106
|
+
"overrides": {
|
|
107
|
+
"yeoman-generator-5": {
|
|
108
|
+
"yeoman-environment": "file:."
|
|
109
|
+
},
|
|
110
|
+
"yeoman-generator-6": {
|
|
111
|
+
"yeoman-environment": "file:."
|
|
112
|
+
}
|
|
102
113
|
},
|
|
103
114
|
"peerDependencies": {
|
|
104
|
-
"@yeoman/types": "^1.
|
|
105
|
-
"mem-fs": "^
|
|
115
|
+
"@yeoman/types": "^1.1.1",
|
|
116
|
+
"mem-fs": "^4.0.0"
|
|
106
117
|
},
|
|
107
118
|
"engines": {
|
|
108
119
|
"node": "^18.17.0 || >=20.5.0"
|