@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,169 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.WatchCommand = void 0;
7
-
8
- var _jillCommon = require("@jujulego/jill-common");
9
-
10
- var _jillCore = require("@jujulego/jill-core");
11
-
12
- var _myrClient = require("./myr-client");
13
-
14
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
15
- function adopt(value) {
16
- return value instanceof P ? value : new P(function (resolve) {
17
- resolve(value);
18
- });
19
- }
20
-
21
- return new (P || (P = Promise))(function (resolve, reject) {
22
- function fulfilled(value) {
23
- try {
24
- step(generator.next(value));
25
- } catch (e) {
26
- reject(e);
27
- }
28
- }
29
-
30
- function rejected(value) {
31
- try {
32
- step(generator["throw"](value));
33
- } catch (e) {
34
- reject(e);
35
- }
36
- }
37
-
38
- function step(result) {
39
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
40
- }
41
-
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
-
46
- var __asyncValues = void 0 && (void 0).__asyncValues || function (o) {
47
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
48
- var m = o[Symbol.asyncIterator],
49
- i;
50
- 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 () {
51
- return this;
52
- }, i);
53
-
54
- function verb(n) {
55
- i[n] = o[n] && function (v) {
56
- return new Promise(function (resolve, reject) {
57
- v = o[n](v), settle(resolve, reject, v.done, v.value);
58
- });
59
- };
60
- }
61
-
62
- function settle(resolve, reject, d, v) {
63
- Promise.resolve(v).then(function (v) {
64
- resolve({
65
- value: v,
66
- done: d
67
- });
68
- }, reject);
69
- }
70
- };
71
-
72
- // Command
73
- class WatchCommand extends _jillCommon.WorkspaceCommand {
74
- constructor() {
75
- super(...arguments); // Attributes
76
-
77
- this.name = 'watch <script>';
78
- this.description = 'Run script with watcher inside workspace and watch over deps';
79
- } // Methods
80
-
81
-
82
- spawnDepsTree(myr, wks, set) {
83
- var e_1, _a;
84
-
85
- return __awaiter(this, void 0, void 0, function* () {
86
- let count = 0;
87
-
88
- try {
89
- for (var _b = __asyncValues((0, _jillCore.combine)(wks.dependencies(), wks.devDependencies())), _c; _c = yield _b.next(), !_c.done;) {
90
- const ws = _c.value;
91
- if (set.has(ws.cwd)) continue;
92
- set.add(ws.cwd); // Spawn dependencies
93
-
94
- count += yield this.spawnDepsTree(myr, ws, set); // Spawn task
95
-
96
- const tsk = yield myr.spawnScript(ws, 'watch');
97
- this.logger.log('info', `Task ${tsk.id} spawned`, {
98
- label: ws.name
99
- });
100
- count++;
101
- }
102
- } catch (e_1_1) {
103
- e_1 = {
104
- error: e_1_1
105
- };
106
- } finally {
107
- try {
108
- if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
109
- } finally {
110
- if (e_1) throw e_1.error;
111
- }
112
- }
113
-
114
- return count;
115
- });
116
- }
117
-
118
- define(builder) {
119
- return super.define(y => builder(y).positional('script', {
120
- type: 'string',
121
- demandOption: true
122
- }).option('daemon', {
123
- alias: 'd',
124
- boolean: true,
125
- default: false,
126
- desc: 'Run watch script also in background'
127
- }));
128
- }
129
-
130
- run(args) {
131
- const _super = Object.create(null, {
132
- run: {
133
- get: () => super.run
134
- }
135
- });
136
-
137
- var _a, _b;
138
-
139
- return __awaiter(this, void 0, void 0, function* () {
140
- yield _super.run.call(this, args); // Spawn watch
141
-
142
- this.spinner.start('Spawning dependencies watch tasks');
143
- const myr = new _myrClient.MyrClient(this.project);
144
- const count = yield this.spawnDepsTree(myr, this.workspace, new Set()); // Spawn task
145
-
146
- if (args.daemon) {
147
- this.spinner.start(`Spawning ${args.script} task`);
148
- const tsk = yield myr.spawnScript(this.workspace, args.script, (_a = args['--']) === null || _a === void 0 ? void 0 : _a.map(arg => arg.toString()));
149
- this.logger.log('info', `Task ${tsk.id} spawned`, {
150
- label: this.workspace.name
151
- });
152
- this.spinner.succeed(`${count + 1} watch tasks spawned`);
153
- return 0;
154
- } else {
155
- this.spinner.succeed(`${count} watch tasks spawned`);
156
- const tsk = yield this.workspace.run(args.script, (_b = args['--']) === null || _b === void 0 ? void 0 : _b.map(arg => arg.toString()), {
157
- buildDeps: 'none'
158
- });
159
- tsk.start();
160
- yield tsk.waitFor('done', 'failed');
161
- return tsk.exitCode === 0 ? 0 : 1;
162
- }
163
- });
164
- }
165
-
166
- }
167
-
168
- exports.WatchCommand = WatchCommand;
169
- //# sourceMappingURL=watch.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["myr/watch.command.ts","myr/watch.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","WatchCommand","WorkspaceCommand","constructor","arguments","name","description","spawnDepsTree","myr","wks","set","e_1","_a","count","_b","dependencies","devDependencies","_c","ws","has","cwd","add","tsk","spawnScript","logger","log","id","label","e_1_1","error","return","define","builder","y","positional","type","demandOption","option","alias","boolean","default","desc","run","args","_super","Object","create","get","spinner","start","MyrClient","project","workspace","Set","daemon","script","map","arg","toString","succeed","buildDeps","waitFor","exitCode"],"mappings":"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","file":"watch.command.js","sourcesContent":["import { Arguments, Builder, WorkspaceArgs, WorkspaceCommand } from '@jujulego/jill-common';\nimport { combine, Workspace } from '@jujulego/jill-core';\n\nimport { MyrClient } from './myr-client';\n\n// Types\nexport interface WatchArgs extends WorkspaceArgs {\n script: string;\n daemon: boolean;\n}\n\n// Command\nexport class WatchCommand extends WorkspaceCommand<WatchArgs> {\n // Attributes\n readonly name = 'watch <script>';\n readonly description = 'Run script with watcher inside workspace and watch over deps';\n\n // Methods\n private async spawnDepsTree(myr: MyrClient, wks: Workspace, set: Set<string>): Promise<number> {\n let count = 0;\n\n for await (const ws of combine(wks.dependencies(), wks.devDependencies())) {\n if (set.has(ws.cwd)) continue;\n set.add(ws.cwd);\n\n // Spawn dependencies\n count += await this.spawnDepsTree(myr, ws, set);\n\n // Spawn task\n const tsk = await myr.spawnScript(ws, 'watch');\n this.logger.log('info', `Task ${tsk.id} spawned`, { label: ws.name });\n\n count++;\n }\n\n return count;\n }\n\n protected define<T, U>(builder: Builder<T, U>): Builder<T, U & WatchArgs> {\n return super.define(y => builder(y)\n .positional('script', { type: 'string', demandOption: true })\n .option('daemon', {\n alias: 'd',\n boolean: true,\n default: false,\n desc: 'Run watch script also in background'\n })\n );\n }\n\n protected async run(args: Arguments<WatchArgs>): Promise<number> {\n await super.run(args);\n\n // Spawn watch\n this.spinner.start('Spawning dependencies watch tasks');\n const myr = new MyrClient(this.project);\n const count = await this.spawnDepsTree(myr, this.workspace, new Set());\n\n // Spawn task\n if (args.daemon) {\n this.spinner.start(`Spawning ${args.script} task`);\n const tsk = await myr.spawnScript(this.workspace, args.script, args['--']?.map(arg => arg.toString()));\n this.logger.log('info', `Task ${tsk.id} spawned`, { label: this.workspace.name });\n this.spinner.succeed(`${count + 1} watch tasks spawned`);\n\n return 0;\n } else {\n this.spinner.succeed(`${count} watch tasks spawned`);\n\n const tsk = await this.workspace.run(args.script, args['--']?.map(arg => arg.toString()), { buildDeps: 'none' });\n tsk.start();\n\n await tsk.waitFor('done', 'failed');\n return tsk.exitCode === 0 ? 0 : 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};\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 { combine } from '@jujulego/jill-core';\nimport { MyrClient } from './myr-client';\n// Command\nexport class WatchCommand extends WorkspaceCommand {\n constructor() {\n super(...arguments);\n // Attributes\n this.name = 'watch <script>';\n this.description = 'Run script with watcher inside workspace and watch over deps';\n }\n // Methods\n spawnDepsTree(myr, wks, set) {\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n let count = 0;\n try {\n for (var _b = __asyncValues(combine(wks.dependencies(), wks.devDependencies())), _c; _c = yield _b.next(), !_c.done;) {\n const ws = _c.value;\n if (set.has(ws.cwd))\n continue;\n set.add(ws.cwd);\n // Spawn dependencies\n count += yield this.spawnDepsTree(myr, ws, set);\n // Spawn task\n const tsk = yield myr.spawnScript(ws, 'watch');\n this.logger.log('info', `Task ${tsk.id} spawned`, { label: ws.name });\n count++;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return count;\n });\n }\n define(builder) {\n return super.define(y => builder(y)\n .positional('script', { type: 'string', demandOption: true })\n .option('daemon', {\n alias: 'd',\n boolean: true,\n default: false,\n desc: 'Run watch script also in background'\n }));\n }\n run(args) {\n const _super = Object.create(null, {\n run: { get: () => super.run }\n });\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n yield _super.run.call(this, args);\n // Spawn watch\n this.spinner.start('Spawning dependencies watch tasks');\n const myr = new MyrClient(this.project);\n const count = yield this.spawnDepsTree(myr, this.workspace, new Set());\n // Spawn task\n if (args.daemon) {\n this.spinner.start(`Spawning ${args.script} task`);\n const tsk = yield myr.spawnScript(this.workspace, args.script, (_a = args['--']) === null || _a === void 0 ? void 0 : _a.map(arg => arg.toString()));\n this.logger.log('info', `Task ${tsk.id} spawned`, { label: this.workspace.name });\n this.spinner.succeed(`${count + 1} watch tasks spawned`);\n return 0;\n }\n else {\n this.spinner.succeed(`${count} watch tasks spawned`);\n const tsk = yield this.workspace.run(args.script, (_b = args['--']) === null || _b === void 0 ? void 0 : _b.map(arg => arg.toString()), { buildDeps: 'none' });\n tsk.start();\n yield tsk.waitFor('done', 'failed');\n return tsk.exitCode === 0 ? 0 : 1;\n }\n });\n }\n}"]}
@@ -1,14 +0,0 @@
1
- import { Task, TaskSet } from '@jujulego/jill-core';
2
- export declare type TaskLoggerState = 'spin-multiple' | 'spin-simple' | 'fail' | 'succeed';
3
- export declare class TaskLogger {
4
- private readonly _running;
5
- private readonly _formats;
6
- private _refreshSpinner;
7
- private _handleStarted;
8
- private _handleCompleted;
9
- connect(set: TaskSet): void;
10
- on(state: 'spin-multiple', format: (count: number) => string): void;
11
- on(state: 'spin-simple', format: (tsk: Task) => string): void;
12
- on(state: 'fail', format: (tsk: Task) => string): void;
13
- on(state: 'succeed', format: (tsk: Task) => string): void;
14
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["task-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGpD,oBAAY,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAGnF,qBAAa,UAAU;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAKvB;IAGF,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAK3B,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IACnE,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;IAC7D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;IACtD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI;CAI1D","file":"task-logger.d.ts","sourcesContent":["import { transport } from '@jujulego/jill-common';\nimport { Task, TaskSet } from '@jujulego/jill-core';\n\n// Types\nexport type TaskLoggerState = 'spin-multiple' | 'spin-simple' | 'fail' | 'succeed';\n\n// Class\nexport class TaskLogger {\n // Attributes\n private readonly _running = new Set<Task>();\n private readonly _formats = {\n 'spin-multiple': (count: number) => `Building ${count} workspaces ...`,\n 'spin-simple': (tsk: Task) => `Building ${tsk.context.workspace?.name} ...`,\n 'fail': (tsk: Task) => `Failed to build ${tsk.context.workspace?.name}`,\n 'succeed': (tsk: Task) => `${tsk.context.workspace?.name} built`,\n };\n\n // Methods\n private _refreshSpinner() {\n if (this._running.size > 1) {\n transport.spin(this._formats['spin-multiple'](this._running.size));\n } else if (this._running.size > 0) {\n const tsk = this._running.values().next().value;\n transport.spin(this._formats['spin-simple'](tsk));\n }\n }\n\n private _handleStarted(task: Task) {\n this._running.add(task);\n\n this._refreshSpinner();\n }\n\n private _handleCompleted(task: Task) {\n this._running.delete(task);\n\n if (task.status === 'failed') {\n transport.fail(this._formats['fail'](task));\n } else {\n transport.succeed(this._formats['succeed'](task));\n }\n\n this._refreshSpinner();\n }\n\n connect(set: TaskSet): void {\n set.on('started', (task) => this._handleStarted(task));\n set.on('completed', (task) => this._handleCompleted(task));\n }\n\n on(state: 'spin-multiple', format: (count: number) => string): void;\n on(state: 'spin-simple', format: (tsk: Task) => string): void;\n on(state: 'fail', format: (tsk: Task) => string): void;\n on(state: 'succeed', format: (tsk: Task) => string): void;\n on(state: TaskLoggerState, format: (arg: never) => string): void {\n this._formats[state] = format;\n }\n}\n"]}
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TaskLogger = void 0;
7
-
8
- var _jillCommon = require("@jujulego/jill-common");
9
-
10
- // Class
11
- class TaskLogger {
12
- constructor() {
13
- // Attributes
14
- this._running = new Set();
15
- this._formats = {
16
- 'spin-multiple': count => `Building ${count} workspaces ...`,
17
- 'spin-simple': tsk => {
18
- var _a;
19
-
20
- return `Building ${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} ...`;
21
- },
22
- 'fail': tsk => {
23
- var _a;
24
-
25
- return `Failed to build ${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name}`;
26
- },
27
- 'succeed': tsk => {
28
- var _a;
29
-
30
- return `${(_a = tsk.context.workspace) === null || _a === void 0 ? void 0 : _a.name} built`;
31
- }
32
- };
33
- } // Methods
34
-
35
-
36
- _refreshSpinner() {
37
- if (this._running.size > 1) {
38
- _jillCommon.transport.spin(this._formats['spin-multiple'](this._running.size));
39
- } else if (this._running.size > 0) {
40
- const tsk = this._running.values().next().value;
41
-
42
- _jillCommon.transport.spin(this._formats['spin-simple'](tsk));
43
- }
44
- }
45
-
46
- _handleStarted(task) {
47
- this._running.add(task);
48
-
49
- this._refreshSpinner();
50
- }
51
-
52
- _handleCompleted(task) {
53
- this._running.delete(task);
54
-
55
- if (task.status === 'failed') {
56
- _jillCommon.transport.fail(this._formats['fail'](task));
57
- } else {
58
- _jillCommon.transport.succeed(this._formats['succeed'](task));
59
- }
60
-
61
- this._refreshSpinner();
62
- }
63
-
64
- connect(set) {
65
- set.on('started', task => this._handleStarted(task));
66
- set.on('completed', task => this._handleCompleted(task));
67
- }
68
-
69
- on(state, format) {
70
- this._formats[state] = format;
71
- }
72
-
73
- }
74
-
75
- exports.TaskLogger = TaskLogger;
76
- //# sourceMappingURL=task-logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["task-logger.ts"],"names":["TaskLogger","constructor","_running","Set","_formats","count","tsk","_a","context","workspace","name","_refreshSpinner","size","transport","spin","values","next","value","_handleStarted","task","add","_handleCompleted","delete","status","fail","succeed","connect","set","on","state","format"],"mappings":";;;;;;;AAAA;;AAMA;AACM,MAAOA,UAAP,CAAiB;AAAvBC,EAAAA,WAAA,GAAA;AACE;AACiB,SAAAC,QAAA,GAAW,IAAIC,GAAJ,EAAX;AACA,SAAAC,QAAA,GAAW;AAC1B,uBAAkBC,KAAD,IAAmB,YAAYA,KAAK,iBAD3B;AAE1B,qBAAgBC,GAAD,IAAc;AAAA,YAAAC,EAAA;;AAAC,eAAA,YAAY,CAAAA,EAAA,GAAAD,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqBF,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEG,IAAI,MAAvC;AAA6C,OAFjD;AAG1B,cAASJ,GAAD,IAAc;AAAA,YAAAC,EAAA;;AAAC,eAAA,mBAAmB,CAAAA,EAAA,GAAAD,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqBF,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEG,IAAI,EAA9C;AAAgD,OAH7C;AAI1B,iBAAYJ,GAAD,IAAc;AAAA,YAAAC,EAAA;;AAAC,eAAA,GAAG,CAAAA,EAAA,GAAAD,GAAG,CAACE,OAAJ,CAAYC,SAAZ,MAAqB,IAArB,IAAqBF,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqBA,EAAA,CAAEG,IAAI,QAA9B;AAAsC;AAJtC,KAAX;AA+ClB,GAlDsB,CAUrB;;;AACQC,EAAAA,eAAe,GAAA;AACrB,QAAI,KAAKT,QAAL,CAAcU,IAAd,GAAqB,CAAzB,EAA4B;AAC1BC,4BAAUC,IAAV,CAAe,KAAKV,QAAL,CAAc,eAAd,EAA+B,KAAKF,QAAL,CAAcU,IAA7C,CAAf;AACD,KAFD,MAEO,IAAI,KAAKV,QAAL,CAAcU,IAAd,GAAqB,CAAzB,EAA4B;AACjC,YAAMN,GAAG,GAAG,KAAKJ,QAAL,CAAca,MAAd,GAAuBC,IAAvB,GAA8BC,KAA1C;;AACAJ,4BAAUC,IAAV,CAAe,KAAKV,QAAL,CAAc,aAAd,EAA6BE,GAA7B,CAAf;AACD;AACF;;AAEOY,EAAAA,cAAc,CAACC,IAAD,EAAW;AAC/B,SAAKjB,QAAL,CAAckB,GAAd,CAAkBD,IAAlB;;AAEA,SAAKR,eAAL;AACD;;AAEOU,EAAAA,gBAAgB,CAACF,IAAD,EAAW;AACjC,SAAKjB,QAAL,CAAcoB,MAAd,CAAqBH,IAArB;;AAEA,QAAIA,IAAI,CAACI,MAAL,KAAgB,QAApB,EAA8B;AAC5BV,4BAAUW,IAAV,CAAe,KAAKpB,QAAL,CAAc,MAAd,EAAsBe,IAAtB,CAAf;AACD,KAFD,MAEO;AACLN,4BAAUY,OAAV,CAAkB,KAAKrB,QAAL,CAAc,SAAd,EAAyBe,IAAzB,CAAlB;AACD;;AAED,SAAKR,eAAL;AACD;;AAEDe,EAAAA,OAAO,CAACC,GAAD,EAAa;AAClBA,IAAAA,GAAG,CAACC,EAAJ,CAAO,SAAP,EAAmBT,IAAD,IAAU,KAAKD,cAAL,CAAoBC,IAApB,CAA5B;AACAQ,IAAAA,GAAG,CAACC,EAAJ,CAAO,WAAP,EAAqBT,IAAD,IAAU,KAAKE,gBAAL,CAAsBF,IAAtB,CAA9B;AACD;;AAMDS,EAAAA,EAAE,CAACC,KAAD,EAAyBC,MAAzB,EAAuD;AACvD,SAAK1B,QAAL,CAAcyB,KAAd,IAAuBC,MAAvB;AACD;;AAjDoB","file":"task-logger.js","sourcesContent":["import { transport } from '@jujulego/jill-common';\nimport { Task, TaskSet } from '@jujulego/jill-core';\n\n// Types\nexport type TaskLoggerState = 'spin-multiple' | 'spin-simple' | 'fail' | 'succeed';\n\n// Class\nexport class TaskLogger {\n // Attributes\n private readonly _running = new Set<Task>();\n private readonly _formats = {\n 'spin-multiple': (count: number) => `Building ${count} workspaces ...`,\n 'spin-simple': (tsk: Task) => `Building ${tsk.context.workspace?.name} ...`,\n 'fail': (tsk: Task) => `Failed to build ${tsk.context.workspace?.name}`,\n 'succeed': (tsk: Task) => `${tsk.context.workspace?.name} built`,\n };\n\n // Methods\n private _refreshSpinner() {\n if (this._running.size > 1) {\n transport.spin(this._formats['spin-multiple'](this._running.size));\n } else if (this._running.size > 0) {\n const tsk = this._running.values().next().value;\n transport.spin(this._formats['spin-simple'](tsk));\n }\n }\n\n private _handleStarted(task: Task) {\n this._running.add(task);\n\n this._refreshSpinner();\n }\n\n private _handleCompleted(task: Task) {\n this._running.delete(task);\n\n if (task.status === 'failed') {\n transport.fail(this._formats['fail'](task));\n } else {\n transport.succeed(this._formats['succeed'](task));\n }\n\n this._refreshSpinner();\n }\n\n connect(set: TaskSet): void {\n set.on('started', (task) => this._handleStarted(task));\n set.on('completed', (task) => this._handleCompleted(task));\n }\n\n on(state: 'spin-multiple', format: (count: number) => string): void;\n on(state: 'spin-simple', format: (tsk: Task) => string): void;\n on(state: 'fail', format: (tsk: Task) => string): void;\n on(state: 'succeed', format: (tsk: Task) => string): void;\n on(state: TaskLoggerState, format: (arg: never) => string): void {\n this._formats[state] = format;\n }\n}\n"]}