@jujulego/jill 1.1.14 → 1.1.18
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/base.command.d.ts +8 -0
- package/dist/base.command.js +33 -0
- package/dist/command.d.ts +21 -0
- package/dist/command.js +69 -0
- package/dist/commands/each.command.d.ts +17 -0
- package/dist/commands/each.command.js +115 -0
- package/dist/commands/info.command.d.ts +9 -0
- package/dist/commands/info.command.js +83 -0
- package/dist/commands/list.command.d.ts +22 -0
- package/dist/commands/list.command.js +177 -0
- package/dist/commands/run.command.d.ts +13 -0
- package/dist/commands/run.command.js +60 -0
- package/dist/filters/affected.js +3 -4
- package/dist/filters/filter.js +2 -1
- package/dist/filters/index.js +2 -1
- package/dist/index.d.ts +4 -9
- package/dist/index.js +13 -26
- package/dist/logger.d.ts +6 -23
- package/dist/logger.js +29 -119
- package/dist/main.js +19 -132
- package/dist/myr/commands/kill.command.d.ts +11 -0
- package/dist/myr/commands/kill.command.js +52 -0
- package/dist/myr/commands/list.command.d.ts +18 -0
- package/dist/myr/commands/list.command.js +127 -0
- package/dist/myr/commands/logs.command.d.ts +11 -0
- package/dist/myr/commands/logs.command.js +83 -0
- package/dist/myr/commands/spawn.command.d.ts +11 -0
- package/dist/myr/commands/spawn.command.js +45 -0
- package/dist/myr/commands/stop.command.d.ts +7 -0
- package/dist/myr/commands/stop.command.js +43 -0
- package/dist/myr/myr-client.d.ts +12 -5
- package/dist/myr/myr-client.js +106 -281
- package/dist/myr/myr.command.d.ts +8 -0
- package/dist/myr/myr.command.js +46 -0
- package/dist/myr/myr.process.js +3 -2
- package/dist/myr/watch.command.d.ts +13 -0
- package/dist/myr/watch.command.js +87 -0
- package/dist/pipeline.js +2 -1
- package/dist/plugin.d.ts +11 -0
- package/dist/plugin.js +40 -0
- package/dist/project.command.d.ts +13 -0
- package/dist/project.command.js +58 -0
- package/dist/task-logger.js +6 -5
- package/dist/utils/cli-list.js +2 -1
- package/dist/workspace.command.d.ts +12 -0
- package/dist/workspace.command.js +55 -0
- package/package.json +32 -22
- 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/myr/command.d.ts +0 -2
- package/dist/myr/command.js +0 -50
- 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/watch.d.ts +0 -8
- package/dist/myr/watch.js +0 -79
- 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/list.js
DELETED
|
@@ -1,119 +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 _slugify = _interopRequireDefault(require("slugify"));
|
|
13
|
-
|
|
14
|
-
var _filters = require("../filters");
|
|
15
|
-
|
|
16
|
-
var _logger = require("../logger");
|
|
17
|
-
|
|
18
|
-
var _pipeline = require("../pipeline");
|
|
19
|
-
|
|
20
|
-
var _cliList = require("../utils/cli-list");
|
|
21
|
-
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
// Constants
|
|
25
|
-
const LONG_ATTRIBUTES = ['name', 'version', 'root'];
|
|
26
|
-
const JSON_ATTRIBUTES = ['name', 'version', 'slug', 'root'];
|
|
27
|
-
const DEFAULT_ATTRIBUTES = ['name']; // Utils
|
|
28
|
-
|
|
29
|
-
const extractors = {
|
|
30
|
-
name: wks => wks.name,
|
|
31
|
-
version: (wks, argv) => wks.manifest.version || (argv.json ? undefined : _chalk.default.grey('unset')),
|
|
32
|
-
root: wks => wks.cwd,
|
|
33
|
-
slug: wks => (0, _slugify.default)(wks.name)
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
function buildExtractor(attrs) {
|
|
37
|
-
return (wks, argv) => {
|
|
38
|
-
const data = {};
|
|
39
|
-
|
|
40
|
-
for (const attr of attrs) {
|
|
41
|
-
data[attr] = extractors[attr](wks, argv);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return data;
|
|
45
|
-
};
|
|
46
|
-
} // Handler
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const listCommand = async (prj, argv) => {
|
|
50
|
-
_logger.logger.spin('Loading project'); // Setup pipeline
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const pipeline = new _pipeline.Pipeline();
|
|
54
|
-
|
|
55
|
-
if (argv.private !== undefined) {
|
|
56
|
-
pipeline.add(_filters.Filter.privateWorkspace(argv.private));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (argv['with-script'] !== undefined) {
|
|
60
|
-
pipeline.add(_filters.Filter.scripts(argv['with-script']));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (argv.affected !== undefined) {
|
|
64
|
-
pipeline.add(new _filters.AffectedFilter(argv.affected, argv['affected-rev-fallback'], argv['affected-rev-sort']));
|
|
65
|
-
} // Filter
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const workspaces = [];
|
|
69
|
-
|
|
70
|
-
for await (const wks of pipeline.filter(prj.workspaces())) {
|
|
71
|
-
workspaces.push(wks);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
_logger.logger.stop(); // Build data
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
let attrs = argv.attrs || DEFAULT_ATTRIBUTES;
|
|
78
|
-
|
|
79
|
-
if (!argv.attrs) {
|
|
80
|
-
if (argv.long) {
|
|
81
|
-
attrs = LONG_ATTRIBUTES;
|
|
82
|
-
} else if (argv.json) {
|
|
83
|
-
attrs = JSON_ATTRIBUTES;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const data = workspaces.map(wks => buildExtractor(attrs)(wks, argv)); // Print data
|
|
88
|
-
|
|
89
|
-
if (argv.json) {
|
|
90
|
-
if (process.stdout.isTTY) {
|
|
91
|
-
// Pretty print for ttys
|
|
92
|
-
console.log(JSON.stringify(data, null, 2));
|
|
93
|
-
} else {
|
|
94
|
-
console.log(JSON.stringify(data));
|
|
95
|
-
}
|
|
96
|
-
} else {
|
|
97
|
-
const list = new _cliList.CliList();
|
|
98
|
-
|
|
99
|
-
if (argv.headers ?? attrs.length > 1) {
|
|
100
|
-
list.setHeaders(attrs);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
for (const d of data) {
|
|
104
|
-
if (d.root) {
|
|
105
|
-
d.root = _path.default.relative(process.cwd(), d.root) || '.';
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
list.add(attrs.map(attr => d[attr] || ''));
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
for (const d of list.lines()) {
|
|
112
|
-
console.log(d);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
return 0;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
exports.listCommand = listCommand;
|
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;
|
package/dist/myr/command.d.ts
DELETED
package/dist/myr/command.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.myrCommand = myrCommand;
|
|
7
|
-
|
|
8
|
-
var _list = require("./commands/list");
|
|
9
|
-
|
|
10
|
-
var _spawn = require("./commands/spawn");
|
|
11
|
-
|
|
12
|
-
var _wrapper = require("../wrapper");
|
|
13
|
-
|
|
14
|
-
var _kill = require("./commands/kill");
|
|
15
|
-
|
|
16
|
-
// Command
|
|
17
|
-
function myrCommand(yargs) {
|
|
18
|
-
yargs.command(['list', 'ls'], 'List myr tasks', {
|
|
19
|
-
all: {
|
|
20
|
-
alias: 'a',
|
|
21
|
-
type: 'boolean',
|
|
22
|
-
group: 'Filters:',
|
|
23
|
-
desc: 'Show all tasks (by default list shows only running tasks)'
|
|
24
|
-
},
|
|
25
|
-
attrs: {
|
|
26
|
-
type: 'array',
|
|
27
|
-
choices: ['identifier', 'status', 'cwd', 'command', 'cmd', 'args'],
|
|
28
|
-
group: 'Format:',
|
|
29
|
-
desc: 'Select printed attributes'
|
|
30
|
-
},
|
|
31
|
-
headers: {
|
|
32
|
-
type: 'boolean',
|
|
33
|
-
group: 'Format:',
|
|
34
|
-
desc: 'Prints columns headers'
|
|
35
|
-
},
|
|
36
|
-
long: {
|
|
37
|
-
alias: 'l',
|
|
38
|
-
type: 'boolean',
|
|
39
|
-
conflicts: 'attrs',
|
|
40
|
-
group: 'Format:',
|
|
41
|
-
desc: 'Prints more data on each tasks'
|
|
42
|
-
}
|
|
43
|
-
}, (0, _wrapper.commandHandler)(_list.listCommand)).command('spawn <command>', 'Spawn new task', {
|
|
44
|
-
workspace: {
|
|
45
|
-
alias: 'w',
|
|
46
|
-
type: 'string',
|
|
47
|
-
desc: 'Workspace to use'
|
|
48
|
-
}
|
|
49
|
-
}, (0, _wrapper.commandHandler)(_spawn.spawnCommand)).command('kill <id>', 'Kill task', {}, (0, _wrapper.commandHandler)(_kill.killCommand)).demandCommand(1);
|
|
50
|
-
}
|
|
@@ -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('Spawning 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;
|
package/dist/myr/watch.d.ts
DELETED
package/dist/myr/watch.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.watchCommand = void 0;
|
|
7
|
-
|
|
8
|
-
var _jillCore = require("@jujulego/jill-core");
|
|
9
|
-
|
|
10
|
-
var _logger = require("../logger");
|
|
11
|
-
|
|
12
|
-
var _myrClient = require("./myr-client");
|
|
13
|
-
|
|
14
|
-
// Utils
|
|
15
|
-
async function spawnDepsTree(myr, wks, set) {
|
|
16
|
-
let count = 0;
|
|
17
|
-
|
|
18
|
-
for await (const ws of (0, _jillCore.combine)(wks.dependencies(), wks.devDependencies())) {
|
|
19
|
-
if (set.has(ws.cwd)) continue;
|
|
20
|
-
set.add(ws.cwd); // Spawn dependencies
|
|
21
|
-
|
|
22
|
-
count += await spawnDepsTree(myr, ws, set); // Spawn task
|
|
23
|
-
|
|
24
|
-
const tsk = await myr.spawnScript(ws, 'watch');
|
|
25
|
-
|
|
26
|
-
_logger.logger.log('info', `Task ${tsk.id} spawned`, {
|
|
27
|
-
label: ws.name
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
count++;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return count;
|
|
34
|
-
} // Command
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const watchCommand = async (prj, argv) => {
|
|
38
|
-
// Get workspace
|
|
39
|
-
_logger.logger.spin('Loading project');
|
|
40
|
-
|
|
41
|
-
const wks = await (argv.workspace ? prj.workspace(argv.workspace) : prj.currentWorkspace());
|
|
42
|
-
|
|
43
|
-
if (!wks) {
|
|
44
|
-
_logger.logger.fail(`Workspace ${argv.workspace || '.'} not found`);
|
|
45
|
-
|
|
46
|
-
return 1;
|
|
47
|
-
} // Spawn watch
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
_logger.logger.spin('Spawning dependencies watch tasks');
|
|
51
|
-
|
|
52
|
-
const myr = new _myrClient.MyrClient(prj);
|
|
53
|
-
const count = await spawnDepsTree(myr, wks, new Set()); // Spawn task
|
|
54
|
-
|
|
55
|
-
if (argv.daemon) {
|
|
56
|
-
_logger.logger.spin(`Spawning ${argv.script} task`);
|
|
57
|
-
|
|
58
|
-
const tsk = await myr.spawnScript(wks, argv.script, argv['--']?.map(arg => arg.toString()));
|
|
59
|
-
|
|
60
|
-
_logger.logger.log('info', `Task ${tsk.id} spawned`, {
|
|
61
|
-
label: wks.name
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
_logger.logger.succeed(`${count + 1} watch tasks spawned`);
|
|
65
|
-
|
|
66
|
-
return 0;
|
|
67
|
-
} else {
|
|
68
|
-
_logger.logger.succeed(`${count} watch tasks spawned`);
|
|
69
|
-
|
|
70
|
-
const tsk = await wks.run(argv.script, argv['--']?.map(arg => arg.toString()), {
|
|
71
|
-
buildDeps: 'none'
|
|
72
|
-
});
|
|
73
|
-
tsk.start();
|
|
74
|
-
await tsk.waitFor('done', 'failed');
|
|
75
|
-
return tsk.exitCode === 0 ? 0 : 1;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
exports.watchCommand = watchCommand;
|
package/dist/utils/deps-tree.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.printDepsTree = printDepsTree;
|
|
7
|
-
|
|
8
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
// Functions
|
|
13
|
-
async function printTree(wks, level, dev, printed) {
|
|
14
|
-
const workspaces = [];
|
|
15
|
-
|
|
16
|
-
for await (const dep of wks.dependencies()) {
|
|
17
|
-
workspaces.push([dep, dev]);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
for await (const dep of wks.devDependencies()) {
|
|
21
|
-
workspaces.push([dep, true]);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
for (let i = 0; i < workspaces.length; ++i) {
|
|
25
|
-
const [dep, isDev] = workspaces[i];
|
|
26
|
-
const isPrinted = printed.has(dep.cwd);
|
|
27
|
-
const isLast = i === workspaces.length - 1; // Format
|
|
28
|
-
|
|
29
|
-
let name = dep.name;
|
|
30
|
-
if (dep.version) name = (0, _chalk.default)`${name}{grey @${dep.version}}`;
|
|
31
|
-
if (isDev) name = _chalk.default.blue(`${name} (dev)`);
|
|
32
|
-
if (isPrinted) name = _chalk.default.italic(name);
|
|
33
|
-
const branchFmt = dev ? _chalk.default.blue : s => s;
|
|
34
|
-
console.log(`${level}${branchFmt(`${isLast ? '└' : '├'}─ `)}${name}`); // Print deps of dep
|
|
35
|
-
|
|
36
|
-
if (!isPrinted) {
|
|
37
|
-
printed.add(dep.cwd);
|
|
38
|
-
await printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async function printDepsTree(wks) {
|
|
44
|
-
console.log((0, _chalk.default)`{bold Dependencies:}`);
|
|
45
|
-
const printed = new Set([wks.name]);
|
|
46
|
-
await printTree(wks, '', false, printed);
|
|
47
|
-
|
|
48
|
-
if (printed.size === 1) {
|
|
49
|
-
console.log(_chalk.default.grey(` No dependencies for ${wks.name}`));
|
|
50
|
-
}
|
|
51
|
-
}
|
package/dist/wrapper.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PackageManager, Project } from '@jujulego/jill-core';
|
|
2
|
-
import type { Arguments } from 'yargs';
|
|
3
|
-
export interface CommonArgs {
|
|
4
|
-
project?: string;
|
|
5
|
-
'package-manager'?: PackageManager;
|
|
6
|
-
verbose: number;
|
|
7
|
-
}
|
|
8
|
-
export declare type CommandHandler<A = Record<string, never>> = (project: Project, argv: A) => Promise<number | void>;
|
|
9
|
-
export declare function commandHandler<A = Record<string, never>>(handler: CommandHandler<A>): (argv: Arguments<A & CommonArgs>) => Promise<void>;
|
package/dist/wrapper.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.commandHandler = commandHandler;
|
|
7
|
-
|
|
8
|
-
var _jillCore = require("@jujulego/jill-core");
|
|
9
|
-
|
|
10
|
-
var _logger = require("./logger");
|
|
11
|
-
|
|
12
|
-
// Wrapper
|
|
13
|
-
function commandHandler(handler) {
|
|
14
|
-
return async function (argv) {
|
|
15
|
-
// Setup
|
|
16
|
-
if (argv.verbose === 1) {
|
|
17
|
-
_logger.logger.level = 'verbose';
|
|
18
|
-
} else if (argv.verbose >= 2) {
|
|
19
|
-
_logger.logger.level = 'debug';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
if (!argv.project) {
|
|
23
|
-
argv.project = await _jillCore.Project.searchProjectRoot(process.cwd());
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const prj = new _jillCore.Project(argv.project, {
|
|
27
|
-
packageManager: argv['package-manager']
|
|
28
|
-
}); // Run command
|
|
29
|
-
|
|
30
|
-
try {
|
|
31
|
-
process.exit((await handler(prj, argv)) || 0);
|
|
32
|
-
} catch (error) {
|
|
33
|
-
_logger.logger.fail(error);
|
|
34
|
-
|
|
35
|
-
process.exit(1);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}
|