spawn-term 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,7 +77,7 @@ var spinner = {
77
77
  '⠏'
78
78
  ]
79
79
  };
80
- var RUNS = [
80
+ var _RUNS = [
81
81
  _figures.default.cross,
82
82
  _figures.default.tick
83
83
  ].concat(spinner.frames);
@@ -139,11 +139,8 @@ function ChildProcess(param) {
139
139
  lines: lines
140
140
  }));
141
141
  }
142
- var runs = lines.filter(function(line) {
143
- return RUNS.some(function(run) {
144
- return line.text[0] === run;
145
- });
146
- });
142
+ // const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));
143
+ var runs = [];
147
144
  var errors = lines.filter(function(line) {
148
145
  return line.type === _types.LineType.stderr && runs.indexOf(line) < 0;
149
146
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>{icon}</Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","RUNS","figures","cross","tick","concat","ICONS","error","Text","color","success","running","Spinner","Header","item","group","title","state","icon","Box","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","LineType","stderr","id","store","useContext","StoreContext","appState","useStore","processes","find","x","expanded","runs","filter","some","run","errors","indexOf","length","pop"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst _RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>{icon}</Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n // const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const runs = [];\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["ChildProcess","spinner","interval","frames","_RUNS","figures","cross","tick","concat","ICONS","error","Text","color","success","running","Spinner","Header","item","group","title","state","icon","Box","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","LineType","stderr","id","store","useContext","StoreContext","appState","useStore","processes","find","x","expanded","runs","errors","filter","indexOf","length","pop"],"mappings":"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"}
@@ -21,7 +21,7 @@ const spinner = {
21
21
  '⠏'
22
22
  ]
23
23
  };
24
- const RUNS = [
24
+ const _RUNS = [
25
25
  figures.cross,
26
26
  figures.tick
27
27
  ].concat(spinner.frames);
@@ -75,7 +75,8 @@ export default function ChildProcess({ id }) {
75
75
  lines: lines
76
76
  }));
77
77
  }
78
- const runs = lines.filter((line)=>RUNS.some((run)=>line.text[0] === run));
78
+ // const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));
79
+ const runs = [];
79
80
  const errors = lines.filter((line)=>line.type === LineType.stderr && runs.indexOf(line) < 0);
80
81
  const output = lines.filter((line)=>line.text.length > 0).pop();
81
82
  return /*#__PURE__*/ React.createElement(Box, {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>{icon}</Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["React","useContext","useStore","StoreContext","Box","Text","figures","Spinner","LineType","spinner","interval","frames","RUNS","cross","tick","concat","ICONS","error","color","success","running","Header","item","group","title","state","icon","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","stderr","ChildProcess","id","store","appState","processes","find","x","expanded","runs","filter","some","run","errors","indexOf","length","pop"],"mappings":"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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/ChildProcess.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useStore } from 'zustand';\nimport StoreContext from '../contexts/Store';\nimport { Box, Text } from '../ink.mjs';\nimport figures from '../lib/figures';\nimport Spinner from './Spinner';\n\nimport type { AppState } from '../types';\nimport { LineType } from '../types';\n\n// From: https://github.com/sindresorhus/cli-spinners/blob/00de8fbeee16fa49502fa4f687449f70f2c8ca2c/spinners.json#L2\nconst spinner = {\n interval: 80,\n frames: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],\n};\n\nconst _RUNS = [figures.cross, figures.tick].concat(spinner.frames);\n\nconst ICONS = {\n error: <Text color=\"red\">{figures.cross}</Text>,\n success: <Text color=\"green\">{figures.tick}</Text>,\n running: <Spinner {...spinner} />,\n};\n\ntype ChildProcessProps = {\n id: string;\n};\n\nfunction Header({ item }) {\n const { group, title, state } = item;\n const icon = ICONS[state];\n\n return (\n <Box>\n <Box marginRight={1}>{icon}</Box>\n {group && <Text>{`${group}${figures.pointer} `}</Text>}\n <Text>{title}</Text>\n </Box>\n );\n}\n\nfunction Output({ output }) {\n return (\n <Box marginLeft={2}>\n <Text color=\"gray\">{`${figures.arrowRight} ${output.text}`}</Text>\n </Box>\n );\n}\n\nfunction Lines({ lines }) {\n return (\n <Box flexDirection=\"column\" marginLeft={2}>\n {lines.map((line, index) => (\n // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>\n <Box key={index} flexDirection=\"column\" height={1}>\n <Text color={line.type === LineType.stderr ? 'red' : 'black'}>{line.text}</Text>\n </Box>\n ))}\n </Box>\n );\n}\n\nexport default function ChildProcess({ id }: ChildProcessProps) {\n const store = useContext(StoreContext);\n const appState = useStore(store) as AppState;\n const item = appState.processes.find((x) => x.id === id);\n const { state, lines, expanded } = item;\n\n if (expanded) {\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n <Lines lines={lines} />\n </Box>\n );\n }\n // const runs = lines.filter((line) => RUNS.some((run) => line.text[0] === run));\n const runs = [];\n const errors = lines.filter((line) => line.type === LineType.stderr && runs.indexOf(line) < 0);\n const output = lines.filter((line) => line.text.length > 0).pop();\n\n return (\n <Box flexDirection=\"column\">\n <Header item={item} />\n {runs.length > 0 && <Lines lines={runs} />}\n {state === 'running' && output && runs.indexOf(output) < 0 && <Output output={output} />}\n {errors.length > 0 && <Lines lines={errors} />}\n </Box>\n );\n}\n"],"names":["React","useContext","useStore","StoreContext","Box","Text","figures","Spinner","LineType","spinner","interval","frames","_RUNS","cross","tick","concat","ICONS","error","color","success","running","Header","item","group","title","state","icon","marginRight","pointer","Output","output","marginLeft","arrowRight","text","Lines","lines","flexDirection","map","line","index","key","height","type","stderr","ChildProcess","id","store","appState","processes","find","x","expanded","runs","errors","filter","indexOf","length","pop"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-term",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Formats spawn with for terminal grouping",
5
5
  "keywords": [
6
6
  "spawn",