spawn-term 0.1.0 → 0.1.1
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/assets/ink.cjs +30 -43
- package/assets/intl-adapter.cjs +1083 -0
- package/dist/cjs/components/App.cjs +4 -46
- package/dist/cjs/components/App.cjs.map +1 -1
- package/dist/cjs/components/ChildProcess.cjs +12 -54
- package/dist/cjs/components/ChildProcess.cjs.map +1 -1
- package/dist/cjs/components/Spinner.cjs +2 -3
- package/dist/cjs/components/Spinner.cjs.map +1 -1
- package/dist/cjs/createApp.cjs +4 -46
- package/dist/cjs/createApp.cjs.map +1 -1
- package/dist/cjs/index.cjs.cjs +16 -1
- package/dist/cjs/index.cjs.cjs.map +1 -1
- package/dist/cjs/index.esm.cjs +0 -2
- package/dist/cjs/index.esm.cjs.map +1 -1
- package/dist/cjs/ink.cjs +112 -0
- package/dist/cjs/ink.cjs.map +1 -0
- package/dist/cjs/types.cjs.map +1 -1
- package/dist/esm/components/App.mjs +1 -3
- package/dist/esm/components/App.mjs.map +1 -1
- package/dist/esm/components/ChildProcess.mjs +1 -3
- package/dist/esm/components/ChildProcess.mjs.map +1 -1
- package/dist/esm/components/Spinner.mjs +1 -3
- package/dist/esm/components/Spinner.mjs.map +1 -1
- package/dist/esm/createApp.mjs +3 -4
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/index.cjs.mjs +12 -1
- package/dist/esm/index.cjs.mjs.map +1 -1
- package/dist/esm/index.esm.mjs +0 -2
- package/dist/esm/index.esm.mjs.map +1 -1
- package/dist/esm/ink.mjs +10 -0
- package/dist/esm/ink.mjs.map +1 -0
- package/dist/esm/types.mjs.map +1 -1
- package/dist/types/index.cjs.d.ts +4 -1
- package/dist/types/index.esm.d.ts +0 -2
- package/dist/types/ink.d.mts +15 -0
- package/dist/types/types.d.ts +1 -1
- package/package.json +3 -3
- package/assets/devtools.mjs +0 -4852
- package/assets/index.js +0 -10
- package/dist/cjs/lib/uuid.cjs +0 -27
- package/dist/cjs/lib/uuid.cjs.map +0 -1
- package/dist/esm/lib/uuid.mjs +0 -16
- package/dist/esm/lib/uuid.mjs.map +0 -1
- package/dist/types/lib/uuid.d.ts +0 -1
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
import * as ink from '../../../assets/ink.cjs';
|
|
4
|
-
const { Text } = ink.default || ink;
|
|
2
|
+
import { Text } from '../ink.mjs';
|
|
5
3
|
export default function Spinner({ interval, frames }) {
|
|
6
4
|
const [index, setIndex] = useState(0);
|
|
7
5
|
useEffect(()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/components/Spinner.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Text } from '../ink.mjs';\n\nexport type SpinnerProps = {\n interval: number;\n frames: string[];\n};\n\nexport default function Spinner({ interval, frames }: SpinnerProps) {\n const [index, setIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setIndex((index) => (index === frames.length - 1 ? 0 : index + 1));\n }, interval);\n return () => {\n clearInterval(timer);\n };\n }, [interval, frames]);\n\n return <Text>{frames[index]}</Text>;\n}\n"],"names":["React","useState","useEffect","Text","Spinner","interval","frames","index","setIndex","timer","setInterval","length","clearInterval"],"mappings":"AAAA,OAAOA,SAASC,QAAQ,EAAEC,SAAS,QAAQ,QAAQ;AACnD,SAASC,IAAI,QAAQ,aAAa;AAOlC,eAAe,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAgB;IAChE,MAAM,CAACC,OAAOC,SAAS,GAAGP,SAAS;IAEnCC,UAAU;QACR,MAAMO,QAAQC,YAAY;YACxBF,SAAS,CAACD,QAAWA,UAAUD,OAAOK,MAAM,GAAG,IAAI,IAAIJ,QAAQ;QACjE,GAAGF;QACH,OAAO;YACLO,cAAcH;QAChB;IACF,GAAG;QAACJ;QAAUC;KAAO;IAErB,qBAAO,oBAACH,YAAMG,MAAM,CAACC,MAAM;AAC7B"}
|
package/dist/esm/createApp.mjs
CHANGED
|
@@ -26,12 +26,11 @@ function _object_spread(target) {
|
|
|
26
26
|
}
|
|
27
27
|
return target;
|
|
28
28
|
}
|
|
29
|
+
import uuid from 'lil-uuid';
|
|
29
30
|
import React from 'react';
|
|
30
|
-
// @ts-ignore
|
|
31
|
-
import * as ink from '../../assets/ink.cjs';
|
|
32
31
|
import App from './components/App.mjs';
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
import { render } from './ink.mjs';
|
|
35
34
|
export default function createApp() {
|
|
36
35
|
let refCount = 0;
|
|
37
36
|
let list = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import uuid from 'lil-uuid';\nimport React from 'react';\nimport App from './components/App';\n// @ts-ignore\nimport { type Instance, render } from './ink.mjs';\nimport type { ChildProcess } from './types';\n\nexport default function createApp() {\n let refCount = 0;\n let list: ChildProcess[] | null = null;\n let inkApp: Instance | null = null;\n\n return {\n addItem(data: Partial<ChildProcess>) {\n if (!list) throw new Error('Expecting list');\n const item = { id: uuid(), title: '', state: 'pending', lines: [], ...data } as ChildProcess;\n list.push(item);\n return item;\n },\n rerender() {\n if (inkApp) inkApp.rerender(<App list={list} />);\n },\n retain() {\n if (++refCount > 1) return;\n if (inkApp) throw new Error('Not expecting app');\n list = [];\n inkApp = render(<App list={list} />);\n },\n release() {\n if (--refCount > 0) return;\n if (!inkApp) throw new Error('Expecting app');\n inkApp.unmount();\n inkApp = null;\n list = null;\n },\n };\n}\n"],"names":["uuid","React","App","render","createApp","refCount","list","inkApp","addItem","data","Error","item","id","title","state","lines","push","rerender","retain","release","unmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,UAAU,WAAW;AAC5B,OAAOC,WAAW,QAAQ;AAC1B,OAAOC,SAAS,mBAAmB;AACnC,aAAa;AACb,SAAwBC,MAAM,QAAQ,YAAY;AAGlD,eAAe,SAASC;IACtB,IAAIC,WAAW;IACf,IAAIC,OAA8B;IAClC,IAAIC,SAA0B;IAE9B,OAAO;QACLC,SAAQC,IAA2B;YACjC,IAAI,CAACH,MAAM,MAAM,IAAII,MAAM;YAC3B,MAAMC,OAAO;gBAAEC,IAAIZ;gBAAQa,OAAO;gBAAIC,OAAO;gBAAWC,OAAO,EAAE;eAAKN;YACtEH,KAAKU,IAAI,CAACL;YACV,OAAOA;QACT;QACAM;YACE,IAAIV,QAAQA,OAAOU,QAAQ,eAAC,oBAACf;gBAAII,MAAMA;;QACzC;QACAY;YACE,IAAI,EAAEb,WAAW,GAAG;YACpB,IAAIE,QAAQ,MAAM,IAAIG,MAAM;YAC5BJ,OAAO,EAAE;YACTC,SAASJ,qBAAO,oBAACD;gBAAII,MAAMA;;QAC7B;QACAa;YACE,IAAI,EAAEd,WAAW,GAAG;YACpB,IAAI,CAACE,QAAQ,MAAM,IAAIG,MAAM;YAC7BH,OAAOa,OAAO;YACdb,SAAS;YACTD,OAAO;QACT;IACF;AACF"}
|
package/dist/esm/index.cjs.mjs
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
function spawnTerminal(command, args, spawnOptions, options, callback) {
|
|
2
|
+
const worker = require('./worker.cjs');
|
|
3
|
+
if (typeof options === 'function') {
|
|
4
|
+
callback = options;
|
|
5
|
+
options = {};
|
|
6
|
+
}
|
|
7
|
+
options = options || {};
|
|
8
|
+
if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);
|
|
9
|
+
return new Promise((resolve, reject)=>worker(command, args, spawnOptions, options, (err, result)=>err ? reject(err) : resolve(result)));
|
|
10
|
+
}
|
|
11
|
+
const major = +process.versions.node.split('.')[0];
|
|
1
12
|
export * from './types.mjs';
|
|
2
13
|
export { default as figures } from './lib/figures.mjs';
|
|
3
|
-
export default undefined;
|
|
14
|
+
export default major > 10 ? spawnTerminal : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.cjs.ts"],"sourcesContent":["
|
|
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"}
|
package/dist/esm/index.esm.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.esm.ts"],"sourcesContent":["import
|
|
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"}
|
package/dist/esm/ink.mjs
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import 'core-js/actual/array/at.js';
|
|
2
|
+
import 'core-js/actual/object/has-own.js';
|
|
3
|
+
import 'core-js/actual/object/values.js';
|
|
4
|
+
import 'core-js/actual/string/replace-all.js';
|
|
5
|
+
import 'core-js/actual/string/trim-end.js';
|
|
6
|
+
if (typeof process.stdout.off === 'undefined') process.stdout.off = (name, fn)=>process.stdout.removeListener(name, fn);
|
|
7
|
+
if (typeof process.stderr.off === 'undefined') process.stderr.off = (name, fn)=>process.stderr.removeListener(name, fn);
|
|
8
|
+
import * as ink from '../../assets/ink.cjs';
|
|
9
|
+
const { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout } = ink.default || ink;
|
|
10
|
+
export { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/ink.mjs"],"sourcesContent":["import 'core-js/actual/array/at.js';\nimport 'core-js/actual/object/has-own.js';\nimport 'core-js/actual/object/values.js';\nimport 'core-js/actual/string/replace-all.js';\nimport 'core-js/actual/string/trim-end.js';\nif (typeof process.stdout.off === 'undefined') process.stdout.off = (name, fn) => process.stdout.removeListener(name, fn);\nif (typeof process.stderr.off === 'undefined') process.stderr.off = (name, fn) => process.stderr.removeListener(name, fn);\n\nimport * as ink from '../../assets/ink.cjs';\nconst { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout } = ink.default || ink;\nexport { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout };\n"],"names":["process","stdout","off","name","fn","removeListener","stderr","ink","Box","Newline","Spacer","Static","Text","Transform","measureElement","render","useApp","useFocus","useFocusManager","useInput","useStderr","useStdin","useStdout","default"],"mappings":"AAAA,OAAO,6BAA6B;AACpC,OAAO,mCAAmC;AAC1C,OAAO,kCAAkC;AACzC,OAAO,uCAAuC;AAC9C,OAAO,oCAAoC;AAC3C,IAAI,OAAOA,QAAQC,MAAM,CAACC,GAAG,KAAK,aAAaF,QAAQC,MAAM,CAACC,GAAG,GAAG,CAACC,MAAMC,KAAOJ,QAAQC,MAAM,CAACI,cAAc,CAACF,MAAMC;AACtH,IAAI,OAAOJ,QAAQM,MAAM,CAACJ,GAAG,KAAK,aAAaF,QAAQM,MAAM,CAACJ,GAAG,GAAG,CAACC,MAAMC,KAAOJ,QAAQM,MAAM,CAACD,cAAc,CAACF,MAAMC;AAEtH,YAAYG,SAAS,uBAAuB;AAC5C,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,cAAc,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAE,GAAGf,IAAIgB,OAAO,IAAIhB;AAC9K,SAASC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,cAAc,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,SAAS,GAAG"}
|
package/dist/esm/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/types.ts"],"sourcesContent":["// @ts-ignore\nexport type { SpawnOptions, SpawnCallback, SpawnResult } from 'cross-spawn-cb';\n\nexport type TerminalOptions = {\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/types.ts"],"sourcesContent":["// @ts-ignore\nexport type { SpawnOptions, SpawnCallback, SpawnResult } from 'cross-spawn-cb';\n\nexport type TerminalOptions = {\n group?: string;\n};\n\nexport enum LineType {\n stdout = 1,\n stderr = 2,\n}\nexport type Line = {\n type: LineType;\n text: string;\n};\n\nexport type State = 'running' | 'error' | 'success';\nexport type ChildProcess = {\n id: string;\n title: string;\n state: State;\n lines: Line[];\n};\n"],"names":["LineType"],"mappings":"AAAA,aAAa;AAOb,OAAO,IAAA,AAAKA,kCAAAA;;;WAAAA;MAGX"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';
|
|
2
|
+
declare function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback): any;
|
|
1
3
|
export * from './types';
|
|
2
4
|
export { default as figures } from './lib/figures';
|
|
3
|
-
|
|
5
|
+
declare const _default: typeof spawnTerminal;
|
|
6
|
+
export default _default;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import 'core-js/actual/array/at.js';
|
|
2
|
-
import 'core-js/actual/object/has-own.js';
|
|
3
1
|
import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types';
|
|
4
2
|
declare function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback): void | Promise<unknown>;
|
|
5
3
|
export * from './types';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const Box: any;
|
|
2
|
+
export const Newline: any;
|
|
3
|
+
export const Spacer: any;
|
|
4
|
+
export const Static: any;
|
|
5
|
+
export const Text: any;
|
|
6
|
+
export const Transform: any;
|
|
7
|
+
export const measureElement: any;
|
|
8
|
+
export const render: any;
|
|
9
|
+
export const useApp: any;
|
|
10
|
+
export const useFocus: any;
|
|
11
|
+
export const useFocusManager: any;
|
|
12
|
+
export const useInput: any;
|
|
13
|
+
export const useStderr: any;
|
|
14
|
+
export const useStdin: any;
|
|
15
|
+
export const useStdout: any;
|
package/dist/types/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spawn-term",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Formats spawn with for terminal grouping",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"spawn",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"core-js": "^3.40.0",
|
|
43
|
-
"cross-spawn-cb": "^2.1.
|
|
43
|
+
"cross-spawn-cb": "^2.1.22",
|
|
44
|
+
"lil-uuid": "^0.1.1",
|
|
44
45
|
"lodash.throttle": "^4.1.1",
|
|
45
46
|
"on-one": "^0.1.4",
|
|
46
47
|
"queue-cb": "^1.4.16",
|
|
47
48
|
"react": "^18.3.1",
|
|
48
49
|
"readable-stream": "^2.3.8",
|
|
49
|
-
"unicode-segmenter": "^0.11.3",
|
|
50
50
|
"yoga-wasm-web": "^0.3.3"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|