@jujulego/jill 1.1.18 → 1.1.19

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 (82) hide show
  1. package/dist/commands/each.command.d.ts +1 -2
  2. package/dist/commands/each.command.d.ts.map +1 -0
  3. package/dist/commands/each.command.js +147 -59
  4. package/dist/commands/each.command.js.map +1 -0
  5. package/dist/commands/info.command.d.ts +1 -2
  6. package/dist/commands/info.command.d.ts.map +1 -0
  7. package/dist/commands/info.command.js +146 -51
  8. package/dist/commands/info.command.js.map +1 -0
  9. package/dist/commands/list.command.d.ts +1 -2
  10. package/dist/commands/list.command.d.ts.map +1 -0
  11. package/dist/commands/list.command.js +134 -60
  12. package/dist/commands/list.command.js.map +1 -0
  13. package/dist/commands/run.command.d.ts +1 -2
  14. package/dist/commands/run.command.d.ts.map +1 -0
  15. package/dist/commands/run.command.js +77 -26
  16. package/dist/commands/run.command.js.map +1 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -0
  20. package/dist/main.d.ts.map +1 -0
  21. package/dist/main.js +41 -9
  22. package/dist/main.js.map +1 -0
  23. package/dist/myr/commands/kill.command.d.ts +1 -2
  24. package/dist/myr/commands/kill.command.d.ts.map +1 -0
  25. package/dist/myr/commands/kill.command.js +60 -23
  26. package/dist/myr/commands/kill.command.js.map +1 -0
  27. package/dist/myr/commands/list.command.d.ts +2 -3
  28. package/dist/myr/commands/list.command.d.ts.map +1 -0
  29. package/dist/myr/commands/list.command.js +77 -37
  30. package/dist/myr/commands/list.command.js.map +1 -0
  31. package/dist/myr/commands/logs.command.d.ts +1 -2
  32. package/dist/myr/commands/logs.command.d.ts.map +1 -0
  33. package/dist/myr/commands/logs.command.js +110 -28
  34. package/dist/myr/commands/logs.command.js.map +1 -0
  35. package/dist/myr/commands/spawn.command.d.ts +1 -2
  36. package/dist/myr/commands/spawn.command.d.ts.map +1 -0
  37. package/dist/myr/commands/spawn.command.js +56 -17
  38. package/dist/myr/commands/spawn.command.js.map +1 -0
  39. package/dist/myr/commands/stop.command.d.ts +1 -2
  40. package/dist/myr/commands/stop.command.d.ts.map +1 -0
  41. package/dist/myr/commands/stop.command.js +58 -21
  42. package/dist/myr/commands/stop.command.js.map +1 -0
  43. package/dist/myr/myr-client.d.ts.map +1 -0
  44. package/dist/myr/myr-client.js +224 -80
  45. package/dist/myr/myr-client.js.map +1 -0
  46. package/dist/myr/myr.command.d.ts +1 -1
  47. package/dist/myr/myr.command.d.ts.map +1 -0
  48. package/dist/myr/myr.command.js +9 -13
  49. package/dist/myr/myr.command.js.map +1 -0
  50. package/dist/myr/myr.process.d.ts.map +1 -0
  51. package/dist/myr/myr.process.js +41 -7
  52. package/dist/myr/myr.process.js.map +1 -0
  53. package/dist/myr/watch.command.d.ts +1 -2
  54. package/dist/myr/watch.command.d.ts.map +1 -0
  55. package/dist/myr/watch.command.js +132 -50
  56. package/dist/myr/watch.command.js.map +1 -0
  57. package/dist/task-logger.d.ts.map +1 -0
  58. package/dist/task-logger.js +27 -17
  59. package/dist/task-logger.js.map +1 -0
  60. package/package.json +8 -12
  61. package/dist/base.command.d.ts +0 -8
  62. package/dist/base.command.js +0 -33
  63. package/dist/command.d.ts +0 -21
  64. package/dist/command.js +0 -69
  65. package/dist/filters/affected.d.ts +0 -10
  66. package/dist/filters/affected.js +0 -80
  67. package/dist/filters/filter.d.ts +0 -8
  68. package/dist/filters/filter.js +0 -36
  69. package/dist/filters/index.d.ts +0 -2
  70. package/dist/filters/index.js +0 -22
  71. package/dist/logger.d.ts +0 -15
  72. package/dist/logger.js +0 -99
  73. package/dist/pipeline.d.ts +0 -9
  74. package/dist/pipeline.js +0 -53
  75. package/dist/plugin.d.ts +0 -11
  76. package/dist/plugin.js +0 -40
  77. package/dist/project.command.d.ts +0 -13
  78. package/dist/project.command.js +0 -58
  79. package/dist/utils/cli-list.d.ts +0 -15
  80. package/dist/utils/cli-list.js +0 -87
  81. package/dist/workspace.command.d.ts +0 -12
  82. package/dist/workspace.command.js +0 -55
@@ -1,6 +1,5 @@
1
+ import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';
1
2
  import { WorkspaceDepsMode } from '@jujulego/jill-core';
2
- import { Arguments, Builder } from '../command';
3
- import { ProjectArgs, ProjectCommand } from '../project.command';
4
3
  export interface EachArgs extends ProjectArgs {
5
4
  script: string;
6
5
  'deps-mode': WorkspaceDepsMode;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["commands/each.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,OAAO,EAAoB,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1H,OAAO,EAA4B,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAKlF,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,iBAAiB,CAAC;IAE/B,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAGD,qBAAa,WAAY,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAEvD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,uCAAuC;IAG3D,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;cAsCxD,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CA0DhE","file":"each.command.d.ts","sourcesContent":["import { AffectedFilter, Arguments, Builder, Filter, Pipeline, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\nimport { Task, TaskSet, Workspace, WorkspaceDepsMode } from '@jujulego/jill-core';\n\nimport { TaskLogger } from '../task-logger';\n\n// Types\nexport interface EachArgs extends ProjectArgs {\n script: string;\n 'deps-mode': WorkspaceDepsMode;\n\n private: boolean | undefined;\n affected: string | undefined;\n 'affected-rev-sort': string | undefined;\n 'affected-rev-fallback': string;\n}\n\n// Command\nexport class EachCommand extends ProjectCommand<EachArgs> {\n // Attributes\n readonly name = 'each <script>';\n readonly description = 'Run script on selected workspaces';\n\n // Methods\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & EachArgs> {\n return super.define(y => builder(y)\n .positional('script', { type: 'string', demandOption: true })\n .option('deps-mode', {\n choice: ['all', 'prod', 'none'],\n default: 'all' as WorkspaceDepsMode,\n desc: 'Dependency selection mode:\\n' +\n ' - all = dependencies AND devDependencies\\n' +\n ' - prod = dependencies\\n' +\n ' - none = nothing'\n })\n .option('private', {\n type: 'boolean',\n group: 'Filters:',\n desc: 'Print only private workspaces',\n })\n .option('affected', {\n alias: 'a',\n type: 'string',\n coerce: (rev: string) => rev === '' ? 'master' : rev,\n group: 'Affected:',\n desc: 'Print only affected workspaces towards given git revision. If no revision is given, it will check towards master.\\n' +\n 'Replaces %name by workspace name.',\n })\n .option('affected-rev-sort', {\n type: 'string',\n group: 'Affected:',\n desc: 'Sort applied to git tag / git branch command',\n })\n .option('affected-rev-fallback', {\n type: 'string',\n default: 'master',\n group: 'Affected:',\n desc: 'Fallback revision, used if no revision matching the given format is found',\n })\n );\n }\n\n protected async run(args: Arguments<EachArgs>): Promise<number> {\n await super.run(args);\n\n // Setup pipeline\n const pipeline = new Pipeline();\n pipeline.add(Filter.scripts([args.script]));\n\n if (args.private !== undefined) {\n pipeline.add(Filter.privateWorkspace(args.private));\n }\n\n if (args.affected !== undefined) {\n pipeline.add(new AffectedFilter(\n args.affected,\n args['affected-rev-fallback'],\n args['affected-rev-sort']\n ));\n }\n\n // Filter\n const workspaces: Workspace[] = [];\n\n for await (const wks of pipeline.filter(this.project.workspaces())) {\n workspaces.push(wks);\n }\n\n if (workspaces.length === 0) {\n this.spinner.fail('No workspace found !');\n return 1;\n }\n\n this.spinner.stop();\n this.logger.verbose(`Will run ${args.script} in ${workspaces.map(wks => wks.name).join(', ')}`);\n\n // Run tasks\n const set = new TaskSet();\n const tasks: Task[] = [];\n\n for (const wks of workspaces) {\n const task = await wks.run(args.script, args['--']?.map(arg => arg.toString()), {\n buildDeps: args['deps-mode']\n });\n\n tasks.push(task);\n set.add(task);\n }\n\n const tlogger = new TaskLogger();\n tlogger.on('spin-multiple', (count) => `Working in ${count} packages ...`);\n tlogger.on('spin-simple', (tsk) => tasks.includes(tsk) ? `Running ${args.script} in ${tsk.context.workspace?.name} ...` : `Building ${tsk.context.workspace?.name} ...`);\n tlogger.on('fail', (tsk) => tasks.includes(tsk) ? `${tsk.context.workspace?.name} ${args.script} failed` : `Failed to build ${tsk.context.workspace?.name}`);\n tlogger.on('succeed', (tsk) => tasks.includes(tsk) ? `${tsk.context.workspace?.name} ${args.script} done` : `${tsk.context.workspace?.name} built`);\n tlogger.connect(set);\n\n set.start();\n const [result] = await set.waitFor('finished');\n return result.failed === 0 ? 0 : 1;\n }\n}\n"]}
@@ -5,29 +5,80 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.EachCommand = void 0;
7
7
 
8
+ var _jillCommon = require("@jujulego/jill-common");
9
+
8
10
  var _jillCore = require("@jujulego/jill-core");
9
11
 
10
- var _filters = require("../filters");
12
+ var _taskLogger = require("../task-logger");
11
13
 
12
- var _pipeline = require("../pipeline");
14
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) {
16
+ return value instanceof P ? value : new P(function (resolve) {
17
+ resolve(value);
18
+ });
19
+ }
13
20
 
