@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.
- package/dist/commands/each.command.d.ts +16 -0
- package/dist/commands/each.command.d.ts.map +1 -0
- package/dist/commands/each.command.js +203 -0
- package/dist/commands/each.command.js.map +1 -0
- package/dist/commands/info.command.d.ts +8 -0
- package/dist/commands/info.command.d.ts.map +1 -0
- package/dist/commands/info.command.js +178 -0
- package/dist/commands/info.command.js.map +1 -0
- package/dist/commands/list.command.d.ts +21 -0
- package/dist/commands/list.command.d.ts.map +1 -0
- package/dist/commands/list.command.js +251 -0
- package/dist/commands/list.command.js.map +1 -0
- package/dist/commands/run.command.d.ts +12 -0
- package/dist/commands/run.command.d.ts.map +1 -0
- package/dist/commands/run.command.js +111 -0
- package/dist/commands/run.command.js.map +1 -0
- package/dist/core.plugin.d.ts +2 -0
- package/dist/core.plugin.d.ts.map +1 -0
- package/dist/core.plugin.js +22 -0
- package/dist/core.plugin.js.map +1 -0
- package/dist/index.d.ts +4 -9
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -26
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +45 -141
- package/dist/main.js.map +1 -0
- package/dist/task-logger.d.ts.map +1 -0
- package/dist/task-logger.js +28 -17
- package/dist/task-logger.js.map +1 -0
- package/package.json +38 -25
- package/dist/commands/each.d.ts +0 -12
- package/dist/commands/each.js +0 -74
- package/dist/commands/info.d.ts +0 -5
- package/dist/commands/info.js +0 -42
- package/dist/commands/list.d.ts +0 -15
- package/dist/commands/list.js +0 -119
- package/dist/commands/run.d.ts +0 -9
- package/dist/commands/run.js +0 -43
- package/dist/filters/affected.d.ts +0 -10
- package/dist/filters/affected.js +0 -81
- package/dist/filters/filter.d.ts +0 -8
- package/dist/filters/filter.js +0 -35
- package/dist/filters/index.d.ts +0 -2
- package/dist/filters/index.js +0 -21
- package/dist/logger.d.ts +0 -32
- package/dist/logger.js +0 -189
- package/dist/myr/command.d.ts +0 -2
- package/dist/myr/command.js +0 -52
- package/dist/myr/commands/kill.d.ts +0 -5
- package/dist/myr/commands/kill.js +0 -34
- package/dist/myr/commands/list.d.ts +0 -10
- package/dist/myr/commands/list.js +0 -91
- package/dist/myr/commands/spawn.d.ts +0 -7
- package/dist/myr/commands/spawn.js +0 -39
- package/dist/myr/commands/stop.d.ts +0 -2
- package/dist/myr/commands/stop.js +0 -31
- package/dist/myr/myr-client.d.ts +0 -16
- package/dist/myr/myr-client.js +0 -455
- package/dist/myr/myr.process.d.ts +0 -1
- package/dist/myr/myr.process.js +0 -42
- package/dist/myr/watch.d.ts +0 -8
- package/dist/myr/watch.js +0 -79
- package/dist/pipeline.d.ts +0 -9
- package/dist/pipeline.js +0 -52
- package/dist/utils/cli-list.d.ts +0 -15
- package/dist/utils/cli-list.js +0 -86
- package/dist/utils/deps-tree.d.ts +0 -2
- package/dist/utils/deps-tree.js +0 -51
- package/dist/wrapper.d.ts +0 -9
- package/dist/wrapper.js +0 -38
package/dist/commands/run.d.ts
DELETED
|
@@ -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>;
|
package/dist/commands/run.js
DELETED
|
@@ -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
|
-
}
|
package/dist/filters/affected.js
DELETED
|
@@ -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;
|
package/dist/filters/filter.d.ts
DELETED
|
@@ -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
|
-
}
|
package/dist/filters/filter.js
DELETED
|
@@ -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;
|
package/dist/filters/index.d.ts
DELETED
package/dist/filters/index.js
DELETED
|
@@ -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;
|
package/dist/myr/command.d.ts
DELETED
package/dist/myr/command.js
DELETED
|
@@ -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,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,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;
|