spawn-term 0.1.43 → 0.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ChildProcess.cjs +6 -8
- package/dist/cjs/components/ChildProcess.cjs.map +1 -1
- package/dist/cjs/lib/addLines.cjs +1 -1
- package/dist/cjs/lib/addLines.cjs.map +1 -1
- package/dist/esm/components/ChildProcess.mjs +6 -8
- package/dist/esm/components/ChildProcess.mjs.map +1 -1
- package/dist/esm/lib/addLines.mjs +1 -1
- package/dist/esm/lib/addLines.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -79,12 +79,10 @@ var spinner = {
|
|
|
79
79
|
]
|
|
80
80
|
};
|
|
81
81
|
var ICONS = {
|
|
82
|
-
// @ts-
|
|
82
|
+
// @ts-expect-error
|
|
83
83
|
error: /*#__PURE__*/ _react.default.createElement("ink-text", null, _ansicolors.default.red(_figures.default.cross)),
|
|
84
|
-
// @ts-
|
|
85
|
-
success: /*#__PURE__*/ _react.default.createElement("ink-text",
|
|
86
|
-
color: "green"
|
|
87
|
-
}, _ansicolors.default.green(_figures.default.tick)),
|
|
84
|
+
// @ts-expect-error
|
|
85
|
+
success: /*#__PURE__*/ _react.default.createElement("ink-text", null, _ansicolors.default.green(_figures.default.tick)),
|
|
88
86
|
running: /*#__PURE__*/ _react.default.createElement(_Spinner.default, spinner)
|
|
89
87
|
};
|
|
90
88
|
var Header = /*#__PURE__*/ (0, _react.memo)(function Header(param) {
|
|
@@ -105,9 +103,9 @@ var RunningSummary = /*#__PURE__*/ (0, _react.memo)(function RunningSummary(para
|
|
|
105
103
|
}, line.text.replace(REGEX_ANSI, '')));
|
|
106
104
|
});
|
|
107
105
|
var renderLine = function(line, index) {
|
|
108
|
-
return
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
return(// @ts-expect-error
|
|
107
|
+
/*#__PURE__*/ _react.default.createElement("ink-text", {
|
|
108
|
+
key: index,
|
|
111
109
|
style: {
|
|
112
110
|
minHeight: 1
|
|
113
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import c from 'ansi-colors';\nimport React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport ansiRegex from '../lib/ansiRegex';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Line, State } from '../types';\nimport { LineType } from '../types';\n\nconst REGEX_ANSI = ansiRegex();\n\ntype ItemProps = {\n item: ChildProcessT;\n};\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 // @ts-
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import c from 'ansi-colors';\nimport React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport ansiRegex from '../lib/ansiRegex';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Line, State } from '../types';\nimport { LineType } from '../types';\n\nconst REGEX_ANSI = ansiRegex();\n\ntype ItemProps = {\n item: ChildProcessT;\n};\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 // @ts-expect-error\n error: <ink-text>{c.red(figures.cross)}</ink-text>,\n // @ts-expect-error\n success: <ink-text>{c.green(figures.tick)}</ink-text>,\n running: <Spinner {...spinner} />,\n};\n\ntype HeaderProps = {\n group?: string;\n title: string;\n state: State;\n};\n\nconst Header = memo(\n function Header({ group, title, state }: HeaderProps) {\n const icon = ICONS[state];\n\n return (\n <Box>\n {icon}\n {group && <Text bold>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n },\n (a, b) => a.group === b.group && a.title === b.title && a.state === b.state\n);\n\ntype RunningSummaryProps = {\n line: Line;\n};\n\nconst RunningSummary = memo(function RunningSummary({ line }: RunningSummaryProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{line.text.replace(REGEX_ANSI, '')}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Line[];\n};\n\nconst renderLine = (line, index) => {\n return (\n // @ts-expect-error\n <ink-text key={index} style={{ minHeight: 1 }}>\n {line.text}\n {/* @ts-expect-error */}\n </ink-text>\n );\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map(renderLine)}\n </Box>\n );\n});\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { lines } = item;\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n <Lines lines={lines} />\n </Box>\n );\n});\n\nconst Contracted = memo(function Contracted({ item }: ItemProps) {\n const { state, lines } = item;\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === LineType.stderr), [lines]);\n const summary = useMemo(() => lines.filter((line) => line.text.length > 0 && errors.indexOf(line) < 0).pop(), [lines, errors]);\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n {state === 'running' && summary && <RunningSummary line={summary} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n});\n\nexport default memo(function ChildProcess({ item }: ItemProps) {\n const { expanded } = item;\n return expanded ? <Expanded item={item} /> : <Contracted item={item} />;\n});\n"],"names":["REGEX_ANSI","ansiRegex","spinner","interval","frames","ICONS","error","ink-text","c","red","figures","cross","success","green","tick","running","Spinner","Header","memo","group","title","state","icon","Box","Text","bold","pointer","a","b","RunningSummary","line","marginLeft","color","text","replace","renderLine","index","key","style","minHeight","Lines","lines","flexDirection","map","Expanded","item","Contracted","errors","useMemo","filter","type","LineType","stderr","summary","length","indexOf","pop","ChildProcess","expanded"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _readablestream = require("readable-stream");
|
|
12
|
-
var REGEX_NEW_LINE = /\r
|
|
12
|
+
var REGEX_NEW_LINE = /\r?\n|\r/g;
|
|
13
13
|
function addLines(fn) {
|
|
14
14
|
var last = '';
|
|
15
15
|
var stream = new _readablestream.Writable({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/addLines.ts"],"sourcesContent":["import { Writable } from 'readable-stream';\n\nconst REGEX_NEW_LINE = /\\r
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/addLines.ts"],"sourcesContent":["import { Writable } from 'readable-stream';\n\nconst REGEX_NEW_LINE = /\\r?\\n|\\r/g;\n\nexport default function addLines(fn) {\n let last = '';\n\n const stream = new Writable({\n write(chunk, _enc, callback) {\n const more = last + chunk.toString('utf8');\n const lines = more.split(REGEX_NEW_LINE);\n last = lines.pop();\n if (lines.length > 0) fn(lines);\n callback();\n },\n });\n stream.on('finish', () => {\n if (last.length) fn(last);\n last = '';\n });\n return stream;\n}\n"],"names":["addLines","REGEX_NEW_LINE","fn","last","stream","Writable","write","chunk","_enc","callback","more","toString","lines","split","pop","length","on"],"mappings":";;;;+BAIA;;;eAAwBA;;;8BAJC;AAEzB,IAAMC,iBAAiB;AAER,SAASD,SAASE,EAAE;IACjC,IAAIC,OAAO;IAEX,IAAMC,SAAS,IAAIC,wBAAQ,CAAC;QAC1BC,OAAAA,SAAAA,MAAMC,KAAK,EAAEC,IAAI,EAAEC,QAAQ;YACzB,IAAMC,OAAOP,OAAOI,MAAMI,QAAQ,CAAC;YACnC,IAAMC,QAAQF,KAAKG,KAAK,CAACZ;YACzBE,OAAOS,MAAME,GAAG;YAChB,IAAIF,MAAMG,MAAM,GAAG,GAAGb,GAAGU;YACzBH;QACF;IACF;IACAL,OAAOY,EAAE,CAAC,UAAU;QAClB,IAAIb,KAAKY,MAAM,EAAEb,GAAGC;QACpBA,OAAO;IACT;IACA,OAAOC;AACT"}
|
|
@@ -23,12 +23,10 @@ const spinner = {
|
|
|
23
23
|
]
|
|
24
24
|
};
|
|
25
25
|
const ICONS = {
|
|
26
|
-
// @ts-
|
|
26
|
+
// @ts-expect-error
|
|
27
27
|
error: /*#__PURE__*/ React.createElement("ink-text", null, c.red(figures.cross)),
|
|
28
|
-
// @ts-
|
|
29
|
-
success: /*#__PURE__*/ React.createElement("ink-text",
|
|
30
|
-
color: "green"
|
|
31
|
-
}, c.green(figures.tick)),
|
|
28
|
+
// @ts-expect-error
|
|
29
|
+
success: /*#__PURE__*/ React.createElement("ink-text", null, c.green(figures.tick)),
|
|
32
30
|
running: /*#__PURE__*/ React.createElement(Spinner, spinner)
|
|
33
31
|
};
|
|
34
32
|
const Header = /*#__PURE__*/ memo(function Header({ group, title, state }) {
|
|
@@ -45,9 +43,9 @@ const RunningSummary = /*#__PURE__*/ memo(function RunningSummary({ line }) {
|
|
|
45
43
|
}, line.text.replace(REGEX_ANSI, '')));
|
|
46
44
|
});
|
|
47
45
|
const renderLine = (line, index)=>{
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
return(// @ts-expect-error
|
|
47
|
+
/*#__PURE__*/ React.createElement("ink-text", {
|
|
48
|
+
key: index,
|
|
51
49
|
style: {
|
|
52
50
|
minHeight: 1
|
|
53
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import c from 'ansi-colors';\nimport React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport ansiRegex from '../lib/ansiRegex';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Line, State } from '../types';\nimport { LineType } from '../types';\n\nconst REGEX_ANSI = ansiRegex();\n\ntype ItemProps = {\n item: ChildProcessT;\n};\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 // @ts-
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import c from 'ansi-colors';\nimport React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport ansiRegex from '../lib/ansiRegex';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Line, State } from '../types';\nimport { LineType } from '../types';\n\nconst REGEX_ANSI = ansiRegex();\n\ntype ItemProps = {\n item: ChildProcessT;\n};\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 // @ts-expect-error\n error: <ink-text>{c.red(figures.cross)}</ink-text>,\n // @ts-expect-error\n success: <ink-text>{c.green(figures.tick)}</ink-text>,\n running: <Spinner {...spinner} />,\n};\n\ntype HeaderProps = {\n group?: string;\n title: string;\n state: State;\n};\n\nconst Header = memo(\n function Header({ group, title, state }: HeaderProps) {\n const icon = ICONS[state];\n\n return (\n <Box>\n {icon}\n {group && <Text bold>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n },\n (a, b) => a.group === b.group && a.title === b.title && a.state === b.state\n);\n\ntype RunningSummaryProps = {\n line: Line;\n};\n\nconst RunningSummary = memo(function RunningSummary({ line }: RunningSummaryProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{line.text.replace(REGEX_ANSI, '')}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Line[];\n};\n\nconst renderLine = (line, index) => {\n return (\n // @ts-expect-error\n <ink-text key={index} style={{ minHeight: 1 }}>\n {line.text}\n {/* @ts-expect-error */}\n </ink-text>\n );\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map(renderLine)}\n </Box>\n );\n});\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { lines } = item;\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n <Lines lines={lines} />\n </Box>\n );\n});\n\nconst Contracted = memo(function Contracted({ item }: ItemProps) {\n const { state, lines } = item;\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === LineType.stderr), [lines]);\n const summary = useMemo(() => lines.filter((line) => line.text.length > 0 && errors.indexOf(line) < 0).pop(), [lines, errors]);\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n {state === 'running' && summary && <RunningSummary line={summary} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n});\n\nexport default memo(function ChildProcess({ item }: ItemProps) {\n const { expanded } = item;\n return expanded ? <Expanded item={item} /> : <Contracted item={item} />;\n});\n"],"names":["c","React","memo","useMemo","Box","Text","ansiRegex","figures","Spinner","LineType","REGEX_ANSI","spinner","interval","frames","ICONS","error","ink-text","red","cross","success","green","tick","running","Header","group","title","state","icon","bold","pointer","a","b","RunningSummary","line","marginLeft","color","text","replace","renderLine","index","key","style","minHeight","Lines","lines","flexDirection","map","Expanded","item","Contracted","errors","filter","type","stderr","summary","length","indexOf","pop","ChildProcess","expanded"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/addLines.ts"],"sourcesContent":["import { Writable } from 'readable-stream';\n\nconst REGEX_NEW_LINE = /\\r
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/addLines.ts"],"sourcesContent":["import { Writable } from 'readable-stream';\n\nconst REGEX_NEW_LINE = /\\r?\\n|\\r/g;\n\nexport default function addLines(fn) {\n let last = '';\n\n const stream = new Writable({\n write(chunk, _enc, callback) {\n const more = last + chunk.toString('utf8');\n const lines = more.split(REGEX_NEW_LINE);\n last = lines.pop();\n if (lines.length > 0) fn(lines);\n callback();\n },\n });\n stream.on('finish', () => {\n if (last.length) fn(last);\n last = '';\n });\n return stream;\n}\n"],"names":["Writable","REGEX_NEW_LINE","addLines","fn","last","stream","write","chunk","_enc","callback","more","toString","lines","split","pop","length","on"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,kBAAkB;AAE3C,MAAMC,iBAAiB;AAEvB,eAAe,SAASC,SAASC,EAAE;IACjC,IAAIC,OAAO;IAEX,MAAMC,SAAS,IAAIL,SAAS;QAC1BM,OAAMC,KAAK,EAAEC,IAAI,EAAEC,QAAQ;YACzB,MAAMC,OAAON,OAAOG,MAAMI,QAAQ,CAAC;YACnC,MAAMC,QAAQF,KAAKG,KAAK,CAACZ;YACzBG,OAAOQ,MAAME,GAAG;YAChB,IAAIF,MAAMG,MAAM,GAAG,GAAGZ,GAAGS;YACzBH;QACF;IACF;IACAJ,OAAOW,EAAE,CAAC,UAAU;QAClB,IAAIZ,KAAKW,MAAM,EAAEZ,GAAGC;QACpBA,OAAO;IACT;IACA,OAAOC;AACT"}
|