@jujulego/jill 2.1.0-alpha.2 → 2.1.0-alpha.4

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 (166) hide show
  1. package/dist/239.js +3 -0
  2. package/dist/239.js.LICENSE.txt +73 -0
  3. package/dist/239.js.map +1 -0
  4. package/dist/main.js +2 -29
  5. package/dist/main.js.map +1 -1
  6. package/dist/runtime.js +2 -0
  7. package/dist/runtime.js.map +1 -0
  8. package/package.json +52 -51
  9. package/dist/commands/each.d.ts +0 -16
  10. package/dist/commands/each.d.ts.map +0 -1
  11. package/dist/commands/each.js +0 -118
  12. package/dist/commands/each.js.map +0 -1
  13. package/dist/commands/group.d.ts +0 -12
  14. package/dist/commands/group.d.ts.map +0 -1
  15. package/dist/commands/group.js +0 -93
  16. package/dist/commands/group.js.map +0 -1
  17. package/dist/commands/list.d.ts +0 -23
  18. package/dist/commands/list.d.ts.map +0 -1
  19. package/dist/commands/list.js +0 -170
  20. package/dist/commands/list.js.map +0 -1
  21. package/dist/commands/run.d.ts +0 -8
  22. package/dist/commands/run.d.ts.map +0 -1
  23. package/dist/commands/run.js +0 -71
  24. package/dist/commands/run.js.map +0 -1
  25. package/dist/commands/tree.d.ts +0 -3
  26. package/dist/commands/tree.d.ts.map +0 -1
  27. package/dist/commands/tree.js +0 -35
  28. package/dist/commands/tree.js.map +0 -1
  29. package/dist/filters/affected.filter.d.ts +0 -11
  30. package/dist/filters/affected.filter.d.ts.map +0 -1
  31. package/dist/filters/affected.filter.js +0 -82
  32. package/dist/filters/affected.filter.js.map +0 -1
  33. package/dist/filters/index.d.ts +0 -4
  34. package/dist/filters/index.d.ts.map +0 -1
  35. package/dist/filters/index.js +0 -21
  36. package/dist/filters/index.js.map +0 -1
  37. package/dist/filters/pipeline.d.ts +0 -11
  38. package/dist/filters/pipeline.d.ts.map +0 -1
  39. package/dist/filters/pipeline.js +0 -34
  40. package/dist/filters/pipeline.js.map +0 -1
  41. package/dist/filters/private.filter.d.ts +0 -7
  42. package/dist/filters/private.filter.d.ts.map +0 -1
  43. package/dist/filters/private.filter.js +0 -20
  44. package/dist/filters/private.filter.js.map +0 -1
  45. package/dist/filters/scripts.filter.d.ts +0 -7
  46. package/dist/filters/scripts.filter.d.ts.map +0 -1
  47. package/dist/filters/scripts.filter.js +0 -21
  48. package/dist/filters/scripts.filter.js.map +0 -1
  49. package/dist/git.d.ts +0 -16
  50. package/dist/git.d.ts.map +0 -1
  51. package/dist/git.js +0 -94
  52. package/dist/git.js.map +0 -1
  53. package/dist/main.d.ts +0 -1
  54. package/dist/main.d.ts.map +0 -1
  55. package/dist/middlewares/global-config.d.ts +0 -5
  56. package/dist/middlewares/global-config.d.ts.map +0 -1
  57. package/dist/middlewares/global-config.js +0 -36
  58. package/dist/middlewares/global-config.js.map +0 -1
  59. package/dist/middlewares/index.d.ts +0 -4
  60. package/dist/middlewares/index.d.ts.map +0 -1
  61. package/dist/middlewares/index.js +0 -21
  62. package/dist/middlewares/index.js.map +0 -1
  63. package/dist/middlewares/load-project.d.ts +0 -6
  64. package/dist/middlewares/load-project.d.ts.map +0 -1
  65. package/dist/middlewares/load-project.js +0 -41
  66. package/dist/middlewares/load-project.js.map +0 -1
  67. package/dist/middlewares/load-workspace.d.ts +0 -3
  68. package/dist/middlewares/load-workspace.d.ts.map +0 -1
  69. package/dist/middlewares/load-workspace.js +0 -42
  70. package/dist/middlewares/load-workspace.js.map +0 -1
  71. package/dist/middlewares/setup-ink.d.ts +0 -1
  72. package/dist/middlewares/setup-ink.d.ts.map +0 -1
  73. package/dist/middlewares/setup-ink.js +0 -22
  74. package/dist/middlewares/setup-ink.js.map +0 -1
  75. package/dist/project/index.d.ts +0 -2
  76. package/dist/project/index.d.ts.map +0 -1
  77. package/dist/project/index.js +0 -19
  78. package/dist/project/index.js.map +0 -1
  79. package/dist/project/project.d.ts +0 -25
  80. package/dist/project/project.d.ts.map +0 -1
  81. package/dist/project/project.js +0 -190
  82. package/dist/project/project.js.map +0 -1
  83. package/dist/project/workspace.d.ts +0 -34
  84. package/dist/project/workspace.d.ts.map +0 -1
  85. package/dist/project/workspace.js +0 -179
  86. package/dist/project/workspace.js.map +0 -1
  87. package/dist/services/index.d.ts +0 -4
  88. package/dist/services/index.d.ts.map +0 -1
  89. package/dist/services/index.js +0 -21
  90. package/dist/services/index.js.map +0 -1
  91. package/dist/services/inversify.config.d.ts +0 -11
  92. package/dist/services/inversify.config.d.ts.map +0 -1
  93. package/dist/services/inversify.config.js +0 -34
  94. package/dist/services/inversify.config.js.map +0 -1
  95. package/dist/services/logger.service.d.ts +0 -6
  96. package/dist/services/logger.service.d.ts.map +0 -1
  97. package/dist/services/logger.service.js +0 -75
  98. package/dist/services/logger.service.js.map +0 -1
  99. package/dist/services/spinner.service.d.ts +0 -16
  100. package/dist/services/spinner.service.d.ts.map +0 -1
  101. package/dist/services/spinner.service.js +0 -57
  102. package/dist/services/spinner.service.js.map +0 -1
  103. package/dist/services/task-manager.service.d.ts +0 -1
  104. package/dist/services/task-manager.service.d.ts.map +0 -1
  105. package/dist/services/task-manager.service.js +0 -18
  106. package/dist/services/task-manager.service.js.map +0 -1
  107. package/dist/types.d.ts +0 -1
  108. package/dist/types.d.ts.map +0 -1
  109. package/dist/types.js +0 -7
  110. package/dist/types.js.map +0 -1
  111. package/dist/ui/global-spinner.d.ts +0 -2
  112. package/dist/ui/global-spinner.d.ts.map +0 -1
  113. package/dist/ui/global-spinner.js +0 -65
  114. package/dist/ui/global-spinner.js.map +0 -1
  115. package/dist/ui/group-task-spinner.d.ts +0 -6
  116. package/dist/ui/group-task-spinner.d.ts.map +0 -1
  117. package/dist/ui/group-task-spinner.js +0 -54
  118. package/dist/ui/group-task-spinner.js.map +0 -1
  119. package/dist/ui/index.d.ts +0 -8
  120. package/dist/ui/index.d.ts.map +0 -1
  121. package/dist/ui/index.js +0 -25
  122. package/dist/ui/index.js.map +0 -1
  123. package/dist/ui/layout.d.ts +0 -2
  124. package/dist/ui/layout.d.ts.map +0 -1
  125. package/dist/ui/layout.js +0 -20
  126. package/dist/ui/layout.js.map +0 -1
  127. package/dist/ui/list.d.ts +0 -6
  128. package/dist/ui/list.d.ts.map +0 -1
  129. package/dist/ui/list.js +0 -30
  130. package/dist/ui/list.js.map +0 -1
  131. package/dist/ui/static-logs.d.ts +0 -2
  132. package/dist/ui/static-logs.d.ts.map +0 -1
  133. package/dist/ui/static-logs.js +0 -63
  134. package/dist/ui/static-logs.js.map +0 -1
  135. package/dist/ui/task-manager-spinner.d.ts +0 -6
  136. package/dist/ui/task-manager-spinner.d.ts.map +0 -1
  137. package/dist/ui/task-manager-spinner.js +0 -39
  138. package/dist/ui/task-manager-spinner.js.map +0 -1
  139. package/dist/ui/task-name.d.ts +0 -6
  140. package/dist/ui/task-name.d.ts.map +0 -1
  141. package/dist/ui/task-name.js +0 -35
  142. package/dist/ui/task-name.js.map +0 -1
  143. package/dist/ui/task-spinner.d.ts +0 -6
  144. package/dist/ui/task-spinner.d.ts.map +0 -1
  145. package/dist/ui/task-spinner.js +0 -117
  146. package/dist/ui/task-spinner.js.map +0 -1
  147. package/dist/ui/workspace-tree.d.ts +0 -8
  148. package/dist/ui/workspace-tree.d.ts.map +0 -1
  149. package/dist/ui/workspace-tree.js +0 -88
  150. package/dist/ui/workspace-tree.js.map +0 -1
  151. package/dist/utils/index.d.ts +0 -3
  152. package/dist/utils/index.d.ts.map +0 -1
  153. package/dist/utils/index.js +0 -20
  154. package/dist/utils/index.js.map +0 -1
  155. package/dist/utils/streams.d.ts +0 -3
  156. package/dist/utils/streams.d.ts.map +0 -1
  157. package/dist/utils/streams.js +0 -49
  158. package/dist/utils/streams.js.map +0 -1
  159. package/dist/utils/string.d.ts +0 -1
  160. package/dist/utils/string.d.ts.map +0 -1
  161. package/dist/utils/string.js +0 -14
  162. package/dist/utils/string.js.map +0 -1
  163. package/dist/utils/yargs.d.ts +0 -9
  164. package/dist/utils/yargs.d.ts.map +0 -1
  165. package/dist/utils/yargs.js +0 -33
  166. package/dist/utils/yargs.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ui/static-logs.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAoB,MAAM,OAAO,CAAC;AAe7C,eAAO,MAAM,UAAU,EAAE,EA+CxB,CAAC","file":"static-logs.d.ts","sourcesContent":["import { useStderr } from 'ink';\nimport { FC, useLayoutEffect, } from 'react';\nimport Transport from 'winston-transport';\n\nimport { consoleFormat, container, Logger } from '../services';\nimport winston from 'winston';\n\n// Constants\nconst MESSAGE = Symbol.for('message');\n\n// Types\ninterface Info extends Record<string, unknown> {\n [MESSAGE]: string;\n}\n\n// Component\nexport const StaticLogs: FC = () => {\n // State\n const { write } = useStderr();\n\n // Effect\n useLayoutEffect(() => {\n const logger = container.get(Logger);\n\n // Remove Console transport\n for (const transport of logger.transports) {\n if (transport instanceof winston.transports.Console) {\n logger.remove(transport);\n }\n }\n\n // Add custom transport\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: consoleFormat\n });\n }\n\n // Methods\n log(info: Info, next: () => void): void {\n setTimeout(() => {\n this.emit('logged', info);\n }, 0);\n\n write(info[MESSAGE] + '\\n');\n\n next();\n }\n };\n\n logger.add(transport);\n\n return () => {\n logger.remove(transport);\n logger.add(new winston.transports.Console({\n format: consoleFormat\n }));\n };\n }, [write]);\n\n return null;\n};\n"]}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "StaticLogs", {