14
- var _taskLogger = require("../task-logger");
21
+ return new (P || (P = Promise))(function (resolve, reject) {
22
+ function fulfilled(value) {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ }
15
29
 
16
- var _project = require("../project.command");
30
+ function rejected(value) {
31
+ try {
32
+ step(generator["throw"](value));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+ }
17
37
 
18
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
38
+ function step(result) {
39
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
40
+ }
41
+
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+
46
+ var __asyncValues = void 0 && (void 0).__asyncValues || function (o) {
47
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
48
+ var m = o[Symbol.asyncIterator],
49
+ i;
50
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
51
+ return this;
52
+ }, i);
53
+
54
+ function verb(n) {
55
+ i[n] = o[n] && function (v) {
56
+ return new Promise(function (resolve, reject) {
57
+ v = o[n](v), settle(resolve, reject, v.done, v.value);
58
+ });
59
+ };
60
+ }
61
+
62
+ function settle(resolve, reject, d, v) {
63
+ Promise.resolve(v).then(function (v) {
64
+ resolve({
65
+ value: v,
66
+ done: d
67
+ });
68
+ }, reject);
69
+ }
70
+ };
19
71
 
20
72
  // Command
21
- class EachCommand extends _project.ProjectCommand {
22
- constructor(...args) {
23
- super(...args);
73
+ class EachCommand extends _jillCommon.ProjectCommand {
74
+ constructor() {
75
+ super(...arguments); // Attributes
24
76
 
25
- _defineProperty(this, "name", 'each <script>');
77
+ this.name = 'each <script>';
78
+ this.description = 'Run script on selected workspaces';
79
+ } // Methods
26
80
 
27
- _defineProperty(this, "description", 'Run script on selected workspaces');
28
- }
29
81
 
30
- // Methods
31
82
  define(builder) {
32
83
  return super.define(y => builder(y).positional('script', {
33
84
  type: 'string',
@@ -58,58 +109,95 @@ class EachCommand extends _project.ProjectCommand {
58
109
  }));
59
110
  }
60
111
 
61
- async run(args) {
62
- await super.run(args); // Setup pipeline
63
-
64
- const pipeline = new _pipeline.Pipeline();
65
- pipeline.add(_filters.Filter.scripts([args.script]));
66
-
67
- if (args.private !== undefined) {
68
- pipeline.add(_filters.Filter.privateWorkspace(args.private));
69
- }
70
-
71
- if (args.affected !== undefined) {
72
- pipeline.add(new _filters.AffectedFilter(args.affected, args['affected-rev-fallback'], args['affected-rev-sort']));
73
- } // Filter
74
-
75
-
76
- const workspaces = [];
77
-
78
- for await (const wks of pipeline.filter(this.project.workspaces())) {
79
- workspaces.push(wks);
80
- }
81
-
82
- if (workspaces.length === 0) {
83
- this.spinner.fail('No workspace found !');
84
- return 1;
85
- }
86
-
87
- this.spinner.stop();
88
- this.logger.verbose(`Will run ${args.script} in ${workspaces.map(wks => wks.name).join(', ')}`); // Run tasks
89
-
90
- const set = new _jillCore.TaskSet();
91
- const tasks = [];
112
+ run(args) {
113
+ const _super = Object.create(null, {
114
+ run: {
115
+ get: () => super.run
116
+ }
117
+ });
118
+
119
+ var e_1, _a;
120
+
121
+ var _b;
122
+
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ yield _super.run.call(this, args); // Setup pipeline
125
+
126
+ const pipeline = new _jillCommon.Pipeline();
127
+ pipeline.add(_jillCommon.Filter.scripts([args.script]));
128
+
129
+ if (args.private !== undefined) {
130
+ pipeline.add(_jillCommon.Filter.privateWorkspace(args.private));
131
+ }
132
+
133
+ if (args.affected !== undefined) {
134
+ pipeline.add(new _jillCommon.AffectedFilter(args.affected, args['affected-rev-fallback'], args['affected-rev-sort']));
135
+ } // Filter
136
+
137
+
138
+ const workspaces = [];
139
+
140
+ try {
141
+ for (var _c = __asyncValues(pipeline.filter(this.project.workspaces())), _d; _d = yield _c.next(), !_d.done;) {
142
+ const wks = _d.value;
143
+ workspaces.push(wks);
144
+ }
145
+ } catch (e_1_1) {
146
+ e_1 = {
147
+ error: e_1_1
148
+ };
149
+ } finally {
150
+ try {
151
+ if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);
152
+ } finally {
153
+ if (e_1) throw e_1.error;
154
+ }
155
+ }
156
+
157
+ if (workspaces.length === 0) {
158
+ this.spinner.fail('No workspace found !');
159
+ return 1;
160
+ }
161
+
162
+ this.spinner.stop();
163
+ this.logger.verbose(`Will run ${args.script} in ${workspaces.map(wks => wks.name).join(', ')}`); // Run tasks
164
+
165
+ const set = new _jillCore.TaskSet();
166
+ const tasks = [];
167
+
168
+ for (const wks of workspaces) {
169
+ const task = yield wks.run(args.script, (_b = args['--']) === null || _b === void 0 ? void 0 : _b.map(arg => arg.toString()), {
170
+ buildDeps: args['deps-mode']
171
+ });
172
+ tasks.push(task);
173
+ set.add(task);
174
+ }
175
+
176
+ const tlogger = new _taskLogger.TaskLogger();
177
+ tlogger.on('spin-multiple', count => `Working in ${count} packages ...`);
178
+ tlogger.on('spin-simple', tsk => {
179
+ var _a, _b;
180
+
181
+ return tasks.includes(tsk) ? `Running ${args.script} in ${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ...` : `Building ${(_b = tsk.context.workspace) === null || _b === void 0 ? void 0 : _b.name} ...`;
182
+ });
183
+ tlogger.on('fail', tsk => {
184
+ var _a, _b;
92
185
 
93
- for (const wks of workspaces) {
94
- const task = await wks.run(args.script, args['--']?.map(arg => arg.toString()), {
95
- buildDeps: args['deps-mode']
186
+ return tasks.includes(tsk) ? `${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ${args.script} failed` : `Failed to build ${(_b = tsk.context.workspace) === null || _b === void 0 ? void 0 : _b.name}`;
96
187
  });
97
- tasks.push(task);
98
- set.add(task);
99
- }
188
+ tlogger.on('succeed', tsk => {
189
+ var _a, _b;
100
190
 
101
- const tlogger = new _taskLogger.TaskLogger();
102
- tlogger.on('spin-multiple', count => `Working in ${count} packages ...`);
103
- tlogger.on('spin-simple', tsk => tasks.includes(tsk) ? `Running ${args.script} in ${tsk.context.workspace?.name} ...` : `Building ${tsk.context.workspace?.name} ...`);
104
- tlogger.on('fail', tsk => tasks.includes(tsk) ? `${tsk.context.workspace?.name} ${args.script} failed` : `Failed to build ${tsk.context.workspace?.name}`);
105
- tlogger.on('succeed', tsk => tasks.includes(tsk) ? `${tsk.context.workspace?.name} ${args.script} done` : `${tsk.context.workspace?.name} built`);
106
- tlogger.connect(set);
107
- set.start();
108
- const [result] = await set.waitFor('finished');
109
- return result.failed === 0 ? 0 : 1;
191
+ return tasks.includes(tsk) ? `${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ${args.script} done` : `${(_b = tsk.context.workspace) === null || _b === void 0 ? void 0 : _b.name} built`;
192
+ });
193
+ tlogger.connect(set);
194
+ set.start();
195
+ const [result] = yield set.waitFor('finished');
196
+ return result.failed === 0 ? 0 : 1;
197
+ });
110
198
  }
111
199
 
112
200
  }
113
201
 
114
202
  exports.EachCommand = EachCommand;
115
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1hbmRzL2VhY2guY29tbWFuZC50cyJdLCJuYW1lcyI6WyJFYWNoQ29tbWFuZCIsIlByb2plY3RDb21tYW5kIiwiZGVmaW5lIiwiYnVpbGRlciIsInkiLCJwb3NpdGlvbmFsIiwidHlwZSIsImRlbWFuZE9wdGlvbiIsIm9wdGlvbiIsImNob2ljZSIsImRlZmF1bHQiLCJkZXNjIiwiZ3JvdXAiLCJhbGlhcyIsImNvZXJjZSIsInJldiIsInJ1biIsImFyZ3MiLCJwaXBlbGluZSIsIlBpcGVsaW5lIiwiYWRkIiwiRmlsdGVyIiwic2NyaXB0cyIsInNjcmlwdCIsInByaXZhdGUiLCJ1bmRlZmluZWQiLCJwcml2YXRlV29ya3NwYWNlIiwiYWZmZWN0ZWQiLCJBZmZlY3RlZEZpbHRlciIsIndvcmtzcGFjZXMiLCJ3a3MiLCJmaWx0ZXIiLCJwcm9qZWN0IiwicHVzaCIsImxlbmd0aCIsInNwaW5uZXIiLCJmYWlsIiwic3RvcCIsImxvZ2dlciIsInZlcmJvc2UiLCJtYXAiLCJuYW1lIiwiam9pbiIsInNldCIsIlRhc2tTZXQiLCJ0YXNrcyIsInRhc2siLCJhcmciLCJ0b1N0cmluZyIsImJ1aWxkRGVwcyIsInRsb2dnZXIiLCJUYXNrTG9nZ2VyIiwib24iLCJjb3VudCIsInRzayIsImluY2x1ZGVzIiwiY29udGV4dCIsIndvcmtzcGFjZSIsImNvbm5lY3QiLCJzdGFydCIsInJlc3VsdCIsIndhaXRGb3IiLCJmYWlsZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQWFBO0FBQ08sTUFBTUEsV0FBTixTQUEwQkMsdUJBQTFCLENBQW1EO0FBQUE7QUFBQTs7QUFBQSxrQ0FFeEMsZUFGd0M7O0FBQUEseUNBR2pDLG1DQUhpQztBQUFBOztBQUt4RDtBQUNVQyxFQUFBQSxNQUFNLENBQU9DLE9BQVAsRUFBeUQ7QUFDdkUsV0FBTyxNQUFNRCxNQUFOLENBQWFFLENBQUMsSUFBSUQsT0FBTyxDQUFDQyxDQUFELENBQVAs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RCxJQUFTVCxLQUFLLENBQUNVLFFBQU4sQ0FBZUQsR0FBZixJQUF1QixHQUFFQSxHQUFHLENBQUNFLE9BQUosQ0FBWUMsU0FBWixFQUF1QmhCLElBQUssSUFBR3hCLElBQUksQ0FBQ00sTUFBTyxTQUFwRSxHQUFnRixtQkFBa0IrQixHQUFHLENBQUNFLE9BQUosQ0FBWUMsU0FBWixFQUF1QmhCLElBQUssRUFBMUo7QUFDQVMsSUFBQUEsT0FBTyxDQUFDRSxFQUFSLENBQVcsU0FBWCxFQUF1QkUsR0FBRCxJQUFTVCxLQUFLLENBQUNVLFFBQU4sQ0FBZUQsR0FBZixJQUF1QixHQUFFQSxHQUFHLENBQUNFLE9BQUosQ0FBWUMsU0FBWixFQUF1QmhCLElBQUssSUFBR3hCLElBQUksQ0FBQ00sTUFBTyxPQUFwRSxHQUE4RSxHQUFFK0IsR0FBRyxDQUFDRSxPQUFKLENBQVlDLFNBQVosRUFBdUJoQixJQUFLLFFBQTNJO0FBQ0FTLElBQUFBLE9BQU8sQ0FBQ1EsT0FBUixDQUFnQmYsR0FBaEI7QUFFQUEsSUFBQUEsR0FBRyxDQUFDZ0IsS0FBSjtBQUNBLFVBQU0sQ0FBQ0MsTUFBRCxJQUFXLE1BQU1qQixHQUFHLENBQUNrQixPQUFKLENBQVksVUFBWixDQUF2QjtBQUNBLFdBQU9ELE1BQU0sQ0FBQ0UsTUFBUCxLQUFrQixDQUFsQixHQUFzQixDQUF0QixHQUEwQixDQUFqQztBQUNEOztBQXJHdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYXNrLCBUYXNrU2V0LCBXb3Jrc3BhY2UsIFdvcmtzcGFjZURlcHNNb2RlIH0gZnJvbSAnQGp1anVsZWdvL2ppbGwtY29yZSc7XG5cbmltcG9ydCB7IEFyZ3VtZW50cywgQnVpbGRlciB9IGZyb20gJy4uL2NvbW1hbmQnO1xuaW1wb3J0IHsgQWZmZWN0ZWRGaWx0ZXIsIEZpbHRlciB9IGZyb20gJy4uL2ZpbHRlcnMnO1xuaW1wb3J0IHsgUGlwZWxpbmUgfSBmcm9tICcuLi9waXBlbGluZSc7XG5pbXBvcnQgeyBUYXNrTG9nZ2VyIH0gZnJvbSAnLi4vdGFzay1sb2dnZXInO1xuaW1wb3J0IHsgUHJvamVjdEFyZ3MsIFByb2plY3RDb21tYW5kIH0gZnJvbSAnLi4vcHJvamVjdC5jb21tYW5kJztcblxuLy8gVHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgRWFjaEFyZ3MgZXh0ZW5kcyBQcm9qZWN0QXJncyB7XG4gIHNjcmlwdDogc3RyaW5nO1xuICAnZGVwcy1tb2RlJzogV29ya3NwYWNlRGVwc01vZGU7XG5cbiAgcHJpdmF0ZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgYWZmZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgJ2FmZmVjdGVkLXJldi1zb3J0Jzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAnYWZmZWN0ZWQtcmV2LWZhbGxiYWNrJzogc3RyaW5nO1xufVxuXG4vLyBDb21tYW5kXG5leHBvcnQgY2xhc3MgRWFjaENvbW1hbmQgZXh0ZW5kcyBQcm9qZWN0Q29tbWFuZDxFYWNoQXJncz4ge1xuICAvLyBBdHRyaWJ1dGVzXG4gIHJlYWRvbmx5IG5hbWUgPSAnZWFjaCA8c2NyaXB0Pic7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gJ1J1biBzY3JpcHQgb24gc2VsZWN0ZWQgd29ya3NwYWNlcyc7XG5cbiAgLy8gTWV0aG9kc1xuICBwcm90ZWN0ZWQgZGVmaW5lPFQsIFU+KGJ1aWxkZXI6IEJ1aWxkZXI8VCwgVT4pOiBCdWlsZGVyPFQsIFUgJiBFYWNoQXJncz4ge1xuICAgIHJldHVybiBzdXBlci5kZWZpbmUoeSA9PiBidWlsZGVyKHkpXG4gICAgICAucG9zaXRpb25hbCgnc2NyaXB0JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pXG4gICAgICAub3B0aW9uKCdkZXBzLW1vZGUnLCB7XG4gICAgICAgIGNob2ljZTogWydhbGwnLCAncHJvZCcsICdub25lJ10sXG4gICAgICAgIGRlZmF1bHQ6ICdhbGwnIGFzIFdvcmtzcGFjZURlcHNNb2RlLFxuICAgICAgICBkZXNjOiAnRGVwZW5kZW5jeSBzZWxlY3Rpb24gbW9kZTpcXG4nICtcbiAgICAgICAgICAnIC0gYWxsID0gZGVwZW5kZW5jaWVzIEFORCBkZXZEZXBlbmRlbmNpZXNcXG4nICtcbiAgICAgICAgICAnIC0gcHJvZCA9IGRlcGVuZGVuY2llc1xcbicgK1xuICAgICAgICAgICcgLSBub25lID0gbm90aGluZydcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdwcml2YXRlJywge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGdyb3VwOiAnRmlsdGVyczonLFxuICAgICAgICBkZXNjOiAnUHJpbnQgb25seSBwcml2YXRlIHdvcmtzcGFjZXMnLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2FmZmVjdGVkJywge1xuICAgICAgICBhbGlhczogJ2EnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgY29lcmNlOiAocmV2OiBzdHJpbmcpID0+IHJldiA9PT0gJycgPyAnbWFzdGVyJyA6IHJldixcbiAgICAgICAgZ3JvdXA6ICdBZmZlY3RlZDonLFxuICAgICAgICBkZXNjOiAnUHJpbnQgb25seSBhZmZlY3RlZCB3b3Jrc3BhY2VzIHRvd2FyZHMgZ2l2ZW4gZ2l0IHJldmlzaW9uLiBJZiBubyByZXZpc2lvbiBpcyBnaXZlbiwgaXQgd2lsbCBjaGVjayB0b3dhcmRzIG1hc3Rlci5cXG4nICtcbiAgICAgICAgICAnUmVwbGFjZXMgJW5hbWUgYnkgd29ya3NwYWNlIG5hbWUuJyxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdhZmZlY3RlZC1yZXYtc29ydCcsIHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGdyb3VwOiAnQWZmZWN0ZWQ6JyxcbiAgICAgICAgZGVzYzogJ1NvcnQgYXBwbGllZCB0byBnaXQgdGFnIC8gZ2l0IGJyYW5jaCBjb21tYW5kJyxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdhZmZlY3RlZC1yZXYtZmFsbGJhY2snLCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiAnbWFzdGVyJyxcbiAgICAgICAgZ3JvdXA6ICdBZmZlY3RlZDonLFxuICAgICAgICBkZXNjOiAnRmFsbGJhY2sgcmV2aXNpb24sIHVzZWQgaWYgbm8gcmV2aXNpb24gbWF0Y2hpbmcgdGhlIGdpdmVuIGZvcm1hdCBpcyBmb3VuZCcsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcnVuKGFyZ3M6IEFyZ3VtZW50czxFYWNoQXJncz4pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGF3YWl0IHN1cGVyLnJ1bihhcmdzKTtcblxuICAgIC8vIFNldHVwIHBpcGVsaW5lXG4gICAgY29uc3QgcGlwZWxpbmUgPSBuZXcgUGlwZWxpbmUoKTtcbiAgICBwaXBlbGluZS5hZGQoRmlsdGVyLnNjcmlwdHMoW2FyZ3Muc2NyaXB0XSkpO1xuXG4gICAgaWYgKGFyZ3MucHJpdmF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwaXBlbGluZS5hZGQoRmlsdGVyLnByaXZhdGVXb3Jrc3BhY2UoYXJncy5wcml2YXRlKSk7XG4gICAgfVxuXG4gICAgaWYgKGFyZ3MuYWZmZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGlwZWxpbmUuYWRkKG5ldyBBZmZlY3RlZEZpbHRlcihcbiAgICAgICAgYXJncy5hZmZlY3RlZCxcbiAgICAgICAgYXJnc1snYWZmZWN0ZWQtcmV2LWZhbGxiYWNrJ10sXG4gICAgICAgIGFyZ3NbJ2FmZmVjdGVkLXJldi1zb3J0J11cbiAgICAgICkpO1xuICAgIH1cblxuICAgIC8vIEZpbHRlclxuICAgIGNvbnN0IHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdID0gW107XG5cbiAgICBmb3IgYXdhaXQgKGNvbnN0IHdrcyBvZiBwaXBlbGluZS5maWx0ZXIodGhpcy5wcm9qZWN0LndvcmtzcGFjZXMoKSkpIHtcbiAgICAgIHdvcmtzcGFjZXMucHVzaCh3a3MpO1xuICAgIH1cblxuICAgIGlmICh3b3Jrc3BhY2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zcGlubmVyLmZhaWwoJ05vIHdvcmtzcGFjZSBmb3VuZCAhJyk7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICB0aGlzLnNwaW5uZXIuc3RvcCgpO1xuICAgIHRoaXMubG9nZ2VyLnZlcmJvc2UoYFdpbGwgcnVuICR7YXJncy5zY3JpcHR9IGluICR7d29ya3NwYWNlcy5tYXAod2tzID0+IHdrcy5uYW1lKS5qb2luKCcsICcpfWApO1xuXG4gICAgLy8gUnVuIHRhc2tzXG4gICAgY29uc3Qgc2V0ID0gbmV3IFRhc2tTZXQoKTtcbiAgICBjb25zdCB0YXNrczogVGFza1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHdrcyBvZiB3b3Jrc3BhY2VzKSB7XG4gICAgICBjb25zdCB0YXNrID0gYXdhaXQgd2tzLnJ1bihhcmdzLnNjcmlwdCwgYXJnc1snLS0nXT8ubWFwKGFyZyA9PiBhcmcudG9TdHJpbmcoKSksIHtcbiAgICAgICAgYnVpbGREZXBzOiBhcmdzWydkZXBzLW1vZGUnXVxuICAgICAgfSk7XG5cbiAgICAgIHRhc2tzLnB1c2godGFzayk7XG4gICAgICBzZXQuYWRkKHRhc2spO1xuICAgIH1cblxuICAgIGNvbnN0IHRsb2dnZXIgPSBuZXcgVGFza0xvZ2dlcigpO1xuICAgIHRsb2dnZXIub24oJ3NwaW4tbXVsdGlwbGUnLCAoY291bnQpID0+IGBXb3JraW5nIGluICR7Y291bnR9IHBhY2thZ2VzIC4uLmApO1xuICAgIHRsb2dnZXIub24oJ3NwaW4tc2ltcGxlJywgKHRzaykgPT4gdGFza3MuaW5jbHVkZXModHNrKSA/IGBSdW5uaW5nICR7YXJncy5zY3JpcHR9IGluICR7dHNrLmNvbnRleHQud29ya3NwYWNlPy5uYW1lfSAuLi5gIDogYEJ1aWxkaW5nICR7dHNrLmNvbnRleHQud29ya3NwYWNlPy5uYW1lfSAuLi5gKTtcbiAgICB0bG9nZ2VyLm9uKCdmYWlsJywgKHRzaykgPT4gdGFza3MuaW5jbHVkZXModHNrKSA/IGAke3Rzay5jb250ZXh0LndvcmtzcGFjZT8ubmFtZX0gJHthcmdzLnNjcmlwdH0gZmFpbGVkYCA6IGBGYWlsZWQgdG8gYnVpbGQgJHt0c2suY29udGV4dC53b3Jrc3BhY2U/Lm5hbWV9YCk7XG4gICAgdGxvZ2dlci5vbignc3VjY2VlZCcsICh0c2spID0+IHRhc2tzLmluY2x1ZGVzKHRzaykgPyBgJHt0c2suY29udGV4dC53b3Jrc3BhY2U/Lm5hbWV9ICR7YXJncy5zY3JpcHR9IGRvbmVgIDogYCR7dHNrLmNvbnRleHQud29ya3NwYWNlPy5uYW1lfSBidWlsdGApO1xuICAgIHRsb2dnZXIuY29ubmVjdChzZXQpO1xuXG4gICAgc2V0LnN0YXJ0KCk7XG4gICAgY29uc3QgW3Jlc3VsdF0gPSBhd2FpdCBzZXQud2FpdEZvcignZmluaXNoZWQnKTtcbiAgICByZXR1cm4gcmVzdWx0LmZhaWxlZCA9PT0gMCA/IDAgOiAxO1xuICB9XG59Il0sImZpbGUiOiJjb21tYW5kcy9lYWNoLmNvbW1hbmQuanMifQ==
203
+ //# sourceMappingURL=each.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["commands/each.command.ts","commands/each.command.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__asyncValues","o","Symbol","asyncIterator","TypeError","m","i","call","__values","iterator","verb","n","v","settle","d","EachCommand","ProjectCommand","constructor","arguments","name","description","define","builder","y","positional","type","demandOption","option","choice","default","desc","group","alias","coerce","rev","run","args","_super","Object","create","get","e_1","_a","_b","pipeline","Pipeline","add","Filter","scripts","script","private","undefined","privateWorkspace","affected","AffectedFilter","workspaces","_c","filter","project","_d","wks","push","e_1_1","error","return","length","spinner","fail","stop","logger","verbose","map","join","set","TaskSet","tasks","task","arg","toString","buildDeps","tlogger","TaskLogger","on","count","tsk","includes","context","workspace","connect","start","waitFor","failed"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;ACHA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA4B,UAAUC,OAAV,EAAmBC,UAAnB,EAA+BC,CAA/B,EAAkCC,SAAlC,EAA6C;AACrF,WAASC,KAAT,CAAeC,KAAf,EAAsB;AAAE,WAAOA,KAAK,YAAYH,CAAjB,GAAqBG,KAArB,GAA6B,IAAIH,CAAJ,CAAM,UAAUI,OAAV,EAAmB;AAAEA,MAAAA,OAAO,CAACD,KAAD,CAAP;AAAiB,KAA5C,CAApC;AAAoF;;AAC5G,SAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAT,CAAN,EAAyB,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;AACvD,aAASC,SAAT,CAAmBJ,KAAnB,EAA0B;AAAE,UAAI;AAAEK,QAAAA,IAAI,CAACP,SAAS,CAACQ,IAAV,CAAeN,KAAf,CAAD,CAAJ;AAA8B,OAApC,CAAqC,OAAOO,CAAP,EAAU;AAAEJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AAAY;AAAE;;AAC3F,aAASC,QAAT,CAAkBR,KAAlB,EAAyB;AAAE,UAAI;AAAEK,QAAAA,IAAI,CAACP,SAAS,CAAC,OAAD,CAAT,CAAmBE,KAAnB,CAAD,CAAJ;AAAkC,OAAxC,CAAyC,OAAOO,CAAP,EAAU;AAAEJ,QAAAA,MAAM,CAACI,CAAD,CAAN;AAAY;AAAE;;AAC9F,aAASF,IAAT,CAAcI,MAAd,EAAsB;AAAEA,MAAAA,MAAM,CAACC,IAAP,GAAcT,OAAO,CAACQ,MAAM,CAACT,KAAR,CAArB,GAAsCD,KAAK,CAACU,MAAM,CAACT,KAAR,CAAL,CAAoBW,IAApB,CAAyBP,SAAzB,EAAoCI,QAApC,CAAtC;AAAsF;;AAC9GH,IAAAA,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACc,KAAV,CAAgBjB,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDU,IAAzD,EAAD,CAAJ;AACH,GALM,CAAP;AAMH,CARD;;AASA,IAAIO,aAAa,GAAI,UAAQ,SAAKA,aAAd,IAAgC,UAAUC,CAAV,EAAa;AAC7D,MAAI,CAACC,MAAM,CAACC,aAAZ,EAA2B,MAAM,IAAIC,SAAJ,CAAc,sCAAd,CAAN;AAC3B,MAAIC,CAAC,GAAGJ,CAAC,CAACC,MAAM,CAACC,aAAR,CAAT;AAAA,MAAiCG,CAAjC;AACA,SAAOD,CAAC,GAAGA,CAAC,CAACE,IAAF,CAAON,CAAP,CAAH,IAAgBA,CAAC,GAAG,OAAOO,QAAP,KAAoB,UAApB,GAAiCA,QAAQ,CAACP,CAAD,CAAzC,GAA+CA,CAAC,CAACC,MAAM,CAACO,QAAR,CAAD,EAAnD,EAAyEH,CAAC,GAAG,EAA7E,EAAiFI,IAAI,CAAC,MAAD,CAArF,EAA+FA,IAAI,CAAC,OAAD,CAAnG,EAA8GA,IAAI,CAAC,QAAD,CAAlH,EAA8HJ,CAAC,CAACJ,MAAM,CAACC,aAAR,CAAD,GAA0B,YAAY;AAAE,WAAO,IAAP;AAAc,GAApL,EAAsLG,CAAtM,CAAR;;AACA,WAASI,IAAT,CAAcC,CAAd,EAAiB;AAAEL,IAAAA,CAAC,CAACK,CAAD,CAAD,GAAOV,CAAC,CAACU,CAAD,CAAD,IAAQ,UAAUC,CAAV,EAAa;AAAE,aAAO,IAAIvB,OAAJ,CAAY,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;AAAEsB,QAAAA,CAAC,GAAGX,CAAC,CAACU,CAAD,CAAD,CAAKC,CAAL,CAAJ,EAAaC,MAAM,CAACzB,OAAD,EAAUE,MAAV,EAAkBsB,CAAC,CAACf,IAApB,EAA0Be,CAAC,CAACzB,KAA5B,CAAnB;AAAwD,OAAjG,CAAP;AAA4G,KAA1I;AAA6I;;AAChK,WAAS0B,MAAT,CAAgBzB,OAAhB,EAAyBE,MAAzB,EAAiCwB,CAAjC,EAAoCF,CAApC,EAAuC;AAAEvB,IAAAA,OAAO,CAACD,OAAR,CAAgBwB,CAAhB,EAAmBd,IAAnB,CAAwB,UAASc,CAAT,EAAY;AAAExB,MAAAA,OAAO,CAAC;AAAED,QAAAA,KAAK,EAAEyB,CAAT;AAAYf,QAAAA,IAAI,EAAEiB;AAAlB,OAAD,CAAP;AAAiC,KAAvE,EAAyExB,MAAzE;AAAmF;AAC/H,CAND;;ADOA;AACM,MAAOyB,WAAP,SAA2BC,0BAA3B,CAAmD;AAAzDC,EAAAA,WAAA,GAAA;ACKQ,UAAM,GAAGC,SAAT,EDLR,CACE;;AACS,SAAAC,IAAA,GAAO,eAAP;AACA,SAAAC,WAAA,GAAc,mCAAd;AAmGV,GAtGwD,CAKvD;;;AACUC,EAAAA,MAAM,CAAOC,OAAP,EAA6B;AAC3C,WAAO,MAAMD,MAAN,CAAaE,CAAC,IAAID,OAAO,CAACC,CAAD,CAAP,CACtBC,UADsB,CACX,QADW,EACD;AAAEC,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,YAAY,EAAE;AAAhC,KADC,EAEtBC,MAFsB,CAEf,WAFe,EAEF;AACnBC,MAAAA,MAAM,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CADW;AAEnBC,MAAAA,OAAO,EAAE,KAFU;AAGnBC,MAAAA,IAAI,EAAE,iCACJ,6CADI,GAEJ,0BAFI,GAGJ;AANiB,KAFE,EAUtBH,MAVsB,CAUf,SAVe,EAUJ;AACjBF,MAAAA,IAAI,EAAE,SADW;AAEjBM,MAAAA,KAAK,EAAE,UAFU;AAGjBD,MAAAA,IAAI,EAAE;AAHW,KAVI,EAetBH,MAfsB,CAef,UAfe,EAeH;AAClBK,MAAAA,KAAK,EAAE,GADW;AAElBP,MAAAA,IAAI,EAAE,QAFY;AAGlBQ,MAAAA,MAAM,EAAGC,GAAD,IAAiBA,GAAG,KAAK,EAAR,GAAa,QAAb,GAAwBA,GAH/B;AAIlBH,MAAAA,KAAK,EAAE,WAJW;AAKlBD,MAAAA,IAAI,EAAE,wHACJ;AANgB,KAfG,EAuBtBH,MAvBsB,CAuBf,mBAvBe,EAuBM;AAC3BF,MAAAA,IAAI,EAAE,QADqB;AAE3BM,MAAAA,KAAK,EAAE,WAFoB;AAG3BD,MAAAA,IAAI,EAAE;AAHqB,KAvBN,EA4BtBH,MA5BsB,CA4Bf,uBA5Be,EA4BU;AAC/BF,MAAAA,IAAI,EAAE,QADyB;AAE/BI,MAAAA,OAAO,EAAE,QAFsB;AAG/BE,MAAAA,KAAK,EAAE,WAHwB;AAI/BD,MAAAA,IAAI,EAAE;AAJyB,KA5BV,CAAlB,CAAP;AAmCD;;AAEeK,EAAAA,GAAG,CAACC,IAAD,EAA0B;ACIvC,UAAMC,MAAM,GAAGC,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB;AAC/BJ,MAAAA,GAAG,EAAE;AAAEK,QAAAA,GAAG,EAAE,MAAM,MAAML;AAAnB;AAD0B,KAApB,CAAf;;AAGA,QAAIM,GAAJ,EAASC,EAAT;;AACA,QAAIC,EAAJ;;AACA,WAAO9D,SAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,aAAa;ADRxD,YAAMwD,MAAA,CAAMF,GAAN,CAAS5B,IAAT,CAAS,IAAT,EAAU6B,IAAV,CAAN,CCQwD,CDNxD;;AACA,YAAMQ,QAAQ,GAAG,IAAIC,oBAAJ,EAAjB;AACAD,MAAAA,QAAQ,CAACE,GAAT,CAAaC,mBAAOC,OAAP,CAAe,CAACZ,IAAI,CAACa,MAAN,CAAf,CAAb;;AAEA,UAAIb,IAAI,CAACc,OAAL,KAAiBC,SAArB,EAAgC;AAC9BP,QAAAA,QAAQ,CAACE,GAAT,CAAaC,mBAAOK,gBAAP,CAAwBhB,IAAI,CAACc,OAA7B,CAAb;AACD;;AAED,UAAId,IAAI,CAACiB,QAAL,KAAkBF,SAAtB,EAAiC;AAC/BP,QAAAA,QAAQ,CAACE,GAAT,CAAa,IAAIQ,0BAAJ,CACXlB,IAAI,CAACiB,QADM,EAEXjB,IAAI,CAAC,uBAAD,CAFO,EAGXA,IAAI,CAAC,mBAAD,CAHO,CAAb;AAKD,OCRuD,CDUxD;;;AACA,YAAMmB,UAAU,GAAgB,EAAhC;;ACEQ,UAAI;ADAZ,aAAwB,IAAAC,EAAA,GAAAxD,aAAA,CAAA4C,QAAQ,CAACa,MAAT,CAAgB,KAAKC,OAAL,CAAaH,UAAb,EAAhB,CAAA,CAAA,EAA0CI,EAAlE,EAAkEA,EAAA,GAAA,MAAAH,EAAA,CAAA/D,IAAA,EAAA,EAAA,CAAAkE,EAAA,CAAA9D,IAAlE,GAAkE;AAAvD,gBAAM+D,GAAG,GAAAD,EAAA,CAAAxE,KAAT;AACToE,UAAAA,UAAU,CAACM,IAAX,CAAgBD,GAAhB;AACD;ACGQ,OALD,CAMA,OAAOE,KAAP,EAAc;AAAErB,QAAAA,GAAG,GAAG;AAAEsB,UAAAA,KAAK,EAAED;AAAT,SAAN;AAAyB,OANzC,SAOQ;AACJ,YAAI;AACA,cAAIH,EAAE,IAAI,CAACA,EAAE,CAAC9D,IAAV,KAAmB6C,EAAE,GAAGc,EAAE,CAACQ,MAA3B,CAAJ,EAAwC,MAAMtB,EAAE,CAACnC,IAAH,CAAQiD,EAAR,CAAN;AAC3C,SAFD,SAGQ;AAAE,cAAIf,GAAJ,EAAS,MAAMA,GAAG,CAACsB,KAAV;AAAkB;AACxC;;ADRT,UAAIR,UAAU,CAACU,MAAX,KAAsB,CAA1B,EAA6B;AAC3B,aAAKC,OAAL,CAAaC,IAAb,CAAkB,sBAAlB;AACA,eAAO,CAAP;AACD;;AAED,WAAKD,OAAL,CAAaE,IAAb;AACA,WAAKC,MAAL,CAAYC,OAAZ,CAAoB,YAAYlC,IAAI,CAACa,MAAM,OAAOM,UAAU,CAACgB,GAAX,CAAeX,GAAG,IAAIA,GAAG,CAACzC,IAA1B,EAAgCqD,IAAhC,CAAqC,IAArC,CAA0C,EAA5F,ECvBwD,CDyBxD;;AACA,YAAMC,GAAG,GAAG,IAAIC,iBAAJ,EAAZ;AACA,YAAMC,KAAK,GAAW,EAAtB;;AAEA,WAAK,MAAMf,GAAX,IAAkBL,UAAlB,EAA8B;AAC5B,cAAMqB,IAAI,GAAG,MAAMhB,GAAG,CAACzB,GAAJ,CAAQC,IAAI,CAACa,MAAb,EAAqB,CAAAN,EAAA,GAAAP,IAAI,CAAC,IAAD,CAAJ,MAAU,IAAV,IAAUO,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAUA,EAAA,CAAE4B,GAAF,CAAMM,GAAG,IAAIA,GAAG,CAACC,QAAJ,EAAb,CAA/B,EAA6D;AAC9EC,UAAAA,SAAS,EAAE3C,IAAI,CAAC,WAAD;AAD+D,SAA7D,CAAnB;AAIAuC,QAAAA,KAAK,CAACd,IAAN,CAAWe,IAAX;AACAH,QAAAA,GAAG,CAAC3B,GAAJ,CAAQ8B,IAAR;AACD;;AAED,YAAMI,OAAO,GAAG,IAAIC,sBAAJ,EAAhB;AACAD,MAAAA,OAAO,CAACE,EAAR,CAAW,eAAX,EAA6BC,KAAD,IAAW,cAAcA,KAAK,eAA1D;AACAH,MAAAA,OAAO,CAACE,EAAR,CAAW,aAAX,EAA2BE,GAAD,IAAQ;AAAA,YAAA1C,EAAA,EAAAC,EAAA;;AAAC,eAAAgC,KAAK,CAACU,QAAN,CAAeD,GAAf,IAAsB,WAAWhD,IAAI,CAACa,MAAM,OAAO,CAAAP,EAAA,GAAA0C,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqB7C,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEvB,IAAI,MAA9E,GAAuF,YAAY,CAAAwB,EAAA,GAAAyC,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqB5C,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAExB,IAAI,MAA9H;AAAoI,OAAvK;AACA6D,MAAAA,OAAO,CAACE,EAAR,CAAW,MAAX,EAAoBE,GAAD,IAAQ;AAAA,YAAA1C,EAAA,EAAAC,EAAA;;AAAC,eAAAgC,KAAK,CAACU,QAAN,CAAeD,GAAf,IAAsB,GAAG,CAAA1C,EAAA,GAAA0C,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqB7C,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEvB,IAAI,IAAIiB,IAAI,CAACa,MAAM,SAAnE,GAA+E,mBAAmB,CAAAN,EAAA,GAAAyC,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqB5C,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAExB,IAAI,EAA7H;AAA+H,OAA3J;AACA6D,MAAAA,OAAO,CAACE,EAAR,CAAW,SAAX,EAAuBE,GAAD,IAAQ;AAAA,YAAA1C,EAAA,EAAAC,EAAA;;AAAC,eAAAgC,KAAK,CAACU,QAAN,CAAeD,GAAf,IAAsB,GAAG,CAAA1C,EAAA,GAAA0C,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqB7C,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEvB,IAAI,IAAIiB,IAAI,CAACa,MAAM,OAAnE,GAA6E,GAAG,CAAAN,EAAA,GAAAyC,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqB5C,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAExB,IAAI,QAA3G;AAAmH,OAAlJ;AACA6D,MAAAA,OAAO,CAACQ,OAAR,CAAgBf,GAAhB;AAEAA,MAAAA,GAAG,CAACgB,KAAJ;AACA,YAAM,CAAC7F,MAAD,IAAW,MAAM6E,GAAG,CAACiB,OAAJ,CAAY,UAAZ,CAAvB;AACA,aAAO9F,MAAM,CAAC+F,MAAP,KAAkB,CAAlB,GAAsB,CAAtB,GAA0B,CAAjC;ACIK,KAnDe,CAAhB;ADgDL;;AArGsD","file":"each.command.js","sourcesContent":["import { AffectedFilter, Arguments, Builder, Filter, Pipeline, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\nimport { Task, TaskSet, Workspace, WorkspaceDepsMode } from '@jujulego/jill-core';\n\nimport { TaskLogger } from '../task-logger';\n\n// Types\nexport interface EachArgs extends ProjectArgs {\n script: string;\n 'deps-mode': WorkspaceDepsMode;\n\n private: boolean | undefined;\n affected: string | undefined;\n 'affected-rev-sort': string | undefined;\n 'affected-rev-fallback': string;\n}\n\n// Command\nexport class EachCommand extends ProjectCommand<EachArgs> {\n // Attributes\n readonly name = 'each <script>';\n readonly description = 'Run script on selected workspaces';\n\n // Methods\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & EachArgs> {\n return super.define(y => builder(y)\n .positional('script', { type: 'string', demandOption: true })\n .option('deps-mode', {\n choice: ['all', 'prod', 'none'],\n default: 'all' as WorkspaceDepsMode,\n desc: 'Dependency selection mode:\\n' +\n ' - all = dependencies AND devDependencies\\n' +\n ' - prod = dependencies\\n' +\n ' - none = nothing'\n })\n .option('private', {\n type: 'boolean',\n group: 'Filters:',\n desc: 'Print only private workspaces',\n })\n .option('affected', {\n alias: 'a',\n type: 'string',\n coerce: (rev: string) => rev === '' ? 'master' : rev,\n group: 'Affected:',\n desc: 'Print only affected workspaces towards given git revision. If no revision is given, it will check towards master.\\n' +\n 'Replaces %name by workspace name.',\n })\n .option('affected-rev-sort', {\n type: 'string',\n group: 'Affected:',\n desc: 'Sort applied to git tag / git branch command',\n })\n .option('affected-rev-fallback', {\n type: 'string',\n default: 'master',\n group: 'Affected:',\n desc: 'Fallback revision, used if no revision matching the given format is found',\n })\n );\n }\n\n protected async run(args: Arguments<EachArgs>): Promise<number> {\n await super.run(args);\n\n // Setup pipeline\n const pipeline = new Pipeline();\n pipeline.add(Filter.scripts([args.script]));\n\n if (args.private !== undefined) {\n pipeline.add(Filter.privateWorkspace(args.private));\n }\n\n if (args.affected !== undefined) {\n pipeline.add(new AffectedFilter(\n args.affected,\n args['affected-rev-fallback'],\n args['affected-rev-sort']\n ));\n }\n\n // Filter\n const workspaces: Workspace[] = [];\n\n for await (const wks of pipeline.filter(this.project.workspaces())) {\n workspaces.push(wks);\n }\n\n if (workspaces.length === 0) {\n this.spinner.fail('No workspace found !');\n return 1;\n }\n\n this.spinner.stop();\n this.logger.verbose(`Will run ${args.script} in ${workspaces.map(wks => wks.name).join(', ')}`);\n\n // Run tasks\n const set = new TaskSet();\n const tasks: Task[] = [];\n\n for (const wks of workspaces) {\n const task = await wks.run(args.script, args['--']?.map(arg => arg.toString()), {\n buildDeps: args['deps-mode']\n });\n\n tasks.push(task);\n set.add(task);\n }\n\n const tlogger = new TaskLogger();\n tlogger.on('spin-multiple', (count) => `Working in ${count} packages ...`);\n tlogger.on('spin-simple', (tsk) => tasks.includes(tsk) ? `Running ${args.script} in ${tsk.context.workspace?.name} ...` : `Building ${tsk.context.workspace?.name} ...`);\n tlogger.on('fail', (tsk) => tasks.includes(tsk) ? `${tsk.context.workspace?.name} ${args.script} failed` : `Failed to build ${tsk.context.workspace?.name}`);\n tlogger.on('succeed', (tsk) => tasks.includes(tsk) ? `${tsk.context.workspace?.name} ${args.script} done` : `${tsk.context.workspace?.name} built`);\n tlogger.connect(set);\n\n set.start();\n const [result] = await set.waitFor('finished');\n return result.failed === 0 ? 0 : 1;\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nimport { AffectedFilter, Filter, Pipeline, ProjectCommand } from '@jujulego/jill-common';\nimport { TaskSet } from '@jujulego/jill-core';\nimport { TaskLogger } from '../task-logger';\n// Command\nexport class EachCommand extends ProjectCommand {\n constructor() {\n super(...arguments);\n // Attributes\n this.name = 'each <script>';\n this.description = 'Run script on selected workspaces';\n }\n // Methods\n define(builder) {\n return super.define(y => builder(y)\n .positional('script', { type: 'string', demandOption: true })\n .option('deps-mode', {\n choice: ['all', 'prod', 'none'],\n default: 'all',\n desc: 'Dependency selection mode:\\n' +\n ' - all = dependencies AND devDependencies\\n' +\n ' - prod = dependencies\\n' +\n ' - none = nothing'\n })\n .option('private', {\n type: 'boolean',\n group: 'Filters:',\n desc: 'Print only private workspaces',\n })\n .option('affected', {\n alias: 'a',\n type: 'string',\n coerce: (rev) => rev === '' ? 'master' : rev,\n group: 'Affected:',\n desc: 'Print only affected workspaces towards given git revision. If no revision is given, it will check towards master.\\n' +\n 'Replaces %name by workspace name.',\n })\n .option('affected-rev-sort', {\n type: 'string',\n group: 'Affected:',\n desc: 'Sort applied to git tag / git branch command',\n })\n .option('affected-rev-fallback', {\n type: 'string',\n default: 'master',\n group: 'Affected:',\n desc: 'Fallback revision, used if no revision matching the given format is found',\n }));\n }\n run(args) {\n const _super = Object.create(null, {\n run: { get: () => super.run }\n });\n var e_1, _a;\n var _b;\n return __awaiter(this, void 0, void 0, function* () {\n yield _super.run.call(this, args);\n // Setup pipeline\n const pipeline = new Pipeline();\n pipeline.add(Filter.scripts([args.script]));\n if (args.private !== undefined) {\n pipeline.add(Filter.privateWorkspace(args.private));\n }\n if (args.affected !== undefined) {\n pipeline.add(new AffectedFilter(args.affected, args['affected-rev-fallback'], args['affected-rev-sort']));\n }\n // Filter\n const workspaces = [];\n try {\n for (var _c = __asyncValues(pipeline.filter(this.project.workspaces())), _d; _d = yield _c.next(), !_d.done;) {\n const wks = _d.value;\n workspaces.push(wks);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (workspaces.length === 0) {\n this.spinner.fail('No workspace found !');\n return 1;\n }\n this.spinner.stop();\n this.logger.verbose(`Will run ${args.script} in ${workspaces.map(wks => wks.name).join(', ')}`);\n // Run tasks\n const set = new TaskSet();\n const tasks = [];\n for (const wks of workspaces) {\n const task = yield wks.run(args.script, (_b = args['--']) === null || _b === void 0 ? void 0 : _b.map(arg => arg.toString()), {\n buildDeps: args['deps-mode']\n });\n tasks.push(task);\n set.add(task);\n }\n const tlogger = new TaskLogger();\n tlogger.on('spin-multiple', (count) => `Working in ${count} packages ...`);\n tlogger.on('spin-simple', (tsk) => { var _a, _b; return tasks.includes(tsk) ? `Running ${args.script} in ${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ...` : `Building ${(_b = tsk.context.workspace) === null || _b === void 0 ? void 0 : _b.name} ...`; });\n tlogger.on('fail', (tsk) => { var _a, _b; return tasks.includes(tsk) ? `${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ${args.script} failed` : `Failed to build ${(_b = tsk.context.workspace) === null || _b === void 0 ? void 0 : _b.name}`; });\n tlogger.on('succeed', (tsk) => { var _a, _b; return tasks.includes(tsk) ? `${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ${args.script} done` : `${(_b = tsk.context.workspace) === null || _b === void 0 ? void 0 : _b.name} built`; });\n tlogger.connect(set);\n set.start();\n const [result] = yield set.waitFor('finished');\n return result.failed === 0 ? 0 : 1;\n });\n }\n}"]}
@@ -1,5 +1,4 @@
1
- import { Arguments } from '../command';
2
- import { WorkspaceArgs, WorkspaceCommand } from '../workspace.command';
1
+ import { Arguments, WorkspaceArgs, WorkspaceCommand } from '@jujulego/jill-common';
3
2
  export declare class InfoCommand extends WorkspaceCommand {
4
3
  readonly name = "info";
5
4
  readonly description = "Print workspace data";
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["commands/info.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAMnF,qBAAa,WAAY,SAAQ,gBAAgB;IAE/C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,0BAA0B;cAG9B,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAY7D,aAAa;YAWb,SAAS;CAiCxB","file":"info.command.d.ts","sourcesContent":["import { Arguments, WorkspaceArgs, WorkspaceCommand } from '@jujulego/jill-common';\nimport { Workspace } from '@jujulego/jill-core';\nimport chalk from 'chalk';\nimport path from 'path';\n\n// Command\nexport class InfoCommand extends WorkspaceCommand {\n // Attributes\n readonly name = 'info';\n readonly description = 'Print workspace data';\n\n // Methods\n protected async run(args: Arguments<WorkspaceArgs>): Promise<number | void> {\n await super.run(args);\n this.spinner.stop();\n\n // Print data\n this.log(chalk`Workspace {bold ${this.workspace.name}}:`);\n this.log(chalk`{bold Version:} ${this.workspace.manifest.version || chalk.grey('unset')}`);\n this.log(chalk`{bold Directory:} ${path.relative(process.cwd(), this.workspace.cwd) || '.'}`);\n this.log('');\n await this.printDepsTree();\n }\n\n private async printDepsTree(): Promise<void> {\n this.log(chalk`{bold Dependencies:}`);\n const printed = new Set([this.workspace.name]);\n\n await this.printTree(this.workspace, '', false, printed);\n\n if (printed.size === 1) {\n this.log(chalk.grey(` No dependencies for ${this.workspace.name}`));\n }\n }\n\n private async printTree(wks: Workspace, level: string, dev: boolean, printed: Set<string>) {\n const workspaces: [Workspace, boolean][] = [];\n\n for await (const dep of wks.dependencies()) {\n workspaces.push([dep, dev]);\n }\n\n for await (const dep of wks.devDependencies()) {\n workspaces.push([dep, true]);\n }\n\n for (let i = 0; i < workspaces.length; ++i) {\n const [dep, isDev] = workspaces[i];\n const isPrinted = printed.has(dep.cwd);\n const isLast = i === workspaces.length - 1;\n\n // Format\n let name = dep.name;\n if (dep.version) name = chalk`${name}{grey @${dep.version}}`;\n if (isDev) name = chalk.blue(`${name} (dev)`);\n if (isPrinted) name = chalk.italic(name);\n\n const branchFmt = dev ? chalk.blue : (s: string) => s;\n\n this.log(`${level}${branchFmt(`${isLast ? '└' : '├' }─ `)}${name}`);\n\n // Print deps of dep\n if (!isPrinted) {\n printed.add(dep.cwd);\n await this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);\n }\n }\n }\n}\n"]}
@@ -5,79 +5,174 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.InfoCommand = void 0;
7
7
 
8
+ var _jillCommon = require("@jujulego/jill-common");
9
+
8
10
  var _chalk = _interopRequireDefault(require("chalk"));
9
11
 
10
12
  var _path = _interopRequireDefault(require("path"));
11
13
 
12
- var _workspace = require("../workspace.command");
13
-
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) {
18
+ return value instanceof P ? value : new P(function (resolve) {
19
+ resolve(value);
20
+ });
21
+ }
17
22
 
18
- // Command
19
- class InfoCommand extends _workspace.WorkspaceCommand {
20
- constructor(...args) {
21
- super(...args);
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) {
25
+ try {
26
+ step(generator.next(value));
27
+ } catch (e) {
28
+ reject(e);
29
+ }
30
+ }
22
31
 
23
- _defineProperty(this, "name", 'info');
32
+ function rejected(value) {
33
+ try {
34
+ step(generator["throw"](value));
35
+ } catch (e) {
36
+ reject(e);
37
+ }
38
+ }
24
39
 
25
- _defineProperty(this, "description", 'Print workspace data');
26
- }
40
+ function step(result) {
41
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
42
+ }
27
43
 
28
- // Methods
29
- async run(args) {
30
- await super.run(args);
31
- this.spinner.stop(); // Print data
44
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
45
+ });
46
+ };
47
+
48
+ var __asyncValues = void 0 && (void 0).__asyncValues || function (o) {
49
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
50
+ var m = o[Symbol.asyncIterator],
51
+ i;
52
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
53
+ return this;
54
+ }, i);
55
+
56
+ function verb(n) {
57
+ i[n] = o[n] && function (v) {
58
+ return new Promise(function (resolve, reject) {
59
+ v = o[n](v), settle(resolve, reject, v.done, v.value);
60
+ });
61
+ };
62
+ }
32
63
 
