spawn-term 0.1.6 → 0.1.8

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.
@@ -94,21 +94,23 @@ var POINTERS = {
94
94
  color: "yellow"
95
95
  }, _figures.default.pointer)
96
96
  };
97
- function Content(param) {
98
- var item = param.item;
99
- var title = item.title, state = item.state, lines = item.lines, expanded = item.expanded;
100
- var icon = ICONS[state];
101
- var output = state === 'running' && lines.length ? lines[lines.length - 1] : undefined;
102
- var errors = state !== 'running' ? lines.filter(function(line) {
103
- return line.type === _types.LineType.stderr;
104
- }) : [];
105
- return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, {
97
+ function Header(param) {
98
+ var icon = param.icon, title = param.title;
99
+ return /*#__PURE__*/ _react.default.createElement(_ink.Box, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, {
106
100
  marginRight: 1
107
- }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, icon)), /*#__PURE__*/ _react.default.createElement(_ink.Text, null, title)), output ? /*#__PURE__*/ _react.default.createElement(_ink.Box, {
101
+ }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, icon)), /*#__PURE__*/ _react.default.createElement(_ink.Text, null, title));
102
+ }
103
+ function Output(param) {
104
+ var output = param.output;
105
+ return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
108
106
  marginLeft: 2
109
107
  }, /*#__PURE__*/ _react.default.createElement(_ink.Text, {
110
108
  color: "gray"
111
- }, "".concat(_figures.default.arrowRight, " ").concat(output.text))) : undefined, expanded && /*#__PURE__*/ _react.default.createElement(_ink.Box, {
109
+ }, "".concat(_figures.default.arrowRight, " ").concat(output.text)));
110
+ }
111
+ function Lines(param) {
112
+ var lines = param.lines;
113
+ return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
112
114
  flexDirection: "column",
113
115
  marginLeft: 2
114
116
  }, lines.map(function(line, index) {
@@ -120,19 +122,62 @@ function Content(param) {
120
122
  }, /*#__PURE__*/ _react.default.createElement(_ink.Text, {
121
123
  color: line.type === _types.LineType.stderr ? 'red' : 'black'
122
124
  }, line.text)));
123
- })), !expanded && errors.length > 0 && /*#__PURE__*/ _react.default.createElement(_ink.Box, {
124
- flexDirection: "column",
125
- marginLeft: 2
126
- }, errors.map(function(line, index) {
127
- return(// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
128
- /*#__PURE__*/ _react.default.createElement(_ink.Box, {
129
- key: index,
130
- flexDirection: "column",
131
- height: 1
132
- }, /*#__PURE__*/ _react.default.createElement(_ink.Text, {
133
- color: line.type === _types.LineType.stderr ? 'red' : 'black'
134
- }, line.text)));
135
- })));
125
+ }));
126
+ }
127
+ function Content(param) {
128
+ var item = param.item;
129
+ var title = item.title, state = item.state, lines = item.lines, expanded = item.expanded;
130
+ var icon = ICONS[state];
131
+ var output = lines.length ? lines[lines.length - 1] : undefined;
132
+ var errors = lines.filter(function(line) {
133
+ return line.type === _types.LineType.stderr;
134
+ });
135
+ if (expanded) {
136
+ /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Header, {
137
+ icon: icon,
138
+ title: title
139
+ }), /*#__PURE__*/ _react.default.createElement(Lines, {
140
+ lines: lines
141
+ }));
142
+ } else {
143
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Header, {
144
+ icon: icon,
145
+ title: title
146
+ }), state === 'running' && output && /*#__PURE__*/ _react.default.createElement(Output, {
147
+ output: output
148
+ }), errors.length > 0 && /*#__PURE__*/ _react.default.createElement(Lines, {
149
+ lines: errors
150
+ }));
151
+ }
152
+ }
153
+ function Group(param) {
154
+ var item = param.item;
155
+ var title = item.title, state = item.state, lines = item.lines, group = item.group, expanded = item.expanded;
156
+ var icon = ICONS[state];
157
+ var pointer = POINTERS[state] || POINTERS.default;
158
+ var errors = lines.filter(function(line) {
159
+ return line.type === _types.LineType.stderr;
160
+ });
161
+ if (state === 'running') {
162
+ return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
163
+ flexDirection: "column"
164
+ }, /*#__PURE__*/ _react.default.createElement(Header, {
165
+ icon: pointer,
166
+ title: group
167
+ }), /*#__PURE__*/ _react.default.createElement(Content, {
168
+ item: item
169
+ }));
170
+ }
171
+ return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
172
+ flexDirection: "column"
173
+ }, /*#__PURE__*/ _react.default.createElement(Header, {
174
+ icon: icon,
175
+ title: "".concat(group, ": ").concat(title)
176
+ }), expanded && /*#__PURE__*/ _react.default.createElement(Lines, {
177
+ lines: lines
178
+ }), !expanded && errors.length > 0 && /*#__PURE__*/ _react.default.createElement(Lines, {
179
+ lines: errors
180
+ }));
136
181
  }
