spawn-term 0.1.18 → 0.1.19

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.
@@ -77,10 +77,6 @@ var spinner = {
77
77
  '⠏'
78
78
  ]
79
79
  };
80
- var _RUNS = [
81
- _figures.default.cross,
82
- _figures.default.tick
83
- ].concat(spinner.frames);
84
80
  var ICONS = {
85
81
  error: /*#__PURE__*/ _react.default.createElement(_ink.Text, {
86
82
  color: "red"
@@ -139,10 +135,8 @@ function ChildProcess(param) {
139
135
  lines: lines
140
136
  }));
141
137
  }
142
- // const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));
143
- var runs = [];
144
138
  var errors = lines.filter(function(line) {
145
- return line.type === _types.LineType.stderr && runs.indexOf(line) < 0;
139
+ return line.type === _types.LineType.stderr;
146
140
  });
147
141
  var output = lines.filter(function(line) {
148
142
  return line.text.length > 0;
@@ -151,9 +145,7 @@ function ChildProcess(param) {
151
145
  flexDirection: "column"
152
146
  }, /*#__PURE__*/ _react.default.createElement(Header, {
153
147
  item: item
154
- }), runs.length > 0 && /*#__PURE__*/ _react.default.createElement(Lines, {
155
- lines: runs
156
- }), state === 'running' && output && runs.indexOf(output) < 0 && /*#__PURE__*/ _react.default.createElement(Output, {
148
+ }), state === 'running' && output && /*#__PURE__*/ _react.default.createElement(Output, {
157
149
  output: output
158
150
  }), errors.length > 0 && /*#__PURE__*/ _react.default.createElement(Lines, {
159
151
  lines: errors
@@ -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}>{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 runs = [];\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","errors","filter","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 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 errors = lines.filter((line) => line.type === LineType.stderr);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {state === 'running' && output && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","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","errors","filter","length","pop"],"mappings":";;;;+BA4DA;;;eAAwBA;;;6DA5DU;uBACT;4DACA;mBACC;8DACN;8DACA;qBAGK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzB,oHAAoH;AACpH,IAAMC,UAAU;IACdC,UAAU;IACVC,QAAQ;QAAC;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;QAAK;KAAI;AAC5D;AAEA,IAAMC,QAAQ;IACZC,qBAAO,6BAACC,SAAI;QAACC,OAAM;OAAOC,gBAAO,CAACC,KAAK;IACvCC,uBAAS,6BAACJ,SAAI;QAACC,OAAM;OAASC,gBAAO,CAACG,IAAI;IAC1CC,uBAAS,6BAACC,gBAAO,EAAKZ;AACxB;AAMA,SAASa,OAAO,KAAQ;QAAR,AAAEC,OAAF,MAAEA;IAChB,IAAQC,QAAwBD,KAAxBC,OAAOC,QAAiBF,KAAjBE,OAAOC,QAAUH,KAAVG;IACtB,IAAMC,OAAOf,KAAK,CAACc,MAAM;IAEzB,qBACE,6BAACE,QAAG,sBACF,6BAACA,QAAG;QAACC,aAAa;OAAIF,OACrBH,uBAAS,6BAACV,SAAI,QAAE,AAAC,GAAUE,OAARQ,OAAwB,OAAhBR,gBAAO,CAACc,OAAO,EAAC,qBAC5C,6BAAChB,SAAI,QAAEW;AAGb;AAEA,SAASM,OAAO,KAAU;QAAV,AAAEC,SAAF,MAAEA;IAChB,qBACE,6BAACJ,QAAG;QAACK,YAAY;qBACf,6BAACnB,SAAI;QAACC,OAAM;OAAQ,AAAC,GAAwBiB,OAAtBhB,gBAAO,CAACkB,UAAU,EAAC,KAAe,OAAZF,OAAOG,IAAI;AAG9D;AAEA,SAASC,MAAM,KAAS;QAAT,AAAEC,QAAF,MAAEA;IACf,qBACE,6BAACT,QAAG;QAACU,eAAc;QAASL,YAAY;OACrCI,MAAME,GAAG,CAAC,SAACC,MAAMC;eAChB,8DAA8D;sBAC9D,6BAACb,QAAG;YAACc,KAAKD;YAAOH,eAAc;YAASK,QAAQ;yBAC9C,6BAAC7B,SAAI;YAACC,OAAOyB,KAAKI,IAAI,KAAKC,eAAQ,CAACC,MAAM,GAAG,QAAQ;WAAUN,KAAKL,IAAI;;AAKlF;AAEe,SAAS3B,aAAa,KAAyB;QAAzB,AAAEuC,KAAF,MAAEA;IACrC,IAAMC,QAAQC,IAAAA,iBAAU,EAACC,cAAY;IACrC,IAAMC,WAAWC,IAAAA,iBAAQ,EAACJ;IAC1B,IAAMzB,OAAO4B,SAASE,SAAS,CAACC,IAAI,CAAC,SAACC;eAAMA,EAAER,EAAE,KAAKA;;IACrD,IAAQrB,QAA2BH,KAA3BG,OAAOW,QAAoBd,KAApBc,OAAOmB,WAAajC,KAAbiC;IAEtB,IAAIA,UAAU;QACZ,qBACE,6BAAC5B,QAAG;YAACU,eAAc;yBACjB,6BAAChB;YAAOC,MAAMA;0BACd,6BAACa;YAAMC,OAAOA;;IAGpB;IACA,IAAMoB,SAASpB,MAAMqB,MAAM,CAAC,SAAClB;eAASA,KAAKI,IAAI,KAAKC,eAAQ,CAACC,MAAM;;IACnE,IAAMd,SAASK,MAAMqB,MAAM,CAAC,SAAClB;eAASA,KAAKL,IAAI,CAACwB,MAAM,GAAG;OAAGC,GAAG;IAE/D,qBACE,6BAAChC,QAAG;QAACU,eAAc;qBACjB,6BAAChB;QAAOC,MAAMA;QACbG,UAAU,aAAaM,wBAAU,6BAACD;QAAOC,QAAQA;QACjDyB,OAAOE,MAAM,GAAG,mBAAK,6BAACvB;QAAMC,OAAOoB;;AAG1C"}
@@ -21,10 +21,6 @@ const spinner = {
21
21
  '⠏'
22
22
  ]
23
23
  };
24
- const _RUNS = [
25
- figures.cross,
26
- figures.tick
27
- ].concat(spinner.frames);
28
24
  const ICONS = {
29
25
  error: /*#__PURE__*/ React.createElement(Text, {
30
26
  color: "red"
@@ -75,17 +71,13 @@ export default function ChildProcess({ id }) {
75
71
  lines: lines
76
72
  }));
77
73
  }
78
- // const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));
79
- const runs = [];
80
- const errors = lines.filter((line)=>line.type === LineType.stderr && runs.indexOf(line) < 0);
74
+ const errors = lines.filter((line)=>line.type === LineType.stderr);
81
75
  const output = lines.filter((line)=>line.text.length > 0).pop();
82
76
  return /*#__PURE__*/ React.createElement(Box, {
83
77
  flexDirection: "column"
84
78
  }, /*#__PURE__*/ React.createElement(Header, {
85
79
  item: item
86
- }), runs.length > 0 && /*#__PURE__*/ React.createElement(Lines, {
87
- lines: runs
88
- }), state === 'running' && output && runs.indexOf(output) < 0 && /*#__PURE__*/ React.createElement(Output, {
80
+ }), state === 'running' && output && /*#__PURE__*/ React.createElement(Output, {
89
81
  output: output
90
82
  }), errors.length > 0 && /*#__PURE__*/ React.createElement(Lines, {
91
83
  lines: errors
@@ -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}>{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 runs = [];\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","errors","filter","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 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 errors = lines.filter((line) => line.type === LineType.stderr);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {state === 'running' && output && <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","ICONS","error","color","cross","success","tick","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","errors","filter","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,QAAQ;IACZC,qBAAO,oBAACR;QAAKS,OAAM;OAAOR,QAAQS,KAAK;IACvCC,uBAAS,oBAACX;QAAKS,OAAM;OAASR,QAAQW,IAAI;IAC1CC,uBAAS,oBAACX,SAAYE;AACxB;AAMA,SAASU,OAAO,EAAEC,IAAI,EAAE;IACtB,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGH;IAChC,MAAMI,OAAOZ,KAAK,CAACW,MAAM;IAEzB,qBACE,oBAACnB,yBACC,oBAACA;QAAIqB,aAAa;OAAID,OACrBH,uBAAS,oBAAChB,YAAM,GAAGgB,QAAQf,QAAQoB,OAAO,CAAC,CAAC,CAAC,iBAC9C,oBAACrB,YAAMiB;AAGb;AAEA,SAASK,OAAO,EAAEC,MAAM,EAAE;IACxB,qBACE,oBAACxB;QAAIyB,YAAY;qBACf,oBAACxB;QAAKS,OAAM;OAAQ,GAAGR,QAAQwB,UAAU,CAAC,CAAC,EAAEF,OAAOG,IAAI,EAAE;AAGhE;AAEA,SAASC,MAAM,EAAEC,KAAK,EAAE;IACtB,qBACE,oBAAC7B;QAAI8B,eAAc;QAASL,YAAY;OACrCI,MAAME,GAAG,CAAC,CAACC,MAAMC,QAChB,8DAA8D;sBAC9D,oBAACjC;YAAIkC,KAAKD;YAAOH,eAAc;YAASK,QAAQ;yBAC9C,oBAAClC;YAAKS,OAAOsB,KAAKI,IAAI,KAAKhC,SAASiC,MAAM,GAAG,QAAQ;WAAUL,KAAKL,IAAI;AAKlF;AAEA,eAAe,SAASW,aAAa,EAAEC,EAAE,EAAqB;IAC5D,MAAMC,QAAQ3C,WAAWE;IACzB,MAAM0C,WAAW3C,SAAS0C;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,oBAAC7C;YAAI8B,eAAc;yBACjB,oBAACf;YAAOC,MAAMA;0BACd,oBAACY;YAAMC,OAAOA;;IAGpB;IACA,MAAMiB,SAASjB,MAAMkB,MAAM,CAAC,CAACf,OAASA,KAAKI,IAAI,KAAKhC,SAASiC,MAAM;IACnE,MAAMb,SAASK,MAAMkB,MAAM,CAAC,CAACf,OAASA,KAAKL,IAAI,CAACqB,MAAM,GAAG,GAAGC,GAAG;IAE/D,qBACE,oBAACjD;QAAI8B,eAAc;qBACjB,oBAACf;QAAOC,MAAMA;QACbG,UAAU,aAAaK,wBAAU,oBAACD;QAAOC,QAAQA;QACjDsB,OAAOE,MAAM,GAAG,mBAAK,oBAACpB;QAAMC,OAAOiB;;AAG1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-term",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "Formats spawn with for terminal grouping",
5
5
  "keywords": [
6
6
  "spawn",