@jujulego/jill 1.1.19 → 2.0.0-beta.2

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 (100) hide show
  1. package/dist/application.context.d.ts +28 -0
  2. package/dist/application.context.d.ts.map +1 -0
  3. package/dist/application.context.js +30 -0
  4. package/dist/application.context.js.map +1 -0
  5. package/dist/application.d.ts +7 -0
  6. package/dist/application.d.ts.map +1 -0
  7. package/dist/application.js +125 -0
  8. package/dist/application.js.map +1 -0
  9. package/dist/command.d.ts +8 -0
  10. package/dist/command.d.ts.map +1 -0
  11. package/dist/command.js +24 -0
  12. package/dist/command.js.map +1 -0
  13. package/dist/commands/each.command.d.ts +14 -12
  14. package/dist/commands/each.command.d.ts.map +1 -1
  15. package/dist/commands/each.command.js +89 -116
  16. package/dist/commands/each.command.js.map +1 -1
  17. package/dist/commands/list.command.d.ts +17 -13
  18. package/dist/commands/list.command.d.ts.map +1 -1
  19. package/dist/commands/list.command.js +146 -145
  20. package/dist/commands/list.command.js.map +1 -1
  21. package/dist/commands/run.command.d.ts +10 -10
  22. package/dist/commands/run.command.d.ts.map +1 -1
  23. package/dist/commands/run.command.js +45 -62
  24. package/dist/commands/run.command.js.map +1 -1
  25. package/dist/commands/tree.command.d.ts +7 -0
  26. package/dist/commands/tree.command.d.ts.map +1 -0
  27. package/dist/commands/tree.command.js +35 -0
  28. package/dist/commands/tree.command.js.map +1 -0
  29. package/dist/components/StaticLogs.d.ts +2 -0
  30. package/dist/components/StaticLogs.d.ts.map +1 -0
  31. package/dist/components/StaticLogs.js +77 -0
  32. package/dist/components/StaticLogs.js.map +1 -0
  33. package/dist/components/WorkspaceTree.d.ts +8 -0
  34. package/dist/components/WorkspaceTree.d.ts.map +1 -0
  35. package/dist/components/WorkspaceTree.js +151 -0
  36. package/dist/components/WorkspaceTree.js.map +1 -0
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +7 -7
  40. package/dist/index.js.map +1 -1
  41. package/dist/main.d.ts.map +1 -1
  42. package/dist/main.js +16 -21
  43. package/dist/main.js.map +1 -1
  44. package/dist/wrapper.d.ts +6 -0
  45. package/dist/wrapper.d.ts.map +1 -0
  46. package/dist/wrapper.js +30 -0
  47. package/dist/wrapper.js.map +1 -0
  48. package/dist/wrappers/project.wrapper.d.ts +7 -0
  49. package/dist/wrappers/project.wrapper.d.ts.map +1 -0
  50. package/dist/wrappers/project.wrapper.js +105 -0
  51. package/dist/wrappers/project.wrapper.js.map +1 -0
  52. package/dist/wrappers/workspace.wrapper.d.ts +5 -0
  53. package/dist/wrappers/workspace.wrapper.d.ts.map +1 -0
  54. package/dist/wrappers/workspace.wrapper.js +108 -0
  55. package/dist/wrappers/workspace.wrapper.js.map +1 -0
  56. package/package.json +44 -25
  57. package/dist/commands/info.command.d.ts +0 -8
  58. package/dist/commands/info.command.d.ts.map +0 -1
  59. package/dist/commands/info.command.js +0 -178
  60. package/dist/commands/info.command.js.map +0 -1
  61. package/dist/myr/commands/kill.command.d.ts +0 -10
  62. package/dist/myr/commands/kill.command.d.ts.map +0 -1
  63. package/dist/myr/commands/kill.command.js +0 -89
  64. package/dist/myr/commands/kill.command.js.map +0 -1
  65. package/dist/myr/commands/list.command.d.ts +0 -17
  66. package/dist/myr/commands/list.command.d.ts.map +0 -1
  67. package/dist/myr/commands/list.command.js +0 -167
  68. package/dist/myr/commands/list.command.js.map +0 -1
  69. package/dist/myr/commands/logs.command.d.ts +0 -10
  70. package/dist/myr/commands/logs.command.d.ts.map +0 -1
  71. package/dist/myr/commands/logs.command.js +0 -165
  72. package/dist/myr/commands/logs.command.js.map +0 -1
  73. package/dist/myr/commands/spawn.command.d.ts +0 -10
  74. package/dist/myr/commands/spawn.command.d.ts.map +0 -1
  75. package/dist/myr/commands/spawn.command.js +0 -84
  76. package/dist/myr/commands/spawn.command.js.map +0 -1
  77. package/dist/myr/commands/stop.command.d.ts +0 -6
  78. package/dist/myr/commands/stop.command.d.ts.map +0 -1
  79. package/dist/myr/commands/stop.command.js +0 -80
  80. package/dist/myr/commands/stop.command.js.map +0 -1
  81. package/dist/myr/myr-client.d.ts +0 -22
  82. package/dist/myr/myr-client.d.ts.map +0 -1
  83. package/dist/myr/myr-client.js +0 -378
  84. package/dist/myr/myr-client.js.map +0 -1
  85. package/dist/myr/myr.command.d.ts +0 -8
  86. package/dist/myr/myr.command.d.ts.map +0 -1
  87. package/dist/myr/myr.command.js +0 -42
  88. package/dist/myr/myr.command.js.map +0 -1
  89. package/dist/myr/myr.process.d.ts +0 -1
  90. package/dist/myr/myr.process.d.ts.map +0 -1
  91. package/dist/myr/myr.process.js +0 -77
  92. package/dist/myr/myr.process.js.map +0 -1
  93. package/dist/myr/watch.command.d.ts +0 -12
  94. package/dist/myr/watch.command.d.ts.map +0 -1
  95. package/dist/myr/watch.command.js +0 -169
  96. package/dist/myr/watch.command.js.map +0 -1
  97. package/dist/task-logger.d.ts +0 -14
  98. package/dist/task-logger.d.ts.map +0 -1
  99. package/dist/task-logger.js +0 -76
  100. package/dist/task-logger.js.map +0 -1