33
- this.log((0, _chalk.default)`Workspace {bold ${this.workspace.name}}:`);
34
- this.log((0, _chalk.default)`{bold Version:} ${this.workspace.manifest.version || _chalk.default.grey('unset')}`);
35
- this.log((0, _chalk.default)`{bold Directory:} ${_path.default.relative(process.cwd(), this.workspace.cwd) || '.'}`);
36
- this.log('');
37
- await this.printDepsTree();
64
+ function settle(resolve, reject, d, v) {
65
+ Promise.resolve(v).then(function (v) {
66
+ resolve({
67
+ value: v,
68
+ done: d
69
+ });
70
+ }, reject);
38
71
  }
72
+ };
73
+
74
+ // Command
75
+ class InfoCommand extends _jillCommon.WorkspaceCommand {
76
+ constructor() {
77
+ super(...arguments); // Attributes
39
78
 
40
- async printDepsTree() {
41
- this.log((0, _chalk.default)`{bold Dependencies:}`);
42
- const printed = new Set([this.workspace.name]);
43
- await this.printTree(this.workspace, '', false, printed);
79
+ this.name = 'info';
80
+ this.description = 'Print workspace data';
81
+ } // Methods
44
82
 
45
- if (printed.size === 1) {
46
- this.log(_chalk.default.grey(` No dependencies for ${this.workspace.name}`));
47
- }
83
+
84
+ run(args) {
85
+ const _super = Object.create(null, {
86
+ run: {
87
+ get: () => super.run
88
+ }
89
+ });
90
+
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ yield _super.run.call(this, args);
93
+ this.spinner.stop(); // Print data
94
+
95
+ this.log((0, _chalk.default)`Workspace {bold ${this.workspace.name}}:`);
96
+ this.log((0, _chalk.default)`{bold Version:} ${this.workspace.manifest.version || _chalk.default.grey('unset')}`);
97
+ this.log((0, _chalk.default)`{bold Directory:} ${_path.default.relative(process.cwd(), this.workspace.cwd) || '.'}`);
98
+ this.log('');
99
+ yield this.printDepsTree();
100
+ });
48
101
  }
