@jujulego/jill 1.1.17 → 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.
Files changed (68) hide show
  1. package/dist/base.command.d.ts +8 -0
  2. package/dist/base.command.js +33 -0
  3. package/dist/command.d.ts +21 -0
  4. package/dist/command.js +69 -0
  5. package/dist/commands/each.command.d.ts +17 -0
  6. package/dist/commands/each.command.js +115 -0
  7. package/dist/commands/info.command.d.ts +9 -0
  8. package/dist/commands/info.command.js +83 -0
  9. package/dist/commands/list.command.d.ts +22 -0
  10. package/dist/commands/list.command.js +177 -0
  11. package/dist/commands/run.command.d.ts +13 -0
  12. package/dist/commands/run.command.js +60 -0
  13. package/dist/filters/affected.js +2 -4
  14. package/dist/index.d.ts +4 -9
  15. package/dist/index.js +13 -27
  16. package/dist/logger.d.ts +6 -23
  17. package/dist/logger.js +28 -119
  18. package/dist/main.js +18 -132
  19. package/dist/myr/commands/kill.command.d.ts +11 -0
  20. package/dist/myr/commands/kill.command.js +52 -0
  21. package/dist/myr/commands/list.command.d.ts +18 -0
  22. package/dist/myr/commands/list.command.js +127 -0
  23. package/dist/myr/commands/logs.command.d.ts +11 -0
  24. package/dist/myr/commands/logs.command.js +83 -0
  25. package/dist/myr/commands/spawn.command.d.ts +11 -0
  26. package/dist/myr/commands/spawn.command.js +45 -0
  27. package/dist/myr/commands/stop.command.d.ts +7 -0
  28. package/dist/myr/commands/stop.command.js +43 -0
  29. package/dist/myr/myr-client.js +38 -391
  30. package/dist/myr/myr.command.d.ts +8 -0
  31. package/dist/myr/myr.command.js +46 -0
  32. package/dist/myr/watch.command.d.ts +13 -0
  33. package/dist/myr/watch.command.js +87 -0
  34. package/dist/plugin.d.ts +11 -0
  35. package/dist/plugin.js +40 -0
  36. package/dist/project.command.d.ts +13 -0
  37. package/dist/project.command.js +58 -0
  38. package/dist/task-logger.js +5 -5
  39. package/dist/workspace.command.d.ts +12 -0
  40. package/dist/workspace.command.js +55 -0
  41. package/package.json +19 -16
  42. package/dist/commands/each.d.ts +0 -12
  43. package/dist/commands/each.js +0 -75
  44. package/dist/commands/info.d.ts +0 -5
  45. package/dist/commands/info.js +0 -43
  46. package/dist/commands/list.d.ts +0 -15
  47. package/dist/commands/list.js +0 -120
  48. package/dist/commands/run.d.ts +0 -9
  49. package/dist/commands/run.js +0 -44
  50. package/dist/myr/command.d.ts +0 -2
  51. package/dist/myr/command.js +0 -62
  52. package/dist/myr/commands/kill.d.ts +0 -5
  53. package/dist/myr/commands/kill.js +0 -35
  54. package/dist/myr/commands/list.d.ts +0 -10
  55. package/dist/myr/commands/list.js +0 -92
  56. package/dist/myr/commands/logs.d.ts +0 -5
  57. package/dist/myr/commands/logs.js +0 -65
  58. package/dist/myr/commands/spawn.d.ts +0 -7
  59. package/dist/myr/commands/spawn.js +0 -40
  60. package/dist/myr/commands/stop.d.ts +0 -2
  61. package/dist/myr/commands/stop.js +0 -32
  62. package/dist/myr/watch.d.ts +0 -8
  63. package/dist/myr/watch.js +0 -80
  64. package/dist/utils/deps-tree.d.ts +0 -2
  65. package/dist/utils/deps-tree.js +0 -52
  66. package/dist/wrapper.d.ts +0 -9
  67. package/dist/wrapper.js +0 -39
  68. package/gulpfile.ts +0 -43
package/dist/main.js CHANGED
@@ -4,149 +4,35 @@ var _helpers = require("yargs/helpers");
4
4
 
5
5
  var _yargs = _interopRequireDefault(require("yargs"));
6
6
 
7
- var _each = require("./commands/each");
7
+ var _each = require("./commands/each.command");
8
8
 
9
- var _info = require("./commands/info");
9
+ var _info = require("./commands/info.command");
10
10
 
11
- var _list = require("./commands/list");
11
+ var _list = require("./commands/list.command");
12
12
 
13
- var _run = require("./commands/run");
13
+ var _run = require("./commands/run.command");
14
14
 
15
- var _command = require("./myr/command");
15
+ var _myr = require("./myr/myr.command");
16
16
 
17
- var _watch = require("./myr/watch");
17
+ var _watch = require("./myr/watch.command");
18
18
 
19
- var _wrapper = require("./wrapper");
19
+ var _plugin = require("./plugin");
20
20
 
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
22
 
23
23
  // Bootstrap
24
24
  (async () => {
25
25
  // Options
26
- await (0, _yargs.default)((0, _helpers.hideBin)(process.argv)).scriptName('jill').option('project', {
27
- alias: 'p',
28
- type: 'string',
29
- description: 'Project root directory'
30
- }).option('package-manager', {
31
- choices: ['yarn', 'npm'],
32
- type: 'string',
33
- description: 'Force package manager'
34
- }).option('verbose', {
35
- alias: 'v',
36
- type: 'count',
37
- description: 'Set verbosity level (1 for verbose, 2 for debug)'
38
- }).parserConfiguration({
26
+ const parser = await (0, _yargs.default)((0, _helpers.hideBin)(process.argv)).scriptName('jill').parserConfiguration({
39
27
  'populate--': true
40
- }).command(['list', 'ls'], 'List workspaces', {
41
- private: {
42
- type: 'boolean',
43
- group: 'Filters:',
44
- desc: 'Print only private workspaces'
45
- },
46
- 'with-script': {
47
- type: 'array',
48
- group: 'Filters:',
49
- desc: 'Print only workspaces having the given script'
50
- },
51
- affected: {
52
- alias: 'a',
53
- type: 'string',
54
- coerce: rev => rev === '' ? 'master' : rev,
55
- group: 'Affected:',
56
- 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.'
57
- },
58
- 'affected-rev-sort': {
59
- type: 'string',
60
- group: 'Affected:',
61
- desc: 'Sort applied to git tag / git branch command'
62
- },
63
- 'affected-rev-fallback': {
64
- type: 'string',
65
- default: 'master',
66
- group: 'Affected:',
67
- desc: 'Fallback revision, used if no revision matching the given format is found'
68
- },
69
- attrs: {
70
- type: 'array',
71
- choices: ['name', 'version', 'root', 'slug'],
72
- group: 'Format:',
73
- desc: 'Select printed attributes'
74
- },
75
- headers: {
76
- type: 'boolean',
77
- group: 'Format:',
78
- desc: 'Prints columns headers'
79
- },
80
- long: {
81
- alias: 'l',
82
- type: 'boolean',
83
- conflicts: 'attrs',
84
- group: 'Format:',
85
- desc: 'Prints name, version and root of all workspaces'
86
- },
87
- json: {
88
- type: 'boolean',
89
- group: 'Format:',
90
- desc: 'Prints data as a JSON array'
91
- }
92
- }, (0, _wrapper.commandHandler)(_list.listCommand)).command('info', 'Print workspace data', {
93
- workspace: {
94
- alias: 'w',
95
- type: 'string',
96
- desc: 'Workspace to use'
97
- }
98
- }, (0, _wrapper.commandHandler)(_info.infoCommand)).command('run <script>', 'Run script inside workspace', {
99
- workspace: {
100
- alias: 'w',
101
- type: 'string',
102
- desc: 'Workspace to use'
103
- },
104
- 'deps-mode': {
105
- choice: ['all', 'prod', 'none'],
106
- default: 'all',
107
- desc: 'Dependency selection mode:\n' + ' - all = dependencies AND devDependencies\n' + ' - prod = dependencies\n' + ' - none = nothing'
108
- }
109
- }, (0, _wrapper.commandHandler)(_run.runCommand)).command('each <script>', 'Run script on selected workspaces', {
110
- 'deps-mode': {
111
- choice: ['all', 'prod', 'none'],
112
- default: 'all',
113
- desc: 'Dependency selection mode:\n' + ' - all = dependencies AND devDependencies\n' + ' - prod = dependencies\n' + ' - none = nothing'
114
- },
115
- private: {
116
- type: 'boolean',
117
- group: 'Filters:',
118
- desc: 'Print only private workspaces'
119
- },
120
- affected: {
121
- alias: 'a',
122
- type: 'string',
123
- coerce: rev => rev === '' ? 'master' : rev,
124
- group: 'Affected:',
125
- 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.'
126
- },
127
- 'affected-rev-sort': {
128
- type: 'string',
129
- group: 'Affected:',
130
- desc: 'Sort applied to git tag / git branch command'
131
- },
132
- 'affected-rev-fallback': {
133
- type: 'string',
134
- default: 'master',
135
- group: 'Affected:',
136
- desc: 'Fallback revision, used if no revision matching the given format is found'
137
- }
138
- }, (0, _wrapper.commandHandler)(_each.eachCommand)).command('myr', 'Interact with myr server', _command.myrCommand).command('watch <script>', 'Run script inside workspace and watch over deps', {
139
- daemon: {
140
- alias: 'd',
141
- boolean: true,
142
- default: false,
143
- desc: 'Run watch script also in background'
144
- },
145
- workspace: {
146
- alias: 'w',
147
- type: 'string',
148
- desc: 'Workspace to use'
149
- }
150
- }, (0, _wrapper.commandHandler)(_watch.watchCommand)).demandCommand(1).help().example('$0 list -a', 'List all affected workspaces towards master branch').example('$0 list --no-private', 'List all public workspaces').parse();
28
+ }).strictCommands().help();
29
+
30
+ const core = _plugin.Plugin.createPlugin('core', [_info.InfoCommand, _list.ListCommand, _run.RunCommand, _each.EachCommand]);
31
+
32
+ const myr = _plugin.Plugin.createPlugin('myr', [_myr.MyrCommand, _watch.WatchCommand]);
33
+
34
+ core.setup(parser);
35
+ myr.setup(parser);
36
+ await parser.parse();
151
37
  })();
