@jujulego/jill 1.1.18 → 2.0.0-beta.1
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/application.context.d.ts +28 -0
- package/dist/application.context.d.ts.map +1 -0
- package/dist/application.context.js +30 -0
- package/dist/application.context.js.map +1 -0
- package/dist/application.d.ts +7 -0
- package/dist/application.d.ts.map +1 -0
- package/dist/application.js +125 -0
- package/dist/application.js.map +1 -0
- package/dist/command.d.ts +7 -20
- package/dist/command.d.ts.map +1 -0
- package/dist/command.js +17 -62
- package/dist/command.js.map +1 -0
- package/dist/commands/each.command.d.ts +14 -13
- package/dist/commands/each.command.d.ts.map +1 -0
- package/dist/commands/each.command.js +144 -81
- package/dist/commands/each.command.js.map +1 -0
- package/dist/commands/list.command.d.ts +17 -14
- package/dist/commands/list.command.d.ts.map +1 -0
- package/dist/commands/list.command.js +199 -122
- package/dist/commands/list.command.js.map +1 -0
- package/dist/commands/run.command.d.ts +10 -11
- package/dist/commands/run.command.d.ts.map +1 -0
- package/dist/commands/run.command.js +73 -39
- package/dist/commands/run.command.js.map +1 -0
- package/dist/commands/tree.command.d.ts +7 -0
- package/dist/commands/tree.command.d.ts.map +1 -0
- package/dist/commands/tree.command.js +35 -0
- package/dist/commands/tree.command.js.map +1 -0
- package/dist/components/List.d.ts +9 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +57 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/StaticLogs.d.ts +2 -0
- package/dist/components/StaticLogs.d.ts.map +1 -0
- package/dist/components/StaticLogs.js +77 -0
- package/dist/components/StaticLogs.js.map +1 -0
- package/dist/components/TaskSetSpinner.d.ts +6 -0
- package/dist/components/TaskSetSpinner.d.ts.map +1 -0
- package/dist/components/TaskSetSpinner.js +41 -0
- package/dist/components/TaskSetSpinner.js.map +1 -0
- package/dist/components/TaskSpinner.d.ts +6 -0
- package/dist/components/TaskSpinner.d.ts.map +1 -0
- package/dist/components/TaskSpinner.js +72 -0
- package/dist/components/TaskSpinner.js.map +1 -0
- package/dist/components/WorkspaceTree.d.ts +8 -0
- package/dist/components/WorkspaceTree.d.ts.map +1 -0
- package/dist/components/WorkspaceTree.js +153 -0
- package/dist/components/WorkspaceTree.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +48 -21
- package/dist/main.js.map +1 -0
- package/dist/wrapper.d.ts +6 -0
- package/dist/wrapper.d.ts.map +1 -0
- package/dist/wrapper.js +30 -0
- package/dist/wrapper.js.map +1 -0
- package/dist/wrappers/project.wrapper.d.ts +7 -0
- package/dist/wrappers/project.wrapper.d.ts.map +1 -0
- package/dist/wrappers/project.wrapper.js +105 -0
- package/dist/wrappers/project.wrapper.js.map +1 -0
- package/dist/wrappers/workspace.wrapper.d.ts +5 -0
- package/dist/wrappers/workspace.wrapper.d.ts.map +1 -0
- package/dist/wrappers/workspace.wrapper.js +108 -0
- package/dist/wrappers/workspace.wrapper.js.map +1 -0
- package/package.json +43 -30
- package/dist/base.command.d.ts +0 -8
- package/dist/base.command.js +0 -33
- package/dist/commands/info.command.d.ts +0 -9
- package/dist/commands/info.command.js +0 -83
- package/dist/filters/affected.d.ts +0 -10
- package/dist/filters/affected.js +0 -80
- package/dist/filters/filter.d.ts +0 -8
- package/dist/filters/filter.js +0 -36
- package/dist/filters/index.d.ts +0 -2
- package/dist/filters/index.js +0 -22
- package/dist/logger.d.ts +0 -15
- package/dist/logger.js +0 -99
- package/dist/myr/commands/kill.command.d.ts +0 -11
- package/dist/myr/commands/kill.command.js +0 -52
- package/dist/myr/commands/list.command.d.ts +0 -18
- package/dist/myr/commands/list.command.js +0 -127
- package/dist/myr/commands/logs.command.d.ts +0 -11
- package/dist/myr/commands/logs.command.js +0 -83
- package/dist/myr/commands/spawn.command.d.ts +0 -11
- package/dist/myr/commands/spawn.command.js +0 -45
- package/dist/myr/commands/stop.command.d.ts +0 -7
- package/dist/myr/commands/stop.command.js +0 -43
- package/dist/myr/myr-client.d.ts +0 -22
- package/dist/myr/myr-client.js +0 -234
- package/dist/myr/myr.command.d.ts +0 -8
- package/dist/myr/myr.command.js +0 -46
- package/dist/myr/myr.process.d.ts +0 -1
- package/dist/myr/myr.process.js +0 -43
- package/dist/myr/watch.command.d.ts +0 -13
- package/dist/myr/watch.command.js +0 -87
- package/dist/pipeline.d.ts +0 -9
- package/dist/pipeline.js +0 -53
- package/dist/plugin.d.ts +0 -11
- package/dist/plugin.js +0 -40
- package/dist/project.command.d.ts +0 -13
- package/dist/project.command.js +0 -58
- package/dist/task-logger.d.ts +0 -14
- package/dist/task-logger.js +0 -66
- package/dist/utils/cli-list.d.ts +0 -15
- package/dist/utils/cli-list.js +0 -87
- package/dist/workspace.command.d.ts +0 -12
- package/dist/workspace.command.js +0 -55
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const TreeCommand: import("../application.context").CommandComponent<Omit<Omit<{}, "workspace"> & {
|
|
2
|
+
workspace: string | undefined;
|
|
3
|
+
}, "project" | "package-manager"> & {
|
|
4
|
+
project: string | undefined;
|
|
5
|
+
} & {
|
|
6
|
+
"package-manager": import("@jujulego/jill-core").PackageManager | undefined;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["commands/tree.command.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,WAAW;;;;;;EAOtB,CAAC","file":"tree.command.d.ts","sourcesContent":["import { command } from '../command';\nimport { withProject } from '../wrappers/project.wrapper';\nimport { useWorkspace, withWorkspace } from '../wrappers/workspace.wrapper';\nimport { WorkspaceTree } from '../components/WorkspaceTree';\n\n// Command\nconst { wrapper } = withProject(withWorkspace(command({\n name: 'tree',\n description: 'Print workspace dependency tree',\n builder: (yargs) => yargs\n})));\n\n// Component\nexport const TreeCommand = wrapper(function InfoCommand() {\n const wks = useWorkspace();\n\n // Render\n return (\n <WorkspaceTree workspace={wks} />\n );\n});\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TreeCommand = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _command = require("../command");
|
|
11
|
+
|
|
12
|
+
var _project = require("../wrappers/project.wrapper");
|
|
13
|
+
|
|
14
|
+
var _workspace = require("../wrappers/workspace.wrapper");
|
|
15
|
+
|
|
16
|
+
var _WorkspaceTree = require("../components/WorkspaceTree");
|
|
17
|
+
|
|
18
|
+
// Command
|
|
19
|
+
const {
|
|
20
|
+
wrapper
|
|
21
|
+
} = (0, _project.withProject)((0, _workspace.withWorkspace)((0, _command.command)({
|
|
22
|
+
name: 'tree',
|
|
23
|
+
description: 'Print workspace dependency tree',
|
|
24
|
+
builder: yargs => yargs
|
|
25
|
+
}))); // Component
|
|
26
|
+
|
|
27
|
+
const TreeCommand = wrapper(function InfoCommand() {
|
|
28
|
+
const wks = (0, _workspace.useWorkspace)(); // Render
|
|
29
|
+
|
|
30
|
+
return (0, _jsxRuntime.jsx)(_WorkspaceTree.WorkspaceTree, {
|
|
31
|
+
workspace: wks
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
exports.TreeCommand = TreeCommand;
|
|
35
|
+
//# sourceMappingURL=tree.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["commands/tree.command.js","commands/tree.command.tsx"],"names":["wrapper","name","description","builder","yargs","TreeCommand","InfoCommand","wks","WorkspaceTree","workspace"],"mappings":";;;;;;;AAAA;;ACAA;;AACA;;AACA;;AACA;;AAEA;AACA,MAAM;AAAEA,EAAAA;AAAF,IAAc,0BAAY,8BAAc,sBAAQ;AACpDC,EAAAA,IAAI,EAAE,MAD8C;AAEpDC,EAAAA,WAAW,EAAE,iCAFuC;AAGpDC,EAAAA,OAAO,EAAGC,KAAD,IAAWA;AAHgC,CAAR,CAAd,CAAZ,CAApB,C,CAMA;;AACO,MAAMC,WAAW,GAAGL,OAAO,CAAC,SAASM,WAAT,GAAoB;AACrD,QAAMC,GAAG,GAAG,8BAAZ,CADqD,CAGrD;;AACA,SACE,qBAACC,4BAAD,EAAc;AAACC,IAAAA,SAAS,EAAEF;AAAZ,GAAd,CADF;AAGD,CAPiC,CAA3B","file":"tree.command.js","sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { command } from '../command';\nimport { withProject } from '../wrappers/project.wrapper';\nimport { useWorkspace, withWorkspace } from '../wrappers/workspace.wrapper';\nimport { WorkspaceTree } from '../components/WorkspaceTree';\n// Command\nconst { wrapper } = withProject(withWorkspace(command({\n name: 'tree',\n description: 'Print workspace dependency tree',\n builder: (yargs) => yargs\n})));\n// Component\nexport const TreeCommand = wrapper(function InfoCommand() {\n const wks = useWorkspace();\n // Render\n return (_jsx(WorkspaceTree, { workspace: wks }));\n});","import { command } from '../command';\nimport { withProject } from '../wrappers/project.wrapper';\nimport { useWorkspace, withWorkspace } from '../wrappers/workspace.wrapper';\nimport { WorkspaceTree } from '../components/WorkspaceTree';\n\n// Command\nconst { wrapper } = withProject(withWorkspace(command({\n name: 'tree',\n description: 'Print workspace dependency tree',\n builder: (yargs) => yargs\n})));\n\n// Component\nexport const TreeCommand = wrapper(function InfoCommand() {\n const wks = useWorkspace();\n\n // Render\n return (\n <WorkspaceTree workspace={wks} />\n );\n});\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
export declare type ListItem<K extends string> = Partial<Record<K, string | number>> & Record<string, unknown>;
|
|
3
|
+
export interface ListProps<K extends string> {
|
|
4
|
+
attrs: K[];
|
|
5
|
+
data: ListItem<K>[];
|
|
6
|
+
withoutHeaders?: boolean;
|
|
7
|
+
json?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const List: <K extends string>(props: ListProps<K>) => ReactElement | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/List.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAGhD,oBAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvG,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM;IAC1C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAQD,eAAO,MAAM,IAAI,6CAA4C,YAAY,GAAG,IA2B3E,CAAC","file":"List.d.ts","sourcesContent":["import { Box, Text, useStdout } from 'ink';\nimport { ReactElement, useEffect } from 'react';\n\n// Types\nexport type ListItem<K extends string> = Partial<Record<K, string | number>> & Record<string, unknown>;\n\nexport interface ListProps<K extends string> {\n\tattrs: K[];\n\tdata: ListItem<K>[];\n\twithoutHeaders?: boolean;\n\tjson?: boolean;\n}\n\n// Utils\nfunction capitalize(str: string): string {\n\treturn `${str.substring(0, 1).toUpperCase()}${str.substring(1)}`;\n}\n\n// Component\nexport const List = <K extends string>(props: ListProps<K>): ReactElement | null => {\n\tconst { attrs, data, withoutHeaders = false, json = false } = props;\n\tconst { stdout } = useStdout();\n\n\t// Effects\n\tuseEffect(() => {\n\t\tif (!json) return;\n\t\tif (!stdout) return;\n\n\t\tstdout.write(JSON.stringify(data, null, stdout.isTTY ? 2 : 0));\n\t}, [stdout, data, json]);\n\n\t// Render\n\tif (json) return null;\n\n\treturn (\n\t\t<Box>\n\t\t\t{attrs.map((attr) => (\n\t\t\t\t<Box key={attr} flexDirection=\"column\" marginRight={2}>\n\t\t\t\t\t{!withoutHeaders && <Text bold>{capitalize(attr)}</Text>}\n\t\t\t\t\t{data.map((d, idx) => (\n\t\t\t\t\t\t<Text key={idx} color={d[attr] ? '' : 'grey'}>{d[attr] || 'unset'}</Text>\n\t\t\t\t\t))}\n\t\t\t\t</Box>\n\t\t\t))}\n\t\t</Box>\n\t);\n};\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.List = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _ink = require("ink");
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
// Utils
|
|
15
|
+
function capitalize(str) {
|
|
16
|
+
return `${str.substring(0, 1).toUpperCase()}${str.substring(1)}`;
|
|
17
|
+
} // Component
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
const List = props => {
|
|
21
|
+
const {
|
|
22
|
+
attrs,
|
|
23
|
+
data,
|
|
24
|
+
withoutHeaders = false,
|
|
25
|
+
json = false
|
|
26
|
+
} = props;
|
|
27
|
+
const {
|
|
28
|
+
stdout
|
|
29
|
+
} = (0, _ink.useStdout)(); // Effects
|
|
30
|
+
|
|
31
|
+
(0, _react.useEffect)(() => {
|
|
32
|
+
if (!json) return;
|
|
33
|
+
if (!stdout) return;
|
|
34
|
+
stdout.write(JSON.stringify(data, null, stdout.isTTY ? 2 : 0));
|
|
35
|
+
}, [stdout, data, json]); // Render
|
|
36
|
+
|
|
37
|
+
if (json) return null;
|
|
38
|
+
return (0, _jsxRuntime.jsx)(_ink.Box, {
|
|
39
|
+
children: attrs.map(attr => (0, _jsxRuntime.jsxs)(_ink.Box, Object.assign({
|
|
40
|
+
flexDirection: "column",
|
|
41
|
+
marginRight: 2
|
|
42
|
+
}, {
|
|
43
|
+
children: [!withoutHeaders && (0, _jsxRuntime.jsx)(_ink.Text, Object.assign({
|
|
44
|
+
bold: true
|
|
45
|
+
}, {
|
|
46
|
+
children: capitalize(attr)
|
|
47
|
+
})), data.map((d, idx) => (0, _jsxRuntime.jsx)(_ink.Text, Object.assign({
|
|
48
|
+
color: d[attr] ? '' : 'grey'
|
|
49
|
+
}, {
|
|
50
|
+
children: d[attr] || 'unset'
|
|
51
|
+
}), idx))]
|
|
52
|
+
}), attr))
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
exports.List = List;
|
|
57
|
+
//# sourceMappingURL=List.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/List.js","components/List.tsx"],"names":["capitalize","str","substring","toUpperCase","List","props","attrs","data","withoutHeaders","json","stdout","write","JSON","stringify","isTTY","Box","children","map","attr","Object","assign","flexDirection","marginRight","Text","bold","d","idx","color"],"mappings":";;;;;;;AAAA;;ACAA;;AACA;;AAYA;AACA,SAASA,UAAT,CAAoBC,GAApB,EAA+B;AAC9B,SAAO,GAAGA,GAAG,CAACC,SAAJ,CAAc,CAAd,EAAiB,CAAjB,EAAoBC,WAApB,EAAiC,GAAGF,GAAG,CAACC,SAAJ,CAAc,CAAd,CAAgB,EAA9D;AACA,C,CAED;;;AACO,MAAME,IAAI,GAAsBC,KAAnB,IAA+D;AAClF,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,IAAT;AAAeC,IAAAA,cAAc,GAAG,KAAhC;AAAuCC,IAAAA,IAAI,GAAG;AAA9C,MAAwDJ,KAA9D;AACA,QAAM;AAAEK,IAAAA;AAAF,MAAa,qBAAnB,CAFkF,CAIlF;;AACA,wBAAU,MAAK;AACd,QAAI,CAACD,IAAL,EAAW;AACX,QAAI,CAACC,MAAL,EAAa;AAEbA,IAAAA,MAAM,CAACC,KAAP,CAAaC,IAAI,CAACC,SAAL,CAAeN,IAAf,EAAqB,IAArB,EAA2BG,MAAM,CAACI,KAAP,GAAe,CAAf,GAAmB,CAA9C,CAAb;AACA,GALD,EAKG,CAACJ,MAAD,EAASH,IAAT,EAAeE,IAAf,CALH,EALkF,CAYlF;;AACA,MAAIA,IAAJ,EAAU,OAAO,IAAP;AAEV,SACC,qBAACM,QAAD,EAAI;AAAAC,IAAAA,QAAA,EACFV,KAAK,CAACW,GAAN,CAAWC,IAAD,IACV,sBAACH,QAAD,EAAII,MAAA,CAAAC,MAAA,CAAA;AAAYC,MAAAA,aAAa,EAAC,QAA1B;AAAmCC,MAAAA,WAAW,EAAE;AAAhD,KAAA,EAAiD;AAAAN,MAAAA,QAAA,EAAA,CACnD,CAACR,cAAD,IAAmB,qBAACe,SAAD,EAAKJ,MAAA,CAAAC,MAAA,CAAA;AAACI,QAAAA,IAAI,EAAA;AAAL,OAAA,EAAK;AAAAR,QAAAA,QAAA,EAAEhB,UAAU,CAACkB,IAAD;AAAZ,OAAL,CAAL,CADgC,EAEnDX,IAAI,CAACU,GAAL,CAAS,CAACQ,CAAD,EAAIC,GAAJ,KACT,qBAACH,SAAD,EAAKJ,MAAA,CAAAC,MAAA,CAAA;AAAWO,QAAAA,KAAK,EAAEF,CAAC,CAACP,IAAD,CAAD,GAAU,EAAV,GAAe;AAAjC,OAAA,EAAuC;AAAAF,QAAAA,QAAA,EAAGS,CAAC,CAACP,IAAD,CAAD,IAAW;AAAd,OAAvC,CAAL,EAAWQ,GAAX,CADA,CAFmD;AAAA,KAAjD,CAAJ,EAAUR,IAAV,CADA;AADE,GAAJ,CADD;AAYA,CA3BM","file":"List.js","sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Box, Text, useStdout } from 'ink';\nimport { useEffect } from 'react';\n// Utils\nfunction capitalize(str) {\n return `${str.substring(0, 1).toUpperCase()}${str.substring(1)}`;\n}\n// Component\nexport const List = (props) => {\n const { attrs, data, withoutHeaders = false, json = false } = props;\n const { stdout } = useStdout();\n // Effects\n useEffect(() => {\n if (!json)\n return;\n if (!stdout)\n return;\n stdout.write(JSON.stringify(data, null, stdout.isTTY ? 2 : 0));\n }, [stdout, data, json]);\n // Render\n if (json)\n return null;\n return (_jsx(Box, { children: attrs.map((attr) => (_jsxs(Box, Object.assign({ flexDirection: \"column\", marginRight: 2 }, { children: [!withoutHeaders && _jsx(Text, Object.assign({ bold: true }, { children: capitalize(attr) })), data.map((d, idx) => (_jsx(Text, Object.assign({ color: d[attr] ? '' : 'grey' }, { children: d[attr] || 'unset' }), idx)))] }), attr))) }));\n};","import { Box, Text, useStdout } from 'ink';\nimport { ReactElement, useEffect } from 'react';\n\n// Types\nexport type ListItem<K extends string> = Partial<Record<K, string | number>> & Record<string, unknown>;\n\nexport interface ListProps<K extends string> {\n\tattrs: K[];\n\tdata: ListItem<K>[];\n\twithoutHeaders?: boolean;\n\tjson?: boolean;\n}\n\n// Utils\nfunction capitalize(str: string): string {\n\treturn `${str.substring(0, 1).toUpperCase()}${str.substring(1)}`;\n}\n\n// Component\nexport const List = <K extends string>(props: ListProps<K>): ReactElement | null => {\n\tconst { attrs, data, withoutHeaders = false, json = false } = props;\n\tconst { stdout } = useStdout();\n\n\t// Effects\n\tuseEffect(() => {\n\t\tif (!json) return;\n\t\tif (!stdout) return;\n\n\t\tstdout.write(JSON.stringify(data, null, stdout.isTTY ? 2 : 0));\n\t}, [stdout, data, json]);\n\n\t// Render\n\tif (json) return null;\n\n\treturn (\n\t\t<Box>\n\t\t\t{attrs.map((attr) => (\n\t\t\t\t<Box key={attr} flexDirection=\"column\" marginRight={2}>\n\t\t\t\t\t{!withoutHeaders && <Text bold>{capitalize(attr)}</Text>}\n\t\t\t\t\t{data.map((d, idx) => (\n\t\t\t\t\t\t<Text key={idx} color={d[attr] ? '' : 'grey'}>{d[attr] || 'unset'}</Text>\n\t\t\t\t\t))}\n\t\t\t\t</Box>\n\t\t\t))}\n\t\t</Box>\n\t);\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/StaticLogs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAWhD,eAAO,MAAM,UAAU,EAAE,EAqCxB,CAAC","file":"StaticLogs.d.ts","sourcesContent":["import { logger } from '@jujulego/jill-core';\nimport { Static, Text } from 'ink';\nimport { FC, useEffect, useState } from 'react';\nimport { format } from 'winston';\nimport Transport from 'winston-transport';\n\n// Types\ninterface Log {\n label?: string;\n message: string;\n}\n\n// Components\nexport const StaticLogs: FC = () => {\n // State\n const [logs, setLogs] = useState<Log[]>([]);\n\n // Effects\n useEffect(() => {\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: format.combine(\n format.errors(),\n format.colorize({ message: true, colors: { debug: 'grey', verbose: 'blue', info: 'white', error: 'red' } }),\n )\n });\n }\n\n // Methods\n log(log: Log, next: () => void): void {\n setLogs((old) => [...old, log]);\n next();\n }\n };\n\n logger.add(transport);\n\n return () => void logger.remove(transport);\n }, []);\n\n // Render\n return (\n <Static items={logs} style={{ height: 1 }}>\n { ({ label, message }, idx) => (\n <Text key={idx}><Text color=\"grey\">jill: { label && `[${label}] ` }</Text>{ message }</Text>\n ) }\n </Static>\n );\n};\n"]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.StaticLogs = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _jillCore = require("@jujulego/jill-core");
|
|
11
|
+
|
|
12
|
+
var _ink = require("ink");
|
|
13
|
+
|
|
14
|
+
var _react = require("react");
|
|
15
|
+
|
|
16
|
+
var _winston = require("winston");
|
|
17
|
+
|
|
18
|
+
var _winstonTransport = _interopRequireDefault(require("winston-transport"));
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
// Components
|
|
23
|
+
const StaticLogs = () => {
|
|
24
|
+
// State
|
|
25
|
+
const [logs, setLogs] = (0, _react.useState)([]); // Effects
|
|
26
|
+
|
|
27
|
+
(0, _react.useEffect)(() => {
|
|
28
|
+
const transport = new class extends _winstonTransport.default {
|
|
29
|
+
// Constructor
|
|
30
|
+
constructor() {
|
|
31
|
+
super({
|
|
32
|
+
format: _winston.format.combine(_winston.format.errors(), _winston.format.colorize({
|
|
33
|
+
message: true,
|
|
34
|
+
colors: {
|
|
35
|
+
debug: 'grey',
|
|
36
|
+
verbose: 'blue',
|
|
37
|
+
info: 'white',
|
|
38
|
+
error: 'red'
|
|
39
|
+
}
|
|
40
|
+
}))
|
|
41
|
+
});
|
|
42
|
+
} // Methods
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
log(log, next) {
|
|
46
|
+
setLogs(old => [...old, log]);
|
|
47
|
+
next();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
}();
|
|
51
|
+
|
|
52
|
+
_jillCore.logger.add(transport);
|
|
53
|
+
|
|
54
|
+
return () => void _jillCore.logger.remove(transport);
|
|
55
|
+
}, []); // Render
|
|
56
|
+
|
|
57
|
+
return (0, _jsxRuntime.jsx)(_ink.Static, Object.assign({
|
|
58
|
+
items: logs,
|
|
59
|
+
style: {
|
|
60
|
+
height: 1
|
|
61
|
+
}
|
|
62
|
+
}, {
|
|
63
|
+
children: ({
|
|
64
|
+
label,
|
|
65
|
+
message
|
|
66
|
+
}, idx) => (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
67
|
+
children: [(0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({
|
|
68
|
+
color: "grey"
|
|
69
|
+
}, {
|
|
70
|
+
children: ["jill: ", label && `[${label}] `]
|
|
71
|
+
})), message]
|
|
72
|
+
}, idx)
|
|
73
|
+
}));
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
exports.StaticLogs = StaticLogs;
|
|
77
|
+
//# sourceMappingURL=StaticLogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/StaticLogs.js","components/StaticLogs.tsx"],"names":["StaticLogs","logs","setLogs","transport","Transport","constructor","format","combine","errors","colorize","message","colors","debug","verbose","info","error","log","next","old","logger","add","remove","Static","Object","assign","items","style","height","children","label","idx","Text","color"],"mappings":";;;;;;;AAAA;;ACAA;;AACA;;AACA;;AACA;;AACA;;;;AAQA;AACO,MAAMA,UAAU,GAAO,MAAK;AACjC;AACA,QAAM,CAACC,IAAD,EAAOC,OAAP,IAAkB,qBAAgB,EAAhB,CAAxB,CAFiC,CAIjC;;AACA,wBAAU,MAAK;AACb,UAAMC,SAAS,GAAG,IAAI,cAAcC,yBAAd,CAAuB;AAC3C;AACAC,MAAAA,WAAA,GAAA;AACE,cAAM;AACJC,UAAAA,MAAM,EAAEA,gBAAOC,OAAP,CACND,gBAAOE,MAAP,EADM,EAENF,gBAAOG,QAAP,CAAgB;AAAEC,YAAAA,OAAO,EAAE,IAAX;AAAiBC,YAAAA,MAAM,EAAE;AAAEC,cAAAA,KAAK,EAAE,MAAT;AAAiBC,cAAAA,OAAO,EAAE,MAA1B;AAAkCC,cAAAA,IAAI,EAAE,OAAxC;AAAiDC,cAAAA,KAAK,EAAE;AAAxD;AAAzB,WAAhB,CAFM;AADJ,SAAN;AAMD,OAT0C,CAW3C;;;AACAC,MAAAA,GAAG,CAACA,GAAD,EAAWC,IAAX,EAA2B;AAC5Bf,QAAAA,OAAO,CAAEgB,GAAD,IAAS,CAAC,GAAGA,GAAJ,EAASF,GAAT,CAAV,CAAP;AACAC,QAAAA,IAAI;AACL;;AAf0C,KAA3B,EAAlB;;AAkBAE,qBAAOC,GAAP,CAAWjB,SAAX;;AAEA,WAAO,MAAM,KAAKgB,iBAAOE,MAAP,CAAclB,SAAd,CAAlB;AACD,GAtBD,EAsBG,EAtBH,EALiC,CA6BjC;;AACA,SACE,qBAACmB,WAAD,EAAOC,MAAA,CAAAC,MAAA,CAAA;AAACC,IAAAA,KAAK,EAAExB,IAAR;AAAcyB,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAE;AAAV;AAArB,GAAA,EAAkC;AAAAC,IAAAA,QAAA,EACrC,CAAC;AAAEC,MAAAA,KAAF;AAASnB,MAAAA;AAAT,KAAD,EAAqBoB,GAArB,KACA,sBAACC,SAAD,EAAK;AAAAH,MAAAA,QAAA,EAAA,CAAW,sBAACG,SAAD,EAAKR,MAAA,CAAAC,MAAA,CAAA;AAACQ,QAAAA,KAAK,EAAC;AAAP,OAAA,EAAa;AAAAJ,QAAAA,QAAA,EAAA,CAAA,QAAA,EAASC,KAAK,IAAI,IAAIA,KAAK,IAA3B;AAAA,OAAb,CAAL,CAAX,EAAuEnB,OAAvE;AAAA,KAAL,EAAWoB,GAAX;AAFqC,GAAlC,CAAP,CADF;AAOD,CArCM","file":"StaticLogs.js","sourcesContent":["import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { logger } from '@jujulego/jill-core';\nimport { Static, Text } from 'ink';\nimport { useEffect, useState } from 'react';\nimport { format } from 'winston';\nimport Transport from 'winston-transport';\n// Components\nexport const StaticLogs = () => {\n // State\n const [logs, setLogs] = useState([]);\n // Effects\n useEffect(() => {\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: format.combine(format.errors(), format.colorize({ message: true, colors: { debug: 'grey', verbose: 'blue', info: 'white', error: 'red' } }))\n });\n }\n // Methods\n log(log, next) {\n setLogs((old) => [...old, log]);\n next();\n }\n };\n logger.add(transport);\n return () => void logger.remove(transport);\n }, []);\n // Render\n return (_jsx(Static, Object.assign({ items: logs, style: { height: 1 } }, { children: ({ label, message }, idx) => (_jsxs(Text, { children: [_jsxs(Text, Object.assign({ color: \"grey\" }, { children: [\"jill: \", label && `[${label}] `] })), message] }, idx)) })));\n};","import { logger } from '@jujulego/jill-core';\nimport { Static, Text } from 'ink';\nimport { FC, useEffect, useState } from 'react';\nimport { format } from 'winston';\nimport Transport from 'winston-transport';\n\n// Types\ninterface Log {\n label?: string;\n message: string;\n}\n\n// Components\nexport const StaticLogs: FC = () => {\n // State\n const [logs, setLogs] = useState<Log[]>([]);\n\n // Effects\n useEffect(() => {\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: format.combine(\n format.errors(),\n format.colorize({ message: true, colors: { debug: 'grey', verbose: 'blue', info: 'white', error: 'red' } }),\n )\n });\n }\n\n // Methods\n log(log: Log, next: () => void): void {\n setLogs((old) => [...old, log]);\n next();\n }\n };\n\n logger.add(transport);\n\n return () => void logger.remove(transport);\n }, []);\n\n // Render\n return (\n <Static items={logs} style={{ height: 1 }}>\n { ({ label, message }, idx) => (\n <Text key={idx}><Text color=\"grey\">jill: { label && `[${label}] ` }</Text>{ message }</Text>\n ) }\n </Static>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/TaskSetSpinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAIhD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAyBlD,CAAC","file":"TaskSetSpinner.d.ts","sourcesContent":["import { Task, TaskSet } from '@jujulego/jill-core';\nimport { FC, useEffect, useState } from 'react';\nimport { TaskSpinner } from './TaskSpinner';\n\n// Types\nexport interface TaskSetSpinnerProps {\n taskSet: TaskSet;\n}\n\n// Component\nexport const TaskSetSpinner: FC<TaskSetSpinnerProps> = (props) => {\n const { taskSet } = props;\n\n // State\n const [tasks, setTasks] = useState<Task[]>([]);\n\n // Effects\n useEffect(() => {\n const handler = (task: Task) => {\n setTasks((old) => [...old, task]);\n };\n\n taskSet.on('started', handler);\n\n return () => {\n taskSet.off('started', handler);\n };\n }, [taskSet]);\n\n // Render\n return (\n <>\n { tasks.map((task, idx) => <TaskSpinner key={idx} task={task} />) }\n </>\n );\n};\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TaskSetSpinner = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _TaskSpinner = require("./TaskSpinner");
|
|
13
|
+
|
|
14
|
+
// Component
|
|
15
|
+
const TaskSetSpinner = props => {
|
|
16
|
+
const {
|
|
17
|
+
taskSet
|
|
18
|
+
} = props; // State
|
|
19
|
+
|
|
20
|
+
const [tasks, setTasks] = (0, _react.useState)([]); // Effects
|
|
21
|
+
|
|
22
|
+
(0, _react.useEffect)(() => {
|
|
23
|
+
const handler = task => {
|
|
24
|
+
setTasks(old => [...old, task]);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
taskSet.on('started', handler);
|
|
28
|
+
return () => {
|
|
29
|
+
taskSet.off('started', handler);
|
|
30
|
+
};
|
|
31
|
+
}, [taskSet]); // Render
|
|
32
|
+
|
|
33
|
+
return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
34
|
+
children: tasks.map((task, idx) => (0, _jsxRuntime.jsx)(_TaskSpinner.TaskSpinner, {
|
|
35
|
+
task: task
|
|
36
|
+
}, idx))
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.TaskSetSpinner = TaskSetSpinner;
|
|
41
|
+
//# sourceMappingURL=TaskSetSpinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/TaskSetSpinner.js","components/TaskSetSpinner.tsx"],"names":["TaskSetSpinner","props","taskSet","tasks","setTasks","handler","task","old","on","off","_Fragment","children","map","idx","TaskSpinner"],"mappings":";;;;;;;AAAA;;ACCA;;AACA;;AAOA;AACO,MAAMA,cAAc,GAA6BC,KAAD,IAAU;AAC/D,QAAM;AAAEC,IAAAA;AAAF,MAAcD,KAApB,CAD+D,CAG/D;;AACA,QAAM,CAACE,KAAD,EAAQC,QAAR,IAAoB,qBAAiB,EAAjB,CAA1B,CAJ+D,CAM/D;;AACA,wBAAU,MAAK;AACb,UAAMC,OAAO,GAAIC,IAAD,IAAe;AAC7BF,MAAAA,QAAQ,CAAEG,GAAD,IAAS,CAAC,GAAGA,GAAJ,EAASD,IAAT,CAAV,CAAR;AACD,KAFD;;AAIAJ,IAAAA,OAAO,CAACM,EAAR,CAAW,SAAX,EAAsBH,OAAtB;AAEA,WAAO,MAAK;AACVH,MAAAA,OAAO,CAACO,GAAR,CAAY,SAAZ,EAAuBJ,OAAvB;AACD,KAFD;AAGD,GAVD,EAUG,CAACH,OAAD,CAVH,EAP+D,CAmB/D;;AACA,SACE,qBAAAQ,oBAAA,EAAA;AAAAC,IAAAA,QAAA,EACIR,KAAK,CAACS,GAAN,CAAU,CAACN,IAAD,EAAOO,GAAP,KAAe,qBAACC,wBAAD,EAAY;AAAWR,MAAAA,IAAI,EAAEA;AAAjB,KAAZ,EAAkBO,GAAlB,CAAzB;AADJ,GAAA,CADF;AAKD,CAzBM","file":"TaskSetSpinner.js","sourcesContent":["import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { TaskSpinner } from './TaskSpinner';\n// Component\nexport const TaskSetSpinner = (props) => {\n const { taskSet } = props;\n // State\n const [tasks, setTasks] = useState([]);\n // Effects\n useEffect(() => {\n const handler = (task) => {\n setTasks((old) => [...old, task]);\n };\n taskSet.on('started', handler);\n return () => {\n taskSet.off('started', handler);\n };\n }, [taskSet]);\n // Render\n return (_jsx(_Fragment, { children: tasks.map((task, idx) => _jsx(TaskSpinner, { task: task }, idx)) }));\n};","import { Task, TaskSet } from '@jujulego/jill-core';\nimport { FC, useEffect, useState } from 'react';\nimport { TaskSpinner } from './TaskSpinner';\n\n// Types\nexport interface TaskSetSpinnerProps {\n taskSet: TaskSet;\n}\n\n// Component\nexport const TaskSetSpinner: FC<TaskSetSpinnerProps> = (props) => {\n const { taskSet } = props;\n\n // State\n const [tasks, setTasks] = useState<Task[]>([]);\n\n // Effects\n useEffect(() => {\n const handler = (task: Task) => {\n setTasks((old) => [...old, task]);\n };\n\n taskSet.on('started', handler);\n\n return () => {\n taskSet.off('started', handler);\n };\n }, [taskSet]);\n\n // Render\n return (\n <>\n { tasks.map((task, idx) => <TaskSpinner key={idx} task={task} />) }\n </>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/TaskSpinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAI3C,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAGhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;CACZ;AAGD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA0C5C,CAAC","file":"TaskSpinner.d.ts","sourcesContent":["import { Task } from '@jujulego/jill-core';\nimport { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport logSymbols from 'log-symbols';\nimport { FC, useEffect, useState } from 'react';\n\n// Types\nexport interface TaskSpinnerProps {\n task: Task;\n}\n\n// Component\nexport const TaskSpinner: FC<TaskSpinnerProps> = (props) => {\n const { task } = props;\n const wks = task.context.workspace;\n\n // State\n const [status, setStatus] = useState(task.status);\n\n // Effects\n useEffect(() => {\n task.on('status', setStatus);\n\n return () => {\n task.off('status', setStatus);\n };\n }, [task]);\n\n // Render\n if (status === 'done') {\n return (\n <Text>\n { logSymbols.success }{' '}\n { wks && <><Text color=\"grey\">[{ wks.name }]</Text>{' '}</> }\n { task.name } is { status }\n </Text>\n );\n } else if (status === 'failed') {\n return (\n <Text>\n { logSymbols.error }{' '}\n { wks && <><Text color=\"grey\">[{ wks.name }]</Text>{' '}</> }\n { task.name } is { status }\n </Text>\n );\n }\n\n return (\n <Text>\n <Spinner type={status === 'running' ? 'line' : 'simpleDotsScrolling'} />{' '}\n { wks && <><Text color=\"grey\">[{ wks.name }]</Text>{' '}</> }\n { task.name } is { status }\n </Text>\n );\n};\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TaskSpinner = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _ink = require("ink");
|
|
11
|
+
|
|
12
|
+
var _inkSpinner = _interopRequireDefault(require("ink-spinner"));
|
|
13
|
+
|
|
14
|
+
var _logSymbols = _interopRequireDefault(require("log-symbols"));
|
|
15
|
+
|
|
16
|
+
var _react = require("react");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
// Component
|
|
21
|
+
const TaskSpinner = props => {
|
|
22
|
+
const {
|
|
23
|
+
task
|
|
24
|
+
} = props;
|
|
25
|
+
const wks = task.context.workspace; // State
|
|
26
|
+
|
|
27
|
+
const [status, setStatus] = (0, _react.useState)(task.status); // Effects
|
|
28
|
+
|
|
29
|
+
(0, _react.useEffect)(() => {
|
|
30
|
+
task.on('status', setStatus);
|
|
31
|
+
return () => {
|
|
32
|
+
task.off('status', setStatus);
|
|
33
|
+
};
|
|
34
|
+
}, [task]); // Render
|
|
35
|
+
|
|
36
|
+
if (status === 'done') {
|
|
37
|
+
return (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
38
|
+
children: [_logSymbols.default.success, ' ', wks && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
39
|
+
children: [(0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({
|
|
40
|
+
color: "grey"
|
|
41
|
+
}, {
|
|
42
|
+
children: ["[", wks.name, "]"]
|
|
43
|
+
})), ' ']
|
|
44
|
+
}), task.name, " is ", status]
|
|
45
|
+
});
|
|
46
|
+
} else if (status === 'failed') {
|
|
47
|
+
return (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
48
|
+
children: [_logSymbols.default.error, ' ', wks && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
49
|
+
children: [(0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({
|
|
50
|
+
color: "grey"
|
|
51
|
+
}, {
|
|
52
|
+
children: ["[", wks.name, "]"]
|
|
53
|
+
})), ' ']
|
|
54
|
+
}), task.name, " is ", status]
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
59
|
+
children: [(0, _jsxRuntime.jsx)(_inkSpinner.default, {
|
|
60
|
+
type: status === 'running' ? 'line' : 'simpleDotsScrolling'
|
|
61
|
+
}), ' ', wks && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
62
|
+
children: [(0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({
|
|
63
|
+
color: "grey"
|
|
64
|
+
}, {
|
|
65
|
+
children: ["[", wks.name, "]"]
|
|
66
|
+
})), ' ']
|
|
67
|
+
}), task.name, " is ", status]
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
exports.TaskSpinner = TaskSpinner;
|
|
72
|
+
//# sourceMappingURL=TaskSpinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/TaskSpinner.js","components/TaskSpinner.tsx"],"names":["TaskSpinner","props","task","wks","context","workspace","status","setStatus","on","off","Text","children","logSymbols","success","_Fragment","Object","assign","color","name","error","Spinner","type"],"mappings":";;;;;;;AAAA;;ACCA;;AACA;;AACA;;AACA;;;;AAOA;AACO,MAAMA,WAAW,GAA0BC,KAAD,IAAU;AACzD,QAAM;AAAEC,IAAAA;AAAF,MAAWD,KAAjB;AACA,QAAME,GAAG,GAAGD,IAAI,CAACE,OAAL,CAAaC,SAAzB,CAFyD,CAIzD;;AACA,QAAM,CAACC,MAAD,EAASC,SAAT,IAAsB,qBAASL,IAAI,CAACI,MAAd,CAA5B,CALyD,CAOzD;;AACA,wBAAU,MAAK;AACbJ,IAAAA,IAAI,CAACM,EAAL,CAAQ,QAAR,EAAkBD,SAAlB;AAEA,WAAO,MAAK;AACVL,MAAAA,IAAI,CAACO,GAAL,CAAS,QAAT,EAAmBF,SAAnB;AACD,KAFD;AAGD,GAND,EAMG,CAACL,IAAD,CANH,EARyD,CAgBzD;;AACA,MAAII,MAAM,KAAK,MAAf,EAAuB;AACrB,WACE,sBAACI,SAAD,EAAK;AAAAC,MAAAA,QAAA,EAAA,CACDC,oBAAWC,OADV,EACoB,GADpB,EAEDV,GAAG,IAAI,sBAAAW,oBAAA,EAAA;AAAAH,QAAAA,QAAA,EAAA,CAAE,sBAACD,SAAD,EAAKK,MAAA,CAAAC,MAAA,CAAA;AAACC,UAAAA,KAAK,EAAC;AAAP,SAAA,EAAa;AAAAN,UAAAA,QAAA,EAAA,CAAA,GAAA,EAAIR,GAAG,CAACe,IAAR,EAAY,GAAZ;AAAA,SAAb,CAAL,CAAF,EAA2C,GAA3C;AAAA,OAAA,CAFN,EAGDhB,IAAI,CAACgB,IAHJ,EAGQ,MAHR,EAGgBZ,MAHhB;AAAA,KAAL,CADF;AAOD,GARD,MAQO,IAAIA,MAAM,KAAK,QAAf,EAAyB;AAC9B,WACE,sBAACI,SAAD,EAAK;AAAAC,MAAAA,QAAA,EAAA,CACDC,oBAAWO,KADV,EACkB,GADlB,EAEDhB,GAAG,IAAI,sBAAAW,oBAAA,EAAA;AAAAH,QAAAA,QAAA,EAAA,CAAE,sBAACD,SAAD,EAAKK,MAAA,CAAAC,MAAA,CAAA;AAACC,UAAAA,KAAK,EAAC;AAAP,SAAA,EAAa;AAAAN,UAAAA,QAAA,EAAA,CAAA,GAAA,EAAIR,GAAG,CAACe,IAAR,EAAY,GAAZ;AAAA,SAAb,CAAL,CAAF,EAA2C,GAA3C;AAAA,OAAA,CAFN,EAGDhB,IAAI,CAACgB,IAHJ,EAGQ,MAHR,EAGgBZ,MAHhB;AAAA,KAAL,CADF;AAOD;;AAED,SACE,sBAACI,SAAD,EAAK;AAAAC,IAAAA,QAAA,EAAA,CACH,qBAACS,mBAAD,EAAQ;AAACC,MAAAA,IAAI,EAAEf,MAAM,KAAK,SAAX,GAAuB,MAAvB,GAAgC;AAAvC,KAAR,CADG,EACsE,GADtE,EAEDH,GAAG,IAAI,sBAAAW,oBAAA,EAAA;AAAAH,MAAAA,QAAA,EAAA,CAAE,sBAACD,SAAD,EAAKK,MAAA,CAAAC,MAAA,CAAA;AAACC,QAAAA,KAAK,EAAC;AAAP,OAAA,EAAa;AAAAN,QAAAA,QAAA,EAAA,CAAA,GAAA,EAAIR,GAAG,CAACe,IAAR,EAAY,GAAZ;AAAA,OAAb,CAAL,CAAF,EAA2C,GAA3C;AAAA,KAAA,CAFN,EAGDhB,IAAI,CAACgB,IAHJ,EAGQ,MAHR,EAGgBZ,MAHhB;AAAA,GAAL,CADF;AAOD,CA1CM","file":"TaskSpinner.js","sourcesContent":["import { jsxs as _jsxs, Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport logSymbols from 'log-symbols';\nimport { useEffect, useState } from 'react';\n// Component\nexport const TaskSpinner = (props) => {\n const { task } = props;\n const wks = task.context.workspace;\n // State\n const [status, setStatus] = useState(task.status);\n // Effects\n useEffect(() => {\n task.on('status', setStatus);\n return () => {\n task.off('status', setStatus);\n };\n }, [task]);\n // Render\n if (status === 'done') {\n return (_jsxs(Text, { children: [logSymbols.success, ' ', wks && _jsxs(_Fragment, { children: [_jsxs(Text, Object.assign({ color: \"grey\" }, { children: [\"[\", wks.name, \"]\"] })), ' '] }), task.name, \" is \", status] }));\n }\n else if (status === 'failed') {\n return (_jsxs(Text, { children: [logSymbols.error, ' ', wks && _jsxs(_Fragment, { children: [_jsxs(Text, Object.assign({ color: \"grey\" }, { children: [\"[\", wks.name, \"]\"] })), ' '] }), task.name, \" is \", status] }));\n }\n return (_jsxs(Text, { children: [_jsx(Spinner, { type: status === 'running' ? 'line' : 'simpleDotsScrolling' }), ' ', wks && _jsxs(_Fragment, { children: [_jsxs(Text, Object.assign({ color: \"grey\" }, { children: [\"[\", wks.name, \"]\"] })), ' '] }), task.name, \" is \", status] }));\n};","import { Task } from '@jujulego/jill-core';\nimport { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport logSymbols from 'log-symbols';\nimport { FC, useEffect, useState } from 'react';\n\n// Types\nexport interface TaskSpinnerProps {\n task: Task;\n}\n\n// Component\nexport const TaskSpinner: FC<TaskSpinnerProps> = (props) => {\n const { task } = props;\n const wks = task.context.workspace;\n\n // State\n const [status, setStatus] = useState(task.status);\n\n // Effects\n useEffect(() => {\n task.on('status', setStatus);\n\n return () => {\n task.off('status', setStatus);\n };\n }, [task]);\n\n // Render\n if (status === 'done') {\n return (\n <Text>\n { logSymbols.success }{' '}\n { wks && <><Text color=\"grey\">[{ wks.name }]</Text>{' '}</> }\n { task.name } is { status }\n </Text>\n );\n } else if (status === 'failed') {\n return (\n <Text>\n { logSymbols.error }{' '}\n { wks && <><Text color=\"grey\">[{ wks.name }]</Text>{' '}</> }\n { task.name } is { status }\n </Text>\n );\n }\n\n return (\n <Text>\n <Spinner type={status === 'running' ? 'line' : 'simpleDotsScrolling'} />{' '}\n { wks && <><Text color=\"grey\">[{ wks.name }]</Text>{' '}</> }\n { task.name } is { status }\n </Text>\n );\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/WorkspaceTree.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,EAAE,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAC;AAG9D,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,CAwChD,CAAC","file":"WorkspaceTree.d.ts","sourcesContent":["import { Workspace } from '@jujulego/jill-core';\nimport { Newline, Text, TextProps } from 'ink';\nimport { FC, ReactElement, useEffect, useState } from 'react';\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][]>([]);\n\n // Effects\n useEffect(() => void (async () => {\n const deps: [Workspace, boolean][] = [];\n\n for await (const dep of wks.dependencies()) {\n deps.push([dep, dev]);\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 <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}\n level={<>{ level }<Text {...style(dev)}>{ idx === deps.length - 1 ? ' ' : '│' }{' '}</Text></>}\n />\n </Text>\n )) }\n </Text>\n );\n};\n"]}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WorkspaceTree = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _ink = require("ink");
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) {
|
|
16
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
17
|
+
resolve(value);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
22
|
+
function fulfilled(value) {
|
|
23
|
+
try {
|
|
24
|
+
step(generator.next(value));
|
|
25
|
+
} catch (e) {
|
|
26
|
+
reject(e);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function rejected(value) {
|
|
31
|
+
try {
|
|
32
|
+
step(generator["throw"](value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function step(result) {
|
|
39
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var __asyncValues = void 0 && (void 0).__asyncValues || function (o) {
|
|
47
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
48
|
+
var m = o[Symbol.asyncIterator],
|
|
49
|
+
i;
|
|
50
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
|
|
51
|
+
return this;
|
|
52
|
+
}, i);
|
|
53
|
+
|
|
54
|
+
function verb(n) {
|
|
55
|
+
i[n] = o[n] && function (v) {
|
|
56
|
+
return new Promise(function (resolve, reject) {
|
|
57
|
+
v = o[n](v), settle(resolve, reject, v.done, v.value);
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function settle(resolve, reject, d, v) {
|
|
63
|
+
Promise.resolve(v).then(function (v) {
|
|
64
|
+
resolve({
|
|
65
|
+
value: v,
|
|
66
|
+
done: d
|
|
67
|
+
});
|
|
68
|
+
}, reject);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
// Utils
|
|
73
|
+
const style = dev => ({
|
|
74
|
+
color: dev ? 'blue' : ''
|
|
75
|
+
}); // Component
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
const WorkspaceTree = props => {
|
|
79
|
+
const {
|
|
80
|
+
workspace: wks,
|
|
81
|
+
dev = false,
|
|
82
|
+
level = ''
|
|
83
|
+
} = props; // State
|
|
84
|
+
|
|
85
|
+
const [deps, setDeps] = (0, _react.useState)([]); // Effects
|
|
86
|
+
|
|
87
|
+
(0, _react.useEffect)(() => void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
88
|
+
var e_1, _a, e_2, _b;
|
|
89
|
+
|
|
90
|
+
const deps = [];
|
|
91
|
+
|
|
92
|
+
try {
|
|
93
|
+
for (var _c = __asyncValues(wks.dependencies()), _d; _d = yield _c.next(), !_d.done;) {
|
|
94
|
+
const dep = _d.value;
|
|
95
|
+
deps.push([dep, dev]);
|
|
96
|
+
}
|
|
97
|
+
} catch (e_1_1) {
|
|
98
|
+
e_1 = {
|
|
99
|
+
error: e_1_1
|
|
100
|
+
};
|
|
101
|
+
} finally {
|
|
102
|
+
try {
|
|
103
|
+
if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);
|
|
104
|
+
} finally {
|
|
105
|
+
if (e_1) throw e_1.error;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
try {
|
|
110
|
+
for (var _e = __asyncValues(wks.devDependencies()), _f; _f = yield _e.next(), !_f.done;) {
|
|
111
|
+
const dep = _f.value;
|
|
112
|
+
deps.push([dep, true]);
|
|
113
|
+
}
|
|
114
|
+
} catch (e_2_1) {
|
|
115
|
+
e_2 = {
|
|
116
|
+
error: e_2_1
|
|
117
|
+
};
|
|
118
|
+
} finally {
|
|
119
|
+
try {
|
|
120
|
+
if (_f && !_f.done && (_b = _e.return)) yield _b.call(_e);
|
|
121
|
+
} finally {
|
|
122
|
+
if (e_2) throw e_2.error;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
setDeps(deps);
|
|
127
|
+
}))(), [wks]); // Render
|
|
128
|
+
|
|
129
|
+
return (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
130
|
+
children: [(0, _jsxRuntime.jsx)(_ink.Text, Object.assign({}, style(dev), {
|
|
131
|
+
children: wks.name
|
|
132
|
+
})), wks.version && (0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({
|
|
133
|
+
color: "grey"
|
|
134
|
+
}, {
|
|
135
|
+
children: ["@", wks.version]
|
|
136
|
+
})), (0, _jsxRuntime.jsx)(_ink.Newline, {}), deps.map(([dep, isDev], idx) => (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
137
|
+
children: [level, (0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({}, style(dev), {
|
|
138
|
+
children: [idx === deps.length - 1 ? '└' : '├', "\u2500", ' ']
|
|
139
|
+
})), (0, _jsxRuntime.jsx)(WorkspaceTree, {
|
|
140
|
+
workspace: dep,
|
|
141
|
+
dev: isDev,
|
|
142
|
+
level: (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
143
|
+
children: [level, (0, _jsxRuntime.jsxs)(_ink.Text, Object.assign({}, style(dev), {
|
|
144
|
+
children: [idx === deps.length - 1 ? ' ' : '│', ' ']
|
|
145
|
+
}))]
|
|
146
|
+
})
|
|
147
|
+
})]
|
|
148
|
+
}, dep.name))]
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
exports.WorkspaceTree = WorkspaceTree;
|
|
153
|
+
//# sourceMappingURL=WorkspaceTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/WorkspaceTree.js","components/WorkspaceTree.tsx"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__asyncValues","o","Symbol","asyncIterator","TypeError","m","i","call","__values","iterator","verb","n","v","settle","d","style","dev","color","WorkspaceTree","props","workspace","wks","level","deps","setDeps","e_1","_a","e_2","_b","_c","dependencies","_d","dep","push","e_1_1","error","return","_e","devDependencies","_f","e_2_1","Text","children","Object","assign","name","version","Newline","map","isDev","idx","length","_Fragment"],"mappings":"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","file":"WorkspaceTree.js","sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { Newline, Text } from 'ink';\nimport { useEffect, useState } from 'react';\n// Utils\nconst style = (dev) => ({ color: dev ? 'blue' : '' });\n// Component\nexport const WorkspaceTree = (props) => {\n const { workspace: wks, dev = false, level = '' } = props;\n // State\n const [deps, setDeps] = useState([]);\n // Effects\n useEffect(() => void (() => __awaiter(void 0, void 0, void 0, function* () {\n var e_1, _a, e_2, _b;\n const deps = [];\n try {\n for (var _c = __asyncValues(wks.dependencies()), _d; _d = yield _c.next(), !_d.done;) {\n const dep = _d.value;\n deps.push([dep, dev]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) yield _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n try {\n for (var _e = __asyncValues(wks.devDependencies()), _f; _f = yield _e.next(), !_f.done;) {\n const dep = _f.value;\n deps.push([dep, true]);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) yield _b.call(_e);\n }\n finally { if (e_2) throw e_2.error; }\n }\n setDeps(deps);\n }))(), [wks]);\n // Render\n return (_jsxs(Text, { children: [_jsx(Text, Object.assign({}, style(dev), { children: wks.name })), wks.version && (_jsxs(Text, Object.assign({ color: \"grey\" }, { children: [\"@\", wks.version] }))), _jsx(Newline, {}), deps.map(([dep, isDev], idx) => (_jsxs(Text, { children: [level, _jsxs(Text, Object.assign({}, style(dev), { children: [idx === deps.length - 1 ? '└' : '├', \"\\u2500\", ' '] })), _jsx(WorkspaceTree, { workspace: dep, dev: isDev, level: _jsxs(_Fragment, { children: [level, _jsxs(Text, Object.assign({}, style(dev), { children: [idx === deps.length - 1 ? ' ' : '│', ' '] }))] }) })] }, dep.name)))] }));\n};","import { Workspace } from '@jujulego/jill-core';\nimport { Newline, Text, TextProps } from 'ink';\nimport { FC, ReactElement, useEffect, useState } from 'react';\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][]>([]);\n\n // Effects\n useEffect(() => void (async () => {\n const deps: [Workspace, boolean][] = [];\n\n for await (const dep of wks.dependencies()) {\n deps.push([dep, dev]);\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 <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}\n level={<>{ level }<Text {...style(dev)}>{ idx === deps.length - 1 ? ' ' : '│' }{' '}</Text></>}\n />\n </Text>\n )) }\n </Text>\n );\n};\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { EachCommand } from './commands/each.command';
|
|
2
|
-
export {
|
|
2
|
+
export { TreeCommand } from './commands/tree.command';
|
|
3
3
|
export { ListCommand } from './commands/list.command';
|
|
4
4
|
export { RunCommand } from './commands/run.command';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC","file":"index.d.ts","sourcesContent":["export { EachCommand } from './commands/each.command';\nexport { TreeCommand } from './commands/tree.command';\nexport { ListCommand } from './commands/list.command';\nexport { RunCommand } from './commands/run.command';\n"]}
|