spawn-term 0.1.13 → 0.1.15

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.
@@ -96,7 +96,7 @@ function Header(param) {
96
96
  var icon = ICONS[state];
97
97
  return /*#__PURE__*/ _react.default.createElement(_ink.Box, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, {
98
98
  marginRight: 1
99
- }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, icon)), group && /*#__PURE__*/ _react.default.createElement(_ink.Text, null, "".concat(group).concat(_figures.default.pointer, " ")), /*#__PURE__*/ _react.default.createElement(_ink.Text, null, title));
99
+ }, icon), group && /*#__PURE__*/ _react.default.createElement(_ink.Text, null, "".concat(group).concat(_figures.default.pointer, " ")), /*#__PURE__*/ _react.default.createElement(_ink.Text, null, title));
100
100
  }
101
101
  function Output(param) {
102
102
  var output = param.output;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","RUNS","figures","cross","tick","concat","ICONS","error","Text","color","success","running","Spinner","Header","item","group","title","state","icon","Box","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","LineType","stderr","id","store","useContext","StoreContext","appState","useStore","processes","find","x","expanded","runs","filter","some","run","errors","indexOf","length","pop"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>{icon}</Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","RUNS","figures","cross","tick","concat","ICONS","error","Text","color","success","running","Spinner","Header","item","group","title","state","icon","Box","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","LineType","stderr","id","store","useContext","StoreContext","appState","useStore","processes","find","x","expanded","runs","filter","some","run","errors","indexOf","length","pop"],"mappings":"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"}
@@ -113,6 +113,6 @@ function Spinner(param) {
113
113
  interval,
114
114
  frames
115
115
  ]);
116
- return /*#__PURE__*/ _react.default.createElement(_ink.Text, null, frames[index]);
116
+ return /*#__PURE__*/ _react.default.createElement(_ink.Text, null, "".concat(frames[index], " "));
117
117
  }
118
118
  /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Text } from '../ink.mjs';\n\nexport type SpinnerProps = {\n interval: number;\n frames: string[];\n};\n\nexport default function Spinner({ interval, frames }: SpinnerProps) {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIndex((index) => (index === frames.length - 1 ? 0 : index + 1));\n }, interval);\n return () => {\n clearInterval(timer);\n };\n }, [interval, frames]);\n\n return <Text>{frames[index]}</Text>;\n}\n"],"names":["Spinner","interval","frames","useState","index","setIndex","useEffect","timer","setInterval","length","clearInterval","Text"],"mappings":";;;;+BAQA;;;eAAwBA;;;6DARmB;mBACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAON,SAASA,QAAQ,KAAkC;QAAhCC,WAAF,MAAEA,UAAUC,SAAZ,MAAYA;IAC1C,IAA0BC,6BAAAA,IAAAA,eAAQ,EAAC,QAA5BC,QAAmBD,cAAZE,WAAYF;IAE1BG,IAAAA,gBAAS,EAAC;QACR,IAAMC,QAAQC,YAAY;YACxBH,SAAS,SAACD;uBAAWA,UAAUF,OAAOO,MAAM,GAAG,IAAI,IAAIL,QAAQ;;QACjE,GAAGH;QACH,OAAO;YACLS,cAAcH;QAChB;IACF,GAAG;QAACN;QAAUC;KAAO;IAErB,qBAAO,6BAACS,SAAI,QAAET,MAAM,CAACE,MAAM;AAC7B"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Text } from '../ink.mjs';\n\nexport type SpinnerProps = {\n interval: number;\n frames: string[];\n};\n\nexport default function Spinner({ interval, frames }: SpinnerProps) {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIndex((index) => (index === frames.length - 1 ? 0 : index + 1));\n }, interval);\n return () => {\n clearInterval(timer);\n };\n }, [interval, frames]);\n\n return <Text>{`${frames[index]} `}</Text>;\n}\n"],"names":["Spinner","interval","frames","useState","index","setIndex","useEffect","timer","setInterval","length","clearInterval","Text"],"mappings":";;;;+BAQA;;;eAAwBA;;;6DARmB;mBACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAON,SAASA,QAAQ,KAAkC;QAAhCC,WAAF,MAAEA,UAAUC,SAAZ,MAAYA;IAC1C,IAA0BC,6BAAAA,IAAAA,eAAQ,EAAC,QAA5BC,QAAmBD,cAAZE,WAAYF;IAE1BG,IAAAA,gBAAS,EAAC;QACR,IAAMC,QAAQC,YAAY;YACxBH,SAAS,SAACD;uBAAWA,UAAUF,OAAOO,MAAM,GAAG,IAAI,IAAIL,QAAQ;;QACjE,GAAGH;QACH,OAAO;YACLS,cAAcH;QAChB;IACF,GAAG;QAACN;QAAUC;KAAO;IAErB,qBAAO,6BAACS,SAAI,QAAE,AAAC,GAAgB,OAAdT,MAAM,CAACE,MAAM,EAAC;AACjC"}
