@jujulego/jill 1.1.16 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/commands/each.command.d.ts +16 -0
  2. package/dist/commands/each.command.d.ts.map +1 -0
  3. package/dist/commands/each.command.js +203 -0
  4. package/dist/commands/each.command.js.map +1 -0
  5. package/dist/commands/info.command.d.ts +8 -0
  6. package/dist/commands/info.command.d.ts.map +1 -0
  7. package/dist/commands/info.command.js +178 -0
  8. package/dist/commands/info.command.js.map +1 -0
  9. package/dist/commands/list.command.d.ts +21 -0
  10. package/dist/commands/list.command.d.ts.map +1 -0
  11. package/dist/commands/list.command.js +251 -0
  12. package/dist/commands/list.command.js.map +1 -0
  13. package/dist/commands/run.command.d.ts +12 -0
  14. package/dist/commands/run.command.d.ts.map +1 -0
  15. package/dist/commands/run.command.js +111 -0
  16. package/dist/commands/run.command.js.map +1 -0
  17. package/dist/core.plugin.d.ts +2 -0
  18. package/dist/core.plugin.d.ts.map +1 -0
  19. package/dist/core.plugin.js +22 -0
  20. package/dist/core.plugin.js.map +1 -0
  21. package/dist/index.d.ts +4 -9
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +13 -26
  24. package/dist/index.js.map +1 -0
  25. package/dist/main.d.ts.map +1 -0
  26. package/dist/main.js +45 -141
  27. package/dist/main.js.map +1 -0
  28. package/dist/task-logger.d.ts.map +1 -0
  29. package/dist/task-logger.js +28 -17
  30. package/dist/task-logger.js.map +1 -0
  31. package/package.json +38 -25
  32. package/dist/commands/each.d.ts +0 -12
  33. package/dist/commands/each.js +0 -74
  34. package/dist/commands/info.d.ts +0 -5
  35. package/dist/commands/info.js +0 -42
  36. package/dist/commands/list.d.ts +0 -15
  37. package/dist/commands/list.js +0 -119
  38. package/dist/commands/run.d.ts +0 -9
  39. package/dist/commands/run.js +0 -43
  40. package/dist/filters/affected.d.ts +0 -10
  41. package/dist/filters/affected.js +0 -81
  42. package/dist/filters/filter.d.ts +0 -8
  43. package/dist/filters/filter.js +0 -35
  44. package/dist/filters/index.d.ts +0 -2
  45. package/dist/filters/index.js +0 -21
  46. package/dist/logger.d.ts +0 -32
  47. package/dist/logger.js +0 -189
  48. package/dist/myr/command.d.ts +0 -2
  49. package/dist/myr/command.js +0 -52
  50. package/dist/myr/commands/kill.d.ts +0 -5
  51. package/dist/myr/commands/kill.js +0 -34
  52. package/dist/myr/commands/list.d.ts +0 -10
  53. package/dist/myr/commands/list.js +0 -91
  54. package/dist/myr/commands/spawn.d.ts +0 -7
  55. package/dist/myr/commands/spawn.js +0 -39
  56. package/dist/myr/commands/stop.d.ts +0 -2
  57. package/dist/myr/commands/stop.js +0 -31
  58. package/dist/myr/myr-client.d.ts +0 -16
  59. package/dist/myr/myr-client.js +0 -455
  60. package/dist/myr/myr.process.d.ts +0 -1
  61. package/dist/myr/myr.process.js +0 -42
  62. package/dist/myr/watch.d.ts +0 -8
  63. package/dist/myr/watch.js +0 -79
  64. package/dist/pipeline.d.ts +0 -9
  65. package/dist/pipeline.js +0 -52
  66. package/dist/utils/cli-list.d.ts +0 -15
  67. package/dist/utils/cli-list.js +0 -86
  68. package/dist/utils/deps-tree.d.ts +0 -2
  69. package/dist/utils/deps-tree.js +0 -51
  70. package/dist/wrapper.d.ts +0 -9
  71. package/dist/wrapper.js +0 -38
