yeoman-environment 6.0.0 → 6.0.1

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.
@@ -70,7 +70,7 @@ declare class FullEnvironment extends EnvironmentBase {
70
70
  * @param {Object} packages - packages to install key(packageName): value(versionRange).
71
71
  * @return {Boolean} - true if the install succeeded.
72
72
  */
73
- installLocalGenerators(packages: Record<string, string | undefined>): Promise<boolean>;
73
+ installLocalGenerators(packages: Record<string, string | undefined>, forceInstall?: boolean): Promise<boolean>;
74
74
  /**
75
75
  * Lookup and register generators from the custom local repository.
76
76
  *
@@ -192,9 +192,24 @@ class FullEnvironment extends EnvironmentBase {
192
192
  * @param {Object} packages - packages to install key(packageName): value(versionRange).
193
193
  * @return {Boolean} - true if the install succeeded.
194
194
  */
195
- async installLocalGenerators(packages) {
195
+ async installLocalGenerators(packages, forceInstall = false) {
196
196
  const entries = Object.entries(packages);
197
197
  const specs = entries.map(([packageName, version]) => `${packageName}${version ? `@${version}` : ''}`);
198
+ if (forceInstall) {
199
+ this.adapter.log.info(`Force install is enabled. Proceeding with installation.`);
200
+ }
201
+ else {
202
+ const { aproveInstall } = await this.adapter.prompt({
203
+ message: `The following packages need to be installed in the local repository: ${specs.join(', ')}. Do you want to proceed?`,
204
+ type: 'confirm',
205
+ name: 'aproveInstall',
206
+ default: false,
207
+ });
208
+ if (!aproveInstall) {
209
+ throw new Error(`Installation of ${specs.join(', ')} is declined by the user. Install manually and try again.`);
210
+ }
211
+ }
212
+ this.adapter.log.info(`The following packages will be installed in the local repository: ${specs.join(', ')}.`);
198
213
  const installResult = await this.repository.install(specs);
199
214
  const failToInstall = installResult.find(result => !result.path);
200
215
  if (failToInstall) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yeoman-environment",
3
- "version": "6.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "Handles the lifecyle and bootstrapping of generators in a specific environment",
5
5
  "keywords": [
6
6
  "development",
@@ -67,12 +67,12 @@
67
67
  "debug": "^4.4.3",
68
68
  "execa": "^9.6.1",
69
69
  "fly-import": "^1.0.0",
70
- "globby": "^16.1.1",
70
+ "globby": "^16.2.0",
71
71
  "grouped-queue": "^2.1.0",
72
72
  "locate-path": "^8.0.0",
73
- "lodash-es": "^4.17.23",
74
- "mem-fs": "^4.1.2",
75
- "mem-fs-editor": "^12.0.2",
73
+ "lodash-es": "^4.18.1",
74
+ "mem-fs": "^4.1.4",
75
+ "mem-fs-editor": "^12.0.3",
76
76
  "semver": "^7.7.4",
77
77
  "slash": "^5.1.0",
78
78
  "untildify": "^6.0.0",
@@ -80,7 +80,7 @@
80
80
  },
81
81
  "devDependencies": {
82
82
  "@node-loaders/esbuild": "^2.0.0",
83
- "@types/debug": "^4.1.12",
83
+ "@types/debug": "^4.1.13",
84
84
  "@types/lodash-es": "^4.17.12",
85
85
  "@types/node": "^20.19.35",
86
86
  "@types/semver": "^7.7.1",
@@ -88,12 +88,12 @@
88
88
  "c8": "^11.0.0",
89
89
  "eslint": "9.39.3",
90
90
  "esmocha": "^5.0.0",
91
- "fs-extra": "^11.3.3",
91
+ "fs-extra": "^11.3.4",
92
92
  "jsdoc": "^4.0.5",
93
93
  "prettier": "3.8.1",
94
- "prettier-plugin-packagejson": "^3.0.0",
94
+ "prettier-plugin-packagejson": "^3.0.2",
95
95
  "rimraf": "^6.1.3",
96
- "sinon": "^21.0.1",
96
+ "sinon": "^21.1.0",
97
97
  "sinon-test": "^3.1.6",
98
98
  "strip-ansi": "^7.2.0",
99
99
  "typescript": "5.9.3",
@@ -105,7 +105,7 @@
105
105
  "yeoman-generator-6": "npm:yeoman-generator@^6.0.1",
106
106
  "yeoman-generator-7": "npm:yeoman-generator@^7.5.1",
107
107
  "yeoman-generator-8": "npm:yeoman-generator@^8.0.0-beta.8",
108
- "yeoman-test": "^11.2.0"
108
+ "yeoman-test": "^11.3.1"
109
109
  },
110
110
  "peerDependencies": {
111
111
  "@yeoman/adapter": "^4.0.2",