spawn-term 0.1.30 → 0.1.32

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.
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "default", {
11
11
  var _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
12
12
  var _ink = require("../ink.cjs");
13
13
  var _figures = /*#__PURE__*/ _interop_require_default(require("../lib/figures.cjs"));
14
- var _regexANSI = /*#__PURE__*/ _interop_require_default(require("../lib/regexANSI.cjs"));
15
14
  var _Spinner = /*#__PURE__*/ _interop_require_default(require("./Spinner.cjs"));
16
15
  var _types = require("../types.cjs");
17
16
  function _interop_require_default(obj) {
@@ -60,6 +59,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
60
59
  }
61
60
  return newObj;
62
61
  }
62
+ var NEW_LINE_REGEX = /\r\n|\n/g;
63
63
  // From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2
64
64
  var spinner = {
65
65
  interval: 80,
@@ -114,28 +114,12 @@ var Lines = /*#__PURE__*/ (0, _react.memo)(function Lines(param) {
114
114
  /*#__PURE__*/ _react.default.createElement(_ink.Box, {
115
115
  key: index,
116
116
  flexDirection: "column"
117
- }, /*#__PURE__*/ _react.default.createElement(_ink.Text, null, line.text)));
117
+ }, /*#__PURE__*/ _react.default.createElement("ink-text", null, line.text)));
118
118
  }));
119
119
  });