@@ -1,9 +0,0 @@
1
- import { WorkspaceDepsMode } from '@jujulego/jill-core';
2
- import { CommandHandler } from '../wrapper';
3
- export interface RunArgs {
4
- script: string;
5
- workspace: string | undefined;
6
- 'deps-mode': WorkspaceDepsMode;
7
- '--'?: (string | number)[] | undefined;
8
- }
9
- export declare const runCommand: CommandHandler<RunArgs>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.runCommand = void 0;
7
-
8
- var _jillCore = require("@jujulego/jill-core");
9
-
10
- var _logger = require("../logger");
11
-
12
- var _taskLogger = require("../task-logger");
13
-
14
- // Command
15
- const runCommand = async (prj, argv) => {
16
- // Get workspace
17
- _logger.logger.spin('Loading project');
18
-
19
- const wks = await (argv.workspace ? prj.workspace(argv.workspace) : prj.currentWorkspace());
20
-
21
- if (!wks) {
22
- _logger.logger.fail(`Workspace ${argv.workspace || '.'} not found`);
23
-
24
- return 1;
25
- } // Run build task
26
-
27
-
28
- const set = new _jillCore.TaskSet();
29
- const task = await wks.run(argv.script, argv['--']?.map(arg => arg.toString()), {
30
- buildDeps: argv['deps-mode']
31
- });
32
- set.add(task);
33
- const tlogger = new _taskLogger.TaskLogger();
34
- tlogger.on('spin-simple', tsk => tsk === task ? `Running ${argv.script} in ${wks.name} ...` : `Building ${tsk.context.workspace?.name} ...`);
35
- tlogger.on('fail', tsk => tsk === task ? `${argv.script} failed` : `Failed to build ${tsk.context.workspace?.name}`);
36
- tlogger.on('succeed', tsk => tsk === task ? `${wks.name} ${argv.script} done` : `${tsk.context.workspace?.name} built`);
37
- tlogger.connect(set);
38
- set.start();
39
- const [result] = await set.waitFor('finished');
40
- return result.failed === 0 ? 0 : 1;
41
- };
42
-
43
- exports.runCommand = runCommand;
@@ -1,10 +0,0 @@
1
- import { Workspace } from '@jujulego/jill-core';
2
- import { Filter } from './filter';
3
- export declare class AffectedFilter extends Filter {
4
- readonly format: string;
5
- readonly fallback: string;
6
- readonly sort?: string | undefined;
7
- constructor(format: string, fallback: string, sort?: string | undefined);
8
- private _formatRevision;
9
- test(workspace: Workspace): Promise<boolean>;
10
- }
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AffectedFilter = void 0;
7
-
8
- var _jillCore = require("@jujulego/jill-core");
9
-
10
- var _filter = require("./filter");
11
-
12
- var _logger = require("../logger");
13
-
14
- // Class
15
- class AffectedFilter extends _filter.Filter {
16
- // Constructor
17
- constructor(format, fallback, sort) {
18
- super();
19
- this.format = format;
20
- this.fallback = fallback;
21
- this.sort = sort;
22
- } // Methods
23
-
24
-
25
- async _formatRevision(wks) {
26
- const log = _logger.logger.child({
27
- label: wks.name
28
- }); // Format revision
29
-
30
-
31
- let result = this.format;
32
- result = result.replace(/(?<!\\)((?:\\\\)*)%name/g, `$1${wks.name}`);
33
- result = result.replace(/\\(.)/g, '$1'); // Ask git to complete it
34
-
35
- const sortArgs = this.sort ? ['--sort', this.sort] : []; // - search in branches
36
-
37
- if (result.includes('*')) {
38
- const branches = await _jillCore.git.listBranches([...sortArgs, result], {
39
- cwd: wks.cwd,
40
- logger: log,
41
- streamLogLevel: 'debug'
42
- });
43
-
44
- if (branches.length > 0) {
45
- result = branches[branches.length - 1];
46
- }
47
- } // - search in tags
48
-
49
-
50
- if (result.includes('*')) {
51
- const tags = await _jillCore.git.listTags([...sortArgs, result], {
52
- cwd: wks.cwd,
53
- logger: log,
54
- streamLogLevel: 'debug'
55
- });
56
-
57
- if (tags.length > 0) {
58
- result = tags[tags.length - 1];
59
- }
60
- }
61
-
62
- if (result !== this.format) {
63
- log.verbose(`Resolved ${this.format} into ${result}`);
64
- }
65
-
66
- if (result.includes('*')) {
67
- log.warn(`No revision found matching ${result}, using fallback ${this.fallback}`);
68
- return this.fallback;
69
- }
70
-
71
- return result;
72
- }
73
-
74
- async test(workspace) {
75
- const rev = await this._formatRevision(workspace);
76
- return await workspace.isAffected(rev);
77
- }
78
-
79
- }
80
-
81
- exports.AffectedFilter = AffectedFilter;
@@ -1,8 +0,0 @@
1
- import { Workspace } from '@jujulego/jill-core';
2
- export declare class Filter {
3
- private _predicate?;
4
- constructor(_predicate?: ((workspace: Workspace) => boolean) | undefined);
5
- static privateWorkspace(value: boolean): Filter;
6
- static scripts(values: string[]): Filter;
7
- test(workspace: Workspace): Promise<boolean>;
8
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Filter = void 0;
7
-
8
- // Class
9
- class Filter {
10
- // Constructor
11
- constructor(_predicate) {
12
- this._predicate = _predicate;
13
- } // Statics
14
-
15
-
16
- static privateWorkspace(value) {
17
- return new Filter(wks => (wks.manifest.private ?? false) === value);
18
- }
19
-
20
- static scripts(values) {
21
- return new Filter(wks => {
22
- const scripts = Object.keys(wks.manifest.scripts || {});
23
- return values.some(scr => scripts.includes(scr));
24
- });
25
- } // Methods
26
-
27
-
28
- async test(workspace) {
29
- if (!this._predicate) return true;
30
- return this._predicate(workspace);
31
- }
32
-
33
- }
34
-
35
- exports.Filter = Filter;
@@ -1,2 +0,0 @@
1
- export { AffectedFilter } from './affected';
2
- export { Filter } from './filter';
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "AffectedFilter", {
7
- enumerable: true,
8
- get: function () {
9
- return _affected.AffectedFilter;
10
- }
11
- });
12
- Object.defineProperty(exports, "Filter", {
13
- enumerable: true,
14
- get: function () {
15
- return _filter.Filter;
16
- }
17
- });
18
-
19
- var _affected = require("./affected");
20
-
21
- var _filter = require("./filter");
package/dist/logger.d.ts DELETED
@@ -1,32 +0,0 @@
1
- import { Logger } from 'winston';
2
- import Transport from 'winston-transport';
3
- import ora from 'ora';
4
- export declare class OraTransport extends Transport {
5
- readonly _spinner: ora.Ora;
6
- private _keepSpinner;
7
- log(info: any, next: () => void): void;
8
- spin(message: string): void;
9
- succeed(log: string): void;
10
- fail(log: Error | string): void;
11
- stop(): void;
12
- }
13
- export declare class OraLogger {
14
- private readonly logger;
15
- private readonly transport;
16
- constructor(logger: Logger, transport: OraTransport);
17
- log(level: string, message: string, meta?: Record<string, unknown>): void;
18
- debug(message: string): void;
19
- verbose(message: string): void;
20
- info(message: string): void;
21
- warn(message: string): void;
22
- error(message: string): void;
23
- child(options: Record<string, unknown>): Logger;
24
- spin(msg: string): void;
25
- succeed(msg: string): void;
26
- fail(msg: string): void;
27
- stop(): void;
28
- get level(): string;
29
- set level(level: string);
30
- }
31
- export declare const transport: OraTransport;
32
- export declare const logger: OraLogger;
package/dist/logger.js DELETED
@@ -1,189 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.transport = exports.logger = exports.OraTransport = exports.OraLogger = void 0;
7
-
8
- var _jillCore = require("@jujulego/jill-core");
9
-
10
- var _winston = require("winston");
11
-
12
- var _winstonTransport = _interopRequireDefault(require("winston-transport"));
13
-
14
- var _ora = _interopRequireDefault(require("ora"));
15
-
16
- var _chalk = _interopRequireDefault(require("chalk"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- 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; }
21
-
22
- // Constants
23
- const MESSAGE = Symbol.for('message'); // Transport
24
-
25
- class OraTransport extends _winstonTransport.default {
26
- constructor(...args) {
27
- super(...args);
28
-
29
- _defineProperty(this, "_spinner", (0, _ora.default)());
30
- }
31
-
32
- // Methods
33
- _keepSpinner(fun) {
34
- // Save state
35
- let spinning = false;
36
- let text = '';
37
-
38
- if (this._spinner.isSpinning) {
39
- spinning = true;
40
- text = this._spinner.text;
41
- }
42
-
43
- try {
44
- return fun();
45
- } finally {
46
- // Restore state
47
- if (!this._spinner.isSpinning && spinning) {
48
- this._spinner.start(text);
49
- }
50
- }
51
- }
52
-
53
- log(info, next) {
54
- // Print message
55
- const msg = info[MESSAGE];
56
-
57
- this._keepSpinner(() => {
58
- this._spinner.stop();
59
-
60
- for (const line of msg.split('\n')) {
61
- process.stderr.write(line + '\n');
62
- }
63
- });
64
-
65
- next();
66
- }
67
-
68
- spin(message) {
69
- this._spinner.start(message);
70
- }
71
-
72
- succeed(log) {
73
- this._spinner.succeed(log);
74
- }
75
-
76
- fail(log) {
77
- if (typeof log === 'string') {
78
- this._spinner.fail(log);
79
- } else {
80
- this._spinner.fail(log.stack || log.toString());
81
- }
82
- }
83
-
84
- stop() {
85
- this._spinner.stop();
86
- }
87
-
88
- } // Logger
89
-
90
-
91
- exports.OraTransport = OraTransport;
92
-
93
- class OraLogger {
94
- // Logger
95
- constructor(logger, transport) {
96
- this.logger = logger;
97
- this.transport = transport;
98
- } // Methods
99
- // - logger
100
-
101
-
102
- log(level, message, meta) {
103
- this.logger.log(level, message, meta);
104
- }
105
-
106
- debug(message) {
107
- this.logger.debug({
108
- message
109
- });
110
- }
111
-
112
- verbose(message) {
113
- this.logger.verbose({
114
- message
115
- });
116
- }
117
-
118
- info(message) {
119
- this.logger.info({
120
- message
121
- });
122
- }
123
-
124
- warn(message) {
125
- this.logger.warn({
126
- message
127
- });
128
- }
129
-
130
- error(message) {
131
- this.logger.error({
132
- message
133
- });
134
- }
135
-
136
- child(options) {
137
- return this.logger.child(options);
138
- } // - ora
139
-
140
-
141
- spin(msg) {
142
- this.transport.spin(msg);
143
- }
144
-
145
- succeed(msg) {
146
- this.transport.succeed(msg);
147
- }
148
-
149
- fail(msg) {
150
- this.transport.fail(msg);
151
- }
152
-
153
- stop() {
154
- this.transport.stop();
155
- } // Properties
156
-
157
-
158
- get level() {
159
- return this.logger.level;
160
- }
161
-
162
- set level(level) {
163
- this.logger.level = level;
164
- }
165
-
166
- } // Setup
167
-
168
-
169
- exports.OraLogger = OraLogger;
170
- const transport = new OraTransport({
171
- format: _winston.format.combine(_winston.format.colorize({
172
- message: true,
173
- colors: {
174
- debug: 'grey',
175
- verbose: 'blue',
176
- info: 'white',
177
- error: 'red'
178
- }
179
- }), _winston.format.printf(({
180
- label,
181
- message
182
- }) => message.split('\n').map(line => [label && _chalk.default.grey(`[${label}]`), line].filter(p => p).join(' ')).join('\n')))
183
- });
184
- exports.transport = transport;
185
-
186
- _jillCore.logger.add(transport);
187
-
188
- const logger = new OraLogger(_jillCore.logger, transport);
189
- exports.logger = logger;
@@ -1,2 +0,0 @@
1
- import yargs from 'yargs';
2
- export declare function myrCommand(yargs: yargs.Argv): void;
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.myrCommand = myrCommand;
7
-
8
- var _kill = require("./commands/kill");
9
-
10
- var _list = require("./commands/list");
11
-
12
- var _spawn = require("./commands/spawn");
13
-
14
- var _stop = require("./commands/stop");
15
-
16
- var _wrapper = require("../wrapper");
17
-
18
- // Command
19
- function myrCommand(yargs) {
20
- yargs.command(['list', 'ls'], 'List myr tasks', {
21
- all: {
22
- alias: 'a',
23
- type: 'boolean',
24
- group: 'Filters:',
25
- desc: 'Show all tasks (by default list shows only running tasks)'
26
- },
27
- attrs: {
28
- type: 'array',
29
- choices: ['identifier', 'status', 'cwd', 'command', 'cmd', 'args'],
30
- group: 'Format:',
31
- desc: 'Select printed attributes'
32
- },
33
- headers: {
34
- type: 'boolean',
35
- group: 'Format:',
36
- desc: 'Prints columns headers'
37
- },
38
- long: {
39
- alias: 'l',
40
- type: 'boolean',
41
- conflicts: 'attrs',
42
- group: 'Format:',
43
- desc: 'Prints more data on each tasks'
44
- }
45
- }, (0, _wrapper.commandHandler)(_list.listCommand)).command('spawn <command>', 'Spawn new task', {
46
- workspace: {
47
- alias: 'w',
48
- type: 'string',
49
- desc: 'Workspace to use'
50
- }
51
- }, (0, _wrapper.commandHandler)(_spawn.spawnCommand)).command('kill <id>', 'Kill task', {}, (0, _wrapper.commandHandler)(_kill.killCommand)).command('stop', 'Stop myr server. This will kill all running tasks', {}, (0, _wrapper.commandHandler)(_stop.stopCommand)).demandCommand(1);
52
- }
@@ -1,5 +0,0 @@
1
- import { CommandHandler } from '../../wrapper';
2
- export interface KillArgs {
3
- id: string;
4
- }
5
- export declare const killCommand: CommandHandler<KillArgs>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.killCommand = void 0;
7
-
8
- var _logger = require("../../logger");
9
-
10
- var _myrClient = require("../myr-client");
11
-
12
- // Command
13
- const killCommand = async (prj, argv) => {
14
- // Spawn task
15
- _logger.logger.spin('Connecting to myr');
16
-
17
- const client = new _myrClient.MyrClient(prj);
18
-
19
- _logger.logger.spin('Killing task');
20
-
21
- const task = await client.kill(argv.id);
22
-
23
- if (task) {
24
- _logger.logger.succeed(`Task ${task.id} killed`);
25
-
26
- return 0;
27
- } else {
28
- _logger.logger.fail(`Task ${argv.id} not found`);
29
-
30
- return 1;
31
- }
32
- };
33
-
34
- exports.killCommand = killCommand;
@@ -1,10 +0,0 @@
1
- import { CommandHandler } from '../../wrapper';
2
- export declare type Attribute = 'identifier' | 'status' | 'cwd' | 'command' | 'cmd' | 'args';
3
- export declare type Data = Partial<Record<Attribute, string>>;
4
- export interface ListArgs {
5
- all: boolean;
6
- attrs: Attribute[] | undefined;
7
- headers: boolean | undefined;
8
- long: boolean;
9
- }
10
- export declare const listCommand: CommandHandler<ListArgs>;
@@ -1,91 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.listCommand = void 0;
7
-
8
- var _chalk = _interopRequireDefault(require("chalk"));
9
-
10
- var _path = _interopRequireDefault(require("path"));
11
-
12
- var _logger = require("../../logger");
13
-
14
- var _myrClient = require("../myr-client");
15
-
16
- var _cliList = require("../../utils/cli-list");
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- // Constants
21
- const COLORED_STATUS = {
22
- blocked: _chalk.default.yellow('blocked'),
23
- ready: _chalk.default.blue('ready'),
24
- running: 'running',
25
- failed: _chalk.default.red('failed'),
26
- done: _chalk.default.green('done')
27
- };
28
- const LONG_ATTRIBUTES = ['identifier', 'status', 'cwd', 'command'];
29
- const DEFAULT_ATTRIBUTES = ['identifier', 'command']; // Utils
30
-
31
- const extractors = {
32
- identifier: tsk => _chalk.default.grey(tsk.id),
33
- status: tsk => COLORED_STATUS[tsk.status],
34
- cwd: tsk => _path.default.relative(process.cwd(), tsk.cwd) || '.',
35
- command: tsk => `${tsk.cmd} ${tsk.args.join(' ')}`,
36
- cmd: tsk => tsk.cmd,
37
- args: tsk => tsk.args.join(' ')
38
- };
39
-
40
- function buildExtractor(attrs) {
41
- return (tsk, argv) => {
42
- const data = {};
43
-
44
- for (const attr of attrs) {
45
- data[attr] = extractors[attr](tsk, argv);
46
- }
47
-
48
- return data;
49
- };
50
- } // Handle
51
-
52
-
53
- const listCommand = async (prj, argv) => {
54
- // Requesting tasks
55
- _logger.logger.spin('Connecting to myr');
56
-
57
- const client = new _myrClient.MyrClient(prj);
58
-
59
- _logger.logger.spin('Requesting tasks');
60
-
61
- const tasks = await client.tasks();
62
-
63
- _logger.logger.stop(); // Build data
64
-
65
-
66
- let attrs = argv.attrs || DEFAULT_ATTRIBUTES;
67
-
68
- if (!argv.attrs && argv.long) {
69
- attrs = LONG_ATTRIBUTES;
70
- }
71
-
72
- const data = tasks.filter(tsk => argv.all || tsk.status === 'running').map(tsk => buildExtractor(attrs)(tsk, argv)); // Print data
73
-
74
- const list = new _cliList.CliList();
75
-
76
- if (argv.headers ?? attrs.length > 1) {
77
- list.setHeaders(attrs);
78
- }
79
-
80
- for (const d of data) {
81
- list.add(attrs.map(attr => d[attr] || ''));
82
- }
83
-
84
- for (const d of list.lines()) {
85
- console.log(d);
86
- }
87
-
88
- return 0;
89
- };
90
-
91
- exports.listCommand = listCommand;
@@ -1,7 +0,0 @@
1
- import { CommandHandler } from '../../wrapper';
2
- export interface SpawnArgs {
3
- command: string;
4
- workspace: string | undefined;
5
- '--'?: (string | number)[] | undefined;
6
- }
7
- export declare const spawnCommand: CommandHandler<SpawnArgs>;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.spawnCommand = void 0;
7
-
8
- var _logger = require("../../logger");
9
-
10
- var _myrClient = require("../myr-client");
11
-
12
- // Command
13
- const spawnCommand = async (prj, argv) => {
14
- // Get workspace
15
- _logger.logger.spin('Loading project');
16
-
17
- const wks = await (argv.workspace ? prj.workspace(argv.workspace) : prj.currentWorkspace());
18
-
19
- if (!wks) {
20
- _logger.logger.fail(`Workspace ${argv.workspace || '.'} not found`);
21
-
22
- return 1;
23
- } // Spawn task
24
-
25
-
26
- _logger.logger.spin('Connecting to myr');
27
-
28
- const client = new _myrClient.MyrClient(prj);
29
-
30
- _logger.logger.spin('Spawning task');
31
-
32
- const task = await client.spawn(wks.cwd, argv.command, argv['--']?.map(arg => arg.toString()));
33
-
34
- _logger.logger.succeed(`Task ${task.id} spawned`);
35
-
36
- return 0;
37
- };
38
-
39
- exports.spawnCommand = spawnCommand;
@@ -1,2 +0,0 @@
1
- import { CommandHandler } from '../../wrapper';
2
- export declare const stopCommand: CommandHandler;