49
102
 
50
- async printTree(wks, level, dev, printed) {
51
- const workspaces = [];
103
+ printDepsTree() {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ this.log((0, _chalk.default)`{bold Dependencies:}`);
106
+ const printed = new Set([this.workspace.name]);
107
+ yield this.printTree(this.workspace, '', false, printed);
52
108
 
53
- for await (const dep of wks.dependencies()) {
54
- workspaces.push([dep, dev]);
55
- }
109
+ if (printed.size === 1) {
110
+ this.log(_chalk.default.grey(` No dependencies for ${this.workspace.name}`));
111
+ }
112
+ });
113
+ }
56
114
 
57
- for await (const dep of wks.devDependencies()) {
58
- workspaces.push([dep, true]);
59
- }
115
+ printTree(wks, level, dev, printed) {
116
+ var e_1, _a, e_2, _b;
117
+
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const workspaces = [];
120
+
121
+ try {
122
+ for (var _c = __asyncValues(wks.dependencies()), _d; _d = yield _c.next(), !_d.done;) {
123
+ const dep = _d.value;
124
+ workspaces.push([dep, dev]);
125
+ }
126
+ } catch (e_1_1) {
127
+ e_1 = {
128
+ error: e_1_1
129
+ };
130
+ } finally {
131
+ try {
132
+ if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);
133
+ } finally {
134
+ if (e_1) throw e_1.error;
135
+ }
136
+ }
60
137
 