@@ -39,7 +39,7 @@ function Header({ item }) {
39
39
  const icon = ICONS[state];
40
40
  return /*#__PURE__*/ React.createElement(Box, null, /*#__PURE__*/ React.createElement(Box, {
41
41
  marginRight: 1
42
- }, /*#__PURE__*/ React.createElement(Text, null, icon)), group && /*#__PURE__*/ React.createElement(Text, null, `${group}${figures.pointer} `), /*#__PURE__*/ React.createElement(Text, null, title));
42
+ }, icon), group && /*#__PURE__*/ React.createElement(Text, null, `${group}${figures.pointer} `), /*#__PURE__*/ React.createElement(Text, null, title));
43
43
  }
44
44
  function Output({ output }) {
45
45
  return /*#__PURE__*/ React.createElement(Box, {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["React","useContext","useStore","StoreContext","Box","Text","figures","Spinner","LineType","spinner","interval","frames","RUNS","cross","tick","concat","ICONS","error","color","success","running","Header","item","group","title","state","icon","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","stderr","ChildProcess","id","store","appState","processes","find","x","expanded","runs","filter","some","run","errors","indexOf","length","pop"],"mappings":"AAAA,OAAOA,SAASC,UAAU,QAAQ,QAAQ;AAC1C,SAASC,QAAQ,QAAQ,UAAU;AACnC,OAAOC,kBAAkB,oBAAoB;AAC7C,SAASC,GAAG,EAAEC,IAAI,QAAQ,aAAa;AACvC,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAa,YAAY;AAGhC,SAASC,QAAQ,QAAQ,WAAW;AAEpC,oHAAoH;AACpH,MAAMC,UAAU;IACdC,UAAU;IACVC,QAAQ;QAAC;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;KAAI;AAC5D;AAEA,MAAMC,OAAO;IAACN,QAAQO,KAAK;IAAEP,QAAQQ,IAAI;CAAC,CAACC,MAAM,CAACN,QAAQE,MAAM;AAEhE,MAAMK,QAAQ;IACZC,qBAAO,oBAACZ;QAAKa,OAAM;OAAOZ,QAAQO,KAAK;IACvCM,uBAAS,oBAACd;QAAKa,OAAM;OAASZ,QAAQQ,IAAI;IAC1CM,uBAAS,oBAACb,SAAYE;AACxB;AAMA,SAASY,OAAO,EAAEC,IAAI,EAAE;IACtB,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGH;IAChC,MAAMI,OAAOV,KAAK,CAACS,MAAM;IAEzB,qBACE,oBAACrB,yBACC,oBAACA;QAAIuB,aAAa;qBAChB,oBAACtB,YAAMqB,QAERH,uBAAS,oBAAClB,YAAM,GAAGkB,QAAQjB,QAAQsB,OAAO,CAAC,CAAC,CAAC,iBAC9C,oBAACvB,YAAMmB;AAGb;AAEA,SAASK,OAAO,EAAEC,MAAM,EAAE;IACxB,qBACE,oBAAC1B;QAAI2B,YAAY;qBACf,oBAAC1B;QAAKa,OAAM;OAAQ,GAAGZ,QAAQ0B,UAAU,CAAC,CAAC,EAAEF,OAAOG,IAAI,EAAE;AAGhE;AAEA,SAASC,MAAM,EAAEC,KAAK,EAAE;IACtB,qBACE,oBAAC/B;QAAIgC,eAAc;QAASL,YAAY;OACrCI,MAAME,GAAG,CAAC,CAACC,MAAMC,QAChB,8DAA8D;sBAC9D,oBAACnC;YAAIoC,KAAKD;YAAOH,eAAc;YAASK,QAAQ;yBAC9C,oBAACpC;YAAKa,OAAOoB,KAAKI,IAAI,KAAKlC,SAASmC,MAAM,GAAG,QAAQ;WAAUL,KAAKL,IAAI;AAKlF;AAEA,eAAe,SAASW,aAAa,EAAEC,EAAE,EAAqB;IAC5D,MAAMC,QAAQ7C,WAAWE;IACzB,MAAM4C,WAAW7C,SAAS4C;IAC1B,MAAMxB,OAAOyB,SAASC,SAAS,CAACC,IAAI,CAAC,CAACC,IAAMA,EAAEL,EAAE,KAAKA;IACrD,MAAM,EAAEpB,KAAK,EAAEU,KAAK,EAAEgB,QAAQ,EAAE,GAAG7B;IAEnC,IAAI6B,UAAU;QACZ,qBACE,oBAAC/C;YAAIgC,eAAc;yBACjB,oBAACf;YAAOC,MAAMA;0BACd,oBAACY;YAAMC,OAAOA;;IAGpB;IACA,MAAMiB,OAAOjB,MAAMkB,MAAM,CAAC,CAACf,OAAS1B,KAAK0C,IAAI,CAAC,CAACC,MAAQjB,KAAKL,IAAI,CAAC,EAAE,KAAKsB;IACxE,MAAMC,SAASrB,MAAMkB,MAAM,CAAC,CAACf,OAASA,KAAKI,IAAI,KAAKlC,SAASmC,MAAM,IAAIS,KAAKK,OAAO,CAACnB,QAAQ;IAC5F,MAAMR,SAASK,MAAMkB,MAAM,CAAC,CAACf,OAASA,KAAKL,IAAI,CAACyB,MAAM,GAAG,GAAGC,GAAG;IAE/D,qBACE,oBAACvD;QAAIgC,eAAc;qBACjB,oBAACf;QAAOC,MAAMA;QACb8B,KAAKM,MAAM,GAAG,mBAAK,oBAACxB;QAAMC,OAAOiB;QACjC3B,UAAU,aAAaK,UAAUsB,KAAKK,OAAO,CAAC3B,UAAU,mBAAK,oBAACD;QAAOC,QAAQA;QAC7E0B,OAAOE,MAAM,GAAG,mBAAK,oBAACxB;QAAMC,OAAOqB;;AAG1C"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>{icon}</Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["React","useContext","useStore","StoreContext","Box","Text","figures","Spinner","LineType","spinner","interval","frames","RUNS","cross","tick","concat","ICONS","error","color","success","running","Header","item","group","title","state","icon","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","stderr","ChildProcess","id","store","appState","processes","find","x","expanded","runs","filter","some","run","errors","indexOf","length","pop"],"mappings":"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"}
@@ -13,5 +13,5 @@ export default function Spinner({ interval, frames }) {
13
13
  interval,
14
14
  frames
15
15
  ]);
16
- return /*#__PURE__*/ React.createElement(Text, null, frames[index]);
16
+ return /*#__PURE__*/ React.createElement(Text, null, `${frames[index]} `);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Text } from '../ink.mjs';\n\nexport type SpinnerProps = {\n interval: number;\n frames: string[];\n};\n\nexport default function Spinner({ interval, frames }: SpinnerProps) {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIndex((index) => (index === frames.length - 1 ? 0 : index + 1));\n }, interval);\n return () => {\n clearInterval(timer);\n };\n }, [interval, frames]);\n\n return <Text>{frames[index]}</Text>;\n}\n"],"names":["React","useState","useEffect","Text","Spinner","interval","frames","index","setIndex","timer","setInterval","length","clearInterval"],"mappings":"AAAA,OAAOA,SAASC,QAAQ,EAAEC,SAAS,QAAQ,QAAQ;AACnD,SAASC,IAAI,QAAQ,aAAa;AAOlC,eAAe,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAgB;IAChE,MAAM,CAACC,OAAOC,SAAS,GAAGP,SAAS;IAEnCC,UAAU;QACR,MAAMO,QAAQC,YAAY;YACxBF,SAAS,CAACD,QAAWA,UAAUD,OAAOK,MAAM,GAAG,IAAI,IAAIJ,QAAQ;QACjE,GAAGF;QACH,OAAO;YACLO,cAAcH;QAChB;IACF,GAAG;QAACJ;QAAUC;KAAO;IAErB,qBAAO,oBAACH,YAAMG,MAAM,CAACC,MAAM;AAC7B"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Text } from '../ink.mjs';\n\nexport type SpinnerProps = {\n interval: number;\n frames: string[];\n};\n\nexport default function Spinner({ interval, frames }: SpinnerProps) {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIndex((index) => (index === frames.length - 1 ? 0 : index + 1));\n }, interval);\n return () => {\n clearInterval(timer);\n };\n }, [interval, frames]);\n\n return <Text>{`${frames[index]} `}</Text>;\n}\n"],"names":["React","useState","useEffect","Text","Spinner","interval","frames","index","setIndex","timer","setInterval","length","clearInterval"],"mappings":"AAAA,OAAOA,SAASC,QAAQ,EAAEC,SAAS,QAAQ,QAAQ;AACnD,SAASC,IAAI,QAAQ,aAAa;AAOlC,eAAe,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAgB;IAChE,MAAM,CAACC,OAAOC,SAAS,GAAGP,SAAS;IAEnCC,UAAU;QACR,MAAMO,QAAQC,YAAY;YACxBF,SAAS,CAACD,QAAWA,UAAUD,OAAOK,MAAM,GAAG,IAAI,IAAIJ,QAAQ;QACjE,GAAGF;QACH,OAAO;YACLO,cAAcH;QAChB;IACF,GAAG;QAACJ;QAAUC;KAAO;IAErB,qBAAO,oBAACH,YAAM,GAAGG,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC;AACnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-term",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "Formats spawn with for terminal grouping",
5
5
  "keywords": [
6
6
  "spawn",