@@ -1,178 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.InfoCommand = void 0;
7
-
8
- var _jillCommon = require("@jujulego/jill-common");
9
-
10
- var _chalk = _interopRequireDefault(require("chalk"));
11
-
12
- var _path = _interopRequireDefault(require("path"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
17
- function adopt(value) {
18
- return value instanceof P ? value : new P(function (resolve) {
19
- resolve(value);
20
- });
21
- }
22
-
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) {
25
- try {
26
- step(generator.next(value));
27
- } catch (e) {
28
- reject(e);
29
- }
30
- }
31
-
32
- function rejected(value) {
33
- try {
34
- step(generator["throw"](value));
35
- } catch (e) {
36
- reject(e);
37
- }
38
- }
39
-
40
- function step(result) {
41
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
42
- }
43
-
44
- step((generator = generator.apply(thisArg, _arguments || [])).next());
45
- });
46
- };
47
-
48
- var __asyncValues = void 0 && (void 0).__asyncValues || function (o) {
49
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
50
- var m = o[Symbol.asyncIterator],
51
- i;
52
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
53
- return this;
54
- }, i);
55
-
56
- function verb(n) {
57
- i[n] = o[n] && function (v) {
58
- return new Promise(function (resolve, reject) {
59
- v = o[n](v), settle(resolve, reject, v.done, v.value);
60
- });
61
- };
62
- }
63
-
64
- function settle(resolve, reject, d, v) {
65
- Promise.resolve(v).then(function (v) {
66
- resolve({
67
- value: v,
68
- done: d
69
- });
70
- }, reject);
71
- }
72
- };
73
-
74
- // Command
75
- class InfoCommand extends _jillCommon.WorkspaceCommand {
76
- constructor() {
77
- super(...arguments); // Attributes
78
-
79
- this.name = 'info';
80
- this.description = 'Print workspace data';
81
- } // Methods
82
-
83
-
84
- run(args) {
85
- const _super = Object.create(null, {
86
- run: {
87
- get: () => super.run
88
- }
89
- });
90
-
91
- return __awaiter(this, void 0, void 0, function* () {
92
- yield _super.run.call(this, args);
93
- this.spinner.stop(); // Print data
94
-
95
- this.log((0, _chalk.default)`Workspace {bold ${this.workspace.name}}:`);
96
- this.log((0, _chalk.default)`{bold Version:} ${this.workspace.manifest.version || _chalk.default.grey('unset')}`);
97
- this.log((0, _chalk.default)`{bold Directory:} ${_path.default.relative(process.cwd(), this.workspace.cwd) || '.'}`);
98
- this.log('');
99
- yield this.printDepsTree();
100
- });
101
- }
102
-
103
- printDepsTree() {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- this.log((0, _chalk.default)`{bold Dependencies:}`);
106
- const printed = new Set([this.workspace.name]);
107
- yield this.printTree(this.workspace, '', false, printed);
108
-
109
- if (printed.size === 1) {
110
- this.log(_chalk.default.grey(` No dependencies for ${this.workspace.name}`));
111
- }
112
- });
113
- }
114
-
115
- printTree(wks, level, dev, printed) {
116
- var e_1, _a, e_2, _b;
117
-
118
- return __awaiter(this, void 0, void 0, function* () {
119
- const workspaces = [];
120
-
121
- try {
122
- for (var _c = __asyncValues(wks.dependencies()), _d; _d = yield _c.next(), !_d.done;) {
123
- const dep = _d.value;
124
- workspaces.push([dep, dev]);
125
- }
126
- } catch (e_1_1) {
127
- e_1 = {
128
- error: e_1_1
129
- };
130
- } finally {
131
- try {
132
- if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);
133
- } finally {
134
- if (e_1) throw e_1.error;
135
- }
136
- }
137
-
138
- try {
139
- for (var _e = __asyncValues(wks.devDependencies()), _f; _f = yield _e.next(), !_f.done;) {
140
- const dep = _f.value;
141
- workspaces.push([dep, true]);
142
- }
143
- } catch (e_2_1) {
144
- e_2 = {
145
- error: e_2_1
146
- };
147
- } finally {
148
- try {
149
- if (_f && !_f.done && (_b = _e.return)) yield _b.call(_e);
150
- } finally {
151
- if (e_2) throw e_2.error;
152
- }
153
- }
154
-
155
- for (let i = 0; i < workspaces.length; ++i) {
156
- const [dep, isDev] = workspaces[i];
157
- const isPrinted = printed.has(dep.cwd);
158
- const isLast = i === workspaces.length - 1; // Format
159
-
160
- let name = dep.name;
161
- if (dep.version) name = (0, _chalk.default)`${name}{grey @${dep.version}}`;
162
- if (isDev) name = _chalk.default.blue(`${name} (dev)`);
163
- if (isPrinted) name = _chalk.default.italic(name);
164
- const branchFmt = dev ? _chalk.default.blue : s => s;
165
- this.log(`${level}${branchFmt(`${isLast ? '└' : '├'}─ `)}${name}`); // Print deps of dep
166
-
167
- if (!isPrinted) {
168
- printed.add(dep.cwd);
169
- yield this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);
170
- }
171
- }
172
- });
173
- }
174
-
175
- }
176
-
177
- exports.InfoCommand = InfoCommand;
178
- //# sourceMappingURL=info.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["commands/info.command.ts","commands/info.command.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__asyncValues","o","Symbol","asyncIterator","TypeError","m","i","call","__values","iterator","verb","n","v","settle","d","InfoCommand","WorkspaceCommand","constructor","arguments","name","description","run","args","_super","Object","create","get","spinner","stop","log","workspace","manifest","version","chalk","grey","path","relative","process","cwd","printDepsTree","printed","Set","printTree","size","wks","level","dev","e_1","_a","e_2","_b","workspaces","_c","dependencies","_d","dep","push","e_1_1","error","return","_e","devDependencies","_f","e_2_1","length","isDev","isPrinted","has","isLast","blue","italic","branchFmt","s","add"],"mappings":"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","file":"info.command.js","sourcesContent":["import { Arguments, WorkspaceArgs, WorkspaceCommand } from '@jujulego/jill-common';\nimport { Workspace } from '@jujulego/jill-core';\nimport chalk from 'chalk';\nimport path from 'path';\n\n// Command\nexport class InfoCommand extends WorkspaceCommand {\n // Attributes\n readonly name = 'info';\n readonly description = 'Print workspace data';\n\n // Methods\n protected async run(args: Arguments<WorkspaceArgs>): Promise<number | void> {\n await super.run(args);\n this.spinner.stop();\n\n // Print data\n this.log(chalk`Workspace {bold ${this.workspace.name}}:`);\n this.log(chalk`{bold Version:} ${this.workspace.manifest.version || chalk.grey('unset')}`);\n this.log(chalk`{bold Directory:} ${path.relative(process.cwd(), this.workspace.cwd) || '.'}`);\n this.log('');\n await this.printDepsTree();\n }\n\n private async printDepsTree(): Promise<void> {\n this.log(chalk`{bold Dependencies:}`);\n const printed = new Set([this.workspace.name]);\n\n await this.printTree(this.workspace, '', false, printed);\n\n if (printed.size === 1) {\n this.log(chalk.grey(` No dependencies for ${this.workspace.name}`));\n }\n }\n\n private async printTree(wks: Workspace, level: string, dev: boolean, printed: Set<string>) {\n const workspaces: [Workspace, boolean][] = [];\n\n for await (const dep of wks.dependencies()) {\n workspaces.push([dep, dev]);\n }\n\n for await (const dep of wks.devDependencies()) {\n workspaces.push([dep, true]);\n }\n\n for (let i = 0; i < workspaces.length; ++i) {\n const [dep, isDev] = workspaces[i];\n const isPrinted = printed.has(dep.cwd);\n const isLast = i === workspaces.length - 1;\n\n // Format\n let name = dep.name;\n if (dep.version) name = chalk`${name}{grey @${dep.version}}`;\n if (isDev) name = chalk.blue(`${name} (dev)`);\n if (isPrinted) name = chalk.italic(name);\n\n const branchFmt = dev ? chalk.blue : (s: string) => s;\n\n this.log(`${level}${branchFmt(`${isLast ? '└' : '├' }─ `)}${name}`);\n\n // Print deps of dep\n if (!isPrinted) {\n printed.add(dep.cwd);\n await this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);\n }\n }\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nimport { WorkspaceCommand } from '@jujulego/jill-common';\nimport chalk from 'chalk';\nimport path from 'path';\n// Command\nexport class InfoCommand extends WorkspaceCommand {\n constructor() {\n super(...arguments);\n // Attributes\n this.name = 'info';\n this.description = 'Print workspace data';\n }\n // Methods\n run(args) {\n const _super = Object.create(null, {\n run: { get: () => super.run }\n });\n return __awaiter(this, void 0, void 0, function* () {\n yield _super.run.call(this, args);\n this.spinner.stop();\n // Print data\n this.log(chalk `Workspace {bold ${this.workspace.name}}:`);\n this.log(chalk `{bold Version:} ${this.workspace.manifest.version || chalk.grey('unset')}`);\n this.log(chalk `{bold Directory:} ${path.relative(process.cwd(), this.workspace.cwd) || '.'}`);\n this.log('');\n yield this.printDepsTree();\n });\n }\n printDepsTree() {\n return __awaiter(this, void 0, void 0, function* () {\n this.log(chalk `{bold Dependencies:}`);\n const printed = new Set([this.workspace.name]);\n yield this.printTree(this.workspace, '', false, printed);\n if (printed.size === 1) {\n this.log(chalk.grey(` No dependencies for ${this.workspace.name}`));\n }\n });\n }\n printTree(wks, level, dev, printed) {\n var e_1, _a, e_2, _b;\n return __awaiter(this, void 0, void 0, function* () {\n const workspaces = [];\n try {\n for (var _c = __asyncValues(wks.dependencies()), _d; _d = yield _c.next(), !_d.done;) {\n const dep = _d.value;\n workspaces.push([dep, dev]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _e = __asyncValues(wks.devDependencies()), _f; _f = yield _e.next(), !_f.done;) {\n const dep = _f.value;\n workspaces.push([dep, true]);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) yield _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n for (let i = 0; i < workspaces.length; ++i) {\n const [dep, isDev] = workspaces[i];\n const isPrinted = printed.has(dep.cwd);\n const isLast = i === workspaces.length - 1;\n // Format\n let name = dep.name;\n if (dep.version)\n name = chalk `${name}{grey @${dep.version}}`;\n if (isDev)\n name = chalk.blue(`${name} (dev)`);\n if (isPrinted)\n name = chalk.italic(name);\n const branchFmt = dev ? chalk.blue : (s) => s;\n this.log(`${level}${branchFmt(`${isLast ? '└' : '├'}─ `)}${name}`);\n // Print deps of dep\n if (!isPrinted) {\n printed.add(dep.cwd);\n yield this.printTree(dep, level + (isLast ? ' ' : branchFmt('│ ')), isDev, printed);\n }\n }\n });\n }\n}"]}
@@ -1,10 +0,0 @@
1
- import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';
2
- export interface KillArgs extends ProjectArgs {
3
- id: string;
4
- }
5
- export declare class KillCommand extends ProjectCommand<KillArgs> {
6
- readonly name = "kill <id>";
7
- readonly description = "Kill task";
8
- protected define<T, U>(builder: Builder<T, U>): Builder<T, U & KillArgs>;
9
- protected run(args: Arguments<KillArgs>): Promise<number>;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["myr/commands/kill.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKxF,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,EAAE,EAAE,MAAM,CAAC;CACZ;AAGD,qBAAa,WAAY,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAEvD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,eAAe;IAGnC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;cAMxD,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAkBhE","file":"kill.command.d.ts","sourcesContent":["import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\n\nimport { MyrClient } from '../myr-client';\n\n// Types\nexport interface KillArgs extends ProjectArgs {\n id: string;\n}\n\n// Command\nexport class KillCommand extends ProjectCommand<KillArgs> {\n // Attributes\n readonly name = 'kill <id>';\n readonly description = 'Kill task';\n\n // Methods\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & KillArgs> {\n return super.define(y => builder(y)\n .positional('id', { type: 'string', demandOption: true })\n );\n }\n\n protected async run(args: Arguments<KillArgs>): Promise<number> {\n await super.run(args);\n\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n\n this.spinner.start('Killing task');\n const task = await client.kill(args.id);\n\n if (task) {\n this.spinner.succeed(`Task ${task.id} killed`);\n return 0;\n } else {\n this.spinner.fail(`Task ${args.id} not found`);\n return 1;\n }\n }\n}\n"]}
@@ -1,89 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.KillCommand = void 0;
7
-
8
- var _jillCommon = require("@jujulego/jill-common");
9
-
10
- var _myrClient = require("../myr-client");
11
-
12
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) {
14
- return value instanceof P ? value : new P(function (resolve) {
15
- resolve(value);
16
- });
17
- }
18
-
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) {
21
- try {
22
- step(generator.next(value));
23
- } catch (e) {
24
- reject(e);
25
- }
26
- }
27
-
28
- function rejected(value) {
29
- try {
30
- step(generator["throw"](value));
31
- } catch (e) {
32
- reject(e);
33
- }
34
- }
35
-
36
- function step(result) {
37
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
38
- }
39
-
40
- step((generator = generator.apply(thisArg, _arguments || [])).next());
41
- });
42
- };
43
-
44
- // Command
45
- class KillCommand extends _jillCommon.ProjectCommand {
46
- constructor() {
47
- super(...arguments); // Attributes
48
-
49
- this.name = 'kill <id>';
50
- this.description = 'Kill task';
51
- } // Methods
52
-
53
-
54
- define(builder) {
55
- return super.define(y => builder(y).positional('id', {
56
- type: 'string',
57
- demandOption: true
58
- }));
59
- }
60
-
61
- run(args) {
62
- const _super = Object.create(null, {
63
- run: {
64
- get: () => super.run
65
- }
66
- });
67
-
68
- return __awaiter(this, void 0, void 0, function* () {
69
- yield _super.run.call(this, args); // Spawn task
70
-
71
- this.spinner.start('Connecting to myr');
72
- const client = new _myrClient.MyrClient(this.project);
73
- this.spinner.start('Killing task');
74
- const task = yield client.kill(args.id);
75
-
76
- if (task) {
77
- this.spinner.succeed(`Task ${task.id} killed`);
78
- return 0;
79
- } else {
80
- this.spinner.fail(`Task ${args.id} not found`);
81
- return 1;
82
- }
83
- });
84
- }
85
-
86
- }
87
-
88
- exports.KillCommand = KillCommand;
89
- //# sourceMappingURL=kill.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["myr/commands/kill.command.ts","myr/commands/kill.command.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","KillCommand","ProjectCommand","constructor","arguments","name","description","define","builder","y","positional","type","demandOption","run","args","_super","Object","create","get","call","spinner","start","client","MyrClient","project","task","kill","id","succeed","fail"],"mappings":"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","file":"kill.command.js","sourcesContent":["import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\n\nimport { MyrClient } from '../myr-client';\n\n// Types\nexport interface KillArgs extends ProjectArgs {\n id: string;\n}\n\n// Command\nexport class KillCommand extends ProjectCommand<KillArgs> {\n // Attributes\n readonly name = 'kill <id>';\n readonly description = 'Kill task';\n\n // Methods\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & KillArgs> {\n return super.define(y => builder(y)\n .positional('id', { type: 'string', demandOption: true })\n );\n }\n\n protected async run(args: Arguments<KillArgs>): Promise<number> {\n await super.run(args);\n\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n\n this.spinner.start('Killing task');\n const task = await client.kill(args.id);\n\n if (task) {\n this.spinner.succeed(`Task ${task.id} killed`);\n return 0;\n } else {\n this.spinner.fail(`Task ${args.id} not found`);\n return 1;\n }\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ProjectCommand } from '@jujulego/jill-common';\nimport { MyrClient } from '../myr-client';\n// Command\nexport class KillCommand extends ProjectCommand {\n constructor() {\n super(...arguments);\n // Attributes\n this.name = 'kill <id>';\n this.description = 'Kill task';\n }\n // Methods\n define(builder) {\n return super.define(y => builder(y)\n .positional('id', { type: 'string', demandOption: true }));\n }\n run(args) {\n const _super = Object.create(null, {\n run: { get: () => super.run }\n });\n return __awaiter(this, void 0, void 0, function* () {\n yield _super.run.call(this, args);\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n this.spinner.start('Killing task');\n const task = yield client.kill(args.id);\n if (task) {\n this.spinner.succeed(`Task ${task.id} killed`);\n return 0;\n }\n else {\n this.spinner.fail(`Task ${args.id} not found`);\n return 1;\n }\n });\n }\n}"]}
@@ -1,17 +0,0 @@
1
- import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';
2
- export declare type Attribute = 'identifier' | 'status' | 'cwd' | 'command' | 'cmd' | 'args';
3
- export declare type Data = Partial<Record<Attribute, string>>;
4
- export interface ListArgs extends ProjectArgs {
5
- all: boolean | undefined;
6
- attrs: Attribute[];
7
- headers: boolean | undefined;
8
- long: boolean | undefined;
9
- json: boolean | undefined;
10
- }
11
- export declare class ListCommand extends ProjectCommand<ListArgs> {
12
- readonly name: string[];
13
- readonly description = "List myr tasks";
14
- private buildExtractor;
15
- protected define<T, U>(builder: Builder<T, U>): Builder<T, U & ListArgs>;
16
- protected run(args: Arguments<ListArgs>): Promise<void>;
17
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["myr/commands/list.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAW,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AASjG,oBAAY,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AACrF,oBAAY,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAItD,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;IAEzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAwBD,qBAAa,WAAY,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAEvD,QAAQ,CAAC,IAAI,WAAkB;IAC/B,QAAQ,CAAC,WAAW,oBAAoB;IAGxC,OAAO,CAAC,cAAc;IAYtB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;cAkCxD,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA0C9D","file":"list.command.d.ts","sourcesContent":["import { Arguments, Builder, CliList, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\nimport { TaskStatus } from '@jujulego/jill-core';\nimport { Task } from '@jujulego/jill-myr';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { MyrClient } from '../myr-client';\n\n// Types\nexport type Attribute = 'identifier' | 'status' | 'cwd' | 'command' | 'cmd' | 'args';\nexport type Data = Partial<Record<Attribute, string>>;\n\ntype Extractor<T> = (tsk: Task) => T;\n\nexport interface ListArgs extends ProjectArgs {\n all: boolean | undefined;\n\n attrs: Attribute[];\n headers: boolean | undefined;\n long: boolean | undefined;\n json: boolean | undefined;\n}\n\n// Constants\nconst COLORED_STATUS: Record<TaskStatus, string> = {\n blocked: chalk.yellow('blocked'),\n ready: chalk.blue('ready'),\n running: 'running',\n failed: chalk.red('failed'),\n done: chalk.green('done')\n};\n\nconst LONG_ATTRIBUTES: Attribute[] = ['identifier', 'status', 'cwd', 'command'];\nconst DEFAULT_ATTRIBUTES: Attribute[] = ['identifier', 'command'];\n\nconst EXTRACTORS: Record<Attribute, Extractor<string | undefined>> = {\n identifier: tsk => chalk.grey(tsk.id),\n status: tsk => COLORED_STATUS[tsk.status],\n cwd: tsk => path.relative(process.cwd(), tsk.cwd) || '.',\n command: tsk => `${tsk.cmd} ${tsk.args.join(' ')}`,\n cmd: tsk => tsk.cmd,\n args: tsk => tsk.args.join(' ')\n};\n\n// Command\nexport class ListCommand extends ProjectCommand<ListArgs> {\n // Attributes\n readonly name = ['list', 'ls'];\n readonly description = 'List myr tasks';\n\n // Methods\n private buildExtractor(attrs: Attribute[]): Extractor<Data> {\n return (tsk) => {\n const data: Data = {};\n\n for (const attr of attrs) {\n data[attr] = EXTRACTORS[attr](tsk);\n }\n\n return data;\n };\n }\n\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & ListArgs> {\n return super.define(y => builder(y)\n .option('all', {\n alias: 'a',\n type: 'boolean',\n group: 'Filters:',\n desc: 'Show all tasks (by default list shows only running tasks)',\n })\n .option('attrs', {\n type: 'array',\n choices: ['identifier', 'status', 'cwd' ,'command', 'cmd', 'args'],\n default: [] as Attribute[],\n group: 'Format:',\n desc: 'Select printed attributes'\n })\n .option('headers', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints columns headers'\n })\n .option('long', {\n alias: 'l',\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints name, version and root of all workspaces',\n })\n .option('json', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints data as a JSON array',\n })\n );\n }\n\n protected async run(args: Arguments<ListArgs>): Promise<void> {\n await super.run(args);\n\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n\n this.spinner.start('Requesting tasks');\n const tasks = await client.tasks();\n\n this.spinner.stop();\n\n // Build data\n let attrs = args.attrs;\n\n if (args.attrs.length === 0) {\n if (args.long) {\n attrs = LONG_ATTRIBUTES;\n } else {\n attrs = DEFAULT_ATTRIBUTES;\n }\n }\n\n const data = tasks\n .filter(tsk => args.all || tsk.status === 'running')\n .map(tsk => this.buildExtractor(attrs)(tsk));\n\n // Print data\n const list = new CliList();\n\n if (args.headers ?? (attrs.length > 1)) {\n list.setHeaders(attrs);\n }\n\n for (const d of data) {\n list.add(attrs.map(attr => d[attr] || ''));\n }\n\n for (const d of list.lines()) {\n this.log(d);\n }\n }\n}\n"]}
@@ -1,167 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ListCommand = void 0;
7
-
8
- var _jillCommon = require("@jujulego/jill-common");
9
-
10
- var _chalk = _interopRequireDefault(require("chalk"));
11
-
12
- var _path = _interopRequireDefault(require("path"));
13
-
14
- var _myrClient = require("../myr-client");
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
19
- function adopt(value) {
20
- return value instanceof P ? value : new P(function (resolve) {
21
- resolve(value);
22
- });
23
- }
24
-
25
- return new (P || (P = Promise))(function (resolve, reject) {
26
- function fulfilled(value) {
27
- try {
28
- step(generator.next(value));
29
- } catch (e) {
30
- reject(e);
31
- }
32
- }
33
-
34
- function rejected(value) {
35
- try {
36
- step(generator["throw"](value));
37
- } catch (e) {
38
- reject(e);
39
- }
40
- }
41
-
42
- function step(result) {
43
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
44
- }
45
-
46
- step((generator = generator.apply(thisArg, _arguments || [])).next());
47
- });
48
- };
49
-
50
- // Constants
51
- const COLORED_STATUS = {
52
- blocked: _chalk.default.yellow('blocked'),
53
- ready: _chalk.default.blue('ready'),
54
- running: 'running',
55
- failed: _chalk.default.red('failed'),
56
- done: _chalk.default.green('done')
57
- };
58
- const LONG_ATTRIBUTES = ['identifier', 'status', 'cwd', 'command'];
59
- const DEFAULT_ATTRIBUTES = ['identifier', 'command'];
60
- const EXTRACTORS = {
61
- identifier: tsk => _chalk.default.grey(tsk.id),
62
- status: tsk => COLORED_STATUS[tsk.status],
63
- cwd: tsk => _path.default.relative(process.cwd(), tsk.cwd) || '.',
64
- command: tsk => `${tsk.cmd} ${tsk.args.join(' ')}`,
65
- cmd: tsk => tsk.cmd,
66
- args: tsk => tsk.args.join(' ')
67
- }; // Command
68
-
69
- class ListCommand extends _jillCommon.ProjectCommand {
70
- constructor() {
71
- super(...arguments); // Attributes
72
-
73
- this.name = ['list', 'ls'];
74
- this.description = 'List myr tasks';
75
- } // Methods
76
-
77
-
78
- buildExtractor(attrs) {
79
- return tsk => {
80
- const data = {};
81
-
82
- for (const attr of attrs) {
83
- data[attr] = EXTRACTORS[attr](tsk);
84
- }
85
-
86
- return data;
87
- };
88
- }
89
-
90
- define(builder) {
91
- return super.define(y => builder(y).option('all', {
92
- alias: 'a',
93
- type: 'boolean',
94
- group: 'Filters:',
95
- desc: 'Show all tasks (by default list shows only running tasks)'
96
- }).option('attrs', {
97
- type: 'array',
98
- choices: ['identifier', 'status', 'cwd', 'command', 'cmd', 'args'],
99
- default: [],
100
- group: 'Format:',
101
- desc: 'Select printed attributes'
102
- }).option('headers', {
103
- type: 'boolean',
104
- group: 'Format:',
105
- desc: 'Prints columns headers'
106
- }).option('long', {
107
- alias: 'l',
108
- type: 'boolean',
109
- group: 'Format:',
110
- desc: 'Prints name, version and root of all workspaces'
111
- }).option('json', {
112
- type: 'boolean',
113
- group: 'Format:',
114
- desc: 'Prints data as a JSON array'
115
- }));
116
- }
117
-
118
- run(args) {
119
- const _super = Object.create(null, {
120
- run: {
121
- get: () => super.run
122
- }
123
- });
124
-
125
- var _a;
126
-
127
- return __awaiter(this, void 0, void 0, function* () {
128
- yield _super.run.call(this, args); // Spawn task
129
-
130
- this.spinner.start('Connecting to myr');
131
- const client = new _myrClient.MyrClient(this.project);
132
- this.spinner.start('Requesting tasks');
133
- const tasks = yield client.tasks();
134
- this.spinner.stop(); // Build data
135
-
136
- let attrs = args.attrs;
137
-
138
- if (args.attrs.length === 0) {
139
- if (args.long) {
140
- attrs = LONG_ATTRIBUTES;
141
- } else {
142
- attrs = DEFAULT_ATTRIBUTES;
143
- }
144
- }
145
-
146
- const data = tasks.filter(tsk => args.all || tsk.status === 'running').map(tsk => this.buildExtractor(attrs)(tsk)); // Print data
147
-
148
- const list = new _jillCommon.CliList();
149
-
150
- if ((_a = args.headers) !== null && _a !== void 0 ? _a : attrs.length > 1) {
151
- list.setHeaders(attrs);
152
- }
153
-
154
- for (const d of data) {
155
- list.add(attrs.map(attr => d[attr] || ''));
156
- }
157
-
158
- for (const d of list.lines()) {
159
- this.log(d);
160
- }
161
- });
162
- }
163
-
164
- }
165
-
166
- exports.ListCommand = ListCommand;
167
- //# sourceMappingURL=list.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["myr/commands/list.command.ts","myr/commands/list.command.js"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","COLORED_STATUS","blocked","chalk","yellow","ready","blue","running","failed","red","green","LONG_ATTRIBUTES","DEFAULT_ATTRIBUTES","EXTRACTORS","identifier","tsk","grey","id","status","cwd","path","relative","process","command","cmd","args","join","ListCommand","ProjectCommand","constructor","arguments","name","description","buildExtractor","attrs","data","attr","define","builder","y","option","alias","type","group","desc","choices","default","run","_super","Object","create","get","_a","call","spinner","start","client","MyrClient","project","tasks","stop","length","long","filter","all","map","list","CliList","headers","setHeaders","d","add","lines","log"],"mappings":"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","file":"list.command.js","sourcesContent":["import { Arguments, Builder, CliList, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\nimport { TaskStatus } from '@jujulego/jill-core';\nimport { Task } from '@jujulego/jill-myr';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { MyrClient } from '../myr-client';\n\n// Types\nexport type Attribute = 'identifier' | 'status' | 'cwd' | 'command' | 'cmd' | 'args';\nexport type Data = Partial<Record<Attribute, string>>;\n\ntype Extractor<T> = (tsk: Task) => T;\n\nexport interface ListArgs extends ProjectArgs {\n all: boolean | undefined;\n\n attrs: Attribute[];\n headers: boolean | undefined;\n long: boolean | undefined;\n json: boolean | undefined;\n}\n\n// Constants\nconst COLORED_STATUS: Record<TaskStatus, string> = {\n blocked: chalk.yellow('blocked'),\n ready: chalk.blue('ready'),\n running: 'running',\n failed: chalk.red('failed'),\n done: chalk.green('done')\n};\n\nconst LONG_ATTRIBUTES: Attribute[] = ['identifier', 'status', 'cwd', 'command'];\nconst DEFAULT_ATTRIBUTES: Attribute[] = ['identifier', 'command'];\n\nconst EXTRACTORS: Record<Attribute, Extractor<string | undefined>> = {\n identifier: tsk => chalk.grey(tsk.id),\n status: tsk => COLORED_STATUS[tsk.status],\n cwd: tsk => path.relative(process.cwd(), tsk.cwd) || '.',\n command: tsk => `${tsk.cmd} ${tsk.args.join(' ')}`,\n cmd: tsk => tsk.cmd,\n args: tsk => tsk.args.join(' ')\n};\n\n// Command\nexport class ListCommand extends ProjectCommand<ListArgs> {\n // Attributes\n readonly name = ['list', 'ls'];\n readonly description = 'List myr tasks';\n\n // Methods\n private buildExtractor(attrs: Attribute[]): Extractor<Data> {\n return (tsk) => {\n const data: Data = {};\n\n for (const attr of attrs) {\n data[attr] = EXTRACTORS[attr](tsk);\n }\n\n return data;\n };\n }\n\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & ListArgs> {\n return super.define(y => builder(y)\n .option('all', {\n alias: 'a',\n type: 'boolean',\n group: 'Filters:',\n desc: 'Show all tasks (by default list shows only running tasks)',\n })\n .option('attrs', {\n type: 'array',\n choices: ['identifier', 'status', 'cwd' ,'command', 'cmd', 'args'],\n default: [] as Attribute[],\n group: 'Format:',\n desc: 'Select printed attributes'\n })\n .option('headers', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints columns headers'\n })\n .option('long', {\n alias: 'l',\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints name, version and root of all workspaces',\n })\n .option('json', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints data as a JSON array',\n })\n );\n }\n\n protected async run(args: Arguments<ListArgs>): Promise<void> {\n await super.run(args);\n\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n\n this.spinner.start('Requesting tasks');\n const tasks = await client.tasks();\n\n this.spinner.stop();\n\n // Build data\n let attrs = args.attrs;\n\n if (args.attrs.length === 0) {\n if (args.long) {\n attrs = LONG_ATTRIBUTES;\n } else {\n attrs = DEFAULT_ATTRIBUTES;\n }\n }\n\n const data = tasks\n .filter(tsk => args.all || tsk.status === 'running')\n .map(tsk => this.buildExtractor(attrs)(tsk));\n\n // Print data\n const list = new CliList();\n\n if (args.headers ?? (attrs.length > 1)) {\n list.setHeaders(attrs);\n }\n\n for (const d of data) {\n list.add(attrs.map(attr => d[attr] || ''));\n }\n\n for (const d of list.lines()) {\n this.log(d);\n }\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { CliList, ProjectCommand } from '@jujulego/jill-common';\nimport chalk from 'chalk';\nimport path from 'path';\nimport { MyrClient } from '../myr-client';\n// Constants\nconst COLORED_STATUS = {\n blocked: chalk.yellow('blocked'),\n ready: chalk.blue('ready'),\n running: 'running',\n failed: chalk.red('failed'),\n done: chalk.green('done')\n};\nconst LONG_ATTRIBUTES = ['identifier', 'status', 'cwd', 'command'];\nconst DEFAULT_ATTRIBUTES = ['identifier', 'command'];\nconst EXTRACTORS = {\n identifier: tsk => chalk.grey(tsk.id),\n status: tsk => COLORED_STATUS[tsk.status],\n cwd: tsk => path.relative(process.cwd(), tsk.cwd) || '.',\n command: tsk => `${tsk.cmd} ${tsk.args.join(' ')}`,\n cmd: tsk => tsk.cmd,\n args: tsk => tsk.args.join(' ')\n};\n// Command\nexport class ListCommand extends ProjectCommand {\n constructor() {\n super(...arguments);\n // Attributes\n this.name = ['list', 'ls'];\n this.description = 'List myr tasks';\n }\n // Methods\n buildExtractor(attrs) {\n return (tsk) => {\n const data = {};\n for (const attr of attrs) {\n data[attr] = EXTRACTORS[attr](tsk);\n }\n return data;\n };\n }\n define(builder) {\n return super.define(y => builder(y)\n .option('all', {\n alias: 'a',\n type: 'boolean',\n group: 'Filters:',\n desc: 'Show all tasks (by default list shows only running tasks)',\n })\n .option('attrs', {\n type: 'array',\n choices: ['identifier', 'status', 'cwd', 'command', 'cmd', 'args'],\n default: [],\n group: 'Format:',\n desc: 'Select printed attributes'\n })\n .option('headers', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints columns headers'\n })\n .option('long', {\n alias: 'l',\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints name, version and root of all workspaces',\n })\n .option('json', {\n type: 'boolean',\n group: 'Format:',\n desc: 'Prints data as a JSON array',\n }));\n }\n run(args) {\n const _super = Object.create(null, {\n run: { get: () => super.run }\n });\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n yield _super.run.call(this, args);\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n this.spinner.start('Requesting tasks');\n const tasks = yield client.tasks();\n this.spinner.stop();\n // Build data\n let attrs = args.attrs;\n if (args.attrs.length === 0) {\n if (args.long) {\n attrs = LONG_ATTRIBUTES;\n }\n else {\n attrs = DEFAULT_ATTRIBUTES;\n }\n }\n const data = tasks\n .filter(tsk => args.all || tsk.status === 'running')\n .map(tsk => this.buildExtractor(attrs)(tsk));\n // Print data\n const list = new CliList();\n if ((_a = args.headers) !== null && _a !== void 0 ? _a : (attrs.length > 1)) {\n list.setHeaders(attrs);\n }\n for (const d of data) {\n list.add(attrs.map(attr => d[attr] || ''));\n }\n for (const d of list.lines()) {\n this.log(d);\n }\n });\n }\n}"]}
@@ -1,10 +0,0 @@
1
- import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';
2
- export interface LogsArgs extends ProjectArgs {
3
- follow: boolean;
4
- }
5
- export declare class LogsCommand extends ProjectCommand<LogsArgs> {
6
- readonly name = "logs";
7
- readonly description = "Request myr logs";
8
- protected define<T, U>(builder: Builder<T, U>): Builder<T, U & LogsArgs>;
9
- protected run(args: Arguments<LogsArgs>): Promise<void>;
10
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["myr/commands/logs.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOxF,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,MAAM,EAAE,OAAO,CAAC;CACjB;AAcD,qBAAa,WAAY,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAEvD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,sBAAsB;IAG1C,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;cAWxD,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB9D","file":"logs.command.d.ts","sourcesContent":["import { Arguments, Builder, ProjectArgs, ProjectCommand } from '@jujulego/jill-common';\nimport { format } from 'winston';\nimport chalk from 'chalk';\n\nimport { MyrClient } from '../myr-client';\n\n// Types\nexport interface LogsArgs extends ProjectArgs {\n follow: boolean;\n}\n\n// Utils\nconst printLog = format.combine(\n { transform: (info) => Object.assign(info, { [Symbol.for('level')]: info.level }) },\n { transform: (info) => Object.assign(info, { context: info.task?.substr(0, 8) || info.context }) },\n format.printf(({ context, message, timestamp }) => context\n ? chalk`[jill-myr] {white ${new Date(timestamp).toLocaleString()}} {grey [${context}]} ${message}`\n : chalk`[jill-myr] {white ${new Date(timestamp).toLocaleString()}} ${message}`\n ),\n format.colorize({ all: true }),\n);\n\n// Command\nexport class LogsCommand extends ProjectCommand<LogsArgs> {\n // Attributes\n readonly name = 'logs';\n readonly description = 'Request myr logs';\n\n // Methods\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & LogsArgs> {\n return super.define(y => builder(y)\n .option('follow', {\n alias: 'f',\n type: 'boolean',\n default: false,\n description: 'Subscribe to logs stream'\n })\n );\n }\n\n protected async run(args: Arguments<LogsArgs>): Promise<void> {\n await super.run(args);\n\n // Spawn task\n this.spinner.start('Connecting to myr');\n const client = new MyrClient(this.project);\n\n this.spinner.start('Requesting logs');\n const logs = await client.logs();\n this.spinner.stop();\n\n for (const log of logs) {\n printLog.transform(log);\n this.log(log[Symbol.for('message')]);\n }\n\n // Follow\n if (args.follow) {\n for await (const log of client.logs$()) {\n printLog.transform(log);\n this.log(log[Symbol.for('message')]);\n }\n }\n }\n}\n"]}