61
- for (let i = 0; i < workspaces.length; ++i) {
62
- const [dep, isDev] = workspaces[i];
63
- const isPrinted = printed.has(dep.cwd);
64
- const isLast = i === workspaces.length - 1; // Format
65
-
66
- let name = dep.name;
67
- if (dep.version) name = (0, _chalk.default)`${name}{grey @${dep.version}}`;
68
- if (isDev) name = _chalk.default.blue(`${name} (dev)`);
69
- if (isPrinted) name = _chalk.default.italic(name);
70
- const branchFmt = dev ? _chalk.default.blue : s => s;
71
- this.log(`${level}${branchFmt(`${isLast ? '└' : '├'}─ `)}${name}`); // Print deps of dep
72
-
73
- if (!isPrinted) {
74
- printed.add(dep.cwd);
75
- await this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);
138
+ try {
139
+ for (var _e = __asyncValues(wks.devDependencies()), _f; _f = yield _e.next(), !_f.done;) {
140
+ const dep = _f.value;
141
+ workspaces.push([dep, true]);
142
+ }
143
+ } catch (e_2_1) {
144
+ e_2 = {
145
+ error: e_2_1
146
+ };
147
+ } finally {
148
+ try {
149
+ if (_f && !_f.done && (_b = _e.return)) yield _b.call(_e);
150
+ } finally {
151
+ if (e_2) throw e_2.error;
152
+ }
76
153
  }
77
- }
154
+
155
+ for (let i = 0; i < workspaces.length; ++i) {
156
+ const [dep, isDev] = workspaces[i];
157
+ const isPrinted = printed.has(dep.cwd);
158
+ const isLast = i === workspaces.length - 1; // Format
159
+
160
+ let name = dep.name;
161
+ if (dep.version) name = (0, _chalk.default)`${name}{grey @${dep.version}}`;
162
+ if (isDev) name = _chalk.default.blue(`${name} (dev)`);
163
+ if (isPrinted) name = _chalk.default.italic(name);
164
+ const branchFmt = dev ? _chalk.default.blue : s => s;
165
+ this.log(`${level}${branchFmt(`${isLast ? '└' : '├'}─ `)}${name}`); // Print deps of dep
166
+
167
+ if (!isPrinted) {
168
+ printed.add(dep.cwd);
169
+ yield this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);
170
+ }
171
+ }
172
+ });
78
173
  }