137
182
  function ChildProcess(param) {
138
183
  var id = param.id;
@@ -141,17 +186,13 @@ function ChildProcess(param) {
141
186
  var item = appState.processes.find(function(x) {
142
187
  return x.id === id;
143
188
  });
144
- var state = item.state, group = item.group;
145
- var pointer = POINTERS[state] || POINTERS.default;
189
+ var group = item.group;
190
+ if (group) return /*#__PURE__*/ _react.default.createElement(Group, {
191
+ item: item
192
+ });
146
193
  return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
147
194
  flexDirection: "column"
148
- }, group && /*#__PURE__*/ _react.default.createElement(_ink.Box, {
149
- flexDirection: "column"
150
- }, /*#__PURE__*/ _react.default.createElement(_ink.Box, null, /*#__PURE__*/ _react.default.createElement(_ink.Box, {
151
- marginRight: 1
152
- }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, pointer)), /*#__PURE__*/ _react.default.createElement(_ink.Text, null, group)), /*#__PURE__*/ _react.default.createElement(Content, {
153
- item: item
154
- })), !group && /*#__PURE__*/ _react.default.createElement(Content, {
195
+ }, /*#__PURE__*/ _react.default.createElement(Content, {
155
196
  item: item
156
197
  }));
157
198
  }
@@ -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 ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\nconst POINTERS = {\n error: <Text color=\"red\">{figures.pointer}</Text>,\n default: <Text color=\"yellow\">{figures.pointer}</Text>,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Content({ item }) {\n const { title, state, lines, expanded } = item;\n const icon = ICONS[state];\n const output = state === 'running' && lines.length ? lines[lines.length - 1] : undefined;\n const errors = state !== 'running' ? lines.filter((line) => line.type === LineType.stderr) : [];\n\n return (\n <React.Fragment>\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\n <Text>{title}</Text>\n </Box>\n {output ? (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n ) : undefined}\n {expanded && (\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 {!expanded && errors.length > 0 && (\n <Box flexDirection=\"column\" marginLeft={2}>\n {errors.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 </React.Fragment>\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, group } = item;\n const pointer = POINTERS[state] || POINTERS.default;\n\n return (\n <Box flexDirection=\"column\">\n {group && (\n <Box flexDirection=\"column\">\n <Box>\n <Box marginRight={1}>\n <Text>{pointer}</Text>\n </Box>\n <Text>{group}</Text>\n </Box>\n <Content item={item} />\n </Box>\n )}\n {!group && <Content item={item} />}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","POINTERS","pointer","default","Content","item","title","state","lines","expanded","icon","output","length","undefined","errors","filter","line","type","LineType","stderr","React","Fragment","Box","marginRight","marginLeft","arrowRight","text","flexDirection","map","index","key","height","id","store","useContext","StoreContext","appState","useStore","processes","find","x","group"],"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\nconst POINTERS = {\n error: <Text color=\"red\">{figures.pointer}</Text>,\n default: <Text color=\"yellow\">{figures.pointer}</Text>,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ icon, title }) {\n return (\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\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\nfunction Content({ item }) {\n const { title, state, lines, expanded } = item;\n const icon = ICONS[state];\n const output = lines.length ? lines[lines.length - 1] : undefined;\n const errors = lines.filter((line) => line.type === LineType.stderr);\n\n if (expanded) {\n <React.Fragment>\n <Header icon={icon} title={title} />\n <Lines lines={lines} />\n </React.Fragment>;\n } else {\n return (\n <React.Fragment>\n <Header icon={icon} title={title} />\n {state === 'running' && output && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </React.Fragment>\n );\n }\n}\nfunction Group({ item }) {\n const { title, state, lines, group, expanded } = item;\n const icon = ICONS[state];\n const pointer = POINTERS[state] || POINTERS.default;\n const errors = lines.filter((line) => line.type === LineType.stderr);\n\n if (state === 'running') {\n return (\n <Box flexDirection=\"column\">\n <Header icon={pointer} title={group} />\n <Content item={item} />\n </Box>\n );\n }\n\n return (\n <Box flexDirection=\"column\">\n <Header icon={icon} title={`${group}: ${title}`} />\n {expanded && <Lines lines={lines} />}\n {!expanded && errors.length > 0 && <Lines lines={errors} />}\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 { group } = item;\n\n if (group) return <Group item={item} />;\n\n return (\n <Box flexDirection=\"column\">\n <Content item={item} />\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","POINTERS","pointer","default","Header","icon","title","Box","marginRight","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","LineType","stderr","Content","item","state","expanded","length","undefined","errors","filter","React","Fragment","Group","group","id","store","useContext","StoreContext","appState","useStore","processes","find","x"],"mappings":"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"}
@@ -14,10 +14,14 @@ _export(exports, {
14
14
  },
15
15
  figures: function() {
16
16
  return _figures.default;
17
+ },
18
+ formatArguments: function() {
19
+ return _formatArguments.default;
17
20
  }
18
21
  });
19
22
  _export_star(require("./types.cjs"), exports);
20
23
  var _figures = /*#__PURE__*/ _interop_require_default(require("./lib/figures.cjs"));
