yeoman-environment 4.0.0-alpha.4 → 4.0.0-alpha.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.
Files changed (86) hide show
  1. package/bin/bin.cjs +4 -0
  2. package/dist/cli/index.d.ts +0 -1
  3. package/dist/cli/index.js +18 -15
  4. package/dist/cli/utils.js +6 -7
  5. package/dist/commands.d.ts +23 -0
  6. package/dist/commands.js +45 -0
  7. package/dist/commit.d.ts +17 -0
  8. package/dist/commit.js +22 -0
  9. package/dist/composed-store.d.ts +26 -0
  10. package/dist/composed-store.js +68 -0
  11. package/dist/constants.d.ts +3 -0
  12. package/dist/constants.js +17 -0
  13. package/dist/environment-base.d.ts +259 -0
  14. package/dist/environment-base.js +638 -0
  15. package/dist/environment-full.d.ts +115 -0
  16. package/dist/environment-full.js +321 -0
  17. package/dist/generator-lookup.d.ts +56 -0
  18. package/dist/generator-lookup.js +97 -0
  19. package/dist/index.d.ts +10 -4
  20. package/dist/index.js +9 -5
  21. package/dist/module-lookup.d.ts +59 -0
  22. package/dist/module-lookup.js +227 -0
  23. package/dist/package-manager.d.ts +17 -31
  24. package/dist/package-manager.js +52 -69
  25. package/dist/store.d.ts +19 -19
  26. package/dist/store.js +76 -47
  27. package/dist/util/command.d.ts +17 -14
  28. package/dist/util/command.js +32 -17
  29. package/dist/util/namespace.d.ts +19 -73
  30. package/dist/util/namespace.js +56 -190
  31. package/dist/util/resolve.d.ts +6 -0
  32. package/dist/util/resolve.js +40 -0
  33. package/dist/util/util.d.ts +5 -12
  34. package/dist/util/util.js +24 -23
  35. package/package.json +20 -33
  36. package/readme.md +2 -3
  37. package/dist/adapter.d.ts +0 -54
  38. package/dist/adapter.js +0 -97
  39. package/dist/adapter.js.map +0 -1
  40. package/dist/cli/index.js.map +0 -1
  41. package/dist/cli/utils.js.map +0 -1
  42. package/dist/command.d.ts +0 -24
  43. package/dist/command.js +0 -74
  44. package/dist/command.js.map +0 -1
  45. package/dist/composability.d.ts +0 -25
  46. package/dist/composability.js +0 -78
  47. package/dist/composability.js.map +0 -1
  48. package/dist/environment.d.ts +0 -409
  49. package/dist/environment.js +0 -1221
  50. package/dist/environment.js.map +0 -1
  51. package/dist/generator-features.d.ts +0 -39
  52. package/dist/generator-features.js +0 -69
  53. package/dist/generator-features.js.map +0 -1
  54. package/dist/index.js.map +0 -1
  55. package/dist/namespace-composability.d.ts +0 -36
  56. package/dist/namespace-composability.js +0 -340
  57. package/dist/namespace-composability.js.map +0 -1
  58. package/dist/package-manager.js.map +0 -1
  59. package/dist/resolver.d.ts +0 -146
  60. package/dist/resolver.js +0 -421
  61. package/dist/resolver.js.map +0 -1
  62. package/dist/spawn-command.d.ts +0 -21
  63. package/dist/spawn-command.js +0 -30
  64. package/dist/spawn-command.js.map +0 -1
  65. package/dist/store.js.map +0 -1
  66. package/dist/util/binary-diff.d.ts +0 -2
  67. package/dist/util/binary-diff.js +0 -36
  68. package/dist/util/binary-diff.js.map +0 -1
  69. package/dist/util/command.js.map +0 -1
  70. package/dist/util/conflicter.d.ts +0 -76
  71. package/dist/util/conflicter.js +0 -346
  72. package/dist/util/conflicter.js.map +0 -1
  73. package/dist/util/esm.d.ts +0 -1
  74. package/dist/util/esm.js +0 -22
  75. package/dist/util/esm.js.map +0 -1
  76. package/dist/util/log.d.ts +0 -12
  77. package/dist/util/log.js +0 -165
  78. package/dist/util/log.js.map +0 -1
  79. package/dist/util/namespace.js.map +0 -1
  80. package/dist/util/repository.d.ts +0 -116
  81. package/dist/util/repository.js +0 -223
  82. package/dist/util/repository.js.map +0 -1
  83. package/dist/util/transform.d.ts +0 -55
  84. package/dist/util/transform.js +0 -149
  85. package/dist/util/transform.js.map +0 -1
  86. package/dist/util/util.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yeoman-environment",
