@jujulego/jill 2.1.0-alpha.3 → 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.
- package/dist/239.js +3 -0
- package/dist/239.js.LICENSE.txt +73 -0
- package/dist/239.js.map +1 -0
- package/dist/main.js +2 -29
- package/dist/main.js.map +1 -1
- package/dist/runtime.js +2 -0
- package/dist/runtime.js.map +1 -0
- package/package.json +51 -52
- package/dist/commands/each.d.ts +0 -16
- package/dist/commands/each.d.ts.map +0 -1
- package/dist/commands/each.js +0 -118
- package/dist/commands/each.js.map +0 -1
- package/dist/commands/group.d.ts +0 -8
- package/dist/commands/group.d.ts.map +0 -1
- package/dist/commands/group.js +0 -70
- package/dist/commands/group.js.map +0 -1
- package/dist/commands/list.d.ts +0 -23
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -170
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/run.d.ts +0 -8
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -71
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/tree.d.ts +0 -3
- package/dist/commands/tree.d.ts.map +0 -1
- package/dist/commands/tree.js +0 -35
- package/dist/commands/tree.js.map +0 -1
- package/dist/filters/affected.filter.d.ts +0 -11
- package/dist/filters/affected.filter.d.ts.map +0 -1
- package/dist/filters/affected.filter.js +0 -82
- package/dist/filters/affected.filter.js.map +0 -1
- package/dist/filters/index.d.ts +0 -4
- package/dist/filters/index.d.ts.map +0 -1
- package/dist/filters/index.js +0 -21
- package/dist/filters/index.js.map +0 -1
- package/dist/filters/pipeline.d.ts +0 -11
- package/dist/filters/pipeline.d.ts.map +0 -1
- package/dist/filters/pipeline.js +0 -34
- package/dist/filters/pipeline.js.map +0 -1
- package/dist/filters/private.filter.d.ts +0 -7
- package/dist/filters/private.filter.d.ts.map +0 -1
- package/dist/filters/private.filter.js +0 -20
- package/dist/filters/private.filter.js.map +0 -1
- package/dist/filters/scripts.filter.d.ts +0 -7
- package/dist/filters/scripts.filter.d.ts.map +0 -1
- package/dist/filters/scripts.filter.js +0 -21
- package/dist/filters/scripts.filter.js.map +0 -1
- package/dist/git.d.ts +0 -16
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js +0 -94
- package/dist/git.js.map +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/main.d.ts.map +0 -1
- package/dist/middlewares/global-config.d.ts +0 -5
- package/dist/middlewares/global-config.d.ts.map +0 -1
- package/dist/middlewares/global-config.js +0 -36
- package/dist/middlewares/global-config.js.map +0 -1
- package/dist/middlewares/index.d.ts +0 -4
- package/dist/middlewares/index.d.ts.map +0 -1
- package/dist/middlewares/index.js +0 -21
- package/dist/middlewares/index.js.map +0 -1
- package/dist/middlewares/load-project.d.ts +0 -6
- package/dist/middlewares/load-project.d.ts.map +0 -1
- package/dist/middlewares/load-project.js +0 -40
- package/dist/middlewares/load-project.js.map +0 -1
- package/dist/middlewares/load-workspace.d.ts +0 -3
- package/dist/middlewares/load-workspace.d.ts.map +0 -1
- package/dist/middlewares/load-workspace.js +0 -42
- package/dist/middlewares/load-workspace.js.map +0 -1
- package/dist/middlewares/setup-ink.d.ts +0 -1
- package/dist/middlewares/setup-ink.d.ts.map +0 -1
- package/dist/middlewares/setup-ink.js +0 -22
- package/dist/middlewares/setup-ink.js.map +0 -1
- package/dist/project/index.d.ts +0 -2
- package/dist/project/index.d.ts.map +0 -1
- package/dist/project/index.js +0 -19
- package/dist/project/index.js.map +0 -1
- package/dist/project/project.d.ts +0 -25
- package/dist/project/project.d.ts.map +0 -1
- package/dist/project/project.js +0 -190
- package/dist/project/project.js.map +0 -1
- package/dist/project/workspace.d.ts +0 -34
- package/dist/project/workspace.d.ts.map +0 -1
- package/dist/project/workspace.js +0 -179
- package/dist/project/workspace.js.map +0 -1
- package/dist/services/index.d.ts +0 -5
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -22
- package/dist/services/index.js.map +0 -1
- package/dist/services/inversify.config.d.ts +0 -11
- package/dist/services/inversify.config.d.ts.map +0 -1
- package/dist/services/inversify.config.js +0 -34
- package/dist/services/inversify.config.js.map +0 -1
- package/dist/services/logger.service.d.ts +0 -6
- package/dist/services/logger.service.d.ts.map +0 -1
- package/dist/services/logger.service.js +0 -75
- package/dist/services/logger.service.js.map +0 -1
- package/dist/services/spinner.service.d.ts +0 -16
- package/dist/services/spinner.service.d.ts.map +0 -1
- package/dist/services/spinner.service.js +0 -57
- package/dist/services/spinner.service.js.map +0 -1
- package/dist/services/task-expr.service.d.ts +0 -19
- package/dist/services/task-expr.service.d.ts.map +0 -1
- package/dist/services/task-expr.service.js +0 -172
- package/dist/services/task-expr.service.js.map +0 -1
- package/dist/services/task-manager.service.d.ts +0 -1
- package/dist/services/task-manager.service.d.ts.map +0 -1
- package/dist/services/task-manager.service.js +0 -18
- package/dist/services/task-manager.service.js.map +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -7
- package/dist/types.js.map +0 -1
- package/dist/ui/global-spinner.d.ts +0 -2
- package/dist/ui/global-spinner.d.ts.map +0 -1
- package/dist/ui/global-spinner.js +0 -65
- package/dist/ui/global-spinner.js.map +0 -1
- package/dist/ui/group-task-spinner.d.ts +0 -6
- package/dist/ui/group-task-spinner.d.ts.map +0 -1
- package/dist/ui/group-task-spinner.js +0 -54
- package/dist/ui/group-task-spinner.js.map +0 -1
- package/dist/ui/index.d.ts +0 -8
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -25
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/layout.d.ts +0 -2
- package/dist/ui/layout.d.ts.map +0 -1
- package/dist/ui/layout.js +0 -20
- package/dist/ui/layout.js.map +0 -1
- package/dist/ui/list.d.ts +0 -6
- package/dist/ui/list.d.ts.map +0 -1
- package/dist/ui/list.js +0 -30
- package/dist/ui/list.js.map +0 -1
- package/dist/ui/static-logs.d.ts +0 -2
- package/dist/ui/static-logs.d.ts.map +0 -1
- package/dist/ui/static-logs.js +0 -63
- package/dist/ui/static-logs.js.map +0 -1
- package/dist/ui/task-manager-spinner.d.ts +0 -6
- package/dist/ui/task-manager-spinner.d.ts.map +0 -1
- package/dist/ui/task-manager-spinner.js +0 -39
- package/dist/ui/task-manager-spinner.js.map +0 -1
- package/dist/ui/task-name.d.ts +0 -6
- package/dist/ui/task-name.d.ts.map +0 -1
- package/dist/ui/task-name.js +0 -35
- package/dist/ui/task-name.js.map +0 -1
- package/dist/ui/task-spinner.d.ts +0 -6
- package/dist/ui/task-spinner.d.ts.map +0 -1
- package/dist/ui/task-spinner.js +0 -117
- package/dist/ui/task-spinner.js.map +0 -1
- package/dist/ui/workspace-tree.d.ts +0 -8
- package/dist/ui/workspace-tree.d.ts.map +0 -1
- package/dist/ui/workspace-tree.js +0 -88
- package/dist/ui/workspace-tree.js.map +0 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -20
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/streams.d.ts +0 -3
- package/dist/utils/streams.d.ts.map +0 -1
- package/dist/utils/streams.js +0 -49
- package/dist/utils/streams.js.map +0 -1
- package/dist/utils/string.d.ts +0 -1
- package/dist/utils/string.d.ts.map +0 -1
- package/dist/utils/string.js +0 -14
- package/dist/utils/string.js.map +0 -1
- package/dist/utils/yargs.d.ts +0 -9
- package/dist/utils/yargs.d.ts.map +0 -1
- package/dist/utils/yargs.js +0 -33
- package/dist/utils/yargs.js.map +0 -1
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "GroupTaskSpinner", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: ()=>GroupTaskSpinner
|
|
8
|
-
});
|
|
9
|
-
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
const _tasks = require("@jujulego/tasks");
|
|
11
|
-
const _ink = require("ink");
|
|
12
|
-
const _react = require("react");
|
|
13
|
-
const _taskSpinner = require("./task-spinner");
|
|
14
|
-
const GroupTaskSpinner = ({ group })=>{
|
|
15
|
-
const [tasks, setTasks] = (0, _react.useState)([
|
|
16
|
-
...group.tasks
|
|
17
|
-
]);
|
|
18
|
-
(0, _react.useLayoutEffect)(()=>{
|
|
19
|
-
let dirty = false;
|
|
20
|
-
return group.subscribe('task.added', ()=>{
|
|
21
|
-
if (!dirty) {
|
|
22
|
-
dirty = true;
|
|
23
|
-
queueMicrotask(()=>{
|
|
24
|
-
setTasks([
|
|
25
|
-
...group.tasks
|
|
26
|
-
]);
|
|
27
|
-
dirty = false;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}, [
|
|
32
|
-
group
|
|
33
|
-
]);
|
|
34
|
-
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
35
|
-
children: [
|
|
36
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskSpinner.TaskSpinner, {
|
|
37
|
-
task: group
|
|
38
|
-
}),
|
|
39
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Box, {
|
|
40
|
-
flexDirection: "column",
|
|
41
|
-
marginLeft: 2,
|
|
42
|
-
children: tasks.map((task)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_react.Fragment, {
|
|
43
|
-
children: task instanceof _tasks.GroupTask ? /*#__PURE__*/ (0, _jsxRuntime.jsx)(GroupTaskSpinner, {
|
|
44
|
-
group: task
|
|
45
|
-
}) : /*#__PURE__*/ (0, _jsxRuntime.jsx)(_taskSpinner.TaskSpinner, {
|
|
46
|
-
task: task
|
|
47
|
-
})
|
|
48
|
-
}, task.id))
|
|
49
|
-
})
|
|
50
|
-
]
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=group-task-spinner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/group-task-spinner.js"],"sourcesContent":["import { GroupTask } from '@jujulego/tasks';\nimport { Box } from 'ink';\nimport { FC, Fragment, useLayoutEffect, useState } from 'react';\n\nimport { TaskSpinner } from './task-spinner';\n\n// Types\nexport interface GroupTaskSpinnerProps {\n group: GroupTask;\n}\n\n// Components\nexport const GroupTaskSpinner: FC<GroupTaskSpinnerProps> = ({ group }) => {\n const [tasks, setTasks] = useState([...group.tasks]);\n\n useLayoutEffect(() => {\n let dirty = false;\n\n return group.subscribe('task.added', () => {\n if (!dirty) {\n dirty = true;\n\n queueMicrotask(() => {\n setTasks([...group.tasks]);\n dirty = false;\n });\n }\n });\n }, [group]);\n\n return (\n <>\n <TaskSpinner task={group} />\n <Box flexDirection=\"column\" marginLeft={2}>\n { tasks.map((task) => (\n <Fragment key={task.id}>\n { (task instanceof GroupTask) ? (\n <GroupTaskSpinner group={task} />\n ) : (\n <TaskSpinner task={task} />\n ) }\n </Fragment>\n )) }\n </Box>\n </>\n );\n};\n"],"names":["GroupTaskSpinner","group","tasks","setTasks","useState","useLayoutEffect","dirty","subscribe","queueMicrotask","TaskSpinner","task","Box","flexDirection","marginLeft","map","Fragment","GroupTask","id"],"mappings":"AAAA;;;;+BAYaA;;aAAAA;;;uBAZa;qBACN;uBACoC;6BAE5B;AAQrB,MAAMA,mBAA8C,CAAC,EAAEC,MAAK,EAAE,GAAK;IACxE,MAAM,CAACC,OAAOC,SAAS,GAAGC,IAAAA,eAAQ,EAAC;WAAIH,MAAMC,KAAK;KAAC;IAEnDG,IAAAA,sBAAe,EAAC,IAAM;QACpB,IAAIC,QAAQ,KAAK;QAEjB,OAAOL,MAAMM,SAAS,CAAC,cAAc,IAAM;YACzC,IAAI,CAACD,OAAO;gBACVA,QAAQ,IAAI;gBAEZE,eAAe,IAAM;oBACnBL,SAAS;2BAAIF,MAAMC,KAAK;qBAAC;oBACzBI,QAAQ,KAAK;gBACf;YACF,CAAC;QACH;IACF,GAAG;QAACL;KAAM;IAEV,qBACE;;0BACE,qBAACQ,wBAAW;gBAACC,MAAMT;;0BACnB,qBAACU,QAAG;gBAACC,eAAc;gBAASC,YAAY;0BACpCX,MAAMY,GAAG,CAAC,CAACJ,qBACX,qBAACK,eAAQ;kCACL,AAACL,gBAAgBM,gBAAS,iBAC1B,qBAAChB;4BAAiBC,OAAOS;2CAEzB,qBAACD,wBAAW;4BAACC,MAAMA;0BACpB;uBALYA,KAAKO,EAAE;;;;AAWhC","file":"group-task-spinner.js"}
|
package/dist/ui/index.d.ts
DELETED
package/dist/ui/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC","file":"index.d.ts","sourcesContent":["export * from './global-spinner';\nexport * from './layout';\nexport * from './list';\nexport * from './static-logs';\nexport * from './task-manager-spinner';\nexport * from './task-name';\nexport * from './task-spinner';\nexport * from './workspace-tree';\n"]}
|
package/dist/ui/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
_exportStar(require("./global-spinner"), exports);
|
|
6
|
-
_exportStar(require("./layout"), exports);
|
|
7
|
-
_exportStar(require("./list"), exports);
|
|
8
|
-
_exportStar(require("./static-logs"), exports);
|
|
9
|
-
_exportStar(require("./task-manager-spinner"), exports);
|
|
10
|
-
_exportStar(require("./task-name"), exports);
|
|
11
|
-
_exportStar(require("./task-spinner"), exports);
|
|
12
|
-
_exportStar(require("./workspace-tree"), exports);
|
|
13
|
-
function _exportStar(from, to) {
|
|
14
|
-
Object.keys(from).forEach(function(k) {
|
|
15
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function() {
|
|
18
|
-
return from[k];
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
return from;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
package/dist/ui/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/index.js"],"sourcesContent":["export * from './global-spinner';\nexport * from './layout';\nexport * from './list';\nexport * from './static-logs';\nexport * from './task-manager-spinner';\nexport * from './task-name';\nexport * from './task-spinner';\nexport * from './workspace-tree';\n"],"names":[],"mappings":"AAAA;;;;oBAAc;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA","file":"index.js"}
|
package/dist/ui/layout.d.ts
DELETED
package/dist/ui/layout.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,eAAO,MAAM,MAAM,EAAE,EAMpB,CAAC","file":"layout.d.ts","sourcesContent":["import { FC } from 'react';\n\nimport { GlobalSpinner } from './global-spinner';\nimport { StaticLogs } from './static-logs';\n\n// Component\nexport const Layout: FC = ({ children }) => (\n <>\n <StaticLogs />\n <GlobalSpinner />\n { children }\n </>\n);\n"]}
|
package/dist/ui/layout.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "Layout", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: ()=>Layout
|
|
8
|
-
});
|
|
9
|
-
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
const _globalSpinner = require("./global-spinner");
|
|
11
|
-
const _staticLogs = require("./static-logs");
|
|
12
|
-
const Layout = ({ children })=>/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
13
|
-
children: [
|
|
14
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_staticLogs.StaticLogs, {}),
|
|
15
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_globalSpinner.GlobalSpinner, {}),
|
|
16
|
-
children
|
|
17
|
-
]
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=layout.js.map
|
package/dist/ui/layout.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/layout.js"],"sourcesContent":["import { FC } from 'react';\n\nimport { GlobalSpinner } from './global-spinner';\nimport { StaticLogs } from './static-logs';\n\n// Component\nexport const Layout: FC = ({ children }) => (\n <>\n <StaticLogs />\n <GlobalSpinner />\n { children }\n </>\n);\n"],"names":["Layout","children","StaticLogs","GlobalSpinner"],"mappings":"AAAA;;;;+BAMaA;;aAAAA;;;+BAJiB;4BACH;AAGpB,MAAMA,SAAa,CAAC,EAAEC,SAAQ,EAAE,iBACrC;;0BACE,qBAACC,sBAAU;0BACX,qBAACC,4BAAa;YACZF","file":"layout.js"}
|
package/dist/ui/list.d.ts
DELETED
package/dist/ui/list.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ui/list.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAKrC,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAetG","file":"list.d.ts","sourcesContent":["import { Box, Text } from 'ink';\nimport { ReactElement } from 'react';\n\nimport { capitalize } from '../utils';\n\n// Types\nexport interface ListProps<T extends Record<string, unknown>> {\n items: T[];\n headers?: boolean;\n}\n\n// Component\nexport function List<T extends Record<string, unknown>>({ items, headers }: ListProps<T>): ReactElement {\n return (\n <Box>\n { Object.keys(items[0]).map((key) => (\n <Box key={key} flexDirection=\"column\" marginRight={2}>\n { headers && (\n <Text bold>{ capitalize(key) }</Text>\n ) }\n { items.map((item, idx) => (\n <Text key={idx}>{ item[key] }</Text>\n )) }\n </Box>\n )) }\n </Box>\n );\n}\n"]}
|
package/dist/ui/list.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "List", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: ()=>List
|
|
8
|
-
});
|
|
9
|
-
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
const _ink = require("ink");
|
|
11
|
-
const _utils = require("../utils");
|
|
12
|
-
function List({ items , headers }) {
|
|
13
|
-
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Box, {
|
|
14
|
-
children: Object.keys(items[0]).map((key)=>/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Box, {
|
|
15
|
-
flexDirection: "column",
|
|
16
|
-
marginRight: 2,
|
|
17
|
-
children: [
|
|
18
|
-
headers && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
|
|
19
|
-
bold: true,
|
|
20
|
-
children: (0, _utils.capitalize)(key)
|
|
21
|
-
}),
|
|
22
|
-
items.map((item, idx)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
|
|
23
|
-
children: item[key]
|
|
24
|
-
}, idx))
|
|
25
|
-
]
|
|
26
|
-
}, key))
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=list.js.map
|
package/dist/ui/list.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/list.js"],"sourcesContent":["import { Box, Text } from 'ink';\nimport { ReactElement } from 'react';\n\nimport { capitalize } from '../utils';\n\n// Types\nexport interface ListProps<T extends Record<string, unknown>> {\n items: T[];\n headers?: boolean;\n}\n\n// Component\nexport function List<T extends Record<string, unknown>>({ items, headers }: ListProps<T>): ReactElement {\n return (\n <Box>\n { Object.keys(items[0]).map((key) => (\n <Box key={key} flexDirection=\"column\" marginRight={2}>\n { headers && (\n <Text bold>{ capitalize(key) }</Text>\n ) }\n { items.map((item, idx) => (\n <Text key={idx}>{ item[key] }</Text>\n )) }\n </Box>\n )) }\n </Box>\n );\n}\n"],"names":["List","items","headers","Box","Object","keys","map","key","flexDirection","marginRight","Text","bold","capitalize","item","idx"],"mappings":"AAAA;;;;+BAYgBA;;aAAAA;;;qBAZU;uBAGC;AASpB,SAASA,KAAwC,EAAEC,MAAK,EAAEC,QAAO,EAAgB,EAAgB;IACtG,qBACE,qBAACC,QAAG;kBACAC,OAAOC,IAAI,CAACJ,KAAK,CAAC,EAAE,EAAEK,GAAG,CAAC,CAACC,oBAC3B,sBAACJ,QAAG;gBAAWK,eAAc;gBAASC,aAAa;;oBAC/CP,yBACA,qBAACQ,SAAI;wBAACC,IAAI;kCAAGC,IAAAA,iBAAU,EAACL;;oBAExBN,MAAMK,GAAG,CAAC,CAACO,MAAMC,oBACjB,qBAACJ,SAAI;sCAAaG,IAAI,CAACN,IAAI;2BAAhBO;;eALLP;;AAWlB","file":"list.js"}
|
package/dist/ui/static-logs.d.ts
DELETED
|
@@ -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"]}
|
package/dist/ui/static-logs.js
DELETED
|
@@ -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 +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"}
|
package/dist/ui/task-name.d.ts
DELETED
|
@@ -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"]}
|
package/dist/ui/task-name.js
DELETED
|
@@ -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
|
package/dist/ui/task-name.js.map
DELETED
|
@@ -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 +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"]}
|
package/dist/ui/task-spinner.js
DELETED
|
@@ -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 +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
|