79
174
 
80
175
  }
81
176
 
82
177
  exports.InfoCommand = InfoCommand;
83
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1hbmRzL2luZm8uY29tbWFuZC50cyJdLCJuYW1lcyI6WyJJbmZvQ29tbWFuZCIsIldvcmtzcGFjZUNvbW1hbmQiLCJydW4iLCJhcmdzIiwic3Bpbm5lciIsInN0b3AiLCJsb2ciLCJ3b3Jrc3BhY2UiLCJuYW1lIiwibWFuaWZlc3QiLCJ2ZXJzaW9uIiwiY2hhbGsiLCJncmV5IiwicGF0aCIsInJlbGF0aXZlIiwicHJvY2VzcyIsImN3ZCIsInByaW50RGVwc1RyZWUiLCJwcmludGVkIiwiU2V0IiwicHJpbnRUcmVlIiwic2l6ZSIsIndrcyIsImxldmVsIiwiZGV2Iiwid29ya3NwYWNlcyIsImRlcCIsImRlcGVuZGVuY2llcyIsInB1c2giLCJkZXZEZXBlbmRlbmNpZXMiLCJpIiwibGVuZ3RoIiwiaXNEZXYiLCJpc1ByaW50ZWQiLCJoYXMiLCJpc0xhc3QiLCJibHVlIiwiaXRhbGljIiwiYnJhbmNoRm10IiwicyIsImFkZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQUNBOztBQUdBOzs7Ozs7QUFFQTtBQUNPLE1BQU1BLFdBQU4sU0FBMEJDLDJCQUExQixDQUEyQztBQUFBO0FBQUE7O0FBQUEsa0NBRWhDLE1BRmdDOztBQUFBLHlDQUd6QixzQkFIeUI7QUFBQTs7QUFLaEQ7QUFDbUIsUUFBSEMsR0FBRyxDQUFDQyxJQUFELEVBQXlEO0FBQzFFLFVBQU0sTUFBTUQsR0FBTixDQUFVQyxJQUFWLENBQU47QUFDQSxTQUFLQyxPQUFMLENBQWFDLElBQWIsR0FGMEUsQ0FJMUU7O0FBQ0EsU0FBS0MsR0FBTCxDQUFTLG1CQUFNLG1CQUFrQixLQUFLQyxTQUFMLENBQWVDLElBQUssSUFBckQ7QUFDQSxTQUFLRixHQUFMLENBQVMsbUJBQU0scUJBQW9CLEtBQUtDLFNBQUwsQ0FBZUUsUUFBZixDQUF3QkMsT0FBeEIsSUFBbUNDLGVBQU1DLElBQU4sQ0FBVyxPQUFYLENBQW9CLEVBQTFGO0FBQ0EsU0FBS04sR0FBTCxDQUFTLG1CQUFNLHFCQUFvQk8sY0FB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ZCxPQUF4RSxDQUFOO0FBQ0Q7QUFDRjtBQUNGOztBQTdEK0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAanVqdWxlZ28vamlsbC1jb3JlJztcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgQXJndW1lbnRzIH0gZnJvbSAnLi4vY29tbWFuZCc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VBcmdzLCBXb3Jrc3BhY2VDb21tYW5kIH0gZnJvbSAnLi4vd29ya3NwYWNlLmNvbW1hbmQnO1xuXG4vLyBDb21tYW5kXG5leHBvcnQgY2xhc3MgSW5mb0NvbW1hbmQgZXh0ZW5kcyBXb3Jrc3BhY2VDb21tYW5kIHtcbiAgLy8gQXR0cmlidXRlc1xuICByZWFkb25seSBuYW1lID0gJ2luZm8nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9ICdQcmludCB3b3Jrc3BhY2UgZGF0YSc7XG5cbiAgLy8gTWV0aG9kc1xuICBwcm90ZWN0ZWQgYXN5bmMgcnVuKGFyZ3M6IEFyZ3VtZW50czxXb3Jrc3BhY2VBcmdzPik6IFByb21pc2U8bnVtYmVyIHwgdm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLnJ1bihhcmdzKTtcbiAgICB0aGlzLnNwaW5uZXIuc3RvcCgpO1xuXG4gICAgLy8gUHJpbnQgZGF0YVxuICAgIHRoaXMubG9nKGNoYWxrYFdvcmtzcGFjZSB7Ym9sZCAke3RoaXMud29ya3NwYWNlLm5hbWV9fTpgKTtcbiAgICB0aGlzLmxvZyhjaGFsa2B7Ym9sZCBWZXJzaW9uOn0gICAke3RoaXMud29ya3NwYWNlLm1hbmlmZXN0LnZlcnNpb24gfHwgY2hhbGsuZ3JleSgndW5zZXQnKX1gKTtcbiAgICB0aGlzLmxvZyhjaGFsa2B7Ym9sZCBEaXJlY3Rvcnk6fSAke3BhdGgucmVsYXRpdmUocHJvY2Vzcy5jd2QoKSwgdGhpcy53b3Jrc3BhY2UuY3dkKSB8fCAnLid9YCk7XG4gICAgdGhpcy5sb2coJycpO1xuICAgIGF3YWl0IHRoaXMucHJpbnREZXBzVHJlZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmludERlcHNUcmVlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9nKGNoYWxrYHtib2xkIERlcGVuZGVuY2llczp9YCk7XG4gICAgY29uc3QgcHJpbnRlZCA9IG5ldyBTZXQoW3RoaXMud29ya3NwYWNlLm5hbWVdKTtcblxuICAgIGF3YWl0IHRoaXMucHJpbnRUcmVlKHRoaXMud29ya3NwYWNlLCAnJywgZmFsc2UsIHByaW50ZWQpO1xuXG4gICAgaWYgKHByaW50ZWQuc2l6ZSA9PT0gMSkge1xuICAgICAgdGhpcy5sb2coY2hhbGsuZ3JleShgICAgTm8gZGVwZW5kZW5jaWVzIGZvciAke3RoaXMud29ya3NwYWNlLm5hbWV9YCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJpbnRUcmVlKHdrczogV29ya3NwYWNlLCBsZXZlbDogc3RyaW5nLCBkZXY6IGJvb2xlYW4sIHByaW50ZWQ6IFNldDxzdHJpbmc+KSB7XG4gICAgY29uc3Qgd29ya3NwYWNlczogW1dvcmtzcGFjZSwgYm9vbGVhbl1bXSA9IFtdO1xuXG4gICAgZm9yIGF3YWl0IChjb25zdCBkZXAgb2Ygd2tzLmRlcGVuZGVuY2llcygpKSB7XG4gICAgICB3b3Jrc3BhY2VzLnB1c2goW2RlcCwgZGV2XSk7XG4gICAgfVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBkZXAgb2Ygd2tzLmRldkRlcGVuZGVuY2llcygpKSB7XG4gICAgICB3b3Jrc3BhY2VzLnB1c2goW2RlcCwgdHJ1ZV0pO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd29ya3NwYWNlcy5sZW5ndGg7ICsraSkge1xuICAgICAgY29uc3QgW2RlcCwgaXNEZXZdID0gd29ya3NwYWNlc1tpXTtcbiAgICAgIGNvbnN0IGlzUHJpbnRlZCA9IHByaW50ZWQuaGFzKGRlcC5jd2QpO1xuICAgICAgY29uc3QgaXNMYXN0ID0gaSA9PT0gd29ya3NwYWNlcy5sZW5ndGggLSAxO1xuXG4gICAgICAvLyBGb3JtYXRcbiAgICAgIGxldCBuYW1lID0gZGVwLm5hbWU7XG4gICAgICBpZiAoZGVwLnZlcnNpb24pIG5hbWUgPSBjaGFsa2Ake25hbWV9e2dyZXkgQCR7ZGVwLnZlcnNpb259fWA7XG4gICAgICBpZiAoaXNEZXYpIG5hbWUgPSBjaGFsay5ibHVlKGAke25hbWV9IChkZXYpYCk7XG4gICAgICBpZiAoaXNQcmludGVkKSBuYW1lID0gY2hhbGsuaXRhbGljKG5hbWUpO1xuXG4gICAgICBjb25zdCBicmFuY2hGbXQgPSBkZXYgPyBjaGFsay5ibHVlIDogKHM6IHN0cmluZykgPT4gcztcblxuICAgICAgdGhpcy5sb2coYCR7bGV2ZWx9JHticmFuY2hGbXQoYCR7aXNMYXN0ID8gJ+KUlCcgOiAn4pScJyB94pSAIGApfSR7bmFtZX1gKTtcblxuICAgICAgLy8gUHJpbnQgZGVwcyBvZiBkZXBcbiAgICAgIGlmICghaXNQcmludGVkKSB7XG4gICAgICAgIHByaW50ZWQuYWRkKGRlcC5jd2QpO1xuICAgICAgICBhd2FpdCB0aGlzLnByaW50VHJlZShkZXAsIGxldmVsICsgKGlzTGFzdCA/ICcgICAnIDogYnJhbmNoRm10KCfilIIgICcpKSwgaXNEZXYsIHByaW50ZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJmaWxlIjoiY29tbWFuZHMvaW5mby5jb21tYW5kLmpzIn0=
178
+ //# sourceMappingURL=info.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["commands/info.command.ts","commands/info.command.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__asyncValues","o","Symbol","asyncIterator","TypeError","m","i","call","__values","iterator","verb","n","v","settle","d","InfoCommand","WorkspaceCommand","constructor","arguments","name","description","run","args","_super","Object","create","get","spinner","stop","log","workspace","manifest","version","chalk","grey","path","relative","process","cwd","printDepsTree","printed","Set","printTree","size","wks","level","dev","e_1","_a","e_2","_b","workspaces","_c","dependencies","_d","dep","push","e_1_1","error","return","_e","devDependencies","_f","e_2_1","length","isDev","isPrinted","has","isLast","blue","italic","branchFmt","s","add"],"mappings":"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","file":"info.command.js","sourcesContent":["import { Arguments, WorkspaceArgs, WorkspaceCommand } from '@jujulego/jill-common';\nimport { Workspace } from '@jujulego/jill-core';\nimport chalk from 'chalk';\nimport path from 'path';\n\n// Command\nexport class InfoCommand extends WorkspaceCommand {\n // Attributes\n readonly name = 'info';\n readonly description = 'Print workspace data';\n\n // Methods\n protected async run(args: Arguments<WorkspaceArgs>): Promise<number | void> {\n await super.run(args);\n this.spinner.stop();\n\n // Print data\n this.log(chalk`Workspace {bold ${this.workspace.name}}:`);\n this.log(chalk`{bold Version:} ${this.workspace.manifest.version || chalk.grey('unset')}`);\n this.log(chalk`{bold Directory:} ${path.relative(process.cwd(), this.workspace.cwd) || '.'}`);\n this.log('');\n await this.printDepsTree();\n }\n\n private async printDepsTree(): Promise<void> {\n this.log(chalk`{bold Dependencies:}`);\n const printed = new Set([this.workspace.name]);\n\n await this.printTree(this.workspace, '', false, printed);\n\n if (printed.size === 1) {\n this.log(chalk.grey(` No dependencies for ${this.workspace.name}`));\n }\n }\n\n private async printTree(wks: Workspace, level: string, dev: boolean, printed: Set<string>) {\n const workspaces: [Workspace, boolean][] = [];\n\n for await (const dep of wks.dependencies()) {\n workspaces.push([dep, dev]);\n }\n\n for await (const dep of wks.devDependencies()) {\n workspaces.push([dep, true]);\n }\n\n for (let i = 0; i < workspaces.length; ++i) {\n const [dep, isDev] = workspaces[i];\n const isPrinted = printed.has(dep.cwd);\n const isLast = i === workspaces.length - 1;\n\n // Format\n let name = dep.name;\n if (dep.version) name = chalk`${name}{grey @${dep.version}}`;\n if (isDev) name = chalk.blue(`${name} (dev)`);\n if (isPrinted) name = chalk.italic(name);\n\n const branchFmt = dev ? chalk.blue : (s: string) => s;\n\n this.log(`${level}${branchFmt(`${isLast ? '└' : '├' }─ `)}${name}`);\n\n // Print deps of dep\n if (!isPrinted) {\n printed.add(dep.cwd);\n await this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);\n }\n }\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nimport { WorkspaceCommand } from '@jujulego/jill-common';\nimport chalk from 'chalk';\nimport path from 'path';\n// Command\nexport class InfoCommand extends WorkspaceCommand {\n constructor() {\n super(...arguments);\n // Attributes\n this.name = 'info';\n this.description = 'Print workspace data';\n }\n // Methods\n run(args) {\n const _super = Object.create(null, {\n run: { get: () => super.run }\n });\n return __awaiter(this, void 0, void 0, function* () {\n yield _super.run.call(this, args);\n this.spinner.stop();\n // Print data\n this.log(chalk `Workspace {bold ${this.workspace.name}}:`);\n this.log(chalk `{bold Version:} ${this.workspace.manifest.version || chalk.grey('unset')}`);\n this.log(chalk `{bold Directory:} ${path.relative(process.cwd(), this.workspace.cwd) || '.'}`);\n this.log('');\n yield this.printDepsTree();\n });\n }\n printDepsTree() {\n return __awaiter(this, void 0, void 0, function* () {\n this.log(chalk `{bold Dependencies:}`);\n const printed = new Set([this.workspace.name]);\n yield this.printTree(this.workspace, '', false, printed);\n if (printed.size === 1) {\n this.log(chalk.grey(` No dependencies for ${this.workspace.name}`));\n }\n });\n }\n printTree(wks, level, dev, printed) {\n var e_1, _a, e_2, _b;\n return __awaiter(this, void 0, void 0, function* () {\n const workspaces = [];\n try {\n for (var _c = __asyncValues(wks.dependencies()), _d; _d = yield _c.next(), !_d.done;) {\n const dep = _d.value;\n workspaces.push([dep, dev]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _e = __asyncValues(wks.devDependencies()), _f; _f = yield _e.next(), !_f.done;) {\n const dep = _f.value;\n workspaces.push([dep, true]);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) yield _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n for (let i = 0; i < workspaces.length; ++i) {\n const [dep, isDev] = workspaces[i];\n const isPrinted = printed.has(dep.cwd);\n const isLast = i === workspaces.length - 1;\n // Format\n let name = dep.name;\n if (dep.version)\n name = chalk `${name}{grey @${dep.version}}`;\n if (isDev)\n name = chalk.blue(`${name} (dev)`);\n if (isPrinted)\n name = chalk.italic(name);\n const branchFmt = dev ? chalk.blue : (s) => s;\n this.log(`${level}${branchFmt(`${isLast ? '└' : '├'}─ `)}${name}`);\n // Print deps of dep\n if (!isPrinted) {\n printed.add(dep.cwd);\n yield this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);\n }\n }\n });\n }\n}"]}
@@ -1,5 +1,4 @@
1
- import { ProjectArgs, ProjectCommand } from '../project.command';
2
- import { Arguments, Builder } from '../command';
1
+ import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';
3
2
  export declare type Attribute = 'name' | 'version' | 'root' | 'slug';
4
3
  export declare type Data = Partial<Record<Attribute, string>>;
5
4
  export interface ListArgs extends ProjectArgs {