3
- "version": "4.0.0-alpha.4",
3
+ "version": "4.0.0-alpha.6",
4
4
  "description": "Handles the lifecyle and bootstrapping of generators in a specific environment",
5
5
  "keywords": [
6
6
  "development",
@@ -22,21 +22,18 @@
22
22
  "type": "module",
23
23
  "exports": {
24
24
  ".": {
25
+ "types": "./dist/index.d.js",
25
26
  "import": "./dist/index.js"
26
27
  },
27
- "./cli/*": "./dist/cli/*.js",
28
- "./lib/*": "./dist/*.js",
29
- "./lib/util/*": "./dist/util/*.js",
30
- "./transform": "./dist/util/transform.js",
31
- "./package.json": "./package.json",
32
- "./namespace": "./dist/util/namespace.js",
33
- "./cli": "./dist/cli/index.js"
28
+ "./package.json": "./package.json"
34
29
  },
35
30
  "main": "./dist/index.js",
31
+ "types": "./dist/index.d.js",
36
32
  "bin": {
37
- "yoe": "dist/cli/index.js"
33
+ "yoe": "bin/bin.cjs"
38
34
  },
39
35
  "files": [
36
+ "bin",
40
37
  "dist"
41
38
  ],
42
39
  "scripts": {
@@ -54,8 +51,6 @@
54
51
  "test-base": "c8 esmocha test/environment*.js test/store.js test/util.js test/adapter.js",
55
52
  "test-environment": "c8 esmocha test/environment.js",
56
53
  "test-generators": "c8 esmocha test/generators.js",
57
- "test-namespace": "c8 esmocha test/namespace.js test/flags.js",
58
- "test-repository": "c8 esmocha test/repository.js",
59
54
  "test-resolver": "c8 esmocha test/resolver.js"
60
55
  },
61
56
  "config": {
@@ -63,61 +58,53 @@
63
58
  },
64
59
  "dependencies": {
65
60
  "@npmcli/arborist": "^6.2.9",
66
- "@yeoman/types": "^0.0.1",
67
- "are-we-there-yet": "^4.0.0",
61
+ "@yeoman/adapter": "^0.3.0",
62
+ "@yeoman/conflicter": "^0.6.0",
63
+ "@yeoman/namespace": "^1.0.0",
64
+ "@yeoman/transform": "^1.0.0",
65
+ "@yeoman/types": "^0.5.0",
68
66
  "arrify": "^3.0.0",
69
- "binaryextensions": "^4.18.0",
70
67
  "chalk": "^5.2.0",
71
- "cli-table": "^0.3.11",
72
- "commander": "7.1.0",
73
- "dateformat": "^5.0.3",
68
+ "commander": "^10.0.1",
74
69
  "debug": "^4.3.4",
75
- "diff": "^5.1.0",
76
70
  "escape-string-regexp": "^5.0.0",
77
71
  "execa": "^7.1.1",
78
- "find-up": "^6.3.0",
79
- "globby": "^11.0.1",
72
+ "fly-import": "^0.2.0",
73
+ "globby": "^13.1.4",
80
74
  "grouped-queue": "^2.0.0",
81
- "inquirer": "^9.2.1",
82
- "is-scoped": "^3.0.0",
83
- "isbinaryfile": "^5.0.0",
75
+ "locate-path": "^7.2.0",
84
76
  "lodash-es": "^4.17.21",
85
77
  "log-symbols": "^5.1.0",
86
78
  "mem-fs": "^3.0.0",
87
79
  "mem-fs-editor": "^10.0.1",
88
- "minimatch": "^3.0.4",
89
80
  "npmlog": "^7.0.1",
90
- "p-queue": "^7.3.4",
91
- "p-transform": "^2.0.1",
92
- "pacote": "^15.1.3",
93
81
  "preferred-pm": "^3.0.3",
94
- "pretty-bytes": "^6.1.0",
95
82
  "semver": "^7.5.0",
96
83
  "slash": "^5.0.1",
97
- "strip-ansi": "^7.0.1",
98
- "text-table": "^0.2.0",
99
- "textextensions": "^5.16.0",
100
84
  "untildify": "^4.0.0",
101
85
  "yeoman-generator": "^5.8.0"
102
86
  },
103
87
  "devDependencies": {
104
88
  "@types/lodash-es": "^4.17.7",
89
+ "@types/semver": "^7.5.0",
105
90
  "c8": "^7.13.0",
106
91
  "cpy-cli": "^4.2.0",
107
- "esmocha": "^0.1.4",
92
+ "esmocha": "^1.0.1",
108
93
  "fs-extra": "^11.1.1",
94
+ "inquirer": "^9.2.1",
109
95
  "jsdoc": "^4.0.2",
110
96
  "prettier": "^2.8.8",
111
97
  "prettier-plugin-packagejson": "^2.4.3",
112
98
  "rimraf": "^5.0.0",
113
99
  "sinon": "^15.0.4",
114
100
  "sinon-test": "^3.1.5",
101
+ "strip-ansi": "^7.0.1",
115
102
  "tui-jsdoc-template": "^1.2.2",
116
103
  "typescript": "^5.0.4",
117
104
  "xo": "0.54.2",
118
105
  "yeoman-assert": "^3.1.1",
119
106
  "yeoman-generator": "^5.8.0",
120
- "yeoman-test": "^8.0.0-alpha.0"
107
+ "yeoman-test": "^8.0.0-beta.5"
121
108
  },
122
109
  "peerDependencies": {
123
110
  "mem-fs": "^3.0.0"
package/readme.md CHANGED
@@ -17,12 +17,11 @@ $ npm install yeoman-environment
17
17
  Full documentation available [here](http://yeoman.io/authoring/integrating-yeoman.html).
18
18
 
19
19
  ```js
20
- import yeoman from 'yeoman-environment';
21
- const env = yeoman.createEnv();
20
+ import { createEnv } from 'yeoman-environment';
22
21
 
23
22
  // The #lookup() method will search the user computer for installed generators
24
23
  // The search if done from the current working directory
25
- env.lookup();
24
+ await env.lookup();
26
25
  await env.run('angular', { skipInstall: true });
27
26
  ```
28
27
 
package/dist/adapter.d.ts DELETED
@@ -1,54 +0,0 @@
1
- export default TerminalAdapter;
2
- declare class TerminalAdapter {
3
- /**
4
- * `TerminalAdapter` is the default implementation of `Adapter`, an abstraction
5
- * layer that defines the I/O interactions.
6
- *
7
- * It provides a CLI interaction
8
- *
9
- * @constructor
10
- * @param {Object} [options]
11
- * @param {Console} [options.console]
12
- */
13
- constructor(options?: {
14
- console?: Console | undefined;
15
- } | undefined);
16
- promptModule: any;
17
- console: Console;
18
- log: {
19
- (message: any, ctx: any, ...args: any[]): any;
20
- write(...args: any[]): any;
21
- writeln(...args: any[]): any;
22
- ok(...args: any[]): any;
23
- error(...args: any[]): any;
24
- table(options: any): string;
25
- };
26
- tracker: any;
27
- get _colorDiffAdded(): import("chalk").ChalkInstance;
28
- get _colorDiffRemoved(): import("chalk").ChalkInstance;
29
- _colorLines(name: any, string: any): any;
30
- close(): void;
31
- /**
32
- * Prompt a user for one or more questions and pass
33
- * the answer(s) to the provided callback.
34
- *
35
- * It shares its interface with `Base.prompt`
36
- *
37
- * (Defined inside the constructor to keep interfaces separated between
38
- * instances)
39
- *
40
- * @param {Object|Object[]} questions
41
- * @param {Object} [answers] Answers to be passed to inquirer
42
- * @return {Object} promise answers
43
- */
44
- prompt(questions: Object | Object[], answers?: Object | undefined, cb: any): Object;
45
- promptUi: any;
46
- /**
47
- * Shows a color-based diff of two strings
48
- *
49
- * @param {string} actual
50
- * @param {string} expected
51
- * @param {Array} changes returned by diff.
52
- */
53
- diff(actual: string, expected: string, changes: any[]): string;
54
- }
package/dist/adapter.js DELETED
@@ -1,97 +0,0 @@
1
- import process from 'node:process';
2
- import inquirer from 'inquirer';
3
- import { diffLines } from 'diff';
4
- import chalk from 'chalk';
5
- import logger from './util/log.js';
6
- class TerminalAdapter {
7
- /**
8
- * `TerminalAdapter` is the default implementation of `Adapter`, an abstraction
9
- * layer that defines the I/O interactions.
10
- *
11
- * It provides a CLI interaction
12
- *
13
- * @constructor
14
- * @param {Object} [options]
15
- * @param {Console} [options.console]
16
- */
17
- constructor(options = {}) {
18
- const stdout = options.stdout ?? process.stdout;
19
- const stderr = options.stderr ?? options.stdout ?? process.stderr;
20
- this.promptModule =
21
- options.promptModule ??
22
- inquirer.createPromptModule({
23
- skipTTYChecks: true,
24
- input: options.stdin,
25
- output: stdout,
26
- });
27
- this.console = options.console || new console.Console(stdout, stderr);
28
- this.log = logger({ console: this.console, stdout: options.stdout });
29
- this.tracker = logger.tracker;
30
- }
31
- get _colorDiffAdded() {
32
- return chalk.black.bgGreen;
33
- }
34
- get _colorDiffRemoved() {
35
- return chalk.bgRed;
36
- }
37
- _colorLines(name, string) {
38
- return string
39
- .split('\n')
40
- .map(line => this[`_colorDiff${name}`](line))
41
- .join('\n');
42
- }
43
- close() {
44
- this.promptUi?.close();
45
- }
46
- /**
47
- * Prompt a user for one or more questions and pass
48
- * the answer(s) to the provided callback.
49
- *
50
- * It shares its interface with `Base.prompt`
51
- *
52
- * (Defined inside the constructor to keep interfaces separated between
53
- * instances)
54
- *
55
- * @param {Object|Object[]} questions
56
- * @param {Object} [answers] Answers to be passed to inquirer
57
- * @return {Object} promise answers
58
- */
59
- async prompt(questions, answers, cb) {
60
- const promptPromise = this.promptModule(questions, typeof answers === 'function' ? undefined : answers);
61
- this.promptUi = promptPromise.ui;
62
- const result = await promptPromise;
63
- delete this.promptUi;
64
- (typeof answers === 'function' ? answers : cb)?.(result);
65
- return result;
66
- }
67
- /**
68
- * Shows a color-based diff of two strings
69
- *
70
- * @param {string} actual
71
- * @param {string} expected
72
- * @param {Array} changes returned by diff.
73
- */
74
- diff(actual, expected, changes) {
75
- if (Array.isArray(actual)) {
76
- changes = actual;
77
- }
78
- changes = changes || diffLines(actual, expected);
79
- let message = changes
80
- .map(string => {
81
- if (string.added) {
82
- return this._colorLines('Added', string.value);
83
- }
84
- if (string.removed) {
85
- return this._colorLines('Removed', string.value);
86
- }
87
- return string.value;
88
- })
89
- .join('');
90
- // Legend
91
- message = '\n' + this._colorDiffRemoved('removed') + ' ' + this._colorDiffAdded('added') + '\n\n' + message + '\n';
92
- this.console.log(message);
93
- return message;
94
- }
95
- }
96
- export default TerminalAdapter;
97
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.js"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.js"],"names":[],"mappings":";AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;AAEpC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE,CAAC;AAE3F,GAAG,CAAC,qBAAqB,CACvB,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;KACjE,kBAAkB,EAAE;KACpB,kBAAkB,EAAE;KACpB,oBAAoB,CAAC,IAAI,CAAC;KAC1B,MAAM,CAAC,iBAAiB,CAAC;KACzB,KAAK,CAAC,uDAAuD,CAAC,CAClE,CAAC;AAEF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAChC,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC5B,GAAG,CAAC,MAAM,EAAE,CAAC;IACb,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEL,IAAI;IACF,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAAC,OAAO,KAAK,EAAE;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,YAAY,MAAM,OAAO,CAAC;AACjC,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAe,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,gBAAgB,OAAO,WAAW,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,kBAAkB,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;SAC9D;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,WAAsB,kBAA0B,EAAE,OAAY,EAAE,OAAY;IAChH,KAAK,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;IAClD,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO;KACR;IAED,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;IAE/B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC"}
package/dist/command.d.ts DELETED
@@ -1,24 +0,0 @@
1
- export default commandMixin;
2
- declare function commandMixin(cls: any): {
3
- new (): {
4
- [x: string]: any;
5
- /**
6
- * Generate a command for the generator and execute.
7
- *
8
- * @param {string} generatorNamespace
9
- * @param {string[]} args
10
- */
11
- execute(generatorNamespace: string, args?: string[]): Promise<any>;
12
- };
13
- [x: string]: any;
14
- addEnvironmentOptions(command?: YeomanCommand): YeomanCommand;
15
- /**
16
- * Load Generator options into a commander instance.
17
- *
18
- * @param {Command} command - Command to load options
19
- * @param {Generator} generator - Generator
20
- * @return {Command} return command
21
- */
22
- addGeneratorOptions(command: Command, generator: Generator): Command;
23
- };
24
- import YeomanCommand from './util/command.js';
package/dist/command.js DELETED
@@ -1,74 +0,0 @@
1
- import createdLogger from 'debug';
2
- import { Option } from 'commander';
3
- import YeomanCommand from './util/command.js';
4
- import { requireNamespace } from './util/namespace.js';
5
- const debug = createdLogger('yeoman:environment:command');
6
- const commandMixin = cls => class EnvironmentCommand extends cls {
7
- static addEnvironmentOptions(command = new YeomanCommand()) {
8
- /* Environment options */
9
- return (command
10
- .option('--cwd', 'Path to use as current dir')
11
- /* Environment/Legacy generator options */
12
- .option('--skip-install', 'Do not automatically install dependencies', false)
13
- /* Generator options */
14
- .option('--skip-cache', 'Do not remember prompt answers', false)
15
- .option('--local-config-only', 'Generate .yo-rc-global.json locally', false)
16
- .option('--ask-answered', 'Show prompts for already configured options', false)
17
- /* Conflicter options */
18
- .option('--force', 'Override every file', false)
19
- .option('--dry-run', 'Print conflicts', false)
20
- .option('--whitespace', 'Whitespace changes will not trigger conflicts', false)
21
- .option('--bail', 'Fail on first conflict', false)
22
- .option('--skip-yo-resolve', 'Ignore .yo-resolve files', false)
23
- /* Hidden options, used for api */
24
- .addOption(new Option('--skip-local-cache', 'Skip local answers cache').default(true).hideHelp())
25
- .addOption(new Option('--skip-parse-options', 'Skip legacy options parsing').default(false).hideHelp())
26
- .addOption(new Option('--experimental', 'Experimental features').default(false).hideHelp())
27
- .addOption(new Option('--log-cwd', 'Path for log purpose').hideHelp()));
28
- }
29
- /**
30
- * Load Generator options into a commander instance.
31
- *
32
- * @param {Command} command - Command to load options
33
- * @param {Generator} generator - Generator
34
- * @return {Command} return command
35
- */
36
- static addGeneratorOptions(command, generator) {
37
- command.addGeneratorOptions(generator._options);
38
- command.addGeneratorArguments(generator._arguments);
39
- return command;
40
- }
41
- /**
42
- * Generate a command for the generator and execute.
43
- *
44
- * @param {string} generatorNamespace
45
- * @param {string[]} args
46
- */
47
- async execute(generatorNamespace, args = []) {
48
- const env = this;
49
- const namespace = requireNamespace(generatorNamespace);
50
- if (!this.get(namespace.namespace)) {
51
- this.lookup({
52
- packagePatterns: namespace.generatorHint,
53
- singleResult: true,
54
- });
55
- }
56
- if (!this.get(namespace.namespace)) {
57
- await this.installLocalGenerators({
58
- [namespace.generatorHint]: namespace.semver,
59
- });
60
- }
61
- const namespaceCommand = this.command ? this.command.command(namespace.namespace) : new YeomanCommand();
62
- namespaceCommand.usage('[generator-options]');
63
- // Instantiate the generator for options
64
- const generator = await this.create(namespace.namespace, { help: true });
65
- EnvironmentCommand.addGeneratorOptions(namespaceCommand, generator);
66
- namespaceCommand._parseCommand([], args);
67
- debug('Running generator with arguments %o, options %o', namespaceCommand.args, namespaceCommand.opts());
68
- return env.run([namespace.namespace, ...namespaceCommand.args], {
69
- ...namespaceCommand.opts(),
70
- });
71
- }
72
- };
73
- export default commandMixin;
74
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.js"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- export default composability;
2
- declare namespace composability {
3
- function requireGenerator(namespace: any): Promise<any>;
4
- /**
5
- * Install generators at the custom local repository and register.
6
- *
7
- * @param {Object} packages - packages to install key(packageName): value(versionRange).
8
- * @return {Boolean} - true if the install succeeded.
9
- */
10
- function installLocalGenerators(packages: Object): boolean;
11
- /**
12
- * Lookup and register generators from the custom local repository.
13
- *
14
- * @param {String[]} [packagesToLookup='generator-*'] - packages to lookup.
15
- */
16
- function lookupLocalPackages(packagesToLookup?: string[] | undefined): void;
17
- /**
18
- * Resolve a package name with version.
19
- *
20
- * @param {string} packageName - package to resolve.
21
- * @param {string} [packageVersion] - version or range to resolve.
22
- * @param {string[]} Array of key, value pairs.
23
- */
24
- function resolvePackage(packageName: string, packageVersion?: string | undefined): Promise<any[] | undefined>;
25
- }
@@ -1,78 +0,0 @@
1
- import assert from 'node:assert';
2
- import semver from 'semver';
3
- import pacote from 'pacote';
4
- import Generator from 'yeoman-generator';
5
- /**
6
- * @mixin
7
- * @alias env/composability
8
- */
9
- const composability = {};
10
- export default composability;
11
- composability.requireGenerator = async function (namespace) {
12
- if (namespace === undefined) {
13
- return Generator;
14
- }
15
- // Namespace is a version
16
- if (semver.valid(namespace)) {
17
- return this.repository.requireModule('yeoman-generator', namespace);
18
- }
19
- return this.get(namespace);
20
- };
21
- /**
22
- * Install generators at the custom local repository and register.
23
- *
24
- * @param {Object} packages - packages to install key(packageName): value(versionRange).
25
- * @return {Boolean} - true if the install succeeded.
26
- */
27
- composability.installLocalGenerators = async function (packages) {
28
- const entries = Object.entries(packages).filter(([packageName, version]) => !this.repository.verifyInstalledVersion(packageName, version));
29
- if (entries.length === 0) {
30
- return true;
31
- }
32
- const toInstall = {};
33
- for (const [packageName, version] of entries) {
34
- toInstall[packageName] = version;
35
- }
36
- if (await this.repository.installPackages(toInstall)) {
37
- const packagesToLookup = entries.map(([packageName, _]) => packageName);
38
- this.lookupLocalPackages(packagesToLookup);
39
- return true;
40
- }
41
- return false;
42
- };
43
- /**
44
- * Lookup and register generators from the custom local repository.
45
- *
46
- * @param {String[]} [packagesToLookup='generator-*'] - packages to lookup.
47
- */
48
- composability.lookupLocalPackages = function (packagesToLookup = 'generator-*') {
49
- this.lookup({
50
- packagePatterns: packagesToLookup,
51
- npmPaths: this.repository.nodeModulesPath,
52
- });
53
- };
54
- /**
55
- * Resolve a package name with version.
56
- *
57
- * @param {string} packageName - package to resolve.
58
- * @param {string} [packageVersion] - version or range to resolve.
59
- * @param {string[]} Array of key, value pairs.
60
- */
61
- composability.resolvePackage = async function (packageName, packageVersion) {
62
- assert(packageName, 'Parameter packageName is required');
63
- if (packageVersion) {
64
- packageName = `${packageName}@${packageVersion}`;
65
- }
66
- const manifest = await pacote.manifest(packageName);
67
- if (!manifest) {
68
- return undefined;
69
- }
70
- const from = manifest._from;
71
- const index = from.lastIndexOf('@');
72
- if (index > 1) {
73
- const resolvedVersion = from.slice(index + 1, from.length) || manifest.version;
74
- return [from.slice(0, Math.max(0, index)), resolvedVersion];
75
- }
76
- return [manifest.name, from || manifest.version];
77
- };
78
- //# sourceMappingURL=composability.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"composability.js","sourceRoot":"","sources":["../src/composability.js"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC;;;GAGG;AACH,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,eAAe,aAAa,CAAC;AAE7B,aAAa,CAAC,gBAAgB,GAAG,KAAK,WAAW,SAAS;IACxD,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,SAAS,CAAC;KAClB;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;KACrE;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,aAAa,CAAC,sBAAsB,GAAG,KAAK,WAAW,QAAQ;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAC1F,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE;QAC5C,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;KAClC;IAED,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QACpD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,aAAa,CAAC,mBAAmB,GAAG,UAAU,gBAAgB,GAAG,aAAa;IAC5E,IAAI,CAAC,MAAM,CAAC;QACV,eAAe,EAAE,gBAAgB;QACjC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,aAAa,CAAC,cAAc,GAAG,KAAK,WAAW,WAAW,EAAE,cAAc;IACxE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;IACzD,IAAI,cAAc,EAAE;QAClB,WAAW,GAAG,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;KAClD;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;KAC7D;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC"}