152
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4udHMiXSwibmFtZXMiOlsicHJvY2VzcyIsImFyZ3YiLCJzY3JpcHROYW1lIiwib3B0aW9uIiwiYWxpYXMiLCJ0eXBlIiwiZGVzY3JpcHRpb24iLCJjaG9pY2VzIiwicGFyc2VyQ29uZmlndXJhdGlvbiIsImNvbW1hbmQiLCJwcml2YXRlIiwiZ3JvdXAiLCJkZXNjIiwiYWZmZWN0ZWQiLCJjb2VyY2UiLCJyZXYiLCJkZWZhdWx0IiwiYXR0cnMiLCJoZWFkZXJzIiwibG9uZyIsImNvbmZsaWN0cyIsImpzb24iLCJsaXN0Q29tbWFuZCIsIndvcmtzcGFjZSIsImluZm9Db21tYW5kIiwiY2hvaWNlIiwicnVuQ29tbWFuZCIsImVhY2hDb21tYW5kIiwibXlyQ29tbWFuZCIsImRhZW1vbiIsImJvb2xlYW4iLCJ3YXRjaENvbW1hbmQiLCJkZW1hbmRDb21tYW5kIiwiaGVscCIsImV4YW1wbGUiLCJwYXJzZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBO0FBQ0EsQ0FBQyxZQUFZO0FBQ1g7QUFDQSxRQUFNLG9CQUFNLHNCQUFRQSxPQUFPLENBQUNDLElBQWhCLENBQU4sRUFDSEMsVUFERyxDQUNRLE1BRFIsRUFFSEMsTUFGRyxDQUVJLFNBRkosRUFFZTtBQUNqQkMsSUFBQUEsS0FBSyxFQUFFLEdBRFU7QUFFakJDLElBQUFBLElBQUksRUFBRSxRQUZXO0FBR2pCQyxJQUFBQSxXQUFXLEVBQUU7QUFISSxHQUZmLEVBT0hILE1BUEcsQ0FPSSxpQkFQSixFQU91QjtBQUN6QkksSUFBQUEsT0FBTyxFQUFFLENBQUMsTUFBRCxFQUFTLEtBQVQsQ0FEZ0I7QUFFekJGLElBQUFBLElBQUksRUFBRSxRQUZtQjtBQUd6QkMsSUFBQUEsV0FBVyxFQUFFO0FBSFksR0FQdkIsRUFZSEgsTUFaRyxDQVlJLFNBWkosRUFZZTtBQUNqQkMsSUFBQUEsS0FBSyxFQUFFLEdBRFU7QUFFakJD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QUssRUFBRSxXQUhnQjtBQUl2QkMsTUFBQUEsSUFBSSxFQUFFO0FBSmlCO0FBM0JvQyxHQWhHM0QsRUFpSUQsNkJBQWVlLGlCQUFmLENBaklDLEVBa0lIbEIsT0FsSUcsQ0FrSUssS0FsSUwsRUFrSVksMEJBbElaLEVBa0l3Q21CLG1CQWxJeEMsRUFtSUhuQixPQW5JRyxDQW1JSyxnQkFuSUwsRUFtSXVCLGlEQW5JdkIsRUFtSTBFO0FBQzVFb0IsSUFBQUEsTUFBTSxFQUFFO0FBQ056QixNQUFBQSxLQUFLLEVBQUUsR0FERDtBQUVOMEIsTUFBQUEsT0FBTyxFQUFFLElBRkg7QUFHTmQsTUFBQUEsT0FBTyxFQUFFLEtBSEg7QUFJTkosTUFBQUEsSUFBSSxFQUFFO0FBSkEsS0FEb0U7QUFPNUVXLElBQUFBLFNBQVMsRUFBRTtBQUNUbkIsTUFBQUEsS0FBSyxFQUFFLEdBREU7QUFFVEMsTUFBQUEsSUFBSSxFQUFFLFFBRkc7QUFHVE8sTUFBQUEsSUFBSSxFQUFFO0FBSEc7QUFQaUUsR0FuSTFFLEVBK0lELDZCQUFlbUIsbUJBQWYsQ0EvSUMsRUFnSkhDLGFBaEpHLENBZ0pXLENBaEpYLEVBaUpIQyxJQWpKRyxHQWtKSEMsT0FsSkcsQ0FrSkssWUFsSkwsRUFrSm1CLG9EQWxKbkIsRUFtSkhBLE9BbkpHLENBbUpLLHNCQW5KTCxFQW1KNkIsNEJBbko3QixFQW9KSEMsS0FwSkcsRUFBTjtBQXFKRCxDQXZKRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhpZGVCaW4gfSBmcm9tICd5YXJncy9oZWxwZXJzJztcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IGVhY2hDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9lYWNoJztcbmltcG9ydCB7IGluZm9Db21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9pbmZvJztcbmltcG9ydCB7IGxpc3RDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9saXN0JztcbmltcG9ydCB7IHJ1bkNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3J1bic7XG5pbXBvcnQgeyBteXJDb21tYW5kIH0gZnJvbSAnLi9teXIvY29tbWFuZCc7XG5pbXBvcnQgeyB3YXRjaENvbW1hbmQgfSBmcm9tICcuL215ci93YXRjaCc7XG5pbXBvcnQgeyBjb21tYW5kSGFuZGxlciB9IGZyb20gJy4vd3JhcHBlcic7XG5cbi8vIEJvb3RzdHJhcFxuKGFzeW5jICgpID0+IHtcbiAgLy8gT3B0aW9uc1xuICBhd2FpdCB5YXJncyhoaWRlQmluKHByb2Nlc3MuYXJndikpXG4gICAgLnNjcmlwdE5hbWUoJ2ppbGwnKVxuICAgIC5vcHRpb24oJ3Byb2plY3QnLCB7XG4gICAgICBhbGlhczogJ3AnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1Byb2plY3Qgcm9vdCBkaXJlY3RvcnknXG4gICAgfSlcbiAgICAub3B0aW9uKCdwYWNrYWdlLW1hbmFnZXInLCB7XG4gICAgICBjaG9pY2VzOiBbJ3lhcm4nLCAnbnBtJ10sXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRm9yY2UgcGFja2FnZSBtYW5hZ2VyJ1xuICAgIH0pXG4gICAgLm9wdGlvbigndmVyYm9zZScsIHtcbiAgICAgIGFsaWFzOiAndicsXG4gICAgICB0eXBlOiAnY291bnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdTZXQgdmVyYm9zaXR5IGxldmVsICgxIGZvciB2ZXJib3NlLCAyIGZvciBkZWJ1ZyknLFxuICAgIH0pXG4gICAgLnBhcnNlckNvbmZpZ3VyYXRpb24oe1xuICAgICAgJ3BvcHVsYXRlLS0nOiB0cnVlLFxuICAgIH0pXG4gICAgLmNvbW1hbmQoWydsaXN0JywgJ2xzJ10sICdMaXN0IHdvcmtzcGFjZXMnLCB7XG4gICAgICBwcml2YXRlOiB7XG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZ3JvdXA6ICdGaWx0ZXJzOicsXG4gICAgICAgIGRlc2M6ICdQcmludCBvbmx5IHByaXZhdGUgd29ya3NwYWNlcycsXG4gICAgICB9LFxuICAgICAgJ3dpdGgtc2NyaXB0Jzoge1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBncm91cDogJ0ZpbHRlcnM6JyxcbiAgICAgICAgZGVzYzogJ1ByaW50IG9ubHkgd29ya3NwYWNlcyBoYXZpbmcgdGhlIGdpdmVuIHNjcmlwdCcsXG4gICAgICB9LFxuICAgICAgYWZmZWN0ZWQ6IHtcbiAgICAgICAgYWxpYXM6ICdhJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGNvZXJjZTogKHJldjogc3RyaW5nKSA9PiByZXYgPT09ICcnID8gJ21hc3RlcicgOiByZXYsXG4gICAgICAgIGdyb3VwOiAnQWZmZWN0ZWQ6JyxcbiAgICAgICAgZGVzYzogJ1ByaW50IG9ubHkgYWZmZWN0ZWQgd29ya3NwYWNlcyB0b3dhcmRzIGdpdmVuIGdpdCByZXZpc2lvbi4gSWYgbm8gcmV2aXNpb24gaXMgZ2l2ZW4sIGl0IHdpbGwgY2hlY2sgdG93YXJkcyBtYXN0ZXIuXFxuJyArXG4gICAgICAgICAgJ1JlcGxhY2VzICVuYW1lIGJ5IHdvcmtzcGFjZSBuYW1lLicsXG4gICAgICB9LFxuICAgICAgJ2FmZmVjdGVkLXJldi1zb3J0Jzoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZ3JvdXA6ICdBZmZlY3RlZDonLFxuICAgICAgICBkZXNjOiAnU29ydCBhcHBsaWVkIHRvIGdpdCB0YWcgLyBnaXQgYnJhbmNoIGNvbW1hbmQnLFxuICAgICAgfSxcbiAgICAgICdhZmZlY3RlZC1yZXYtZmFsbGJhY2snOiB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiAnbWFzdGVyJyxcbiAgICAgICAgZ3JvdXA6ICdBZmZlY3RlZDonLFxuICAgICAgICBkZXNjOiAnRmFsbGJhY2sgcmV2aXNpb24sIHVzZWQgaWYgbm8gcmV2aXNpb24gbWF0Y2hpbmcgdGhlIGdpdmVuIGZvcm1hdCBpcyBmb3VuZCcsXG4gICAgICB9LFxuICAgICAgYXR0cnM6IHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgY2hvaWNlczogWyduYW1lJywgJ3ZlcnNpb24nLCAncm9vdCcsICdzbHVnJ10sXG4gICAgICAgIGdyb3VwOiAnRm9ybWF0OicsXG4gICAgICAgIGRlc2M6ICdTZWxlY3QgcHJpbnRlZCBhdHRyaWJ1dGVzJ1xuICAgICAgfSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBncm91cDogJ0Zvcm1hdDonLFxuICAgICAgICBkZXNjOiAnUHJpbnRzIGNvbHVtbnMgaGVhZGVycydcbiAgICAgIH0sXG4gICAgICBsb25nOiB7XG4gICAgICAgIGFsaWFzOiAnbCcsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgY29uZmxpY3RzOiAnYXR0cnMnLFxuICAgICAgICBncm91cDogJ0Zvcm1hdDonLFxuICAgICAgICBkZXNjOiAnUHJpbnRzIG5hbWUsIHZlcnNpb24gYW5kIHJvb3Qgb2YgYWxsIHdvcmtzcGFjZXMnLFxuICAgICAgfSxcbiAgICAgIGpzb246IHtcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBncm91cDogJ0Zvcm1hdDonLFxuICAgICAgICBkZXNjOiAnUHJpbnRzIGRhdGEgYXMgYSBKU09OIGFycmF5JyxcbiAgICAgIH1cbiAgICB9LCBjb21tYW5kSGFuZGxlcihsaXN0Q29tbWFuZCkpXG4gICAgLmNvbW1hbmQoJ2luZm8nLCAnUHJpbnQgd29ya3NwYWNlIGRhdGEnLCB7XG4gICAgICB3b3Jrc3BhY2U6IHtcbiAgICAgICAgYWxpYXM6ICd3JyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlc2M6ICdXb3Jrc3BhY2UgdG8gdXNlJ1xuICAgICAgfVxuICAgIH0sIGNvbW1hbmRIYW5kbGVyKGluZm9Db21tYW5kKSlcbiAgICAuY29tbWFuZCgncnVuIDxzY3JpcHQ+JywgJ1J1biBzY3JpcHQgaW5zaWRlIHdvcmtzcGFjZScsIHtcbiAgICAgIHdvcmtzcGFjZToge1xuICAgICAgICBhbGlhczogJ3cnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVzYzogJ1dvcmtzcGFjZSB0byB1c2UnXG4gICAgICB9LFxuICAgICAgJ2RlcHMtbW9kZSc6IHtcbiAgICAgICAgY2hvaWNlOiBbJ2FsbCcsICdwcm9kJywgJ25vbmUnXSxcbiAgICAgICAgZGVmYXVsdDogJ2FsbCcsXG4gICAgICAgIGRlc2M6ICdEZXBlbmRlbmN5IHNlbGVjdGlvbiBtb2RlOlxcbicgK1xuICAgICAgICAgICcgLSBhbGwgPSBkZXBlbmRlbmNpZXMgQU5EIGRldkRlcGVuZGVuY2llc1xcbicgK1xuICAgICAgICAgICcgLSBwcm9kID0gZGVwZW5kZW5jaWVzXFxuJyArXG4gICAgICAgICAgJyAtIG5vbmUgPSBub3RoaW5nJ1xuICAgICAgfSxcbiAgICB9LCBjb21tYW5kSGFuZGxlcihydW5Db21tYW5kKSlcbiAgICAuY29tbWFuZCgnZWFjaCA8c2NyaXB0PicsICdSdW4gc2NyaXB0IG9uIHNlbGVjdGVkIHdvcmtzcGFjZXMnLCB7XG4gICAgICAnZGVwcy1tb2RlJzoge1xuICAgICAgICBjaG9pY2U6IFsnYWxsJywgJ3Byb2QnLCAnbm9uZSddLFxuICAgICAgICBkZWZhdWx0OiAnYWxsJyxcbiAgICAgICAgZGVzYzogJ0RlcGVuZGVuY3kgc2VsZWN0aW9uIG1vZGU6XFxuJyArXG4gICAgICAgICAgJyAtIGFsbCA9IGRlcGVuZGVuY2llcyBBTkQgZGV2RGVwZW5kZW5jaWVzXFxuJyArXG4gICAgICAgICAgJyAtIHByb2QgPSBkZXBlbmRlbmNpZXNcXG4nICtcbiAgICAgICAgICAnIC0gbm9uZSA9IG5vdGhpbmcnXG4gICAgICB9LFxuICAgICAgcHJpdmF0ZToge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGdyb3VwOiAnRmlsdGVyczonLFxuICAgICAgICBkZXNjOiAnUHJpbnQgb25seSBwcml2YXRlIHdvcmtzcGFjZXMnLFxuICAgICAgfSxcbiAgICAgIGFmZmVjdGVkOiB7XG4gICAgICAgIGFsaWFzOiAnYScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBjb2VyY2U6IChyZXY6IHN0cmluZykgPT4gcmV2ID09PSAnJyA/ICdtYXN0ZXInIDogcmV2LFxuICAgICAgICBncm91cDogJ0FmZmVjdGVkOicsXG4gICAgICAgIGRlc2M6ICdQcmludCBvbmx5IGFmZmVjdGVkIHdvcmtzcGFjZXMgdG93YXJkcyBnaXZlbiBnaXQgcmV2aXNpb24uIElmIG5vIHJldmlzaW9uIGlzIGdpdmVuLCBpdCB3aWxsIGNoZWNrIHRvd2FyZHMgbWFzdGVyLlxcbicgK1xuICAgICAgICAgICdSZXBsYWNlcyAlbmFtZSBieSB3b3Jrc3BhY2UgbmFtZS4nLFxuICAgICAgfSxcbiAgICAgICdhZmZlY3RlZC1yZXYtc29ydCc6IHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGdyb3VwOiAnQWZmZWN0ZWQ6JyxcbiAgICAgICAgZGVzYzogJ1NvcnQgYXBwbGllZCB0byBnaXQgdGFnIC8gZ2l0IGJyYW5jaCBjb21tYW5kJyxcbiAgICAgIH0sXG4gICAgICAnYWZmZWN0ZWQtcmV2LWZhbGxiYWNrJzoge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVmYXVsdDogJ21hc3RlcicsXG4gICAgICAgIGdyb3VwOiAnQWZmZWN0ZWQ6JyxcbiAgICAgICAgZGVzYzogJ0ZhbGxiYWNrIHJldmlzaW9uLCB1c2VkIGlmIG5vIHJldmlzaW9uIG1hdGNoaW5nIHRoZSBnaXZlbiBmb3JtYXQgaXMgZm91bmQnLFxuICAgICAgfSxcbiAgICB9LCBjb21tYW5kSGFuZGxlcihlYWNoQ29tbWFuZCkpXG4gICAgLmNvbW1hbmQoJ215cicsICdJbnRlcmFjdCB3aXRoIG15ciBzZXJ2ZXInLCBteXJDb21tYW5kKVxuICAgIC5jb21tYW5kKCd3YXRjaCA8c2NyaXB0PicsICdSdW4gc2NyaXB0IGluc2lkZSB3b3Jrc3BhY2UgYW5kIHdhdGNoIG92ZXIgZGVwcycsIHtcbiAgICAgIGRhZW1vbjoge1xuICAgICAgICBhbGlhczogJ2QnLFxuICAgICAgICBib29sZWFuOiB0cnVlLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgZGVzYzogJ1J1biB3YXRjaCBzY3JpcHQgYWxzbyBpbiBiYWNrZ3JvdW5kJ1xuICAgICAgfSxcbiAgICAgIHdvcmtzcGFjZToge1xuICAgICAgICBhbGlhczogJ3cnLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVzYzogJ1dvcmtzcGFjZSB0byB1c2UnXG4gICAgICB9XG4gICAgfSwgY29tbWFuZEhhbmRsZXIod2F0Y2hDb21tYW5kKSlcbiAgICAuZGVtYW5kQ29tbWFuZCgxKVxuICAgIC5oZWxwKClcbiAgICAuZXhhbXBsZSgnJDAgbGlzdCAtYScsICdMaXN0IGFsbCBhZmZlY3RlZCB3b3Jrc3BhY2VzIHRvd2FyZHMgbWFzdGVyIGJyYW5jaCcpXG4gICAgLmV4YW1wbGUoJyQwIGxpc3QgLS1uby1wcml2YXRlJywgJ0xpc3QgYWxsIHB1YmxpYyB3b3Jrc3BhY2VzJylcbiAgICAucGFyc2UoKTtcbn0pKCk7XG4iXSwiZmlsZSI6Im1haW4uanMifQ==
38
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4udHMiXSwibmFtZXMiOlsicGFyc2VyIiwicHJvY2VzcyIsImFyZ3YiLCJzY3JpcHROYW1lIiwicGFyc2VyQ29uZmlndXJhdGlvbiIsInN0cmljdENvbW1hbmRzIiwiaGVscCIsImNvcmUiLCJQbHVnaW4iLCJjcmVhdGVQbHVnaW4iLCJJbmZvQ29tbWFuZCIsIkxpc3RDb21tYW5kIiwiUnVuQ29tbWFuZCIsIkVhY2hDb21tYW5kIiwibXlyIiwiTXlyQ29tbWFuZCIsIldhdGNoQ29tbWFuZCIsInNldHVwIiwicGFyc2UiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQTtBQUNBLENBQUMsWUFBWTtBQUNYO0FBQ0EsUUFBTUEsTUFBTSxHQUFHLE1BQU0sb0JBQU0sc0JBQVFDLE9BQU8sQ0FBQ0MsSUFBaEIsQ0FBTixFQUNsQkMsVUFEa0IsQ0FDUCxNQURPLEVBRWxCQyxtQkFGa0IsQ0FFRTtBQUNuQixrQkFBYztBQURLLEdBRkYsRUFLbEJDLGNBTGtCLEdBTWxCQyxJQU5rQixFQUFyQjs7QUFRQSxRQUFNQyxJQUFJLEdBQUdDLGVBQU9DLFlBQVAsQ0FBb0IsTUFBcEIsRUFBNEIsQ0FDdkNDLGlCQUR1QyxFQUV2Q0MsaUJBRnVDLEVBR3ZDQyxlQUh1QyxFQUl2Q0MsaUJBSnVDLENBQTVCLENBQWI7O0FBT0EsUUFBTUMsR0FBRyxHQUFHTixlQUFPQyxZQUFQLENBQW9CLEtBQXBCLEVBQTJCLENBQ3JDTSxlQURxQyxFQUVyQ0MsbUJBRnFDLENBQTNCLENBQVo7O0FBS0FULEVBQUFBLElBQUksQ0FBQ1UsS0FBTCxDQUFXakIsTUFBWDtBQUNBYyxFQUFBQSxHQUFHLENBQUNHLEtBQUosQ0FBVWpCLE1BQVY7QUFFQSxRQUFNQSxNQUFNLENBQUNrQixLQUFQLEVBQU47QUFDRCxDQTFCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhpZGVCaW4gfSBmcm9tICd5YXJncy9oZWxwZXJzJztcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IEVhY2hDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9lYWNoLmNvbW1hbmQnO1xuaW1wb3J0IHsgSW5mb0NvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL2luZm8uY29tbWFuZCc7XG5pbXBvcnQgeyBMaXN0Q29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvbGlzdC5jb21tYW5kJztcbmltcG9ydCB7IFJ1bkNvbW1hbmQgfSBmcm9tICcuL2NvbW1hbmRzL3J1bi5jb21tYW5kJztcbmltcG9ydCB7IE15ckNvbW1hbmQgfSBmcm9tICcuL215ci9teXIuY29tbWFuZCc7XG5pbXBvcnQgeyBXYXRjaENvbW1hbmQgfSBmcm9tICcuL215ci93YXRjaC5jb21tYW5kJztcbmltcG9ydCB7IFBsdWdpbiB9IGZyb20gJy4vcGx1Z2luJztcblxuLy8gQm9vdHN0cmFwXG4oYXN5bmMgKCkgPT4ge1xuICAvLyBPcHRpb25zXG4gIGNvbnN0IHBhcnNlciA9IGF3YWl0IHlhcmdzKGhpZGVCaW4ocHJvY2Vzcy5hcmd2KSlcbiAgICAuc2NyaXB0TmFtZSgnamlsbCcpXG4gICAgLnBhcnNlckNvbmZpZ3VyYXRpb24oe1xuICAgICAgJ3BvcHVsYXRlLS0nOiB0cnVlLFxuICAgIH0pXG4gICAgLnN0cmljdENvbW1hbmRzKClcbiAgICAuaGVscCgpO1xuXG4gIGNvbnN0IGNvcmUgPSBQbHVnaW4uY3JlYXRlUGx1Z2luKCdjb3JlJywgW1xuICAgIEluZm9Db21tYW5kLFxuICAgIExpc3RDb21tYW5kLFxuICAgIFJ1bkNvbW1hbmQsXG4gICAgRWFjaENvbW1hbmQsXG4gIF0pO1xuXG4gIGNvbnN0IG15ciA9IFBsdWdpbi5jcmVhdGVQbHVnaW4oJ215cicsIFtcbiAgICBNeXJDb21tYW5kLFxuICAgIFdhdGNoQ29tbWFuZCxcbiAgXSk7XG5cbiAgY29yZS5zZXR1cChwYXJzZXIpO1xuICBteXIuc2V0dXAocGFyc2VyKTtcblxuICBhd2FpdCBwYXJzZXIucGFyc2UoKTtcbn0pKCk7XG4iXSwiZmlsZSI6Im1haW4uanMifQ==
@@ -0,0 +1,11 @@
1
+ import { ProjectArgs, ProjectCommand } from '../../project.command';
2
+ import { Arguments, Builder } from '../../command';
3
+ export interface KillArgs extends ProjectArgs {
4
+ id: string;
5
+ }
6
+ export declare class KillCommand extends ProjectCommand<KillArgs> {
7
+ readonly name = "kill <id>";
8
+ readonly description = "Kill task";
9
+ protected define<T, U>(builder: Builder<T, U>): Builder<T, U & KillArgs>;
10
+ protected run(args: Arguments<KillArgs>): Promise<number>;
11
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KillCommand = void 0;
7
+
8
+ var _project = require("../../project.command");
9
+
10
+ var _myrClient = require("../myr-client");
11
+
12
+ 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; }
13
+
14
+ // Command
15
+ class KillCommand extends _project.ProjectCommand {
16
+ constructor(...args) {
17
+ super(...args);
18
+
19
+ _defineProperty(this, "name", 'kill <id>');
20
+
21
+ _defineProperty(this, "description", 'Kill task');
22
+ }
23
+
24
+ // Methods
25
+ define(builder) {
26
+ return super.define(y => builder(y).positional('id', {
27
+ type: 'string',
28
+ demandOption: true
29
+ }));
30
+ }
31
+
32
+ async run(args) {
33
+ await super.run(args); // Spawn task
34
+
35
+ this.spinner.start('Connecting to myr');
36
+ const client = new _myrClient.MyrClient(this.project);
37
+ this.spinner.start('Killing task');
38
+ const task = await client.kill(args.id);
39
+
40
+ if (task) {
41
+ this.spinner.succeed(`Task ${task.id} killed`);
42
+ return 0;
43
+ } else {
44
+ this.spinner.fail(`Task ${args.id} not found`);
45
+ return 1;
46
+ }
47
+ }
48
+
49
+ }
50
+
51
+ exports.KillCommand = KillCommand;
52
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15ci9jb21tYW5kcy9raWxsLmNvbW1hbmQudHMiXSwibmFtZXMiOlsiS2lsbENvbW1hbmQiLCJQcm9qZWN0Q29tbWFuZCIsImRlZmluZSIsImJ1aWxkZXIiLCJ5IiwicG9zaXRpb25hbCIsInR5cGUiLCJkZW1hbmRPcHRpb24iLCJydW4iLCJhcmdzIiwic3Bpbm5lciIsInN0YXJ0IiwiY2xpZW50IiwiTXlyQ2xpZW50IiwicHJvamVjdCIsInRhc2siLCJraWxsIiwiaWQiLCJzdWNjZWVkIiwiZmFpbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7O0FBUUE7QUFDTyxNQUFNQSxXQUFOLFNBQTBCQyx1QkFBMUIsQ0FBbUQ7QUFBQTtBQUFBOztBQUFBLGtDQUV4QyxXQUZ3Qzs7QUFBQSx5Q0FHakMsV0FIaUM7QUFBQTs7QUFLeEQ7QUFDVUMsRUFBQUEsTUFBTSxDQUFPQyxPQUFQLEVBQXlEO0FBQ3ZFLFdBQU8sTUFBTUQsTUFBTixDQUFhRSxDQUFDLElBQUlELE9BQU8sQ0FBQ0MsQ0FBRCxDQUFQLENBQ3RCQyxVQURzQixDQUNYLElBRFcsRUFDTDtBQUFFQyxNQUFBQSxJQUFJLEVBQUUsUUFBUjtBQUFrQkMsTUFBQUEsWUFBWSxFQUFFO0FBQWhDLEtBREssQ0FBbEIsQ0FBUDtBQUdEOztBQUVrQixRQUFIQyxHQUFHLENBQUNDLElBQUQsRUFBNkM7QUFDOUQsVUFBTSxNQUFNRCxHQUFOLENBQVVDLElBQVYsQ0FBTixDQUQ4RCxDQUc5RDs7QUFDQSxTQUFLQyxPQUFMLENBQWFDLEtBQWIsQ0FBbUIsbUJBQW5CO0FBQ0EsVUFBTUMsTUFBTSxHQUFHLElBQUlDLG9CQUFKLENBQWMsS0FBS0MsT0FBbkIsQ0FBZjtBQUVBLFNBQUtKLE9BQUwsQ0FBYUMsS0FBYixDQUFtQixjQUFuQjtBQUNBLFVBQU1JLElBQUksR0FBRyxNQUFNSCxNQUFNLENBQUNJLElBQVAsQ0FBWVAsSUFBSSxDQUFDUSxFQUFqQixDQUFuQjs7QUFFQSxRQUFJRixJQUFKLEVBQVU7QUFDUixXQUFLTCxPQUFMLENBQWFRLE9BQWIsQ0FBc0IsUUFBT0gsSUFBSSxDQUFDRSxFQUFHLFNBQXJDO0FBQ0EsYUFBTyxDQUFQO0FBQ0QsS0FIRCxNQUdPO0FBQ0wsV0FBS1AsT0FBTCxDQUFhUyxJQUFiLENBQW1CLFFBQU9WLElBQUksQ0FBQ1EsRUFBRyxZQUFsQztBQUNBLGFBQU8sQ0FBUDtBQUNEO0FBQ0Y7O0FBN0J1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3RBcmdzLCBQcm9qZWN0Q29tbWFuZCB9IGZyb20gJy4uLy4uL3Byb2plY3QuY29tbWFuZCc7XG5pbXBvcnQgeyBNeXJDbGllbnQgfSBmcm9tICcuLi9teXItY2xpZW50JztcbmltcG9ydCB7IEFyZ3VtZW50cywgQnVpbGRlciB9IGZyb20gJy4uLy4uL2NvbW1hbmQnO1xuXG4vLyBUeXBlc1xuZXhwb3J0IGludGVyZmFjZSBLaWxsQXJncyBleHRlbmRzIFByb2plY3RBcmdzIHtcbiAgaWQ6IHN0cmluZztcbn1cblxuLy8gQ29tbWFuZFxuZXhwb3J0IGNsYXNzIEtpbGxDb21tYW5kIGV4dGVuZHMgUHJvamVjdENvbW1hbmQ8S2lsbEFyZ3M+IHtcbiAgLy8gQXR0cmlidXRlc1xuICByZWFkb25seSBuYW1lID0gJ2tpbGwgPGlkPic7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gJ0tpbGwgdGFzayc7XG5cbiAgLy8gTWV0aG9kc1xuICBwcm90ZWN0ZWQgZGVmaW5lPFQsIFU+KGJ1aWxkZXI6IEJ1aWxkZXI8VCwgVT4pOiBCdWlsZGVyPFQsIFUgJiBLaWxsQXJncz4ge1xuICAgIHJldHVybiBzdXBlci5kZWZpbmUoeSA9PiBidWlsZGVyKHkpXG4gICAgICAucG9zaXRpb25hbCgnaWQnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bihhcmdzOiBBcmd1bWVudHM8S2lsbEFyZ3M+KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBhd2FpdCBzdXBlci5ydW4oYXJncyk7XG5cbiAgICAvLyBTcGF3biB0YXNrXG4gICAgdGhpcy5zcGlubmVyLnN0YXJ0KCdDb25uZWN0aW5nIHRvIG15cicpO1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBNeXJDbGllbnQodGhpcy5wcm9qZWN0KTtcblxuICAgIHRoaXMuc3Bpbm5lci5zdGFydCgnS2lsbGluZyB0YXNrJyk7XG4gICAgY29uc3QgdGFzayA9IGF3YWl0IGNsaWVudC5raWxsKGFyZ3MuaWQpO1xuXG4gICAgaWYgKHRhc2spIHtcbiAgICAgIHRoaXMuc3Bpbm5lci5zdWNjZWVkKGBUYXNrICR7dGFzay5pZH0ga2lsbGVkYCk7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zcGlubmVyLmZhaWwoYFRhc2sgJHthcmdzLmlkfSBub3QgZm91bmRgKTtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxufSJdLCJmaWxlIjoibXlyL2NvbW1hbmRzL2tpbGwuY29tbWFuZC5qcyJ9
@@ -0,0 +1,18 @@
1
+ import { ProjectArgs, ProjectCommand } from '../../project.command';
2
+ import { Arguments, Builder } from '../../command';
3
+ export declare type Attribute = 'identifier' | 'status' | 'cwd' | 'command' | 'cmd' | 'args';
4
+ export declare type Data = Partial<Record<Attribute, string>>;
5
+ export interface ListArgs extends ProjectArgs {
6
+ all: boolean | undefined;
7
+ attrs: Attribute[] | undefined;
8
+ headers: boolean | undefined;
9
+ long: boolean | undefined;
10
+ json: boolean | undefined;
11
+ }
12
+ export declare class ListCommand extends ProjectCommand<ListArgs> {
13
+ readonly name: string[];
14
+ readonly description = "List myr tasks";
15
+ private buildExtractor;
16
+ protected define<T, U>(builder: Builder<T, U>): Builder<T, U & ListArgs>;
17
+ protected run(args: Arguments<ListArgs>): Promise<void>;
18
+ }
@@ -0,0 +1,127 @@
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 _project = require("../../project.command");
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
+ 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 COLORED_STATUS = {
24
+ blocked: _chalk.default.yellow('blocked'),
25
+ ready: _chalk.default.blue('ready'),
26
+ running: 'running',
27
+ failed: _chalk.default.red('failed'),
28
+ done: _chalk.default.green('done')
29
+ };
30
+ const LONG_ATTRIBUTES = ['identifier', 'status', 'cwd', 'command'];
31
+ const DEFAULT_ATTRIBUTES = ['identifier', 'command'];
32
+ const EXTRACTORS = {
33
+ identifier: tsk => _chalk.default.grey(tsk.id),
34
+ status: tsk => COLORED_STATUS[tsk.status],
35
+ cwd: tsk => _path.default.relative(process.cwd(), tsk.cwd) || '.',
36
+ command: tsk => `${tsk.cmd} ${tsk.args.join(' ')}`,
37
+ cmd: tsk => tsk.cmd,
38
+ args: tsk => tsk.args.join(' ')
39
+ }; // Command
40
+
41
+ class ListCommand extends _project.ProjectCommand {
42
+ constructor(...args) {
43
+ super(...args);
44
+
45
+ _defineProperty(this, "name", ['list', 'ls']);
46
+
47
+ _defineProperty(this, "description", 'List myr tasks');
48
+ }
49
+
50
+ // Methods
51
+ buildExtractor(attrs) {
52
+ return tsk => {
53
+ const data = {};
54
+
55
+ for (const attr of attrs) {
56
+ data[attr] = EXTRACTORS[attr](tsk);
57
+ }
58
+
59
+ return data;
60
+ };
61
+ }
62
+
63
+ define(builder) {
64
+ return super.define(y => builder(y).option('all', {
65
+ alias: 'a',
66
+ type: 'boolean',
67
+ group: 'Filters:',
68
+ desc: 'Show all tasks (by default list shows only running tasks)'
69
+ }).option('attrs', {
70
+ type: 'array',
71
+ choices: ['identifier', 'status', 'cwd', 'command', 'cmd', 'args'],
72
+ default: undefined,
73
+ group: 'Format:',
74
+ desc: 'Select printed attributes'
75
+ }).option('headers', {
76
+ type: 'boolean',
77
+ group: 'Format:',
78
+ desc: 'Prints columns headers'
79
+ }).option('long', {
80
+ alias: 'l',
81
+ type: 'boolean',
82
+ conflicts: 'attrs',
83
+ group: 'Format:',
84
+ desc: 'Prints name, version and root of all workspaces'
85
+ }).option('json', {
86
+ type: 'boolean',
87
+ group: 'Format:',
88
+ desc: 'Prints data as a JSON array'
89
+ }));
90
+ }
91
+
92
+ async run(args) {
93
+ await super.run(args); // Spawn task
94
+
95
+ this.spinner.start('Connecting to myr');
96
+ const client = new _myrClient.MyrClient(this.project);
97
+ this.spinner.start('Requesting tasks');
98
+ const tasks = await client.tasks();
99
+ this.spinner.stop(); // Build data
100
+
101
+ let attrs = args.attrs || DEFAULT_ATTRIBUTES;
102
+
103
+ if (!args.attrs && args.long) {
104
+ attrs = LONG_ATTRIBUTES;
105
+ }
106
+
107
+ const data = tasks.filter(tsk => args.all || tsk.status === 'running').map(tsk => this.buildExtractor(attrs)(tsk)); // Print data
108
+
109
+ const list = new _cliList.CliList();
110
+
111
+ if (args.headers ?? attrs.length > 1) {
112
+ list.setHeaders(attrs);
113
+ }
114
+
115
+ for (const d of data) {
116
+ list.add(attrs.map(attr => d[attr] || ''));
117
+ }
118
+
119
+ for (const d of list.lines()) {
120
+ this.log(d);
121
+ }
122
+ }
123
+
124
+ }
125
+
126
+ exports.ListCommand = ListCommand;
127
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15ci9jb21tYW5kcy9saXN0LmNvbW1hbmQudHMiXSwibmFtZXMiOlsiQ09MT1JFRF9TVEFUVVMiLCJibG9ja2VkIiwiY2hhbGsiLCJ5ZWxsb3ciLCJyZWFkeSIsImJsdWUiLCJydW5uaW5nIiwiZmFpbGVkIiwicmVkIiwiZG9uZSIsImdyZWVuIiwiTE9OR19BVFRSSUJVVEVTIiwiREVGQVVMVF9BVFRSSUJVVEVTIiwiRVhUUkFDVE9SUyIsImlkZW50aWZpZXIiLCJ0c2siLCJncmV5IiwiaWQiLCJzdGF0dXMiLCJjd2QiLCJwYXRoIiwicmVsYXRpdmUiLCJwcm9jZXNzIiwiY29tbWFuZCIsImNtZCIsImFyZ3MiLCJqb2luIiwiTGlzdENvbW1hbmQiLCJQcm9qZWN0Q29tbWFuZCIsImJ1aWxkRXh0cmFjdG9yIiwiYXR0cnMiLCJkYXRhIiwiYXR0ciIsImRlZmluZSIsImJ1aWxkZXIiLCJ5Iiwib3B0aW9uIiwiYWxpYXMiLCJ0eXBlIiwiZ3JvdXAiLCJkZXNjIiwiY2hvaWNlcyIsImRlZmF1bHQiLCJ1bmRlZmluZWQiLCJjb25mbGljdHMiLCJydW4iLCJzcGlubmVyIiwic3RhcnQiLCJjbGllbnQiLCJNeXJDbGllbnQiLCJwcm9qZWN0IiwidGFza3MiLCJzdG9wIiwibG9uZyIsImZpbHRlciIsImFsbCIsIm1hcCIsImxpc3QiLCJDbGlMaXN0IiwiaGVhZGVycyIsImxlbmd0aCIsInNldEhlYWRlcnMiLCJkIiwiYWRkIiwibGluZXMiLCJsb2ciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7O0FBa0JBO0FBQ0EsTUFBTUEsY0FBMEMsR0FBRztBQUNqREMsRUFBQUEsT0FBTyxFQUFFQyxlQUFNQyxNQUFOLENBQWEsU0FBYixDQUR3QztBQUVqREMsRUFBQUEsS0FBSyxFQUFFRixlQUFNRyxJQUFOLENBQVcsT0FBWCxDQUYwQztBQUdqREMsRUFBQUEsT0FBTyxFQUFFLFNBSHdDO0FBSWpEQyxFQUFBQSxNQUFNLEVB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LEVBQWI7O0FBRUEsUUFBSWpDLElBQUksQ0FBQ2tDLE9BQUwsSUFBaUI3QixLQUFLLENBQUM4QixNQUFOLEdBQWUsQ0FBcEMsRUFBd0M7QUFDdENILE1BQUFBLElBQUksQ0FBQ0ksVUFBTCxDQUFnQi9CLEtBQWhCO0FBQ0Q7O0FBRUQsU0FBSyxNQUFNZ0MsQ0FBWCxJQUFnQi9CLElBQWhCLEVBQXNCO0FBQ3BCMEIsTUFBQUEsSUFBSSxDQUFDTSxHQUFMLENBQVNqQyxLQUFLLENBQUMwQixHQUFOLENBQVV4QixJQUFJLElBQUk4QixDQUFDLENBQUM5QixJQUFELENBQUQsSUFBVyxFQUE3QixDQUFUO0FBQ0Q7O0FBRUQsU0FBSyxNQUFNOEIsQ0FBWCxJQUFnQkwsSUFBSSxDQUFDTyxLQUFMLEVBQWhCLEVBQThCO0FBQzVCLFdBQUtDLEdBQUwsQ0FBU0gsQ0FBVDtBQUNEO0FBQ0Y7O0FBMUZ1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhc2tTdGF0dXMgfSBmcm9tICdAanVqdWxlZ28vamlsbC1jb3JlJztcbmltcG9ydCB7IFRhc2sgfSBmcm9tICdAanVqdWxlZ28vamlsbC1teXInO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBQcm9qZWN0QXJncywgUHJvamVjdENvbW1hbmQgfSBmcm9tICcuLi8uLi9wcm9qZWN0LmNvbW1hbmQnO1xuaW1wb3J0IHsgTXlyQ2xpZW50IH0gZnJvbSAnLi4vbXlyLWNsaWVudCc7XG5pbXBvcnQgeyBDbGlMaXN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xpLWxpc3QnO1xuaW1wb3J0IHsgQXJndW1lbnRzLCBCdWlsZGVyIH0gZnJvbSAnLi4vLi4vY29tbWFuZCc7XG5cbi8vIFR5cGVzXG5leHBvcnQgdHlwZSBBdHRyaWJ1dGUgPSAnaWRlbnRpZmllcicgfCAnc3RhdHVzJyB8ICdjd2QnIHwgJ2NvbW1hbmQnIHwgJ2NtZCcgfCAnYXJncyc7XG5leHBvcnQgdHlwZSBEYXRhID0gUGFydGlhbDxSZWNvcmQ8QXR0cmlidXRlLCBzdHJpbmc+PjtcblxudHlwZSBFeHRyYWN0b3I8VD4gPSAodHNrOiBUYXNrKSA9PiBUO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RBcmdzIGV4dGVuZHMgUHJvamVjdEFyZ3Mge1xuICBhbGw6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgYXR0cnM6IEF0dHJpYnV0ZVtdIHwgdW5kZWZpbmVkO1xuICBoZWFkZXJzOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBsb25nOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBqc29uOiBib29sZWFuIHwgdW5kZWZpbmVkO1xufVxuXG4vLyBDb25zdGFudHNcbmNvbnN0IENPTE9SRURfU1RBVFVTOiBSZWNvcmQ8VGFza1N0YXR1cywgc3RyaW5nPiA9IHtcbiAgYmxvY2tlZDogY2hhbGsueWVsbG93KCdibG9ja2VkJyksXG4gIHJlYWR5OiBjaGFsay5ibHVlKCdyZWFkeScpLFxuICBydW5uaW5nOiAncnVubmluZycsXG4gIGZhaWxlZDogY2hhbGsucmVkKCdmYWlsZWQnKSxcbiAgZG9uZTogY2hhbGsuZ3JlZW4oJ2RvbmUnKVxufTtcblxuY29uc3QgTE9OR19BVFRSSUJVVEVTOiBBdHRyaWJ1dGVbXSA9IFsnaWRlbnRpZmllcicsICdzdGF0dXMnLCAnY3dkJywgJ2NvbW1hbmQnXTtcbmNvbnN0IERFRkFVTFRfQVRUUklCVVRFUzogQXR0cmlidXRlW10gPSBbJ2lkZW50aWZpZXInLCAnY29tbWFuZCddO1xuXG5jb25zdCBFWFRSQUNUT1JTOiBSZWNvcmQ8QXR0cmlidXRlLCBFeHRyYWN0b3I8c3RyaW5nIHwgdW5kZWZpbmVkPj4gPSB7XG4gIGlkZW50aWZpZXI6IHRzayA9PiBjaGFsay5ncmV5KHRzay5pZCksXG4gIHN0YXR1czogdHNrID0+IENPTE9SRURfU1RBVFVTW3Rzay5zdGF0dXNdLFxuICBjd2Q6IHRzayA9PiBwYXRoLnJlbGF0aXZlKHByb2Nlc3MuY3dkKCksIHRzay5jd2QpIHx8ICcuJyxcbiAgY29tbWFuZDogdHNrID0+IGAke3Rzay5jbWR9ICR7dHNrLmFyZ3Muam9pbignICcpfWAsXG4gIGNtZDogdHNrID0+IHRzay5jbWQsXG4gIGFyZ3M6IHRzayA9PiB0c2suYXJncy5qb2luKCcgJylcbn07XG5cbi8vIENvbW1hbmRcbmV4cG9ydCBjbGFzcyBMaXN0Q29tbWFuZCBleHRlbmRzIFByb2plY3RDb21tYW5kPExpc3RBcmdzPiB7XG4gIC8vIEF0dHJpYnV0ZXNcbiAgcmVhZG9ubHkgbmFtZSA9IFsnbGlzdCcsICdscyddO1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9ICdMaXN0IG15ciB0YXNrcyc7XG5cbiAgLy8gTWV0aG9kc1xuICBwcml2YXRlIGJ1aWxkRXh0cmFjdG9yKGF0dHJzOiBBdHRyaWJ1dGVbXSk6IEV4dHJhY3RvcjxEYXRhPiB7XG4gICAgcmV0dXJuICh0c2spID0+IHtcbiAgICAgIGNvbnN0IGRhdGE6IERhdGEgPSB7fTtcblxuICAgICAgZm9yIChjb25zdCBhdHRyIG9mIGF0dHJzKSB7XG4gICAgICAgIGRhdGFbYXR0cl0gPSBFWFRSQUNUT1JTW2F0dHJdKHRzayk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVmaW5lPFQsIFU+KGJ1aWxkZXI6IEJ1aWxkZXI8VCwgVT4pOiBCdWlsZGVyPFQsIFUgJiBMaXN0QXJncz4ge1xuICAgIHJldHVybiBzdXBlci5kZWZpbmUoeSA9PiBidWlsZGVyKHkpXG4gICAgICAub3B0aW9uKCdhbGwnLCB7XG4gICAgICAgIGFsaWFzOiAnYScsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZ3JvdXA6ICdGaWx0ZXJzOicsXG4gICAgICAgIGRlc2M6ICdTaG93IGFsbCB0YXNrcyAoYnkgZGVmYXVsdCBsaXN0IHNob3dzIG9ubHkgcnVubmluZyB0YXNrcyknLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2F0dHJzJywge1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBjaG9pY2VzOiBbJ2lkZW50aWZpZXInLCAnc3RhdHVzJywgJ2N3ZCcgLCdjb21tYW5kJywgJ2NtZCcsICdhcmdzJ10sXG4gICAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCBhcyBBdHRyaWJ1dGVbXSB8IHVuZGVmaW5lZCxcbiAgICAgICAgZ3JvdXA6ICdGb3JtYXQ6JyxcbiAgICAgICAgZGVzYzogJ1NlbGVjdCBwcmludGVkIGF0dHJpYnV0ZXMnXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignaGVhZGVycycsIHtcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBncm91cDogJ0Zvcm1hdDonLFxuICAgICAgICBkZXNjOiAnUHJpbnRzIGNvbHVtbnMgaGVhZGVycydcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdsb25nJywge1xuICAgICAgICBhbGlhczogJ2wnLFxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGNvbmZsaWN0czogJ2F0dHJzJyxcbiAgICAgICAgZ3JvdXA6ICdGb3JtYXQ6JyxcbiAgICAgICAgZGVzYzogJ1ByaW50cyBuYW1lLCB2ZXJzaW9uIGFuZCByb290IG9mIGFsbCB3b3Jrc3BhY2VzJyxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdqc29uJywge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGdyb3VwOiAnRm9ybWF0OicsXG4gICAgICAgIGRlc2M6ICdQcmludHMgZGF0YSBhcyBhIEpTT04gYXJyYXknLFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bihhcmdzOiBBcmd1bWVudHM8TGlzdEFyZ3M+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIucnVuKGFyZ3MpO1xuXG4gICAgLy8gU3Bhd24gdGFza1xuICAgIHRoaXMuc3Bpbm5lci5zdGFydCgnQ29ubmVjdGluZyB0byBteXInKTtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgTXlyQ2xpZW50KHRoaXMucHJvamVjdCk7XG5cbiAgICB0aGlzLnNwaW5uZXIuc3RhcnQoJ1JlcXVlc3RpbmcgdGFza3MnKTtcbiAgICBjb25zdCB0YXNrcyA9IGF3YWl0IGNsaWVudC50YXNrcygpO1xuXG4gICAgdGhpcy5zcGlubmVyLnN0b3AoKTtcblxuICAgIC8vIEJ1aWxkIGRhdGFcbiAgICBsZXQgYXR0cnMgPSBhcmdzLmF0dHJzIGFzIEF0dHJpYnV0ZVtdIHx8IERFRkFVTFRfQVRUUklCVVRFUztcblxuICAgIGlmICghYXJncy5hdHRycyAmJiBhcmdzLmxvbmcpIHtcbiAgICAgIGF0dHJzID0gTE9OR19BVFRSSUJVVEVTO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGEgPSB0YXNrc1xuICAgICAgLmZpbHRlcih0c2sgPT4gYXJncy5hbGwgfHwgdHNrLnN0YXR1cyA9PT0gJ3J1bm5pbmcnKVxuICAgICAgLm1hcCh0c2sgPT4gdGhpcy5idWlsZEV4dHJhY3RvcihhdHRycykodHNrKSk7XG5cbiAgICAvLyBQcmludCBkYXRhXG4gICAgY29uc3QgbGlzdCA9IG5ldyBDbGlMaXN0KCk7XG5cbiAgICBpZiAoYXJncy5oZWFkZXJzID8/IChhdHRycy5sZW5ndGggPiAxKSkge1xuICAgICAgbGlzdC5zZXRIZWFkZXJzKGF0dHJzKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGQgb2YgZGF0YSkge1xuICAgICAgbGlzdC5hZGQoYXR0cnMubWFwKGF0dHIgPT4gZFthdHRyXSB8fCAnJykpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZCBvZiBsaXN0LmxpbmVzKCkpIHtcbiAgICAgIHRoaXMubG9nKGQpO1xuICAgIH1cbiAgfVxufSJdLCJmaWxlIjoibXlyL2NvbW1hbmRzL2xpc3QuY29tbWFuZC5qcyJ9
@@ -0,0 +1,11 @@
1
+ import { ProjectArgs, ProjectCommand } from '../../project.command';
2
+ import { Arguments, Builder } from '../../command';
3
+ export interface LogsArgs extends ProjectArgs {
4
+ follow: boolean;
5
+ }
6
+ export declare class LogsCommand extends ProjectCommand<LogsArgs> {
7
+ readonly name = "logs";
8
+ readonly description = "Request myr logs";
9
+ protected define<T, U>(builder: Builder<T, U>): Builder<T, U & LogsArgs>;
10
+ protected run(args: Arguments<LogsArgs>): Promise<void>;
11
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LogsCommand = void 0;
7
+
8
+ var _winston = require("winston");
9
+
10
+ var _chalk = _interopRequireDefault(require("chalk"));
11
+
12
+ var _project = require("../../project.command");
13
+
14
+ var _myrClient = require("../myr-client");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+
20
+ // Utils
21
+ const printLog = _winston.format.combine({
22
+ transform: info => Object.assign(info, {
23
+ [Symbol.for('level')]: info.level
24
+ })
25
+ }, {
26
+ transform: info => Object.assign(info, {
27
+ context: info.task?.substr(0, 8) || info.context
28
+ })
29
+ }, _winston.format.printf(({
30
+ context,
31
+ message,
32
+ timestamp
33
+ }) => context ? (0, _chalk.default)`[jill-myr] {white ${new Date(timestamp).toLocaleString()}} {grey [${context}]} ${message}` : (0, _chalk.default)`[jill-myr] {white ${new Date(timestamp).toLocaleString()}} ${message}`), _winston.format.colorize({
34
+ all: true
35
+ })); // Command
36
+
37
+
38
+ class LogsCommand extends _project.ProjectCommand {
39
+ constructor(...args) {
40
+ super(...args);
41
+
42
+ _defineProperty(this, "name", 'logs');
43
+
44
+ _defineProperty(this, "description", 'Request myr logs');
45
+ }
46
+
47
+ // Methods
48
+ define(builder) {
49
+ return super.define(y => builder(y).option('follow', {
50
+ alias: 'f',
51
+ type: 'boolean',
52
+ default: false,
53
+ description: 'Subscribe to logs stream'
54
+ }));
55
+ }
56
+
57
+ async run(args) {
58
+ await super.run(args); // Spawn task
59
+
60
+ this.spinner.start('Connecting to myr');
61
+ const client = new _myrClient.MyrClient(this.project);
62
+ this.spinner.start('Requesting logs');
63
+ const logs = await client.logs();
64
+ this.spinner.stop();
65
+
66
+ for (const log of logs) {
67
+ printLog.transform(log);
68
+ this.log(log[Symbol.for('message')]);
69
+ } // Follow
70
+
71
+
72
+ if (args.follow) {
73
+ for await (const log of client.logs$()) {
74
+ printLog.transform(log);
75
+ this.log(log[Symbol.for('message')]);
76
+ }
77
+ }
78
+ }
79
+
80
+ }
81
+
82
+ exports.LogsCommand = LogsCommand;
83
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15ci9jb21tYW5kcy9sb2dzLmNvbW1hbmQudHMiXSwibmFtZXMiOlsicHJpbnRMb2ciLCJmb3JtYXQiLCJjb21iaW5lIiwidHJhbnNmb3JtIiwiaW5mbyIsIk9iamVjdCIsImFzc2lnbiIsIlN5bWJvbCIsImZvciIsImxldmVsIiwiY29udGV4dCIsInRhc2siLCJzdWJzdHIiLCJwcmludGYiLCJtZXNzYWdlIiwidGltZXN0YW1wIiwiRGF0ZSIsInRvTG9jYWxlU3RyaW5nIiwiY29sb3JpemUiLCJhbGwiLCJMb2dzQ29tbWFuZCIsIlByb2plY3RDb21tYW5kIiwiZGVmaW5lIiwiYnVpbGRlciIsInkiLCJvcHRpb24iLCJhbGlhcyIsInR5cGUiLCJkZWZhdWx0IiwiZGVzY3JpcHRpb24iLCJydW4iLCJhcmdzIiwic3Bpbm5lciIsInN0YXJ0IiwiY2xpZW50IiwiTXlyQ2xpZW50IiwicHJvamVjdCIsImxvZ3MiLCJzdG9wIiwibG9nIiwiZm9sbG93IiwibG9ncyQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7O0FBUUE7QUFDQSxNQUFNQSxRQUFRLEdBQUdDLGdCQUFPQyxPQUFQLENBQ2Y7QUFBRUMsRUFBQUEsU0FBUyxFQUFHQyxJQUFELElBQVVDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjRixJQUFkLEVBQW9CO0FBQUUsS0FBQ0csTUFBTSxDQUFDQyxHQUFQLENBQVcsT0FBWCxDQUFELEdBQXVCSixJQUFJLENBQUNLO0FBQTlCLEdBQXBCO0FBQXZCLENBRGUsRUFFZjtBQUFFTixFQUFBQSxTQUFTLEVBQUdDLElBQUQsSUFBVUMsTUFBTSxDQUFDQyxNQUFQLENBQWNGLElBQWQsRUFBb0I7QUFBRU0sSUFBQUEsT0FBTyxFQUFFTixJQUFJLENBQUNPLElBQUwsRUFBV0MsTUFBWCxDQUFrQixDQUFsQixFQUFxQixDQUFyQixLQUEyQlIsSUFBSSxDQUFDTTtBQUEzQyxHQUFwQjtBQUF2QixDQUZlLEVBR2ZULGdCQUFPWSxNQUFQLENBQWMsQ0FBQztBQUFFSCxFQUFBQSxPQUFGO0FBQVdJLEVBQUFBLE9BQVg7QUFBb0JDLEVBQUFBO0FBQXBCLENBQUQsS0FBcUNMLE9BQU8sR0FDdEQsbUJBQU0scUJBQW9CLElBQUlNLElBQUosQ0FBU0QsU0FBVCxFQUFvQkUsY0FBcEIsRUFBcUMsWUFBV1AsT0FBUSxNQUFLSSxPQUFRLEVBRHpDLEdBRXRELG1CQUFNLHFCQUFvQixJQUFJRSxJQUFKLENBQVNELFNBQVQsRUFBb0JFLGNBQXBCLEVBQXFDLEtBQUlILE9BQVEsRUFGL0UsQ0FIZSxFQU9mYixnQkFBT2lCLFFBQVAsQ0FBZ0I7QUFBRUMsRUFBQUEsR0FBRyxFQUFFO0FBQVAsQ0FBaEIsQ0FQZSxDQUFqQixDLENBVUE7OztBQUNPLE1BQU1DLFdBQU4sU0FBMEJDLHVCQUExQixDQUFtRDtBQUFBO0FBQUE7O0FBQUEsa0NBRXhDLE1BRndDOztBQUFBLHlDQUdqQyxrQkFIaUM7QUFBQTs7QUFLeEQ7QUFDVUMsRUFBQUEsTUFBTSxDQUFPQyxPQUFQLEVBQXlEO0FBQ3ZFLFdBQU8sTUFBTUQsTUFBTixDQUFhRSxDQUFDLElBQUlELE9BQU8sQ0FBQ0MsQ0FBRCxDQUFQLENBQ3RCQyxNQURzQixDQUNmLFFBRGUsRUFDTDtBQUNoQkMsTUFBQUEsS0FBSyxFQUFFLEdBRFM7QUFFaEJDLE1BQUFBLElBQUksRUFBRSxTQUZVO0FBR2hCQyxNQUFBQSxPQUFPLEVBQUUsS0FITztBQUloQkMsTUFBQUEsV0FBVyxFQUFFO0FBSkcsS0FESyxDQUFsQixDQUFQO0FBUUQ7O0FBRWtCLFFBQUhDLEdBQUcsQ0FBQ0MsSUFBRCxFQUEyQztBQUM1RCxVQUFNLE1BQU1ELEdBQU4sQ0FBVUMsSUFBVixDQUFOLENBRDRELENBRzVEOztBQUNBLFNBQUtDLE9BQUwsQ0FBYUMsS0FBYixDQUFtQixtQkFBbkI7QUFDQSxVQUFNQyxNQUFNLEdBQUcsSUFBSUMsb0JBQUosQ0FBYyxLQUFLQyxPQUFuQixDQUFmO0FBRUEsU0FBS0osT0FBTCxDQUFhQyxLQUFiLENBQW1CLGlCQUFuQjtBQUNBLFVBQU1JLElBQUksR0FBRyxNQUFNSCxNQUFNLENBQUNHLElBQVAsRUFBbkI7QUFDQSxTQUFLTCxPQUFMLENBQWFNLElBQWI7O0FBRUEsU0FBSyxNQUFNQyxHQUFYLElBQWtCRixJQUFsQixFQUF3QjtBQUN0QnJDLE1BQUFBLFFBQVEsQ0FBQ0csU0FBVCxDQUFtQm9DLEdBQW5CO0FBQ0EsV0FBS0EsR0FBTCxDQUFTQSxHQUFHLENBQUNoQyxNQUFNLENBQUNDLEdBQVAsQ0FBVyxTQUFYLENBQUQsQ0FBWjtBQUNELEtBZDJELENBZ0I1RDs7O0FBQ0EsUUFBSXVCLElBQUksQ0FBQ1MsTUFBVCxFQUFpQjtBQUNmLGlCQUFXLE1BQU1ELEdBQWpCLElBQXdCTCxNQUFNLENBQUNPLEtBQVAsRUFBeEIsRUFBd0M7QUFDdEN6QyxRQUFBQSxRQUFRLENBQUNHLFNBQVQsQ0FBbUJvQyxHQUFuQjtBQUNBLGFBQUtBLEdBQUwsQ0FBU0EsR0FBRyxDQUFDaEMsTUFBTSxDQUFDQyxHQUFQLENBQVcsU0FBWCxDQUFELENBQVo7QUFDRDtBQUNGO0FBQ0Y7O0FBeEN1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3dpbnN0b24nO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcblxuaW1wb3J0IHsgUHJvamVjdEFyZ3MsIFByb2plY3RDb21tYW5kIH0gZnJvbSAnLi4vLi4vcHJvamVjdC5jb21tYW5kJztcbmltcG9ydCB7IE15ckNsaWVudCB9IGZyb20gJy4uL215ci1jbGllbnQnO1xuaW1wb3J0IHsgQXJndW1lbnRzLCBCdWlsZGVyIH0gZnJvbSAnLi4vLi4vY29tbWFuZCc7XG5cbi8vIFR5cGVzXG5leHBvcnQgaW50ZXJmYWNlIExvZ3NBcmdzIGV4dGVuZHMgUHJvamVjdEFyZ3Mge1xuICBmb2xsb3c6IGJvb2xlYW47XG59XG5cbi8vIFV0aWxzXG5jb25zdCBwcmludExvZyA9IGZvcm1hdC5jb21iaW5lKFxuICB7IHRyYW5zZm9ybTogKGluZm8pID0+IE9iamVjdC5hc3NpZ24oaW5mbywgeyBbU3ltYm9sLmZvcignbGV2ZWwnKV06IGluZm8ubGV2ZWwgfSkgfSxcbiAgeyB0cmFuc2Zvcm06IChpbmZvKSA9PiBPYmplY3QuYXNzaWduKGluZm8sIHsgY29udGV4dDogaW5mby50YXNrPy5zdWJzdHIoMCwgOCkgfHwgaW5mby5jb250ZXh0IH0pIH0sXG4gIGZvcm1hdC5wcmludGYoKHsgY29udGV4dCwgbWVzc2FnZSwgdGltZXN0YW1wIH0pID0+IGNvbnRleHRcbiAgICA/IGNoYWxrYFtqaWxsLW15cl0ge3doaXRlICR7bmV3IERhdGUodGltZXN0YW1wKS50b0xvY2FsZVN0cmluZygpfX0ge2dyZXkgWyR7Y29udGV4dH1dfSAke21lc3NhZ2V9YFxuICAgIDogY2hhbGtgW2ppbGwtbXlyXSB7d2hpdGUgJHtuZXcgRGF0ZSh0aW1lc3RhbXApLnRvTG9jYWxlU3RyaW5nKCl9fSAke21lc3NhZ2V9YFxuICApLFxuICBmb3JtYXQuY29sb3JpemUoeyBhbGw6IHRydWUgfSksXG4pO1xuXG4vLyBDb21tYW5kXG5leHBvcnQgY2xhc3MgTG9nc0NvbW1hbmQgZXh0ZW5kcyBQcm9qZWN0Q29tbWFuZDxMb2dzQXJncz4ge1xuICAvLyBBdHRyaWJ1dGVzXG4gIHJlYWRvbmx5IG5hbWUgPSAnbG9ncyc7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gJ1JlcXVlc3QgbXlyIGxvZ3MnO1xuXG4gIC8vIE1ldGhvZHNcbiAgcHJvdGVjdGVkIGRlZmluZTxULCBVPihidWlsZGVyOiBCdWlsZGVyPFQsIFU+KTogQnVpbGRlcjxULCBVICYgTG9nc0FyZ3M+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVmaW5lKHkgPT4gYnVpbGRlcih5KVxuICAgICAgLm9wdGlvbignZm9sbG93Jywge1xuICAgICAgICBhbGlhczogJ2YnLFxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1N1YnNjcmliZSB0byBsb2dzIHN0cmVhbSdcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBydW4oYXJnczogQXJndW1lbnRzPExvZ3NBcmdzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLnJ1bihhcmdzKTtcblxuICAgIC8vIFNwYXduIHRhc2tcbiAgICB0aGlzLnNwaW5uZXIuc3RhcnQoJ0Nvbm5lY3RpbmcgdG8gbXlyJyk7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IE15ckNsaWVudCh0aGlzLnByb2plY3QpO1xuXG4gICAgdGhpcy5zcGlubmVyLnN0YXJ0KCdSZXF1ZXN0aW5nIGxvZ3MnKTtcbiAgICBjb25zdCBsb2dzID0gYXdhaXQgY2xpZW50LmxvZ3MoKTtcbiAgICB0aGlzLnNwaW5uZXIuc3RvcCgpO1xuXG4gICAgZm9yIChjb25zdCBsb2cgb2YgbG9ncykge1xuICAgICAgcHJpbnRMb2cudHJhbnNmb3JtKGxvZyk7XG4gICAgICB0aGlzLmxvZyhsb2dbU3ltYm9sLmZvcignbWVzc2FnZScpXSk7XG4gICAgfVxuXG4gICAgLy8gRm9sbG93XG4gICAgaWYgKGFyZ3MuZm9sbG93KSB7XG4gICAgICBmb3IgYXdhaXQgKGNvbnN0IGxvZyBvZiBjbGllbnQubG9ncyQoKSkge1xuICAgICAgICBwcmludExvZy50cmFuc2Zvcm0obG9nKTtcbiAgICAgICAgdGhpcy5sb2cobG9nW1N5bWJvbC5mb3IoJ21lc3NhZ2UnKV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJmaWxlIjoibXlyL2NvbW1hbmRzL2xvZ3MuY29tbWFuZC5qcyJ9
@@ -0,0 +1,11 @@
1
+ import { Arguments, Builder } from '../../command';
2
+ import { WorkspaceArgs, WorkspaceCommand } from '../../workspace.command';
3
+ export interface SpawnArgs extends WorkspaceArgs {
4
+ command: string;
5
+ }
6
+ export declare class SpawnCommand extends WorkspaceCommand<SpawnArgs> {
7
+ readonly name = "spawn <command>";
8
+ readonly description = "Spawn new task";
9
+ protected define<T, U>(builder: Builder<T, U>): Builder<T, U & SpawnArgs>;
10
+ protected run(args: Arguments<SpawnArgs>): Promise<number | void>;
11
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SpawnCommand = void 0;
7
+
8
+ var _workspace = require("../../workspace.command");
9
+
10
+ var _myrClient = require("../myr-client");
11
+
12
+ 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; }
13
+
14
+ // Command
15
+ class SpawnCommand extends _workspace.WorkspaceCommand {
16
+ constructor(...args) {
17
+ super(...args);
18
+
19
+ _defineProperty(this, "name", 'spawn <command>');
20
+
21
+ _defineProperty(this, "description", 'Spawn new task');
22
+ }
23
+
24
+ // Methods
25
+ define(builder) {
26
+ return super.define(y => builder(y).positional('command', {
27
+ type: 'string',
28
+ demandOption: true
29
+ }));
30
+ }
31
+
32
+ async run(args) {
33
+ await super.run(args); // Spawn task
34
+
35
+ this.spinner.start('Connecting to myr');
36
+ const client = new _myrClient.MyrClient(this.project);
37
+ this.spinner.start('Spawning task');
38
+ const task = await client.spawn(this.workspace.cwd, args.command, args['--']?.map(arg => arg.toString()));
39
+ this.spinner.succeed(`Task ${task.id} spawned`);
40
+ }
41
+
42
+ }
43
+
44
+ exports.SpawnCommand = SpawnCommand;
45
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15ci9jb21tYW5kcy9zcGF3bi5jb21tYW5kLnRzIl0sIm5hbWVzIjpbIlNwYXduQ29tbWFuZCIsIldvcmtzcGFjZUNvbW1hbmQiLCJkZWZpbmUiLCJidWlsZGVyIiwieSIsInBvc2l0aW9uYWwiLCJ0eXBlIiwiZGVtYW5kT3B0aW9uIiwicnVuIiwiYXJncyIsInNwaW5uZXIiLCJzdGFydCIsImNsaWVudCIsIk15ckNsaWVudCIsInByb2plY3QiLCJ0YXNrIiwic3Bhd24iLCJ3b3Jrc3BhY2UiLCJjd2QiLCJjb21tYW5kIiwibWFwIiwiYXJnIiwidG9TdHJpbmciLCJzdWNjZWVkIiwiaWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFDQTs7OztBQU9BO0FBQ08sTUFBTUEsWUFBTixTQUEyQkMsMkJBQTNCLENBQXVEO0FBQUE7QUFBQTs7QUFBQSxrQ0FFNUMsaUJBRjRDOztBQUFBLHlDQUdyQyxnQkFIcUM7QUFBQTs7QUFLNUQ7QUFDVUMsRUFBQUEsTUFBTSxDQUFPQyxPQUFQLEVBQTBEO0FBQ3hFLFdBQU8sTUFBTUQsTUFBTixDQUFhRSxDQUFDLElBQUlELE9BQU8sQ0FBQ0MsQ0FBRCxDQUFQLENBQ3RCQyxVQURzQixDQUNYLFNBRFcsRUFDQTtBQUFFQyxNQUFBQSxJQUFJLEVBQUUsUUFBUjtBQUFrQkMsTUFBQUEsWUFBWSxFQUFFO0FBQWhDLEtBREEsQ0FBbEIsQ0FBUDtBQUdEOztBQUVrQixRQUFIQyxHQUFHLENBQUNDLElBQUQsRUFBcUQ7QUFDdEUsVUFBTSxNQUFNRCxHQUFOLENBQVVDLElBQVYsQ0FBTixDQURzRSxDQUd0RTs7QUFDQSxTQUFLQyxPQUFMLENBQWFDLEtBQWIsQ0FBbUIsbUJBQW5CO0FBQ0EsVUFBTUMsTUFBTSxHQUFHLElBQUlDLG9CQUFKLENBQWMsS0FBS0MsT0FBbkIsQ0FBZjtBQUVBLFNBQUtKLE9BQUwsQ0FBYUMsS0FBYixDQUFtQixlQUFuQjtBQUNBLFVBQU1JLElBQUksR0FBRyxNQUFNSCxNQUFNLENBQUNJLEtBQVAsQ0FBYSxLQUFLQyxTQUFMLENBQWVDLEdBQTVCLEVBQWlDVCxJQUFJLENBQUNVLE9BQXRDLEVBQStDVixJQUFJLENBQUMsSUFBRCxDQUFKLEVBQVlXLEdBQVosQ0FBZ0JDLEdBQUcsSUFBSUEsR0FBRyxDQUFDQyxRQUFKLEVBQXZCLENBQS9DLENBQW5CO0FBRUEsU0FBS1osT0FBTCxDQUFhYSxPQUFiLENBQXNCLFFBQU9SLElBQUksQ0FBQ1MsRUFBRyxVQUFyQztBQUNEOztBQXZCMkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmd1bWVudHMsIEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9jb21tYW5kJztcbmltcG9ydCB7IFdvcmtzcGFjZUFyZ3MsIFdvcmtzcGFjZUNvbW1hbmQgfSBmcm9tICcuLi8uLi93b3Jrc3BhY2UuY29tbWFuZCc7XG5pbXBvcnQgeyBNeXJDbGllbnQgfSBmcm9tICcuLi9teXItY2xpZW50JztcblxuLy8gVHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgU3Bhd25BcmdzIGV4dGVuZHMgV29ya3NwYWNlQXJncyB7XG4gIGNvbW1hbmQ6IHN0cmluZztcbn1cblxuLy8gQ29tbWFuZFxuZXhwb3J0IGNsYXNzIFNwYXduQ29tbWFuZCBleHRlbmRzIFdvcmtzcGFjZUNvbW1hbmQ8U3Bhd25BcmdzPiB7XG4gIC8vIEF0dHJpYnV0ZXNcbiAgcmVhZG9ubHkgbmFtZSA9ICdzcGF3biA8Y29tbWFuZD4nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbiA9ICdTcGF3biBuZXcgdGFzayc7XG5cbiAgLy8gTWV0aG9kc1xuICBwcm90ZWN0ZWQgZGVmaW5lPFQsIFU+KGJ1aWxkZXI6IEJ1aWxkZXI8VCwgVT4pOiBCdWlsZGVyPFQsIFUgJiBTcGF3bkFyZ3M+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVmaW5lKHkgPT4gYnVpbGRlcih5KVxuICAgICAgLnBvc2l0aW9uYWwoJ2NvbW1hbmQnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSlcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bihhcmdzOiBBcmd1bWVudHM8U3Bhd25BcmdzPik6IFByb21pc2U8bnVtYmVyIHwgdm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLnJ1bihhcmdzKTtcblxuICAgIC8vIFNwYXduIHRhc2tcbiAgICB0aGlzLnNwaW5uZXIuc3RhcnQoJ0Nvbm5lY3RpbmcgdG8gbXlyJyk7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IE15ckNsaWVudCh0aGlzLnByb2plY3QpO1xuXG4gICAgdGhpcy5zcGlubmVyLnN0YXJ0KCdTcGF3bmluZyB0YXNrJyk7XG4gICAgY29uc3QgdGFzayA9IGF3YWl0IGNsaWVudC5zcGF3bih0aGlzLndvcmtzcGFjZS5jd2QsIGFyZ3MuY29tbWFuZCwgYXJnc1snLS0nXT8ubWFwKGFyZyA9PiBhcmcudG9TdHJpbmcoKSkpO1xuXG4gICAgdGhpcy5zcGlubmVyLnN1Y2NlZWQoYFRhc2sgJHt0YXNrLmlkfSBzcGF3bmVkYCk7XG4gIH1cbn0iXSwiZmlsZSI6Im15ci9jb21tYW5kcy9zcGF3bi5jb21tYW5kLmpzIn0=
@@ -0,0 +1,7 @@
1
+ import { Arguments } from '../../command';
2
+ import { ProjectArgs, ProjectCommand } from '../../project.command';
3
+ export declare class StopCommand extends ProjectCommand {
4
+ readonly name = "stop";
5
+ readonly description = "Stop myr server. This will kill all running tasks";
6
+ protected run(argv: Arguments<ProjectArgs>): Promise<void>;
7
+ }