6
- enumerable: true,
7
- get: ()=>StaticLogs
8
- });
9
- const _ink = require("ink");
10
- const _react = require("react");
11
- const _winstonTransport = /*#__PURE__*/ _interopRequireDefault(require("winston-transport"));
12
- const _services = require("../services");
13
- const _winston = /*#__PURE__*/ _interopRequireDefault(require("winston"));
14
- function _interopRequireDefault(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- // Constants
20
- const MESSAGE = Symbol.for('message');
21
- const StaticLogs = ()=>{
22
- // State
23
- const { write } = (0, _ink.useStderr)();
24
- // Effect
25
- (0, _react.useLayoutEffect)(()=>{
26
- const logger = _services.container.get(_services.Logger);
27
- // Remove Console transport
28
- for (const transport of logger.transports){
29
- if (transport instanceof _winston.default.transports.Console) {
30
- logger.remove(transport);
31
- }
32
- }
33
- // Add custom transport
34
- const transport1 = new class extends _winstonTransport.default {
35
- // Constructor
36
- constructor(){
37
- super({
38
- format: _services.consoleFormat
39
- });
40
- }
41
- // Methods
42
- log(info, next) {
43
- setTimeout(()=>{
44
- this.emit('logged', info);
45
- }, 0);
46
- write(info[MESSAGE] + '\n');
47
- next();
48
- }
49
- };
50
- logger.add(transport1);
51
- return ()=>{
52
- logger.remove(transport1);
53
- logger.add(new _winston.default.transports.Console({
54
- format: _services.consoleFormat
55
- }));
56
- };
57
- }, [
58
- write
59
- ]);
60
- return null;
61
- };
62
-
63
- //# sourceMappingURL=static-logs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ui/static-logs.js"],"sourcesContent":["import { useStderr } from 'ink';\nimport { FC, useLayoutEffect, } from 'react';\nimport Transport from 'winston-transport';\n\nimport { consoleFormat, container, Logger } from '../services';\nimport winston from 'winston';\n\n// Constants\nconst MESSAGE = Symbol.for('message');\n\n// Types\ninterface Info extends Record<string, unknown> {\n [MESSAGE]: string;\n}\n\n// Component\nexport const StaticLogs: FC = () => {\n // State\n const { write } = useStderr();\n\n // Effect\n useLayoutEffect(() => {\n const logger = container.get(Logger);\n\n // Remove Console transport\n for (const transport of logger.transports) {\n if (transport instanceof winston.transports.Console) {\n logger.remove(transport);\n }\n }\n\n // Add custom transport\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: consoleFormat\n });\n }\n\n // Methods\n log(info: Info, next: () => void): void {\n setTimeout(() => {\n this.emit('logged', info);\n }, 0);\n\n write(info[MESSAGE] + '\\n');\n\n next();\n }\n };\n\n logger.add(transport);\n\n return () => {\n logger.remove(transport);\n logger.add(new winston.transports.Console({\n format: consoleFormat\n }));\n };\n }, [write]);\n\n return null;\n};\n"],"names":["StaticLogs","MESSAGE","Symbol","for","write","useStderr","useLayoutEffect","logger","container","get","Logger","transport","transports","winston","Console","remove","Transport","constructor","format","consoleFormat","log","info","next","setTimeout","emit","add"],"mappings":"AAAA;;;;+BAgBaA;;aAAAA;;qBAhBa;uBACW;uEACf;0BAE2B;8DAC7B;;;;;;AAEpB,YAAY;AACZ,MAAMC,UAAUC,OAAOC,GAAG,CAAC;AAQpB,MAAMH,aAAiB,IAAM;IAClC,QAAQ;IACR,MAAM,EAAEI,MAAK,EAAE,GAAGC,IAAAA,cAAS;IAE3B,SAAS;IACTC,IAAAA,sBAAe,EAAC,IAAM;QACpB,MAAMC,SAASC,mBAAS,CAACC,GAAG,CAACC,gBAAM;QAEnC,2BAA2B;QAC3B,KAAK,MAAMC,aAAaJ,OAAOK,UAAU,CAAE;YACzC,IAAID,qBAAqBE,gBAAO,CAACD,UAAU,CAACE,OAAO,EAAE;gBACnDP,OAAOQ,MAAM,CAACJ;YAChB,CAAC;QACH;QAEA,uBAAuB;QACvB,MAAMA,aAAY,IAAI,cAAcK,yBAAS;YAC3C,cAAc;YACdC,aAAc;gBACZ,KAAK,CAAC;oBACJC,QAAQC,uBAAa;gBACvB;YACF;YAEA,UAAU;YACVC,IAAIC,IAAU,EAAEC,IAAgB,EAAQ;gBACtCC,WAAW,IAAM;oBACf,IAAI,CAACC,IAAI,CAAC,UAAUH;gBACtB,GAAG;gBAEHjB,MAAMiB,IAAI,CAACpB,QAAQ,GAAG;gBAEtBqB;YACF;QACF;QAEAf,OAAOkB,GAAG,CAACd;QAEX,OAAO,IAAM;YACXJ,OAAOQ,MAAM,CAACJ;YACdJ,OAAOkB,GAAG,CAAC,IAAIZ,gBAAO,CAACD,UAAU,CAACE,OAAO,CAAC;gBACxCI,QAAQC,uBAAa;YACvB;QACF;IACF,GAAG;QAACf;KAAM;IAEV,OAAO,IAAI;AACb","file":"static-logs.js"}
@@ -1,6 +0,0 @@
1
- import { TaskManager } from '@jujulego/tasks';
2
- import { FC } from 'react';
3
- export interface TasksSpinnerProps {
4
- manager: TaskManager;
5
- }
6
- export declare const TaskManagerSpinner: FC<TasksSpinnerProps>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ui/task-manager-spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,EAAE,EAA6B,MAAM,OAAO,CAAC;AAMtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC;CACtB;AAGD,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,iBAAiB,CA6BpD,CAAC","file":"task-manager-spinner.d.ts","sourcesContent":["import { GroupTask, TaskManager } from '@jujulego/tasks';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { TaskSpinner } from './task-spinner';\nimport { GroupTaskSpinner } from './group-task-spinner';\n\n// Types\nexport interface TasksSpinnerProps {\n manager: TaskManager;\n}\n\n// Components\nexport const TaskManagerSpinner: FC<TasksSpinnerProps> = ({ manager }) => {\n const [tasks, setTasks] = useState(manager.tasks.filter((tsk) => !tsk.context.groupTask));\n\n useLayoutEffect(() => {\n let dirty = false;\n\n return manager.subscribe('added', () => {\n if (!dirty) {\n dirty = true;\n\n queueMicrotask(() => {\n setTasks(manager.tasks.filter((tsk) => !tsk.context.groupTask));\n dirty = false;\n });\n }\n });\n }, [manager]);\n\n return (\n <>\n { tasks.map((task) =>\n (task instanceof GroupTask) ? (\n <GroupTaskSpinner key={task.id} group={task} />\n ) : (\n <TaskSpinner key={task.id} task={task} />\n )\n ) }\n </>\n );\n};\n"]}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TaskManagerSpinner", {
6
- enumerable: true,
7
- get: ()=>TaskManagerSpinner
8
- });
9
- const _jsxRuntime = require("react/jsx-runtime");
10
- const _tasks = require("@jujulego/tasks");
11
- const _react = require("react");
12
- const _taskSpinner = require("./task-spinner");
13
- const _groupTaskSpinner = require("./group-task-spinner");
14
- const TaskManagerSpinner = ({ manager })=>{
15
- const [tasks, setTasks] = (0, _react.useState)(manager.tasks.filter((tsk)=>!tsk.context.groupTask));
16
- (0, _react.useLayoutEffect)(()=>{
17
- let dirty = false;
18
- return manager.subscribe('added', ()=>{
19
- if (!dirty) {
20
- dirty = true;
21
- queueMicrotask(()=>{
22
- setTasks(manager.tasks.filter((tsk)=>!tsk.context.groupTask));
23
- dirty = false;
24
- });
25
- }
26
- });
27
- }, [
28
- manager
29
- ]);
30
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
31
- children: tasks.map((task)=>task instanceof _tasks.GroupTask ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(_groupTaskSpinner.GroupTaskSpinner, {
32
- group: task
33
- }, task.id) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskSpinner.TaskSpinner, {
34
- task: task
35
- }, task.id))
36
- });
37
- };
38
-
39
- //# sourceMappingURL=task-manager-spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ui/task-manager-spinner.js"],"sourcesContent":["import { GroupTask, TaskManager } from '@jujulego/tasks';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { TaskSpinner } from './task-spinner';\nimport { GroupTaskSpinner } from './group-task-spinner';\n\n// Types\nexport interface TasksSpinnerProps {\n manager: TaskManager;\n}\n\n// Components\nexport const TaskManagerSpinner: FC<TasksSpinnerProps> = ({ manager }) => {\n const [tasks, setTasks] = useState(manager.tasks.filter((tsk) => !tsk.context.groupTask));\n\n useLayoutEffect(() => {\n let dirty = false;\n\n return manager.subscribe('added', () => {\n if (!dirty) {\n dirty = true;\n\n queueMicrotask(() => {\n setTasks(manager.tasks.filter((tsk) => !tsk.context.groupTask));\n dirty = false;\n });\n }\n });\n }, [manager]);\n\n return (\n <>\n { tasks.map((task) =>\n (task instanceof GroupTask) ? (\n <GroupTaskSpinner key={task.id} group={task} />\n ) : (\n <TaskSpinner key={task.id} task={task} />\n )\n ) }\n </>\n );\n};\n"],"names":["TaskManagerSpinner","manager","tasks","setTasks","useState","filter","tsk","context","groupTask","useLayoutEffect","dirty","subscribe","queueMicrotask","map","task","GroupTask","GroupTaskSpinner","group","id","TaskSpinner"],"mappings":"AAAA;;;;+BAYaA;;aAAAA;;;uBAZ0B;uBACO;6BAElB;kCACK;AAQ1B,MAAMA,qBAA4C,CAAC,EAAEC,QAAO,EAAE,GAAK;IACxE,MAAM,CAACC,OAAOC,SAAS,GAAGC,IAAAA,eAAQ,EAACH,QAAQC,KAAK,CAACG,MAAM,CAAC,CAACC,MAAQ,CAACA,IAAIC,OAAO,CAACC,SAAS;IAEvFC,IAAAA,sBAAe,EAAC,IAAM;QACpB,IAAIC,QAAQ,KAAK;QAEjB,OAAOT,QAAQU,SAAS,CAAC,SAAS,IAAM;YACtC,IAAI,CAACD,OAAO;gBACVA,QAAQ,IAAI;gBAEZE,eAAe,IAAM;oBACnBT,SAASF,QAAQC,KAAK,CAACG,MAAM,CAAC,CAACC,MAAQ,CAACA,IAAIC,OAAO,CAACC,SAAS;oBAC7DE,QAAQ,KAAK;gBACf;YACF,CAAC;QACH;IACF,GAAG;QAACT;KAAQ;IAEZ,qBACE;kBACIC,MAAMW,GAAG,CAAC,CAACC,OACX,AAACA,gBAAgBC,gBAAS,iBACxB,qBAACC,kCAAgB;gBAAeC,OAAOH;eAAhBA,KAAKI,EAAE,kBAE9B,qBAACC,wBAAW;gBAAeL,MAAMA;eAAfA,KAAKI,EAAE,CAC1B;;AAIT","file":"task-manager-spinner.js"}
@@ -1,6 +0,0 @@
1
- import { Task } from '@jujulego/tasks';
2
- import { FC } from 'react';
3
- export interface TaskNameProps {
4
- task: Task;
5
- }
6
- export declare const TaskName: FC<TaskNameProps>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ui/task-name.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAK3B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ;AAQD,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAUtC,CAAC","file":"task-name.d.ts","sourcesContent":["import { Task, TaskContext } from '@jujulego/tasks';\nimport { Text } from 'ink';\nimport { FC } from 'react';\n\nimport { WorkspaceContext } from '../project';\n\n// Types\nexport interface TaskNameProps {\n task: Task;\n}\n\n// Utils\nfunction isWorkspaceCtx(ctx: Readonly<TaskContext>): ctx is Readonly<WorkspaceContext> {\n return 'workspace' in ctx;\n}\n\n// Components\nexport const TaskName: FC<TaskNameProps> = ({ task }) => {\n if (isWorkspaceCtx(task.context)) {\n return (\n <Text>\n Running <Text bold>{ task.context.script }</Text> in { task.context.workspace.name }\n </Text>\n );\n } else {\n return <Text>{ task.name }</Text>;\n }\n};\n"]}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TaskName", {
6
- enumerable: true,
7
- get: ()=>TaskName
8
- });
9
- const _jsxRuntime = require("react/jsx-runtime");
10
- const _ink = require("ink");
11
- // Utils
12
- function isWorkspaceCtx(ctx) {
13
- return 'workspace' in ctx;
14
- }
15
- const TaskName = ({ task })=>{
16
- if (isWorkspaceCtx(task.context)) {
17
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
18
- children: [
19
- "Running ",
20
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
21
- bold: true,
22
- children: task.context.script
23
- }),
24
- " in ",
25
- task.context.workspace.name
26
- ]
27
- });
28
- } else {
29
- return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
30
- children: task.name
31
- });
32
- }
33
- };
34
-
35
- //# sourceMappingURL=task-name.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ui/task-name.js"],"sourcesContent":["import { Task, TaskContext } from '@jujulego/tasks';\nimport { Text } from 'ink';\nimport { FC } from 'react';\n\nimport { WorkspaceContext } from '../project';\n\n// Types\nexport interface TaskNameProps {\n task: Task;\n}\n\n// Utils\nfunction isWorkspaceCtx(ctx: Readonly<TaskContext>): ctx is Readonly<WorkspaceContext> {\n return 'workspace' in ctx;\n}\n\n// Components\nexport const TaskName: FC<TaskNameProps> = ({ task }) => {\n if (isWorkspaceCtx(task.context)) {\n return (\n <Text>\n Running <Text bold>{ task.context.script }</Text> in { task.context.workspace.name }\n </Text>\n );\n } else {\n return <Text>{ task.name }</Text>;\n }\n};\n"],"names":["TaskName","isWorkspaceCtx","ctx","task","context","Text","bold","script","workspace","name"],"mappings":"AAAA;;;;+BAiBaA;;aAAAA;;;qBAhBQ;AAUrB,QAAQ;AACR,SAASC,eAAeC,GAA0B,EAAqC;IACrF,OAAO,eAAeA;AACxB;AAGO,MAAMF,WAA8B,CAAC,EAAEG,KAAI,EAAE,GAAK;IACvD,IAAIF,eAAeE,KAAKC,OAAO,GAAG;QAChC,qBACE,sBAACC,SAAI;;gBAAC;8BACI,qBAACA,SAAI;oBAACC,IAAI;8BAAGH,KAAKC,OAAO,CAACG,MAAM;;gBAAS;gBAAMJ,KAAKC,OAAO,CAACI,SAAS,CAACC,IAAI;;;IAGxF,OAAO;QACL,qBAAO,qBAACJ,SAAI;sBAAGF,KAAKM,IAAI;;IAC1B,CAAC;AACH","file":"task-name.js"}
@@ -1,6 +0,0 @@
1
- import { Task } from '@jujulego/tasks';
2
- import { FC } from 'react';
3
- export interface TaskSpinnerProps {
4
- task: Task;
5
- }
6
- export declare const TaskSpinner: FC<TaskSpinnerProps>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ui/task-spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAKvC,OAAO,EAAE,EAAE,EAA6B,MAAM,OAAO,CAAC;AAKtD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;CACZ;AAGD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAmD5C,CAAC","file":"task-spinner.d.ts","sourcesContent":["import { Task } from '@jujulego/tasks';\nimport { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport symbols from 'log-symbols';\nimport ms from 'pretty-ms';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { TaskName } from './task-name';\n\n// Types\nexport interface TaskSpinnerProps {\n task: Task;\n}\n\n// Components\nexport const TaskSpinner: FC<TaskSpinnerProps> = ({ task }) => {\n // State\n const [status, setStatus] = useState(task.status);\n const [time, setTime] = useState(0);\n\n // Effects\n useLayoutEffect(() => {\n return task.subscribe('status', (event) => {\n setStatus(event.status);\n });\n }, [task]);\n\n useLayoutEffect(() => {\n return task.subscribe('completed', ({ duration }) => {\n setTime(duration);\n });\n }, [task]);\n\n // Render\n switch (status) {\n case 'blocked':\n case 'ready':\n return (\n <Text color=\"grey\">\n <Spinner type=\"line2\" />{' '}<TaskName task={task} />\n </Text>\n );\n\n case 'running':\n return (\n <Text>\n <Spinner />{' '}<TaskName task={task} />\n </Text>\n );\n\n case 'done':\n return (\n <Text>\n <Text color=\"green\">{ symbols.success }{' '}<TaskName task={task} /></Text>\n <Text color=\"magenta\">{' '}(took { ms(time) })</Text>\n </Text>\n );\n\n case 'failed':\n return (\n <Text>\n <Text color=\"red\">{ symbols.error }{' '}<TaskName task={task} /></Text>\n <Text color=\"magenta\">{' '}(took { ms(time) })</Text>\n </Text>\n );\n }\n};\n"]}
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "TaskSpinner", {
6
- enumerable: true,
7
- get: ()=>TaskSpinner
8
- });
9
- const _jsxRuntime = require("react/jsx-runtime");
10
- const _ink = require("ink");
11
- const _inkSpinner = /*#__PURE__*/ _interopRequireDefault(require("ink-spinner"));
12
- const _logSymbols = /*#__PURE__*/ _interopRequireDefault(require("log-symbols"));
13
- const _prettyMs = /*#__PURE__*/ _interopRequireDefault(require("pretty-ms"));
14
- const _react = require("react");
15
- const _taskName = require("./task-name");
16
- function _interopRequireDefault(obj) {
17
- return obj && obj.__esModule ? obj : {
18
- default: obj
19
- };
20
- }
21
- const TaskSpinner = ({ task })=>{
22
- // State
23
- const [status, setStatus] = (0, _react.useState)(task.status);
24
- const [time, setTime] = (0, _react.useState)(0);
25
- // Effects
26
- (0, _react.useLayoutEffect)(()=>{
27
- return task.subscribe('status', (event)=>{
28
- setStatus(event.status);
29
- });
30
- }, [
31
- task
32
- ]);
33
- (0, _react.useLayoutEffect)(()=>{
34
- return task.subscribe('completed', ({ duration })=>{
35
- setTime(duration);
36
- });
37
- }, [
38
- task
39
- ]);
40
- // Render
41
- switch(status){
42
- case 'blocked':
43
- case 'ready':
44
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
45
- color: "grey",
46
- children: [
47
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_inkSpinner.default, {
48
- type: "line2"
49
- }),
50
- ' ',
51
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskName.TaskName, {
52
- task: task
53
- })
54
- ]
55
- });
56
- case 'running':
57
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
58
- children: [
59
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_inkSpinner.default, {}),
60
- ' ',
61
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskName.TaskName, {
62
- task: task
63
- })
64
- ]
65
- });
66
- case 'done':
67
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
68
- children: [
69
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
70
- color: "green",
71
- children: [
72
- _logSymbols.default.success,
73
- ' ',
74
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskName.TaskName, {
75
- task: task
76
- })
77
- ]
78
- }),
79
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
80
- color: "magenta",
81
- children: [
82
- ' ',
83
- "(took ",
84
- (0, _prettyMs.default)(time),
85
- ")"
86
- ]
87
- })
88
- ]
89
- });
90
- case 'failed':
91
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
92
- children: [
93
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
94
- color: "red",
95
- children: [
96
- _logSymbols.default.error,
97
- ' ',
98
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskName.TaskName, {
99
- task: task
100
- })
101
- ]
102
- }),
103
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
104
- color: "magenta",
105
- children: [
106
- ' ',
107
- "(took ",
108
- (0, _prettyMs.default)(time),
109
- ")"
110
- ]
111
- })
112
- ]
113
- });
114
- }
115
- };
116
-
117
- //# sourceMappingURL=task-spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ui/task-spinner.js"],"sourcesContent":["import { Task } from '@jujulego/tasks';\nimport { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport symbols from 'log-symbols';\nimport ms from 'pretty-ms';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { TaskName } from './task-name';\n\n// Types\nexport interface TaskSpinnerProps {\n task: Task;\n}\n\n// Components\nexport const TaskSpinner: FC<TaskSpinnerProps> = ({ task }) => {\n // State\n const [status, setStatus] = useState(task.status);\n const [time, setTime] = useState(0);\n\n // Effects\n useLayoutEffect(() => {\n return task.subscribe('status', (event) => {\n setStatus(event.status);\n });\n }, [task]);\n\n useLayoutEffect(() => {\n return task.subscribe('completed', ({ duration }) => {\n setTime(duration);\n });\n }, [task]);\n\n // Render\n switch (status) {\n case 'blocked':\n case 'ready':\n return (\n <Text color=\"grey\">\n <Spinner type=\"line2\" />{' '}<TaskName task={task} />\n </Text>\n );\n\n case 'running':\n return (\n <Text>\n <Spinner />{' '}<TaskName task={task} />\n </Text>\n );\n\n case 'done':\n return (\n <Text>\n <Text color=\"green\">{ symbols.success }{' '}<TaskName task={task} /></Text>\n <Text color=\"magenta\">{' '}(took { ms(time) })</Text>\n </Text>\n );\n\n case 'failed':\n return (\n <Text>\n <Text color=\"red\">{ symbols.error }{' '}<TaskName task={task} /></Text>\n <Text color=\"magenta\">{' '}(took { ms(time) })</Text>\n </Text>\n );\n }\n};\n"],"names":["TaskSpinner","task","status","setStatus","useState","time","setTime","useLayoutEffect","subscribe","event","duration","Text","color","Spinner","type","TaskName","symbols","success","ms","error"],"mappings":"AAAA;;;;+BAeaA;;aAAAA;;;qBAdQ;iEACD;iEACA;+DACL;uBAC+B;0BAErB;;;;;;AAQlB,MAAMA,cAAoC,CAAC,EAAEC,KAAI,EAAE,GAAK;IAC7D,QAAQ;IACR,MAAM,CAACC,QAAQC,UAAU,GAAGC,IAAAA,eAAQ,EAACH,KAAKC,MAAM;IAChD,MAAM,CAACG,MAAMC,QAAQ,GAAGF,IAAAA,eAAQ,EAAC;IAEjC,UAAU;IACVG,IAAAA,sBAAe,EAAC,IAAM;QACpB,OAAON,KAAKO,SAAS,CAAC,UAAU,CAACC,QAAU;YACzCN,UAAUM,MAAMP,MAAM;QACxB;IACF,GAAG;QAACD;KAAK;IAETM,IAAAA,sBAAe,EAAC,IAAM;QACpB,OAAON,KAAKO,SAAS,CAAC,aAAa,CAAC,EAAEE,SAAQ,EAAE,GAAK;YACnDJ,QAAQI;QACV;IACF,GAAG;QAACT;KAAK;IAET,SAAS;IACT,OAAQC;QACN,KAAK;QACL,KAAK;YACH,qBACE,sBAACS,SAAI;gBAACC,OAAM;;kCACV,qBAACC,mBAAO;wBAACC,MAAK;;oBAAW;kCAAI,qBAACC,kBAAQ;wBAACd,MAAMA;;;;QAInD,KAAK;YACH,qBACE,sBAACU,SAAI;;kCACH,qBAACE,mBAAO;oBAAI;kCAAI,qBAACE,kBAAQ;wBAACd,MAAMA;;;;QAItC,KAAK;YACH,qBACE,sBAACU,SAAI;;kCACH,sBAACA,SAAI;wBAACC,OAAM;;4BAAUI,mBAAO,CAACC,OAAO;4BAAG;0CAAI,qBAACF,kBAAQ;gCAACd,MAAMA;;;;kCAC5D,sBAACU,SAAI;wBAACC,OAAM;;4BAAW;4BAAI;4BAAQM,IAAAA,iBAAE,EAACb;4BAAO;;;;;QAInD,KAAK;YACH,qBACE,sBAACM,SAAI;;kCACH,sBAACA,SAAI;wBAACC,OAAM;;4BAAQI,mBAAO,CAACG,KAAK;4BAAG;0CAAI,qBAACJ,kBAAQ;gCAACd,MAAMA;;;;kCACxD,sBAACU,SAAI;wBAACC,OAAM;;4BAAW;4BAAI;4BAAQM,IAAAA,iBAAE,EAACb;4BAAO;;;;;IAGrD;AACF","file":"task-spinner.js"}
@@ -1,8 +0,0 @@
1
- import { FC, ReactElement } from 'react';
2
- import { Workspace } from '../project';
3
- export interface WorkspaceTreeProps {
4
- workspace: Workspace;
5
- dev?: boolean;
6
- level?: ReactElement;
7
- }
8
- export declare const WorkspaceTree: FC<WorkspaceTreeProps>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ui/workspace-tree.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAMD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAyChD,CAAC","file":"workspace-tree.d.ts","sourcesContent":["import { Newline, Text, TextProps } from 'ink';\nimport { FC, ReactElement, useEffect, useState } from 'react';\n\nimport { Workspace } from '../project';\n\n// Types\nexport interface WorkspaceTreeProps {\n workspace: Workspace;\n dev?: boolean;\n level?: ReactElement;\n}\n\n// Utils\nconst style = (dev: boolean): TextProps => ({ color: dev ? 'blue' : '' });\n\n// Component\nexport const WorkspaceTree: FC<WorkspaceTreeProps> = (props) => {\n const { workspace: wks, dev = false, level = '' } = props;\n\n // State\n const [deps, setDeps] = useState<[Workspace, boolean | null][]>([]);\n\n // Effects\n useEffect(() => void (async () => {\n const deps: [Workspace, boolean | null][] = [];\n\n for await (const dep of wks.dependencies()) {\n deps.push([dep, null]);\n }\n\n for await (const dep of wks.devDependencies()) {\n deps.push([dep, true]);\n }\n\n setDeps(deps);\n })(), [wks]);\n\n // Render\n return (\n <Text>\n <Text {...style(dev)}>{ wks.name }</Text>\n { wks.version && <Text color=\"grey\">@{ wks.version }</Text> }\n { (deps.length > 0) && <Newline /> }\n\n { deps.map(([dep, isDev], idx) => (\n <Text key={dep.name}>\n { level }<Text {...style(dev)}>{ idx === deps.length - 1 ? '└' : '├'}─{' '}</Text>\n <WorkspaceTree\n workspace={dep}\n dev={isDev ?? dev}\n level={<>{ level }<Text {...style(dev)}>{ idx === deps.length - 1 ? ' ' : '│' }{' '}</Text></>}\n />\n { (idx < deps.length - 1) && <Newline /> }\n </Text>\n )) }\n </Text>\n );\n};\n"]}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "WorkspaceTree", {
6
- enumerable: true,
7
- get: ()=>WorkspaceTree
8
- });
9
- const _jsxRuntime = require("react/jsx-runtime");
10
- const _ink = require("ink");
11
- const _react = require("react");
12
- // Utils
13
- const style = (dev)=>({
14
- color: dev ? 'blue' : ''
15
- });
16
- const WorkspaceTree = (props)=>{
17
- const { workspace: wks , dev =false , level ='' } = props;
18
- // State
19
- const [deps, setDeps] = (0, _react.useState)([]);
20
- // Effects
21
- (0, _react.useEffect)(()=>void (async ()=>{
22
- const deps = [];
23
- for await (const dep of wks.dependencies()){
24
- deps.push([
25
- dep,
26
- null
27
- ]);
28
- }
29
- for await (const dep1 of wks.devDependencies()){
30
- deps.push([
31
- dep1,
32
- true
33
- ]);
34
- }
35
- setDeps(deps);
36
- })(), [
37
- wks
38
- ]);
39
- // Render
40
- return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
41
- children: [
42
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
43
- ...style(dev),
44
- children: wks.name
45
- }),
46
- wks.version && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
47
- color: "grey",
48
- children: [
49
- "@",
50
- wks.version
51
- ]
52
- }),
53
- deps.length > 0 && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Newline, {}),
54
- deps.map(([dep, isDev], idx)=>/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
55
- children: [
56
- level,
57
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
58
- ...style(dev),
59
- children: [
60
- idx === deps.length - 1 ? '└' : '├',
61
- "─",
62
- ' '
63
- ]
64
- }),
65
- /*#__PURE__*/ (0, _jsxRuntime.jsx)(WorkspaceTree, {
66
- workspace: dep,
67
- dev: isDev ?? dev,
68
- level: /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
69
- children: [
70
- level,
71
- /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
72
- ...style(dev),
73
- children: [
74
- idx === deps.length - 1 ? ' ' : '│',
75
- ' '
76
- ]
77
- })
78
- ]
79
- })
80
- }),
81
- idx < deps.length - 1 && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Newline, {})
82
- ]
83
- }, dep.name))
84
- ]
85
- });
86
- };
87
-
88
- //# sourceMappingURL=workspace-tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["ui/workspace-tree.js"],"sourcesContent":["import { Newline, Text, TextProps } from 'ink';\nimport { FC, ReactElement, useEffect, useState } from 'react';\n\nimport { Workspace } from '../project';\n\n// Types\nexport interface WorkspaceTreeProps {\n workspace: Workspace;\n dev?: boolean;\n level?: ReactElement;\n}\n\n// Utils\nconst style = (dev: boolean): TextProps => ({ color: dev ? 'blue' : '' });\n\n// Component\nexport const WorkspaceTree: FC<WorkspaceTreeProps> = (props) => {\n const { workspace: wks, dev = false, level = '' } = props;\n\n // State\n const [deps, setDeps] = useState<[Workspace, boolean | null][]>([]);\n\n // Effects\n useEffect(() => void (async () => {\n const deps: [Workspace, boolean | null][] = [];\n\n for await (const dep of wks.dependencies()) {\n deps.push([dep, null]);\n }\n\n for await (const dep of wks.devDependencies()) {\n deps.push([dep, true]);\n }\n\n setDeps(deps);\n })(), [wks]);\n\n // Render\n return (\n <Text>\n <Text {...style(dev)}>{ wks.name }</Text>\n { wks.version && <Text color=\"grey\">@{ wks.version }</Text> }\n { (deps.length > 0) && <Newline /> }\n\n { deps.map(([dep, isDev], idx) => (\n <Text key={dep.name}>\n { level }<Text {...style(dev)}>{ idx === deps.length - 1 ? '└' : '├'}─{' '}</Text>\n <WorkspaceTree\n workspace={dep}\n dev={isDev ?? dev}\n level={<>{ level }<Text {...style(dev)}>{ idx === deps.length - 1 ? ' ' : '│' }{' '}</Text></>}\n />\n { (idx < deps.length - 1) && <Newline /> }\n </Text>\n )) }\n </Text>\n );\n};\n"],"names":["WorkspaceTree","style","dev","color","props","workspace","wks","level","deps","setDeps","useState","useEffect","dep","dependencies","push","devDependencies","Text","name","version","length","Newline","map","isDev","idx"],"mappings":"AAAA;;;;+BAgBaA;;aAAAA;;;qBAhB4B;uBACa;AAWtD,QAAQ;AACR,MAAMC,QAAQ,CAACC,MAA6B,CAAA;QAAEC,OAAOD,MAAM,SAAS,EAAE;IAAC,CAAA;AAGhE,MAAMF,gBAAwC,CAACI,QAAU;IAC9D,MAAM,EAAEC,WAAWC,IAAG,EAAEJ,KAAM,KAAK,CAAA,EAAEK,OAAQ,GAAE,EAAE,GAAGH;IAEpD,QAAQ;IACR,MAAM,CAACI,MAAMC,QAAQ,GAAGC,IAAAA,eAAQ,EAAgC,EAAE;IAElE,UAAU;IACVC,IAAAA,gBAAS,EAAC,IAAM,KAAK,AAAC,CAAA,UAAY;YAChC,MAAMH,OAAsC,EAAE;YAE9C,WAAW,MAAMI,OAAON,IAAIO,YAAY,GAAI;gBAC1CL,KAAKM,IAAI,CAAC;oBAACF;oBAAK,IAAI;iBAAC;YACvB;YAEA,WAAW,MAAMA,QAAON,IAAIS,eAAe,GAAI;gBAC7CP,KAAKM,IAAI,CAAC;oBAACF;oBAAK,IAAI;iBAAC;YACvB;YAEAH,QAAQD;QACV,CAAA,KAAM;QAACF;KAAI;IAEX,SAAS;IACT,qBACE,sBAACU,SAAI;;0BACH,qBAACA,SAAI;gBAAE,GAAGf,MAAMC,IAAI;0BAAII,IAAIW,IAAI;;YAC9BX,IAAIY,OAAO,kBAAI,sBAACF,SAAI;gBAACb,OAAM;;oBAAO;oBAAGG,IAAIY,OAAO;;;YAC/CV,KAAKW,MAAM,GAAG,mBAAM,qBAACC,YAAO;YAE7BZ,KAAKa,GAAG,CAAC,CAAC,CAACT,KAAKU,MAAM,EAAEC,oBACxB,sBAACP,SAAI;;wBACDT;sCAAO,sBAACS,SAAI;4BAAE,GAAGf,MAAMC,IAAI;;gCAAIqB,QAAQf,KAAKW,MAAM,GAAG,IAAI,MAAM,GAAG;gCAAC;gCAAE;;;sCACvE,qBAACnB;4BACCK,WAAWO;4BACXV,KAAKoB,SAASpB;4BACdK,qBAAO;;oCAAIA;kDAAO,sBAACS,SAAI;wCAAE,GAAGf,MAAMC,IAAI;;4CAAIqB,QAAQf,KAAKW,MAAM,GAAG,IAAI,MAAM,GAAG;4CAAG;;;;;;wBAE/EI,MAAMf,KAAKW,MAAM,GAAG,mBAAM,qBAACC,YAAO;;mBAP5BR,IAAIK,IAAI;;;AAY3B","file":"workspace-tree.js"}
@@ -1,3 +0,0 @@
1
- export * from './streams';
2
- export * from './string';
3
- export * from './yargs';
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC","file":"index.d.ts","sourcesContent":["export * from './streams';\nexport * from './string';\nexport * from './yargs';\n"]}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _exportStar(require("./streams"), exports);
6
- _exportStar(require("./string"), exports);
7
- _exportStar(require("./yargs"), exports);
8
- function _exportStar(from, to) {
9
- Object.keys(from).forEach(function(k) {
10
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
11
- enumerable: true,
12
- get: function() {
13
- return from[k];
14
- }
15
- });
16
- });
17
- return from;
18
- }
19
-
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["utils/index.js"],"sourcesContent":["export * from './streams';\nexport * from './string';\nexport * from './yargs';\n"],"names":[],"mappings":"AAAA;;;;oBAAc;oBACA;oBACA","file":"index.js"}
@@ -1,3 +0,0 @@
1
- import { SpawnTask, SpawnTaskStream } from '@jujulego/tasks';
2
- export declare function combine<T>(...generators: AsyncGenerator<T>[]): AsyncGenerator<T>;
3
- export declare function streamLines(task: SpawnTask, stream: SpawnTaskStream): AsyncGenerator<string>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/streams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAI7D,wBAAuB,OAAO,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAIvF;AAED,wBAAuB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CA8BnG","file":"streams.d.ts","sourcesContent":["import { SpawnTask, SpawnTaskStream } from '@jujulego/tasks';\nimport { streamEvents } from '@jujulego/event-tree';\n\n// Utils\nexport async function* combine<T>(...generators: AsyncGenerator<T>[]): AsyncGenerator<T> {\n for (const gen of generators) {\n yield* gen;\n }\n}\n\nexport async function *streamLines(task: SpawnTask, stream: SpawnTaskStream): AsyncGenerator<string> {\n // Abort\n const ctrl = new AbortController();\n const reason = new Error('aborted');\n\n task.subscribe('completed', () => ctrl.abort(reason));\n\n // Stream\n let current = '';\n\n try {\n for await (const chunk of streamEvents(task, `stream.${stream}`, { signal: ctrl.signal })) {\n const data = current + chunk.data.toString('utf-8');\n const lines = data.split(/\\r?\\n/);\n\n current = lines.pop() ?? '';\n\n for (const line of lines) {\n yield line;\n }\n }\n } catch (err) {\n if (err !== reason) {\n throw err;\n }\n\n if (current) {\n yield current;\n }\n }\n}\n"]}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- combine: ()=>combine,
13
- streamLines: ()=>streamLines
14
- });
15
- const _eventTree = require("@jujulego/event-tree");
16
- async function* combine(...generators) {
17
- for (const gen of generators){
18
- yield* gen;
19
- }
20
- }
21
- async function* streamLines(task, stream) {
22
- // Abort
23
- const ctrl = new AbortController();
24
- const reason = new Error('aborted');
25
- task.subscribe('completed', ()=>ctrl.abort(reason));
26
- // Stream
27
- let current = '';
28
- try {
29
- for await (const chunk of (0, _eventTree.streamEvents)(task, `stream.${stream}`, {
30
- signal: ctrl.signal
31
- })){
32
- const data = current + chunk.data.toString('utf-8');
33
- const lines = data.split(/\r?\n/);
34
- current = lines.pop() ?? '';
35
- for (const line of lines){
36
- yield line;
37
- }
38
- }
39
- } catch (err) {
40
- if (err !== reason) {
41
- throw err;
42
- }
43
- if (current) {
44
- yield current;
45
- }
46
- }
47
- }
48
-
49
- //# sourceMappingURL=streams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["utils/streams.js"],"sourcesContent":["import { SpawnTask, SpawnTaskStream } from '@jujulego/tasks';\nimport { streamEvents } from '@jujulego/event-tree';\n\n// Utils\nexport async function* combine<T>(...generators: AsyncGenerator<T>[]): AsyncGenerator<T> {\n for (const gen of generators) {\n yield* gen;\n }\n}\n\nexport async function *streamLines(task: SpawnTask, stream: SpawnTaskStream): AsyncGenerator<string> {\n // Abort\n const ctrl = new AbortController();\n const reason = new Error('aborted');\n\n task.subscribe('completed', () => ctrl.abort(reason));\n\n // Stream\n let current = '';\n\n try {\n for await (const chunk of streamEvents(task, `stream.${stream}`, { signal: ctrl.signal })) {\n const data = current + chunk.data.toString('utf-8');\n const lines = data.split(/\\r?\\n/);\n\n current = lines.pop() ?? '';\n\n for (const line of lines) {\n yield line;\n }\n }\n } catch (err) {\n if (err !== reason) {\n throw err;\n }\n\n if (current) {\n yield current;\n }\n }\n}\n"],"names":["combine","streamLines","generators","gen","task","stream","ctrl","AbortController","reason","Error","subscribe","abort","current","chunk","streamEvents","signal","data","toString","lines","split","pop","line","err"],"mappings":"AAAA;;;;;;;;;;;IAIuBA,OAAO,MAAPA;IAMAC,WAAW,MAAXA;;2BATM;AAGtB,gBAAgBD,QAAW,GAAGE,UAA+B,EAAqB;IACvF,KAAK,MAAMC,OAAOD,WAAY;QAC5B,OAAOC;IACT;AACF;AAEO,gBAAgBF,YAAYG,IAAe,EAAEC,MAAuB,EAA0B;IACnG,QAAQ;IACR,MAAMC,OAAO,IAAIC;IACjB,MAAMC,SAAS,IAAIC,MAAM;IAEzBL,KAAKM,SAAS,CAAC,aAAa,IAAMJ,KAAKK,KAAK,CAACH;IAE7C,SAAS;IACT,IAAII,UAAU;IAEd,IAAI;QACF,WAAW,MAAMC,SAASC,IAAAA,uBAAY,EAACV,MAAM,CAAC,OAAO,EAAEC,OAAO,CAAC,EAAE;YAAEU,QAAQT,KAAKS,MAAM;QAAC,GAAI;YACzF,MAAMC,OAAOJ,UAAUC,MAAMG,IAAI,CAACC,QAAQ,CAAC;YAC3C,MAAMC,QAAQF,KAAKG,KAAK,CAAC;YAEzBP,UAAUM,MAAME,GAAG,MAAM;YAEzB,KAAK,MAAMC,QAAQH,MAAO;gBACxB,MAAMG;YACR;QACF;IACF,EAAE,OAAOC,KAAK;QACZ,IAAIA,QAAQd,QAAQ;YAClB,MAAMc,IAAI;QACZ,CAAC;QAED,IAAIV,SAAS;YACX,MAAMA;QACR,CAAC;IACH;AACF","file":"streams.js"}
@@ -1 +0,0 @@
1
- export declare function capitalize(txt: string): string;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/string.ts"],"names":[],"mappings":"AACA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C","file":"string.d.ts","sourcesContent":["// Utils\nexport function capitalize(txt: string): string {\n return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();\n}\n"]}
@@ -1,14 +0,0 @@
1
- // Utils
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "capitalize", {
7
- enumerable: true,
8
- get: ()=>capitalize
9
- });
10
- function capitalize(txt) {
11
- return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();
12
- }
13
-
14
- //# sourceMappingURL=string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["utils/string.js"],"sourcesContent":["// Utils\nexport function capitalize(txt: string): string {\n return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();\n}\n"],"names":["capitalize","txt","charAt","toUpperCase","substring","toLowerCase"],"mappings":"AAAA,QAAQ;AACR;;;;+BAAgBA;;aAAAA;;AAAT,SAASA,WAAWC,GAAW,EAAU;IAC9C,OAAOA,IAAIC,MAAM,CAAC,GAAGC,WAAW,KAAKF,IAAIG,SAAS,CAAC,GAAGC,WAAW;AACnE","file":"string.js"}
@@ -1,9 +0,0 @@
1
- import { Arguments, Argv, CommandModule } from 'yargs';
2
- import { Awaitable } from '../types';
3
- export interface Middleware<T = unknown, U = unknown> {
4
- builder?: (yargs: Argv<T>) => Argv<U>;
5
- handler(args: Arguments<U>): Awaitable<void>;
6
- }
7
- export declare function defineCommand<T, U>(command: CommandModule<T, U>): CommandModule<T, U>;
8
- export declare function defineMiddleware<T, U>(middleware: Middleware<T, U>): Middleware<T, U>;
9
- export declare function applyMiddlewares<T>(yargs: Argv<T>, middlewares: Middleware[]): Argv<T>;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/yargs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;CAC9C;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAErF;AAGD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAErF;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAYtF","file":"yargs.d.ts","sourcesContent":["import { Arguments, Argv, CommandModule } from 'yargs';\n\nimport { Awaitable } from '../types';\n\n// Types\nexport interface Middleware<T = unknown, U = unknown> {\n builder?: (yargs: Argv<T>) => Argv<U>;\n handler(args: Arguments<U>): Awaitable<void>;\n}\n\n// Command utils\nexport function defineCommand<T, U>(command: CommandModule<T, U>): CommandModule<T, U> {\n return command;\n}\n\n// Middleware utils\nexport function defineMiddleware<T, U>(middleware: Middleware<T, U>): Middleware<T, U> {\n return middleware;\n}\n\nexport function applyMiddlewares<T>(yargs: Argv<T>, middlewares: Middleware[]): Argv<T> {\n let tmp: Argv<unknown> = yargs;\n\n for (const middleware of middlewares) {\n if (middleware.builder) {\n tmp = middleware.builder(tmp);\n }\n\n tmp.middleware(middleware.handler);\n }\n\n return tmp as Argv<T>;\n}\n"]}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- defineCommand: ()=>defineCommand,
13
- defineMiddleware: ()=>defineMiddleware,
14
- applyMiddlewares: ()=>applyMiddlewares
15
- });
16
- function defineCommand(command) {
17
- return command;
18
- }
19
- function defineMiddleware(middleware) {
20
- return middleware;
21
- }
22
- function applyMiddlewares(yargs, middlewares) {
23
- let tmp = yargs;
24
- for (const middleware of middlewares){
25
- if (middleware.builder) {
26
- tmp = middleware.builder(tmp);
27
- }
28
- tmp.middleware(middleware.handler);
29
- }
30
- return tmp;
31
- }
32
-
33
- //# sourceMappingURL=yargs.js.map