@jujulego/jill 1.1.18 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application.context.d.ts +28 -0
- package/dist/application.context.d.ts.map +1 -0
- package/dist/application.context.js +30 -0
- package/dist/application.context.js.map +1 -0
- package/dist/application.d.ts +7 -0
- package/dist/application.d.ts.map +1 -0
- package/dist/application.js +125 -0
- package/dist/application.js.map +1 -0
- package/dist/command.d.ts +7 -20
- package/dist/command.d.ts.map +1 -0
- package/dist/command.js +17 -62
- package/dist/command.js.map +1 -0
- package/dist/commands/each.command.d.ts +14 -13
- package/dist/commands/each.command.d.ts.map +1 -0
- package/dist/commands/each.command.js +144 -81
- package/dist/commands/each.command.js.map +1 -0
- package/dist/commands/list.command.d.ts +17 -14
- package/dist/commands/list.command.d.ts.map +1 -0
- package/dist/commands/list.command.js +199 -122
- package/dist/commands/list.command.js.map +1 -0
- package/dist/commands/run.command.d.ts +10 -11
- package/dist/commands/run.command.d.ts.map +1 -0
- package/dist/commands/run.command.js +73 -39
- package/dist/commands/run.command.js.map +1 -0
- package/dist/commands/tree.command.d.ts +7 -0
- package/dist/commands/tree.command.d.ts.map +1 -0
- package/dist/commands/tree.command.js +35 -0
- package/dist/commands/tree.command.js.map +1 -0
- package/dist/components/List.d.ts +9 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +57 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/StaticLogs.d.ts +2 -0
- package/dist/components/StaticLogs.d.ts.map +1 -0
- package/dist/components/StaticLogs.js +77 -0
- package/dist/components/StaticLogs.js.map +1 -0
- package/dist/components/TaskSetSpinner.d.ts +6 -0
- package/dist/components/TaskSetSpinner.d.ts.map +1 -0
- package/dist/components/TaskSetSpinner.js +41 -0
- package/dist/components/TaskSetSpinner.js.map +1 -0
- package/dist/components/TaskSpinner.d.ts +6 -0
- package/dist/components/TaskSpinner.d.ts.map +1 -0
- package/dist/components/TaskSpinner.js +72 -0
- package/dist/components/TaskSpinner.js.map +1 -0
- package/dist/components/WorkspaceTree.d.ts +8 -0
- package/dist/components/WorkspaceTree.d.ts.map +1 -0
- package/dist/components/WorkspaceTree.js +153 -0
- package/dist/components/WorkspaceTree.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +48 -21
- package/dist/main.js.map +1 -0
- package/dist/wrapper.d.ts +6 -0
- package/dist/wrapper.d.ts.map +1 -0
- package/dist/wrapper.js +30 -0
- package/dist/wrapper.js.map +1 -0
- package/dist/wrappers/project.wrapper.d.ts +7 -0
- package/dist/wrappers/project.wrapper.d.ts.map +1 -0
- package/dist/wrappers/project.wrapper.js +105 -0
- package/dist/wrappers/project.wrapper.js.map +1 -0
- package/dist/wrappers/workspace.wrapper.d.ts +5 -0
- package/dist/wrappers/workspace.wrapper.d.ts.map +1 -0
- package/dist/wrappers/workspace.wrapper.js +108 -0
- package/dist/wrappers/workspace.wrapper.js.map +1 -0
- package/package.json +43 -30
- package/dist/base.command.d.ts +0 -8
- package/dist/base.command.js +0 -33
- package/dist/commands/info.command.d.ts +0 -9
- package/dist/commands/info.command.js +0 -83
- package/dist/filters/affected.d.ts +0 -10
- package/dist/filters/affected.js +0 -80
- package/dist/filters/filter.d.ts +0 -8
- package/dist/filters/filter.js +0 -36
- package/dist/filters/index.d.ts +0 -2
- package/dist/filters/index.js +0 -22
- package/dist/logger.d.ts +0 -15
- package/dist/logger.js +0 -99
- package/dist/myr/commands/kill.command.d.ts +0 -11
- package/dist/myr/commands/kill.command.js +0 -52
- package/dist/myr/commands/list.command.d.ts +0 -18
- package/dist/myr/commands/list.command.js +0 -127
- package/dist/myr/commands/logs.command.d.ts +0 -11
- package/dist/myr/commands/logs.command.js +0 -83
- package/dist/myr/commands/spawn.command.d.ts +0 -11
- package/dist/myr/commands/spawn.command.js +0 -45
- package/dist/myr/commands/stop.command.d.ts +0 -7
- package/dist/myr/commands/stop.command.js +0 -43
- package/dist/myr/myr-client.d.ts +0 -22
- package/dist/myr/myr-client.js +0 -234
- package/dist/myr/myr.command.d.ts +0 -8
- package/dist/myr/myr.command.js +0 -46
- package/dist/myr/myr.process.d.ts +0 -1
- package/dist/myr/myr.process.js +0 -43
- package/dist/myr/watch.command.d.ts +0 -13
- package/dist/myr/watch.command.js +0 -87
- package/dist/pipeline.d.ts +0 -9
- package/dist/pipeline.js +0 -53
- package/dist/plugin.d.ts +0 -11
- package/dist/plugin.js +0 -40
- package/dist/project.command.d.ts +0 -13
- package/dist/project.command.js +0 -58
- package/dist/task-logger.d.ts +0 -14
- package/dist/task-logger.js +0 -66
- package/dist/utils/cli-list.d.ts +0 -15
- package/dist/utils/cli-list.js +0 -87
- package/dist/workspace.command.d.ts +0 -12
- package/dist/workspace.command.js +0 -55
|
@@ -5,111 +5,174 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.EachCommand = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _jillCommon = require("@jujulego/jill-common");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _jillCore = require("@jujulego/jill-core");
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _ink = require("ink");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _react = require("react");
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
var _command = require("../command");
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
class EachCommand extends _project.ProjectCommand {
|
|
22
|
-
constructor(...args) {
|
|
23
|
-
super(...args);
|
|
20
|
+
var _TaskSetSpinner = require("../components/TaskSetSpinner");
|
|
24
21
|
|
|
25
|
-
|
|
22
|
+
var _project = require("../wrappers/project.wrapper");
|
|
26
23
|
|
|
27
|
-
|
|
24
|
+
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
25
|
+
function adopt(value) {
|
|
26
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
27
|
+
resolve(value);
|
|
28
|
+
});
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
31
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
32
|
+
function fulfilled(value) {
|
|
33
|
+
try {
|
|
34
|
+
step(generator.next(value));
|
|
35
|
+
} catch (e) {
|
|
36
|
+
reject(e);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function rejected(value) {
|
|
41
|
+
try {
|
|
42
|
+
step(generator["throw"](value));
|
|
43
|
+
} catch (e) {
|
|
44
|
+
reject(e);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function step(result) {
|
|
49
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var __asyncValues = void 0 && (void 0).__asyncValues || function (o) {
|
|
57
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
58
|
+
var m = o[Symbol.asyncIterator],
|
|
59
|
+
i;
|
|
60
|
+
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 () {
|
|
61
|
+
return this;
|
|
62
|
+
}, i);
|
|
63
|
+
|
|
64
|
+
function verb(n) {
|
|
65
|
+
i[n] = o[n] && function (v) {
|
|
66
|
+
return new Promise(function (resolve, reject) {
|
|
67
|
+
v = o[n](v), settle(resolve, reject, v.done, v.value);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
59
70
|
}
|
|
60
71
|
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
function settle(resolve, reject, d, v) {
|
|
73
|
+
Promise.resolve(v).then(function (v) {
|
|
74
|
+
resolve({
|
|
75
|
+
value: v,
|
|
76
|
+
done: d
|
|
77
|
+
});
|
|
78
|
+
}, reject);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
63
81
|
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
// Command
|
|
83
|
+
const {
|
|
84
|
+
wrapper,
|
|
85
|
+
useArgs
|
|
86
|
+
} = (0, _project.withProject)((0, _command.command)({
|
|
87
|
+
name: 'each <script>',
|
|
88
|
+
description: 'Run script on selected workspaces',
|
|
89
|
+
builder: yargs => yargs.positional('script', {
|
|
90
|
+
type: 'string',
|
|
91
|
+
demandOption: true
|
|
92
|
+
}).option('deps-mode', {
|
|
93
|
+
choice: ['all', 'prod', 'none'],
|
|
94
|
+
default: 'all',
|
|
95
|
+
desc: 'Dependency selection mode:\n' + ' - all = dependencies AND devDependencies\n' + ' - prod = dependencies\n' + ' - none = nothing'
|
|
96
|
+
}).option('private', {
|
|
97
|
+
type: 'boolean',
|
|
98
|
+
group: 'Filters:',
|
|
99
|
+
desc: 'Print only private workspaces'
|
|
100
|
+
}).option('affected', {
|
|
101
|
+
alias: 'a',
|
|
102
|
+
type: 'string',
|
|
103
|
+
coerce: rev => rev === '' ? 'master' : rev,
|
|
104
|
+
group: 'Affected:',
|
|
105
|
+
desc: 'Print only affected workspaces towards given git revision. If no revision is given, it will check towards master.\n' + 'Replaces %name by workspace name.'
|
|
106
|
+
}).option('affected-rev-sort', {
|
|
107
|
+
type: 'string',
|
|
108
|
+
group: 'Affected:',
|
|
109
|
+
desc: 'Sort applied to git tag / git branch command'
|
|
110
|
+
}).option('affected-rev-fallback', {
|
|
111
|
+
type: 'string',
|
|
112
|
+
default: 'master',
|
|
113
|
+
group: 'Affected:',
|
|
114
|
+
desc: 'Fallback revision, used if no revision matching the given format is found'
|
|
115
|
+
})
|
|
116
|
+
})); // Component
|
|
117
|
+
|
|
118
|
+
const EachCommand = wrapper(function EachCommand() {
|
|
119
|
+
const args = useArgs();
|
|
120
|
+
const project = (0, _project.useProject)();
|
|
121
|
+
const {
|
|
122
|
+
exit
|
|
123
|
+
} = (0, _ink.useApp)(); // Refs
|
|
124
|
+
|
|
125
|
+
const tasks = (0, _react.useRef)(new _jillCore.TaskSet()); // Effects
|
|
126
|
+
|
|
127
|
+
(0, _react.useEffect)(() => void (() => __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
var e_1, _a;
|
|
129
|
+
|
|
130
|
+
var _b; // Setup pipeline
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
const pipeline = new _jillCommon.Pipeline();
|
|
134
|
+
pipeline.add(_jillCommon.Filter.scripts([args.script]));
|
|
66
135
|
|
|
67
136
|
if (args.private !== undefined) {
|
|
68
|
-
pipeline.add(
|
|
137
|
+
pipeline.add(_jillCommon.Filter.privateWorkspace(args.private));
|
|
69
138
|
}
|
|
70
139
|
|
|
71
140
|
if (args.affected !== undefined) {
|
|
72
|
-
pipeline.add(new
|
|
73
|
-
} // Filter
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const workspaces = [];
|
|
77
|
-
|
|
78
|
-
for await (const wks of pipeline.filter(this.project.workspaces())) {
|
|
79
|
-
workspaces.push(wks);
|
|
141
|
+
pipeline.add(new _jillCommon.AffectedFilter(args.affected, args.affectedRevFallback, args.affectedRevSort));
|
|
80
142
|
}
|
|
81
143
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
144
|
+
try {
|
|
145
|
+
// Filter and create tasks
|
|
146
|
+
for (var _c = __asyncValues(pipeline.filter(project.workspaces())), _d; _d = yield _c.next(), !_d.done;) {
|
|
147
|
+
const wks = _d.value;
|
|
148
|
+
tasks.current.add(yield wks.run(args.script, (_b = args['--']) === null || _b === void 0 ? void 0 : _b.map(arg => arg.toString()), {
|
|
149
|
+
buildDeps: args.depsMode
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
} catch (e_1_1) {
|
|
153
|
+
e_1 = {
|
|
154
|
+
error: e_1_1
|
|
155
|
+
};
|
|
156
|
+
} finally {
|
|
157
|
+
try {
|
|
158
|
+
if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);
|
|
159
|
+
} finally {
|
|
160
|
+
if (e_1) throw e_1.error;
|
|
161
|
+
}
|
|
85
162
|
}
|
|
86
163
|
|
|
87
|
-
|
|
88
|
-
this.logger.verbose(`Will run ${args.script} in ${workspaces.map(wks => wks.name).join(', ')}`); // Run tasks
|
|
164
|
+
tasks.current.start(); // Result end code
|
|
89
165
|
|
|
90
|
-
const
|
|
91
|
-
const tasks = [];
|
|
166
|
+
const [result] = yield tasks.current.waitFor('finished');
|
|
92
167
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
buildDeps: args['deps-mode']
|
|
96
|
-
});
|
|
97
|
-
tasks.push(task);
|
|
98
|
-
set.add(task);
|
|
168
|
+
if (result.failed) {
|
|
169
|
+
exit(new Error('Some tasks has failed'));
|
|
99
170
|
}
|
|
171
|
+
}))(), [args]); // Render
|
|
100
172
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
173
|
+
return (0, _jsxRuntime.jsx)(_TaskSetSpinner.TaskSetSpinner, {
|
|
174
|
+
taskSet: tasks.current
|
|
175
|
+
});
|
|
176
|
+
});
|
|
114
177
|
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==
|
|
178
|
+
//# sourceMappingURL=each.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["commands/each.command.js","commands/each.command.tsx"],"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","wrapper","useArgs","name","description","builder","yargs","positional","type","demandOption","option","choice","default","desc","group","alias","coerce","rev","EachCommand","args","project","exit","tasks","TaskSet","e_1","_a","_b","pipeline","Pipeline","add","Filter","scripts","script","private","undefined","privateWorkspace","affected","AffectedFilter","affectedRevFallback","affectedRevSort","_c","filter","workspaces","_d","wks","current","run","map","arg","toString","buildDeps","depsMode","e_1_1","error","return","start","waitFor","failed","Error","TaskSetSpinner","taskSet"],"mappings":"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","file":"each.command.js","sourcesContent":["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 { jsx as _jsx } from \"react/jsx-runtime\";\nimport { AffectedFilter, Filter, Pipeline } from '@jujulego/jill-common';\nimport { TaskSet } from '@jujulego/jill-core';\nimport { useApp } from 'ink';\nimport { useEffect, useRef } from 'react';\nimport { command } from '../command';\nimport { TaskSetSpinner } from '../components/TaskSetSpinner';\nimport { useProject, withProject } from '../wrappers/project.wrapper';\n// Command\nconst { wrapper, useArgs } = withProject(command({\n name: 'each <script>',\n description: 'Run script on selected workspaces',\n builder: yargs => yargs\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// Component\nexport const EachCommand = wrapper(function EachCommand() {\n const args = useArgs();\n const project = useProject();\n const { exit } = useApp();\n // Refs\n const tasks = useRef(new TaskSet());\n // Effects\n useEffect(() => void (() => __awaiter(this, void 0, void 0, function* () {\n var e_1, _a;\n var _b;\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.affectedRevFallback, args.affectedRevSort));\n }\n try {\n // Filter and create tasks\n for (var _c = __asyncValues(pipeline.filter(project.workspaces())), _d; _d = yield _c.next(), !_d.done;) {\n const wks = _d.value;\n tasks.current.add(yield wks.run(args.script, (_b = args['--']) === null || _b === void 0 ? void 0 : _b.map(arg => arg.toString()), {\n buildDeps: args.depsMode\n }));\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 tasks.current.start();\n // Result end code\n const [result] = yield tasks.current.waitFor('finished');\n if (result.failed) {\n exit(new Error('Some tasks has failed'));\n }\n }))(), [args]);\n // Render\n return (_jsx(TaskSetSpinner, { taskSet: tasks.current }));\n});","import { AffectedFilter, Filter, Pipeline } from '@jujulego/jill-common';\nimport { TaskSet, WorkspaceDepsMode } from '@jujulego/jill-core';\nimport { useApp } from 'ink';\nimport { useEffect, useRef } from 'react';\n\nimport { command } from '../command';\nimport { TaskSetSpinner } from '../components/TaskSetSpinner';\nimport { useProject, withProject } from '../wrappers/project.wrapper';\n\n// Command\nconst { wrapper, useArgs } = withProject(command({\n name: 'each <script>',\n description: 'Run script on selected workspaces',\n builder: yargs => yargs\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// Component\nexport const EachCommand = wrapper(function EachCommand() {\n const args = useArgs();\n const project = useProject();\n const { exit } = useApp();\n\n // Refs\n const tasks = useRef(new TaskSet());\n\n // Effects\n useEffect(() => void (async () => {\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.affectedRevFallback,\n args.affectedRevSort\n ));\n }\n\n // Filter and create tasks\n for await (const wks of pipeline.filter(project.workspaces())) {\n tasks.current.add(await wks.run(args.script, args['--']?.map(arg => arg.toString()), {\n buildDeps: args.depsMode\n }));\n }\n\n tasks.current.start();\n\n // Result end code\n const [result] = await tasks.current.waitFor('finished');\n\n if (result.failed) {\n exit(new Error('Some tasks has failed'));\n }\n })(), [args]);\n\n // Render\n return (\n <TaskSetSpinner taskSet={tasks.current} />\n );\n});\n"]}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
import { ProjectArgs, ProjectCommand } from '../project.command';
|
|
2
|
-
import { Arguments, Builder } from '../command';
|
|
3
1
|
export declare type Attribute = 'name' | 'version' | 'root' | 'slug';
|
|
4
2
|
export declare type Data = Partial<Record<Attribute, string>>;
|
|
5
|
-
export
|
|
3
|
+
export declare const ListCommand: import("../application.context").CommandComponent<Omit<{
|
|
6
4
|
private: boolean | undefined;
|
|
7
|
-
|
|
5
|
+
} & {
|
|
6
|
+
"with-script": string[] | undefined;
|
|
7
|
+
} & {
|
|
8
8
|
affected: string | undefined;
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
} & {
|
|
10
|
+
"affected-rev-sort": string | undefined;
|
|
11
|
+
} & {
|
|
12
|
+
"affected-rev-fallback": string;
|
|
13
|
+
} & {
|
|
11
14
|
attrs: Attribute[];
|
|
15
|
+
} & {
|
|
12
16
|
headers: boolean | undefined;
|
|
17
|
+
} & {
|
|
13
18
|
long: boolean | undefined;
|
|
19
|
+
} & {
|
|
14
20
|
json: boolean | undefined;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
protected define<T, U>(builder: Builder<T, U>): Builder<T, U & ListArgs>;
|
|
21
|
-
protected run(args: Arguments<ListArgs>): Promise<number | void>;
|
|
22
|
-
}
|
|
21
|
+
}, "project" | "package-manager"> & {
|
|
22
|
+
project: string | undefined;
|
|
23
|
+
} & {
|
|
24
|
+
"package-manager": import("@jujulego/jill-core").PackageManager | undefined;
|
|
25
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["commands/list.command.tsx"],"names":[],"mappings":"AAaA,oBAAY,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAC7D,oBAAY,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AA0FtD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;EAwEtB,CAAC","file":"list.command.d.ts","sourcesContent":["import { AffectedFilter, Filter, Pipeline } from '@jujulego/jill-common';\nimport { Workspace } from '@jujulego/jill-core';\nimport { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport * as path from 'path';\nimport { useEffect, useMemo, useState } from 'react';\nimport slugify from 'slugify';\n\nimport { command } from '../command';\nimport { useProject, withProject } from '../wrappers/project.wrapper';\nimport { List } from '../components/List';\n\n// Types\nexport type Attribute = 'name' | 'version' | 'root' | 'slug';\nexport type Data = Partial<Record<Attribute, string>>;\n\ntype Extractor<T> = (wks: Workspace, json: boolean) => T;\n\n// Constants\nconst LONG_ATTRIBUTES: Attribute[] = ['name', 'version', 'root'];\nconst JSON_ATTRIBUTES: Attribute[] = ['name', 'version', 'slug', 'root'];\nconst DEFAULT_ATTRIBUTES: Attribute[] = ['name'];\n\nconst EXTRACTORS: Record<Attribute, Extractor<string | undefined>> = {\n name: wks => wks.name,\n version: wks => wks.manifest.version || undefined,\n root: (wks, json) => json ? wks.cwd : path.relative(process.cwd(), wks.cwd) || '.',\n slug: wks => slugify(wks.name)\n};\n\n// Utils\nfunction buildExtractor(attrs: Attribute[]): Extractor<Data> {\n return (wks, json) => {\n const data: Data = {};\n\n for (const attr of attrs) {\n data[attr] = EXTRACTORS[attr](wks, json);\n }\n\n return data;\n };\n}\n\n// Command\nconst { wrapper, useArgs } = withProject(command({\n name: ['list', 'ls'],\n description: 'List workspaces',\n builder: (yargs) => yargs\n .option('private', {\n type: 'boolean',\n group: 'Filters:',\n desc: 'Print only private workspaces',\n })\n .option('with-script', {\n type: 'array',\n string: true,\n group: 'Filters:',\n desc: 'Print only workspaces having the given script',\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 .option('attrs', {\n type: 'array',\n choices: ['name', 'version', 'root', 'slug'],\n default: [] as Attribute[],\n group: 'Format:',\n desc: 'Select printed attributes'\n })\n .option('headers', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints columns headers'\n })\n .option('long', {\n alias: 'l',\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints name, version and root of all workspaces',\n })\n .option('json', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints data as a JSON array',\n }),\n}));\n\n// Component\nexport const ListCommand = wrapper(function ListComponent() {\n const args = useArgs();\n const project = useProject();\n\n // State\n const [workspaces, setWorkspaces] = useState<Workspace[]>();\n\n // Memo\n const attrs = useMemo(() => {\n let attrs = args.attrs;\n\n if (args.attrs.length === 0) {\n if (args.long) {\n attrs = LONG_ATTRIBUTES;\n } else if (args.json) {\n attrs = JSON_ATTRIBUTES;\n } else {\n attrs = DEFAULT_ATTRIBUTES;\n }\n }\n\n return attrs;\n }, [args]);\n\n const data = useMemo(() => {\n return workspaces?.map(wks => buildExtractor(attrs)(wks, args.json ?? false));\n }, [attrs, args, workspaces]);\n\n // Effects\n useEffect(() => void (async () => {\n // Setup pipeline\n const pipeline = new Pipeline();\n\n if (args.private !== undefined) {\n pipeline.add(Filter.privateWorkspace(args.private));\n }\n\n if (args.withScript !== undefined) {\n pipeline.add(Filter.scripts(args.withScript));\n }\n\n if (args.affected !== undefined) {\n pipeline.add(new AffectedFilter(\n args.affected,\n args.affectedRevFallback,\n args.affectedRevSort\n ));\n }\n\n // Filter\n const workspaces: Workspace[] = [];\n\n for await (const wks of pipeline.filter(project.workspaces())) {\n workspaces.push(wks);\n }\n\n setWorkspaces(workspaces);\n })(), [args]);\n\n // Render\n if (!data) {\n return <Text><Spinner /> Loading workspaces</Text>;\n }\n\n return (\n <List\n attrs={attrs}\n data={data}\n json={args.json}\n withoutHeaders={!(args.headers ?? (attrs.length > 1))}\n />\n );\n});\n"]}
|