24
+ var _formatArguments = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.cjs"));
21
25
  function _export_star(from, to) {
22
26
  Object.keys(from).forEach(function(k) {
23
27
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.cjs.ts"],"sourcesContent":["import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n const worker = require('./worker.cjs');\n\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["figures","spawnTerminal","command","args","spawnOptions","options","callback","worker","require","Promise","resolve","reject","err","result","major","process","versions","node","split","undefined"],"mappings":";;;;;;;;;;;IAmBA,OAAsD;eAAtD;;IADoBA,OAAO;eAAPA,gBAAO;;;qBADb;8DACqB;;;;;;;;;;;;;;;;;;;AAhBnC,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAMC,SAASC,QAAQ;IAEvB,IAAI,OAAOH,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,OAAOL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIG,QAAQ,SAACC,SAASC;eAAWJ,OAAOL,SAASC,MAAMC,cAAcC,SAAS,SAACO,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACrI;AAEA,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAIlD,WAAeJ,QAAQ,KAAKb,gBAAgBkB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.cjs.ts"],"sourcesContent":["import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n const worker = require('./worker.cjs');\n\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport { default as formatArguments } from './lib/formatArguments';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["figures","formatArguments","spawnTerminal","command","args","spawnOptions","options","callback","worker","require","Promise","resolve","reject","err","result","major","process","versions","node","split","undefined"],"mappings":";;;;;;;;;;;IAoBA,OAAsD;eAAtD;;IAFoBA,OAAO;eAAPA,gBAAO;;IACPC,eAAe;eAAfA,wBAAe;;;qBAFrB;8DACqB;sEACQ;;;;;;;;;;;;;;;;;;;AAjB3C,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAMC,SAASC,QAAQ;IAEvB,IAAI,OAAOH,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,OAAOL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIG,QAAQ,SAACC,SAASC;eAAWJ,OAAOL,SAASC,MAAMC,cAAcC,SAAS,SAACO,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACrI;AAEA,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAKlD,WAAeJ,QAAQ,KAAKb,gBAAgBkB"}
@@ -14,11 +14,15 @@ _export(exports, {
14
14
  },
15
15
  figures: function() {
16
16
  return _figures.default;
17
+ },
18
+ formatArguments: function() {
19
+ return _formatArguments.default;
17
20
  }
18
21
  });
19
22
  var _worker = /*#__PURE__*/ _interop_require_default(require("./worker.cjs"));
20
23
  _export_star(require("./types.cjs"), exports);
21
24
  var _figures = /*#__PURE__*/ _interop_require_default(require("./lib/figures.cjs"));
25
+ var _formatArguments = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.cjs"));
22
26
  function _export_star(from, to) {
23
27
  Object.keys(from).forEach(function(k) {
24
28
  if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.esm.ts"],"sourcesContent":["import worker from './worker';\n\nimport type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["figures","spawnTerminal","command","args","spawnOptions","options","callback","worker","Promise","resolve","reject","err","result","major","process","versions","node","split","undefined"],"mappings":";;;;;;;;;;;IAmBA,OAAsD;eAAtD;;IADoBA,OAAO;eAAPA,gBAAO;;;6DAlBR;qBAiBL;8DACqB;;;;;;;;;;;;;;;;;;;AAdnC,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,eAAM,EAACL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,eAAM,EAACL,SAASC,MAAMC,cAAcC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACrI;AAEA,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAIlD,WAAeJ,QAAQ,KAAKZ,gBAAgBiB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.esm.ts"],"sourcesContent":["import worker from './worker';\n\nimport type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport { default as formatArguments } from './lib/formatArguments';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["figures","formatArguments","spawnTerminal","command","args","spawnOptions","options","callback","worker","Promise","resolve","reject","err","result","major","process","versions","node","split","undefined"],"mappings":";;;;;;;;;;;IAoBA,OAAsD;eAAtD;;IAFoBA,OAAO;eAAPA,gBAAO;;IACPC,eAAe;eAAfA,wBAAe;;;6DAnBhB;qBAiBL;8DACqB;sEACQ;;;;;;;;;;;;;;;;;;;AAf3C,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,eAAM,EAACL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,eAAM,EAACL,SAASC,MAAMC,cAAcC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AACrI;AAEA,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAKlD,WAAeJ,QAAQ,KAAKZ,gBAAgBiB"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ var _default = function(args) {
12
+ return args.map(function(text) {
13
+ return text.indexOf(' ') >= 0 ? '"'.concat(text, '"') : text;
14
+ });
15
+ };
16
+ /* 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; }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/formatArguments.ts"],"sourcesContent":["export default (args) => args.map((text) => (text.indexOf(' ') >= 0 ? `\"${text}\"` : text));\n"],"names":["args","map","text","indexOf"],"mappings":";;;;+BAAA;;;eAAA;;;IAAA,WAAe,SAACA;WAASA,KAAKC,GAAG,CAAC,SAACC;eAAUA,KAAKC,OAAO,CAAC,QAAQ,IAAI,AAAC,IAAQ,OAALD,MAAK,OAAKA"}
@@ -16,6 +16,7 @@ var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
16
16
  var _createApp = /*#__PURE__*/ _interop_require_default(require("./createApp.cjs"));
17
17
  var _addLines = /*#__PURE__*/ _interop_require_default(require("./lib/addLines.cjs"));
18
18
  var _concatWritable = /*#__PURE__*/ _interop_require_default(require("./lib/concatWritable.cjs"));
19
+ var _formatArguments = /*#__PURE__*/ _interop_require_default(require("./lib/formatArguments.cjs"));
19
20
  var _types = require("./types.cjs");
20
21
  function _define_property(obj, key, value) {
21
22
  if (key in obj) {
@@ -154,7 +155,7 @@ function spawnTerminal(command, args, spawnOptions, options, callback) {
154
155
  id: id,
155
156
  title: [
156
157
  command
157
- ].concat(args).join(' '),
158
+ ].concat((0, _formatArguments.default)(args)).join(' '),
158
159
  state: 'running',
159
160
  lines: []
160
161
  }, options));
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/worker.ts"],"sourcesContent":["// @ts-ignore\nimport spawn, { crossSpawn, type SpawnResult } from 'cross-spawn-cb';\nimport uuid from 'lil-uuid';\nimport oo from 'on-one';\nimport Queue from 'queue-cb';\n\nimport createApp from './createApp';\nimport addLines from './lib/addLines';\nimport concatWritable from './lib/concatWritable';\n\nimport type { SpawnOptions, TerminalOptions } from './types';\nimport { LineType } from './types';\n\nconst terminal = createApp();\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback) {\n const { encoding, stdio, ...csOptions } = spawnOptions;\n\n terminal.retain((store) => {\n const id = uuid();\n store.getState().addProcess({ id, title: [command].concat(args).join(' '), state: 'running', lines: [], ...options });\n\n const cp = crossSpawn(command, args, csOptions);\n const outputs = { stdout: null, stderr: null };\n\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() + 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() + 1);\n }\n\n const queue = new Queue();\n if (cp.stdout) {\n if (stdio === 'inherit') {\n outputs.stdout = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stdout, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stdout = concatWritable((output) => {\n outputs.stdout.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stdout.pipe(outputs.stdout), ['error', 'end', 'close', 'finish']));\n }\n if (cp.stderr) {\n if (stdio === 'inherit') {\n outputs.stderr = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stderr, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stderr = concatWritable((output) => {\n outputs.stderr.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stderr.pipe(outputs.stderr), ['error', 'end', 'close', 'finish']));\n }\n queue.defer(spawn.worker.bind(null, cp, { ...csOptions, encoding: 'utf8' }));\n queue.await((err) => {\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() - 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() - 1);\n }\n\n const res = (err ? err : {}) as SpawnResult;\n res.stdout = outputs.stdout ? outputs.stdout.output : null;\n res.stderr = outputs.stderr ? outputs.stderr.output : null;\n res.output = [res.stdout, res.stderr, null];\n const item = store.getState().processes.find((x) => x.id === id);\n store.getState().updateProcess({ ...item, state: err ? 'error' : 'success' });\n\n // let rendering complete\n setTimeout(() => {\n terminal.release();\n err ? callback(err) : callback(null, res);\n });\n });\n });\n}\n"],"names":["spawnTerminal","terminal","createApp","command","args","spawnOptions","options","callback","encoding","stdio","csOptions","retain","store","id","uuid","getState","addProcess","title","concat","join","state","lines","cp","crossSpawn","outputs","stdout","stderr","process","getMaxListeners","setMaxListeners","queue","Queue","addLines","texts","item","processes","find","x","map","text","type","LineType","updateProcess","concatWritable","output","toString","defer","oo","bind","pipe","spawn","worker","await","err","res","setTimeout","release"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/worker.ts"],"sourcesContent":["// @ts-ignore\nimport spawn, { crossSpawn, type SpawnResult } from 'cross-spawn-cb';\nimport uuid from 'lil-uuid';\nimport oo from 'on-one';\nimport Queue from 'queue-cb';\n\nimport createApp from './createApp';\nimport addLines from './lib/addLines';\nimport concatWritable from './lib/concatWritable';\nimport formatArguments from './lib/formatArguments';\n\nimport type { SpawnOptions, TerminalOptions } from './types';\nimport { LineType } from './types';\n\nconst terminal = createApp();\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback) {\n const { encoding, stdio, ...csOptions } = spawnOptions;\n\n terminal.retain((store) => {\n const id = uuid();\n store.getState().addProcess({ id, title: [command].concat(formatArguments(args)).join(' '), state: 'running', lines: [], ...options });\n\n const cp = crossSpawn(command, args, csOptions);\n const outputs = { stdout: null, stderr: null };\n\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() + 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() + 1);\n }\n\n const queue = new Queue();\n if (cp.stdout) {\n if (stdio === 'inherit') {\n outputs.stdout = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stdout, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stdout = concatWritable((output) => {\n outputs.stdout.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stdout.pipe(outputs.stdout), ['error', 'end', 'close', 'finish']));\n }\n if (cp.stderr) {\n if (stdio === 'inherit') {\n outputs.stderr = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stderr, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stderr = concatWritable((output) => {\n outputs.stderr.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stderr.pipe(outputs.stderr), ['error', 'end', 'close', 'finish']));\n }\n queue.defer(spawn.worker.bind(null, cp, { ...csOptions, encoding: 'utf8' }));\n queue.await((err) => {\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() - 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() - 1);\n }\n\n const res = (err ? err : {}) as SpawnResult;\n res.stdout = outputs.stdout ? outputs.stdout.output : null;\n res.stderr = outputs.stderr ? outputs.stderr.output : null;\n res.output = [res.stdout, res.stderr, null];\n const item = store.getState().processes.find((x) => x.id === id);\n store.getState().updateProcess({ ...item, state: err ? 'error' : 'success' });\n\n // let rendering complete\n setTimeout(() => {\n terminal.release();\n err ? callback(err) : callback(null, res);\n });\n });\n });\n}\n"],"names":["spawnTerminal","terminal","createApp","command","args","spawnOptions","options","callback","encoding","stdio","csOptions","retain","store","id","uuid","getState","addProcess","title","concat","formatArguments","join","state","lines","cp","crossSpawn","outputs","stdout","stderr","process","getMaxListeners","setMaxListeners","queue","Queue","addLines","texts","item","processes","find","x","map","text","type","LineType","updateProcess","concatWritable","output","toString","defer","oo","bind","pipe","spawn","worker","await","err","res","setTimeout","release"],"mappings":"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"}
@@ -38,18 +38,20 @@ const POINTERS = {
38
38
  color: "yellow"
39
39
  }, figures.pointer)
40
40
  };
41
- function Content({ item }) {
42
- const { title, state, lines, expanded } = item;
43
- const icon = ICONS[state];
44
- const output = state === 'running' && lines.length ? lines[lines.length - 1] : undefined;
45
- const errors = state !== 'running' ? lines.filter((line)=>line.type === LineType.stderr) : [];
46
- return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Box, null, /*#__PURE__*/ React.createElement(Box, {
41
+ function Header({ icon, title }) {
42
+ return /*#__PURE__*/ React.createElement(Box, null, /*#__PURE__*/ React.createElement(Box, {
47
43
  marginRight: 1
48
- }, /*#__PURE__*/ React.createElement(Text, null, icon)), /*#__PURE__*/ React.createElement(Text, null, title)), output ? /*#__PURE__*/ React.createElement(Box, {
44
+ }, /*#__PURE__*/ React.createElement(Text, null, icon)), /*#__PURE__*/ React.createElement(Text, null, title));
45
+ }
46
+ function Output({ output }) {
47
+ return /*#__PURE__*/ React.createElement(Box, {
49
48
  marginLeft: 2
50
49
  }, /*#__PURE__*/ React.createElement(Text, {
51
50
  color: "gray"
52
- }, `${figures.arrowRight} ${output.text}`)) : undefined, expanded && /*#__PURE__*/ React.createElement(Box, {
51
+ }, `${figures.arrowRight} ${output.text}`));
52
+ }
53
+ function Lines({ lines }) {
54
+ return /*#__PURE__*/ React.createElement(Box, {
53
55
  flexDirection: "column",
54
56
  marginLeft: 2
55
57
  }, lines.map((line, index)=>// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
@@ -59,33 +61,68 @@ function Content({ item }) {
59
61
  height: 1
60
62
  }, /*#__PURE__*/ React.createElement(Text, {
61
63
  color: line.type === LineType.stderr ? 'red' : 'black'
62
- }, line.text)))), !expanded && errors.length > 0 && /*#__PURE__*/ React.createElement(Box, {
63
- flexDirection: "column",
64
- marginLeft: 2
65
- }, errors.map((line, index)=>// biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
66
- /*#__PURE__*/ React.createElement(Box, {
67
- key: index,
68
- flexDirection: "column",
69
- height: 1
70
- }, /*#__PURE__*/ React.createElement(Text, {
71
- color: line.type === LineType.stderr ? 'red' : 'black'
72
- }, line.text)))));
64
+ }, line.text))));
65
+ }
66
+ function Content({ item }) {
67
+ const { title, state, lines, expanded } = item;
68
+ const icon = ICONS[state];
69
+ const output = lines.length ? lines[lines.length - 1] : undefined;
70
+ const errors = lines.filter((line)=>line.type === LineType.stderr);
71
+ if (expanded) {
72
+ /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Header, {
73
+ icon: icon,
74
+ title: title
75
+ }), /*#__PURE__*/ React.createElement(Lines, {
76
+ lines: lines
77
+ }));
78
+ } else {
79
+ return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Header, {
80
+ icon: icon,
81
+ title: title
82
+ }), state === 'running' && output && /*#__PURE__*/ React.createElement(Output, {
83
+ output: output
84
+ }), errors.length > 0 && /*#__PURE__*/ React.createElement(Lines, {
85
+ lines: errors
86
+ }));
87
+ }
88
+ }
89
+ function Group({ item }) {
90
+ const { title, state, lines, group, expanded } = item;
91
+ const icon = ICONS[state];
92
+ const pointer = POINTERS[state] || POINTERS.default;
93
+ const errors = lines.filter((line)=>line.type === LineType.stderr);
94
+ if (state === 'running') {
95
+ return /*#__PURE__*/ React.createElement(Box, {
96
+ flexDirection: "column"
97
+ }, /*#__PURE__*/ React.createElement(Header, {
98
+ icon: pointer,
99
+ title: group
100
+ }), /*#__PURE__*/ React.createElement(Content, {
101
+ item: item
102
+ }));
103
+ }
104
+ return /*#__PURE__*/ React.createElement(Box, {
105
+ flexDirection: "column"
106
+ }, /*#__PURE__*/ React.createElement(Header, {
107
+ icon: icon,
108
+ title: `${group}: ${title}`
109
+ }), expanded && /*#__PURE__*/ React.createElement(Lines, {
110
+ lines: lines
111
+ }), !expanded && errors.length > 0 && /*#__PURE__*/ React.createElement(Lines, {
112
+ lines: errors
113
+ }));
73
114
  }