120
- var linesRegex = /\r\n|[\n\v\f\r\x85\u2028\u2029]/g;
121
- var ansiRegex = (0, _regexANSI.default)();
122
120
  var Expanded = /*#__PURE__*/ (0, _react.memo)(function Expanded(param) {
123
121
  var item = param.item;
124
122
  var data = item.data;
125
- var lines = (0, _react.useMemo)(function() {
126
- var lines = [];
127
- data.forEach(function(x) {
128
- x.text.split(linesRegex).forEach(function(text) {
129
- return lines.push({
130
- type: x.type,
131
- text: text.replace(ansiRegex, '')
132
- });
133
- });
134
- });
135
- return lines;
136
- }, [
137
- data
138
- ]);
139
123
  return /*#__PURE__*/ _react.default.createElement(_ink.Box, {
140
124
  flexDirection: "column"
141
125
  }, /*#__PURE__*/ _react.default.createElement(Header, {
@@ -143,7 +127,7 @@ var Expanded = /*#__PURE__*/ (0, _react.memo)(function Expanded(param) {
143
127
  title: item.title,
144
128
  state: item.state
145
129
  }), /*#__PURE__*/ _react.default.createElement(Lines, {
146
- lines: lines
130
+ lines: data
147
131
  }));
148
132
  });
149
133
  var Contracted = /*#__PURE__*/ (0, _react.memo)(function Contracted(param) {
@@ -152,10 +136,10 @@ var Contracted = /*#__PURE__*/ (0, _react.memo)(function Contracted(param) {
152
136
  var lines = (0, _react.useMemo)(function() {
153
137
  var lines = [];
154
138
  data.forEach(function(x) {
155
- x.text.split(linesRegex).forEach(function(text) {
139
+ x.text.split(NEW_LINE_REGEX).forEach(function(text) {
156
140
  return lines.push({
157
141
  type: x.type,
158
- text: text.replace(ansiRegex, '')
142
+ text: text
159
143
  });
160
144
  });
161
145
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport regexANSI from '../lib/regexANSI';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Data, State } from '../types';\nimport { DataType } from '../types';\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 error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</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 <Box marginRight={1}>{icon}</Box>\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 OutputProps = {\n output: Data;\n};\n\nconst Output = memo(function Output({ output }: OutputProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{output.text}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Data[];\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\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\">\n {/* <Text color={line.type === DataType.stderr ? 'red' : 'black'}>{line.text}</Text> */}\n <Text>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n});\n\nconst linesRegex = /\\r\\n|[\\n\\v\\f\\r\\x85\\u2028\\u2029]/g;\nconst ansiRegex = regexANSI();\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { data } = item;\n\n const lines = useMemo(() => {\n const lines = [];\n data.forEach((x) => {\n x.text.split(linesRegex).forEach((text) => lines.push({ type: x.type, text: text.replace(ansiRegex, '') }));\n });\n return lines;\n }, [data]);\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, data } = item;\n\n const lines = useMemo(() => {\n const lines = [];\n data.forEach((x) => {\n x.text.split(linesRegex).forEach((text) => lines.push({ type: x.type, text: text.replace(ansiRegex, '') }));\n });\n return lines;\n }, [data]);\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === DataType.stderr), [lines]);\n const output = 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' && <Output output={output} />}\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":["spinner","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","Header","memo","group","title","state","icon","Box","marginRight","bold","pointer","a","b","Output","output","marginLeft","text","Lines","lines","flexDirection","map","line","index","key","linesRegex","ansiRegex","regexANSI","Expanded","item","data","useMemo","forEach","x","split","push","type","replace","Contracted","errors","filter","DataType","stderr","length","indexOf","pop","ChildProcess","expanded"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Data, State } from '../types';\nimport { DataType } from '../types';\n\nconst NEW_LINE_REGEX = /\\r\\n|\\n/g;\n// const ANSI_REGEX = 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 error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</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 <Box marginRight={1}>{icon}</Box>\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 OutputProps = {\n output: Data;\n};\n\nconst Output = memo(function Output({ output }: OutputProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{output.text}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Data[];\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\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\">\n {/* <Text color={line.type === DataType.stderr ? 'red' : 'black'}>{line.text}</Text> */}\n {/* @ts-ignore */}\n <ink-text>{line.text}</ink-text>\n </Box>\n ))}\n </Box>\n );\n});\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { data } = item;\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n <Lines lines={data} />\n </Box>\n );\n});\n\nconst Contracted = memo(function Contracted({ item }: ItemProps) {\n const { state, data } = item;\n\n const lines = useMemo(() => {\n const lines = [];\n data.forEach((x) => {\n x.text.split(NEW_LINE_REGEX).forEach((text) => lines.push({ type: x.type, text }));\n });\n return lines;\n }, [data]);\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === DataType.stderr), [lines]);\n const output = 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' && <Output output={output} />}\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":["NEW_LINE_REGEX","spinner","interval","frames","ICONS","error","Text","color","figures","cross","success","tick","running","Spinner","Header","memo","group","title","state","icon","Box","marginRight","bold","pointer","a","b","Output","output","marginLeft","text","Lines","lines","flexDirection","map","line","index","key","ink-text","Expanded","item","data","Contracted","useMemo","forEach","x","split","push","type","errors","filter","DataType","stderr","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/regexANSI.ts"],"sourcesContent":["// https://github.com/chalk/ansi-regex/blob/main/index.js\nexport default function ansiRegex({ onlyFirst = false } = {}) {\n // Valid string terminator sequences are BEL, ESC\\, and 0x9c\n const ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n const pattern = [`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`, '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))'].join('|');\n\n return new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n"],"names":["ansiRegex","onlyFirst","ST","pattern","join","RegExp","undefined"],"mappings":"AAAA,yDAAyD;;;;;+BACzD;;;eAAwBA;;;AAAT,SAASA;QAAU,OAAA,iEAAwB,CAAC,oBAAzB,KAAEC,WAAAA,wCAAY;IAC9C,4DAA4D;IAC5D,IAAMC,KAAK;IACX,IAAMC,UAAU;QAAE,uHAAyH,OAAHD,IAAG;QAAI;KAA2D,CAACE,IAAI,CAAC;IAEhN,OAAO,IAAIC,OAAOF,SAASF,YAAYK,YAAY;AACrD"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/ansiRegex.ts"],"sourcesContent":["// https://github.com/chalk/ansi-regex/blob/main/index.js\nexport default function ansiRegex({ onlyFirst = false } = {}) {\n // Valid string terminator sequences are BEL, ESC\\, and 0x9c\n const ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n const pattern = [`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`, '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))'].join('|');\n\n return new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n"],"names":["ansiRegex","onlyFirst","ST","pattern","join","RegExp","undefined"],"mappings":"AAAA,yDAAyD;;;;;+BACzD;;;eAAwBA;;;AAAT,SAASA;QAAU,OAAA,iEAAwB,CAAC,oBAAzB,KAAEC,WAAAA,wCAAY;IAC9C,4DAA4D;IAC5D,IAAMC,KAAK;IACX,IAAMC,UAAU;QAAE,uHAAyH,OAAHD,IAAG;QAAI;KAA2D,CAACE,IAAI,CAAC;IAEhN,OAAO,IAAIC,OAAOF,SAASF,YAAYK,YAAY;AACrD"}
@@ -1,9 +1,9 @@
1
1
  import React, { memo, useMemo } from 'react';
2
2
  import { Box, Text } from '../ink.mjs';
3
3
  import figures from '../lib/figures.mjs';
4
- import regexANSI from '../lib/regexANSI.mjs';
5
4
  import Spinner from './Spinner.mjs';
6
5
  import { DataType } from '../types.mjs';
6
+ const NEW_LINE_REGEX = /\r\n|\n/g;
7
7
  // From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2
8
8
  const spinner = {
9
9
  interval: 80,
@@ -52,24 +52,10 @@ const Lines = /*#__PURE__*/ memo(function Lines({ lines }) {
52
52
  /*#__PURE__*/ React.createElement(Box, {
53
53
  key: index,
54
54
  flexDirection: "column"
55
- }, /*#__PURE__*/ React.createElement(Text, null, line.text))));
55
+ }, /*#__PURE__*/ React.createElement("ink-text", null, line.text))));
56
56
  });
57
- const linesRegex = /\r\n|[\n\v\f\r\x85\u2028\u2029]/g;
58
- const ansiRegex = regexANSI();
59
57
  const Expanded = /*#__PURE__*/ memo(function Expanded({ item }) {
60
58
  const { data } = item;
61
- const lines = useMemo(()=>{
62
- const lines = [];
63
- data.forEach((x)=>{
64
- x.text.split(linesRegex).forEach((text)=>lines.push({
65
- type: x.type,
66
- text: text.replace(ansiRegex, '')
67
- }));
68
- });
69
- return lines;
70
- }, [
71
- data
72
- ]);
73
59
  return /*#__PURE__*/ React.createElement(Box, {
74
60
  flexDirection: "column"
75
61
  }, /*#__PURE__*/ React.createElement(Header, {
@@ -77,7 +63,7 @@ const Expanded = /*#__PURE__*/ memo(function Expanded({ item }) {
77
63
  title: item.title,
78
64
  state: item.state
79
65
  }), /*#__PURE__*/ React.createElement(Lines, {
80
- lines: lines
66
+ lines: data
81
67
  }));
82
68
  });
83
69
  const Contracted = /*#__PURE__*/ memo(function Contracted({ item }) {
@@ -85,9 +71,9 @@ const Contracted = /*#__PURE__*/ memo(function Contracted({ item }) {
85
71
  const lines = useMemo(()=>{
86
72
  const lines = [];
87
73
  data.forEach((x)=>{
88
- x.text.split(linesRegex).forEach((text)=>lines.push({
74
+ x.text.split(NEW_LINE_REGEX).forEach((text)=>lines.push({
89
75
  type: x.type,
90
- text: text.replace(ansiRegex, '')
76
+ text
91
77
  }));
92
78
  });
93
79
  return lines;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport regexANSI from '../lib/regexANSI';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Data, State } from '../types';\nimport { DataType } from '../types';\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 error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</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 <Box marginRight={1}>{icon}</Box>\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 OutputProps = {\n output: Data;\n};\n\nconst Output = memo(function Output({ output }: OutputProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{output.text}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Data[];\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\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\">\n {/* <Text color={line.type === DataType.stderr ? 'red' : 'black'}>{line.text}</Text> */}\n <Text>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n});\n\nconst linesRegex = /\\r\\n|[\\n\\v\\f\\r\\x85\\u2028\\u2029]/g;\nconst ansiRegex = regexANSI();\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { data } = item;\n\n const lines = useMemo(() => {\n const lines = [];\n data.forEach((x) => {\n x.text.split(linesRegex).forEach((text) => lines.push({ type: x.type, text: text.replace(ansiRegex, '') }));\n });\n return lines;\n }, [data]);\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, data } = item;\n\n const lines = useMemo(() => {\n const lines = [];\n data.forEach((x) => {\n x.text.split(linesRegex).forEach((text) => lines.push({ type: x.type, text: text.replace(ansiRegex, '') }));\n });\n return lines;\n }, [data]);\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === DataType.stderr), [lines]);\n const output = 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' && <Output output={output} />}\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":["React","memo","useMemo","Box","Text","figures","regexANSI","Spinner","DataType","spinner","interval","frames","ICONS","error","color","cross","success","tick","running","Header","group","title","state","icon","marginRight","bold","pointer","a","b","Output","output","marginLeft","text","Lines","lines","flexDirection","map","line","index","key","linesRegex","ansiRegex","Expanded","item","data","forEach","x","split","push","type","replace","Contracted","errors","filter","stderr","length","indexOf","pop","ChildProcess","expanded"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { memo, useMemo } from 'react';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { ChildProcess as ChildProcessT, Data, State } from '../types';\nimport { DataType } from '../types';\n\nconst NEW_LINE_REGEX = /\\r\\n|\\n/g;\n// const ANSI_REGEX = 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 error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</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 <Box marginRight={1}>{icon}</Box>\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 OutputProps = {\n output: Data;\n};\n\nconst Output = memo(function Output({ output }: OutputProps) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{output.text}</Text>\n </Box>\n );\n});\n\ntype LinesProps = {\n lines: Data[];\n};\n\nconst Lines = memo(function Lines({ lines }: LinesProps) {\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\">\n {/* <Text color={line.type === DataType.stderr ? 'red' : 'black'}>{line.text}</Text> */}\n {/* @ts-ignore */}\n <ink-text>{line.text}</ink-text>\n </Box>\n ))}\n </Box>\n );\n});\n\nconst Expanded = memo(function Expanded({ item }: ItemProps) {\n const { data } = item;\n\n return (\n <Box flexDirection=\"column\">\n <Header group={item.group} title={item.title} state={item.state} />\n <Lines lines={data} />\n </Box>\n );\n});\n\nconst Contracted = memo(function Contracted({ item }: ItemProps) {\n const { state, data } = item;\n\n const lines = useMemo(() => {\n const lines = [];\n data.forEach((x) => {\n x.text.split(NEW_LINE_REGEX).forEach((text) => lines.push({ type: x.type, text }));\n });\n return lines;\n }, [data]);\n\n // remove ansi codes when displaying single lines\n const errors = useMemo(() => lines.filter((line) => line.type === DataType.stderr), [lines]);\n const output = 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' && <Output output={output} />}\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":["React","memo","useMemo","Box","Text","figures","Spinner","DataType","NEW_LINE_REGEX","spinner","interval","frames","ICONS","error","color","cross","success","tick","running","Header","group","title","state","icon","marginRight","bold","pointer","a","b","Output","output","marginLeft","text","Lines","lines","flexDirection","map","line","index","key","ink-text","Expanded","item","data","Contracted","forEach","x","split","push","type","errors","filter","stderr","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/regexANSI.ts"],"sourcesContent":["// https://github.com/chalk/ansi-regex/blob/main/index.js\nexport default function ansiRegex({ onlyFirst = false } = {}) {\n // Valid string terminator sequences are BEL, ESC\\, and 0x9c\n const ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n const pattern = [`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`, '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))'].join('|');\n\n return new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n"],"names":["ansiRegex","onlyFirst","ST","pattern","join","RegExp","undefined"],"mappings":"AAAA,yDAAyD;AACzD,eAAe,SAASA,UAAU,EAAEC,YAAY,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1D,4DAA4D;IAC5D,MAAMC,KAAK;IACX,MAAMC,UAAU;QAAC,CAAC,oHAAoH,EAAED,GAAG,CAAC,CAAC;QAAE;KAA2D,CAACE,IAAI,CAAC;IAEhN,OAAO,IAAIC,OAAOF,SAASF,YAAYK,YAAY;AACrD"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/ansiRegex.ts"],"sourcesContent":["// https://github.com/chalk/ansi-regex/blob/main/index.js\nexport default function ansiRegex({ onlyFirst = false } = {}) {\n // Valid string terminator sequences are BEL, ESC\\, and 0x9c\n const ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n const pattern = [`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`, '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))'].join('|');\n\n return new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n"],"names":["ansiRegex","onlyFirst","ST","pattern","join","RegExp","undefined"],"mappings":"AAAA,yDAAyD;AACzD,eAAe,SAASA,UAAU,EAAEC,YAAY,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1D,4DAA4D;IAC5D,MAAMC,KAAK;IACX,MAAMC,UAAU;QAAC,CAAC,oHAAoH,EAAED,GAAG,CAAC,CAAC;QAAE;KAA2D,CAACE,IAAI,CAAC;IAEhN,OAAO,IAAIC,OAAOF,SAASF,YAAYK,YAAY;AACrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-term",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "Formats spawn with for terminal grouping",
5
5
  "keywords": [
6
6
  "spawn",
File without changes
File without changes