74
115
  export default function ChildProcess({ id }) {
75
116
  const store = useContext(StoreContext);
76
117
  const appState = useStore(store);
77
118
  const item = appState.processes.find((x)=>x.id === id);
78
- const { state, group } = item;
79
- const pointer = POINTERS[state] || POINTERS.default;
119
+ const { group } = item;
120
+ if (group) return /*#__PURE__*/ React.createElement(Group, {
121
+ item: item
122
+ });
80
123
  return /*#__PURE__*/ React.createElement(Box, {
81
124
  flexDirection: "column"
82
- }, group && /*#__PURE__*/ React.createElement(Box, {
83
- flexDirection: "column"
84
- }, /*#__PURE__*/ React.createElement(Box, null, /*#__PURE__*/ React.createElement(Box, {
85
- marginRight: 1
86
- }, /*#__PURE__*/ React.createElement(Text, null, pointer)), /*#__PURE__*/ React.createElement(Text, null, group)), /*#__PURE__*/ React.createElement(Content, {
87
- item: item
88
- })), !group && /*#__PURE__*/ React.createElement(Content, {
125
+ }, /*#__PURE__*/ React.createElement(Content, {
89
126
  item: item
90
127
  }));
91
128
  }
@@ -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 ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\nconst POINTERS = {\n error: <Text color=\"red\">{figures.pointer}</Text>,\n default: <Text color=\"yellow\">{figures.pointer}</Text>,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Content({ item }) {\n const { title, state, lines, expanded } = item;\n const icon = ICONS[state];\n const output = state === 'running' && lines.length ? lines[lines.length - 1] : undefined;\n const errors = state !== 'running' ? lines.filter((line) => line.type === LineType.stderr) : [];\n\n return (\n <React.Fragment>\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\n <Text>{title}</Text>\n </Box>\n {output ? (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n ) : undefined}\n {expanded && (\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 {!expanded && errors.length > 0 && (\n <Box flexDirection=\"column\" marginLeft={2}>\n {errors.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 </React.Fragment>\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, group } = item;\n const pointer = POINTERS[state] || POINTERS.default;\n\n return (\n <Box flexDirection=\"column\">\n {group && (\n <Box flexDirection=\"column\">\n <Box>\n <Box marginRight={1}>\n <Text>{pointer}</Text>\n </Box>\n <Text>{group}</Text>\n </Box>\n <Content item={item} />\n </Box>\n )}\n {!group && <Content item={item} />}\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","POINTERS","pointer","default","Content","item","title","state","lines","expanded","icon","output","length","undefined","errors","filter","line","type","stderr","Fragment","marginRight","marginLeft","arrowRight","text","flexDirection","map","index","key","height","ChildProcess","id","store","appState","processes","find","x","group"],"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\nconst POINTERS = {\n error: <Text color=\"red\">{figures.pointer}</Text>,\n default: <Text color=\"yellow\">{figures.pointer}</Text>,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ icon, title }) {\n return (\n <Box>\n <Box marginRight={1}>\n <Text>{icon}</Text>\n </Box>\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\nfunction Content({ item }) {\n const { title, state, lines, expanded } = item;\n const icon = ICONS[state];\n const output = lines.length ? lines[lines.length - 1] : undefined;\n const errors = lines.filter((line) => line.type === LineType.stderr);\n\n if (expanded) {\n <React.Fragment>\n <Header icon={icon} title={title} />\n <Lines lines={lines} />\n </React.Fragment>;\n } else {\n return (\n <React.Fragment>\n <Header icon={icon} title={title} />\n {state === 'running' && output && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </React.Fragment>\n );\n }\n}\nfunction Group({ item }) {\n const { title, state, lines, group, expanded } = item;\n const icon = ICONS[state];\n const pointer = POINTERS[state] || POINTERS.default;\n const errors = lines.filter((line) => line.type === LineType.stderr);\n\n if (state === 'running') {\n return (\n <Box flexDirection=\"column\">\n <Header icon={pointer} title={group} />\n <Content item={item} />\n </Box>\n );\n }\n\n return (\n <Box flexDirection=\"column\">\n <Header icon={icon} title={`${group}: ${title}`} />\n {expanded && <Lines lines={lines} />}\n {!expanded && errors.length > 0 && <Lines lines={errors} />}\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 { group } = item;\n\n if (group) return <Group item={item} />;\n\n return (\n <Box flexDirection=\"column\">\n <Content item={item} />\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","POINTERS","pointer","default","Header","icon","title","marginRight","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","stderr","Content","item","state","expanded","length","undefined","errors","filter","Fragment","Group","group","ChildProcess","id","store","appState","processes","find","x"],"mappings":"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"}
@@ -11,4 +11,5 @@ function spawnTerminal(command, args, spawnOptions, options, callback) {
11
11
  const major = +process.versions.node.split('.')[0];
12
12
  export * from './types.mjs';
13
13
  export { default as figures } from './lib/figures.mjs';
14
+ export { default as formatArguments } from './lib/formatArguments.mjs';
14
15
  export default major > 10 ? spawnTerminal : undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.cjs.ts"],"sourcesContent":["import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n const worker = require('./worker.cjs');\n\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["spawnTerminal","command","args","spawnOptions","options","callback","worker","require","Promise","resolve","reject","err","result","major","process","versions","node","split","default","figures","undefined"],"mappings":"AAEA,SAASA,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,MAAMC,SAASC,QAAQ;IAEvB,IAAI,OAAOH,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,OAAOL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIG,QAAQ,CAACC,SAASC,SAAWJ,OAAOL,SAASC,MAAMC,cAAcC,SAAS,CAACO,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AACrI;AAEA,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAElD,cAAc,UAAU;AACxB,SAASC,WAAWC,OAAO,QAAQ,gBAAgB;AACnD,eAAeN,QAAQ,KAAKb,gBAAgBoB,UAAU"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.cjs.ts"],"sourcesContent":["import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n const worker = require('./worker.cjs');\n\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport { default as formatArguments } from './lib/formatArguments';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["spawnTerminal","command","args","spawnOptions","options","callback","worker","require","Promise","resolve","reject","err","result","major","process","versions","node","split","default","figures","formatArguments","undefined"],"mappings":"AAEA,SAASA,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,MAAMC,SAASC,QAAQ;IAEvB,IAAI,OAAOH,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,OAAOL,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIG,QAAQ,CAACC,SAASC,SAAWJ,OAAOL,SAASC,MAAMC,cAAcC,SAAS,CAACO,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AACrI;AAEA,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAElD,cAAc,UAAU;AACxB,SAASC,WAAWC,OAAO,QAAQ,gBAAgB;AACnD,SAASD,WAAWE,eAAe,QAAQ,wBAAwB;AACnE,eAAeP,QAAQ,KAAKb,gBAAgBqB,UAAU"}
@@ -11,4 +11,5 @@ function spawnTerminal(command, args, spawnOptions, options, callback) {
11
11
  const major = +process.versions.node.split('.')[0];
12
12
  export * from './types.mjs';
13
13
  export { default as figures } from './lib/figures.mjs';
14
+ export { default as formatArguments } from './lib/formatArguments.mjs';
14
15
  export default major > 10 ? spawnTerminal : undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.esm.ts"],"sourcesContent":["import worker from './worker';\n\nimport type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["worker","spawnTerminal","command","args","spawnOptions","options","callback","Promise","resolve","reject","err","result","major","process","versions","node","split","default","figures","undefined"],"mappings":"AAAA,OAAOA,YAAY,WAAW;AAI9B,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAON,OAAOE,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWT,OAAOE,SAASC,MAAMC,cAAcC,SAAS,CAACK,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AACrI;AAEA,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAElD,cAAc,UAAU;AACxB,SAASC,WAAWC,OAAO,QAAQ,gBAAgB;AACnD,eAAeN,QAAQ,KAAKX,gBAAgBkB,UAAU"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.esm.ts"],"sourcesContent":["import worker from './worker';\n\nimport type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';\n\nfunction spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback) {\n if (typeof options === 'function') {\n callback = options as SpawnCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);\n return new Promise((resolve, reject) => worker(command, args, spawnOptions, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nconst major = +process.versions.node.split('.')[0];\n\nexport * from './types';\nexport { default as figures } from './lib/figures';\nexport { default as formatArguments } from './lib/formatArguments';\nexport default major > 10 ? spawnTerminal : undefined;\n"],"names":["worker","spawnTerminal","command","args","spawnOptions","options","callback","Promise","resolve","reject","err","result","major","process","versions","node","split","default","figures","formatArguments","undefined"],"mappings":"AAAA,OAAOA,YAAY,WAAW;AAI9B,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACrJ,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAON,OAAOE,SAASC,MAAMC,cAAcC,SAASC;IACxF,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWT,OAAOE,SAASC,MAAMC,cAAcC,SAAS,CAACK,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AACrI;AAEA,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAElD,cAAc,UAAU;AACxB,SAASC,WAAWC,OAAO,QAAQ,gBAAgB;AACnD,SAASD,WAAWE,eAAe,QAAQ,wBAAwB;AACnE,eAAeP,QAAQ,KAAKX,gBAAgBmB,UAAU"}
@@ -0,0 +1 @@
1
+ export default ((args)=>args.map((text)=>text.indexOf(' ') >= 0 ? `"${text}"` : text));
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/formatArguments.ts"],"sourcesContent":["export default (args) => args.map((text) => (text.indexOf(' ') >= 0 ? `\"${text}\"` : text));\n"],"names":["args","map","text","indexOf"],"mappings":"AAAA,eAAe,CAAA,CAACA,OAASA,KAAKC,GAAG,CAAC,CAACC,OAAUA,KAAKC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAED,KAAK,CAAC,CAAC,GAAGA,KAAK,EAAE"}
@@ -85,6 +85,7 @@ import Queue from 'queue-cb';
85
85
  import createApp from './createApp.mjs';
86
86
  import addLines from './lib/addLines.mjs';
87
87
  import concatWritable from './lib/concatWritable.mjs';
88
+ import formatArguments from './lib/formatArguments.mjs';
88
89
  import { LineType } from './types.mjs';
89
90
  const terminal = createApp();
90
91
  export default function spawnTerminal(command, args, spawnOptions, options, callback) {
@@ -98,7 +99,7 @@ export default function spawnTerminal(command, args, spawnOptions, options, call
98
99
  id,
99
100
  title: [
100
101
  command
101
- ].concat(args).join(' '),
102
+ ].concat(formatArguments(args)).join(' '),
102
103
  state: 'running',
103
104
  lines: []
104
105
  }, options));
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/worker.ts"],"sourcesContent":["// @ts-ignore\nimport spawn, { crossSpawn, type SpawnResult } from 'cross-spawn-cb';\nimport uuid from 'lil-uuid';\nimport oo from 'on-one';\nimport Queue from 'queue-cb';\n\nimport createApp from './createApp';\nimport addLines from './lib/addLines';\nimport concatWritable from './lib/concatWritable';\n\nimport type { SpawnOptions, TerminalOptions } from './types';\nimport { LineType } from './types';\n\nconst terminal = createApp();\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback) {\n const { encoding, stdio, ...csOptions } = spawnOptions;\n\n terminal.retain((store) => {\n const id = uuid();\n store.getState().addProcess({ id, title: [command].concat(args).join(' '), state: 'running', lines: [], ...options });\n\n const cp = crossSpawn(command, args, csOptions);\n const outputs = { stdout: null, stderr: null };\n\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() + 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() + 1);\n }\n\n const queue = new Queue();\n if (cp.stdout) {\n if (stdio === 'inherit') {\n outputs.stdout = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stdout, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stdout = concatWritable((output) => {\n outputs.stdout.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stdout.pipe(outputs.stdout), ['error', 'end', 'close', 'finish']));\n }\n if (cp.stderr) {\n if (stdio === 'inherit') {\n outputs.stderr = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stderr, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stderr = concatWritable((output) => {\n outputs.stderr.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stderr.pipe(outputs.stderr), ['error', 'end', 'close', 'finish']));\n }\n queue.defer(spawn.worker.bind(null, cp, { ...csOptions, encoding: 'utf8' }));\n queue.await((err) => {\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() - 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() - 1);\n }\n\n const res = (err ? err : {}) as SpawnResult;\n res.stdout = outputs.stdout ? outputs.stdout.output : null;\n res.stderr = outputs.stderr ? outputs.stderr.output : null;\n res.output = [res.stdout, res.stderr, null];\n const item = store.getState().processes.find((x) => x.id === id);\n store.getState().updateProcess({ ...item, state: err ? 'error' : 'success' });\n\n // let rendering complete\n setTimeout(() => {\n terminal.release();\n err ? callback(err) : callback(null, res);\n });\n });\n });\n}\n"],"names":["spawn","crossSpawn","uuid","oo","Queue","createApp","addLines","concatWritable","LineType","terminal","spawnTerminal","command","args","spawnOptions","options","callback","encoding","stdio","csOptions","retain","store","id","getState","addProcess","title","concat","join","state","lines","cp","outputs","stdout","stderr","process","getMaxListeners","setMaxListeners","queue","texts","item","processes","find","x","map","text","type","updateProcess","output","toString","defer","bind","pipe","worker","await","err","res","setTimeout","release"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/worker.ts"],"sourcesContent":["// @ts-ignore\nimport spawn, { crossSpawn, type SpawnResult } from 'cross-spawn-cb';\nimport uuid from 'lil-uuid';\nimport oo from 'on-one';\nimport Queue from 'queue-cb';\n\nimport createApp from './createApp';\nimport addLines from './lib/addLines';\nimport concatWritable from './lib/concatWritable';\nimport formatArguments from './lib/formatArguments';\n\nimport type { SpawnOptions, TerminalOptions } from './types';\nimport { LineType } from './types';\n\nconst terminal = createApp();\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options: TerminalOptions, callback) {\n const { encoding, stdio, ...csOptions } = spawnOptions;\n\n terminal.retain((store) => {\n const id = uuid();\n store.getState().addProcess({ id, title: [command].concat(formatArguments(args)).join(' '), state: 'running', lines: [], ...options });\n\n const cp = crossSpawn(command, args, csOptions);\n const outputs = { stdout: null, stderr: null };\n\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() + 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() + 1);\n }\n\n const queue = new Queue();\n if (cp.stdout) {\n if (stdio === 'inherit') {\n outputs.stdout = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stdout, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stdout = concatWritable((output) => {\n outputs.stdout.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stdout.pipe(outputs.stdout), ['error', 'end', 'close', 'finish']));\n }\n if (cp.stderr) {\n if (stdio === 'inherit') {\n outputs.stderr = addLines((texts) => {\n const item = store.getState().processes.find((x) => x.id === id);\n const lines = item.lines.concat(texts.map((text) => ({ type: LineType.stderr, text })));\n store.getState().updateProcess({ ...item, lines });\n });\n } else {\n outputs.stderr = concatWritable((output) => {\n outputs.stderr.output = output.toString(encoding || 'utf8');\n });\n }\n queue.defer(oo.bind(null, cp.stderr.pipe(outputs.stderr), ['error', 'end', 'close', 'finish']));\n }\n queue.defer(spawn.worker.bind(null, cp, { ...csOptions, encoding: 'utf8' }));\n queue.await((err) => {\n if (cp.stdout && process.stdout.getMaxListeners) {\n process.stdout.setMaxListeners(process.stdout.getMaxListeners() - 1);\n process.stderr.setMaxListeners(process.stderr.getMaxListeners() - 1);\n }\n\n const res = (err ? err : {}) as SpawnResult;\n res.stdout = outputs.stdout ? outputs.stdout.output : null;\n res.stderr = outputs.stderr ? outputs.stderr.output : null;\n res.output = [res.stdout, res.stderr, null];\n const item = store.getState().processes.find((x) => x.id === id);\n store.getState().updateProcess({ ...item, state: err ? 'error' : 'success' });\n\n // let rendering complete\n setTimeout(() => {\n terminal.release();\n err ? callback(err) : callback(null, res);\n });\n });\n });\n}\n"],"names":["spawn","crossSpawn","uuid","oo","Queue","createApp","addLines","concatWritable","formatArguments","LineType","terminal","spawnTerminal","command","args","spawnOptions","options","callback","encoding","stdio","csOptions","retain","store","id","getState","addProcess","title","concat","join","state","lines","cp","outputs","stdout","stderr","process","getMaxListeners","setMaxListeners","queue","texts","item","processes","find","x","map","text","type","updateProcess","output","toString","defer","bind","pipe","worker","await","err","res","setTimeout","release"],"mappings":"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"}
@@ -2,5 +2,6 @@ import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';
2
2
  declare function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback): any;
3
3
  export * from './types';
4
4
  export { default as figures } from './lib/figures';
5
+ export { default as formatArguments } from './lib/formatArguments';
5
6
  declare const _default: typeof spawnTerminal;
6
7
  export default _default;
@@ -2,5 +2,6 @@ import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';
2
2
  declare function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback): void | Promise<unknown>;
3
3
  export * from './types';
4
4
  export { default as figures } from './lib/figures';
5
+ export { default as formatArguments } from './lib/formatArguments';
5
6
  declare const _default: typeof spawnTerminal;
6
7
  export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: (args: any) => any;
2
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-term",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Formats spawn with for terminal grouping",
5
5
  "keywords": [
6
6
  "spawn",