spawn-term 0.0.9 → 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 +30816 -0
- package/assets/intl-adapter.cjs +1083 -0
- package/dist/cjs/components/App.cjs +82 -0
- package/dist/cjs/components/App.cjs.map +1 -0
- package/dist/cjs/components/ChildProcess.cjs +81 -0
- package/dist/cjs/components/ChildProcess.cjs.map +1 -0
- package/dist/cjs/components/Spinner.cjs +118 -0
- package/dist/cjs/components/Spinner.cjs.map +1 -0
- package/dist/cjs/createApp.cjs +86 -0
- package/dist/cjs/createApp.cjs.map +1 -0
- package/dist/cjs/index.cjs.cjs +55 -0
- package/dist/cjs/index.cjs.cjs.map +1 -0
- package/dist/cjs/index.esm.cjs +55 -0
- package/dist/cjs/index.esm.cjs.map +1 -0
- package/dist/cjs/ink.cjs +112 -0
- package/dist/cjs/ink.cjs.map +1 -0
- package/dist/cjs/lib/addLines.cjs +32 -0
- package/dist/cjs/lib/addLines.cjs.map +1 -0
- package/dist/cjs/lib/concatWritable.cjs +25 -0
- package/dist/cjs/lib/concatWritable.cjs.map +1 -0
- package/dist/cjs/lib/figures.cjs +43 -0
- package/dist/cjs/lib/figures.cjs.map +1 -0
- package/dist/cjs/types.cjs +17 -0
- package/dist/cjs/types.cjs.map +1 -0
- package/dist/cjs/worker.cjs +237 -0
- package/dist/cjs/worker.cjs.map +1 -0
- package/dist/esm/components/App.mjs +35 -10
- package/dist/esm/components/App.mjs.map +1 -1
- package/dist/esm/components/ChildProcess.mjs +12 -3
- package/dist/esm/components/ChildProcess.mjs.map +1 -1
- package/dist/esm/components/Spinner.mjs +1 -1
- package/dist/esm/components/Spinner.mjs.map +1 -1
- package/dist/esm/createApp.mjs +34 -6
- package/dist/esm/createApp.mjs.map +1 -1
- package/dist/esm/index.cjs.mjs +14 -0
- package/dist/esm/index.cjs.mjs.map +1 -0
- package/dist/esm/{index.mjs → index.esm.mjs} +5 -2
- package/dist/esm/index.esm.mjs.map +1 -0
- package/dist/esm/ink.mjs +10 -0
- package/dist/esm/ink.mjs.map +1 -0
- package/dist/esm/lib/figures.mjs +13 -2
- package/dist/esm/lib/figures.mjs.map +1 -1
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/worker.mjs +85 -5
- package/dist/esm/worker.mjs.map +1 -1
- package/dist/types/components/App.d.ts +1 -1
- package/dist/types/components/ChildProcess.d.ts +1 -1
- package/dist/types/createApp.d.ts +1 -1
- package/dist/types/index.cjs.d.ts +6 -0
- package/dist/types/index.esm.d.ts +6 -0
- package/dist/types/ink.d.mts +15 -0
- package/dist/types/types.d.ts +1 -1
- package/dist/types/worker.d.ts +1 -1
- package/package.json +16 -15
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/lib/uuid.mjs +0 -16
- package/dist/esm/lib/uuid.mjs.map +0 -1
- package/dist/types/index.d.ts +0 -3
- package/dist/types/lib/uuid.d.ts +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import worker from './worker.mjs';
|
|
2
|
-
|
|
3
|
-
export default function spawnTerminal(command, args, spawnOptions, options, callback) {
|
|
2
|
+
function spawnTerminal(command, args, spawnOptions, options, callback) {
|
|
4
3
|
if (typeof options === 'function') {
|
|
5
4
|
callback = options;
|
|
6
5
|
options = {};
|
|
@@ -9,3 +8,7 @@ export default function spawnTerminal(command, args, spawnOptions, options, call
|
|
|
9
8
|
if (typeof callback === 'function') return worker(command, args, spawnOptions, options, callback);
|
|
10
9
|
return new Promise((resolve, reject)=>worker(command, args, spawnOptions, options, (err, result)=>err ? reject(err) : resolve(result)));
|
|
11
10
|
}
|
|
11
|
+
const major = +process.versions.node.split('.')[0];
|
|
12
|
+
export * from './types.mjs';
|
|
13
|
+
export { default as figures } from './lib/figures.mjs';
|
|
14
|
+
export default major > 10 ? spawnTerminal : undefined;
|
|
@@ -0,0 +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"}
|
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/lib/figures.mjs
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
1
|
+
// From: https://github.com/sindresorhus/is-unicode-supported
|
|
2
|
+
function isUnicodeSupported() {
|
|
3
|
+
const { env } = process;
|
|
4
|
+
const { TERM, TERM_PROGRAM } = env;
|
|
5
|
+
if (process.platform !== 'win32') {
|
|
6
|
+
return TERM !== 'linux'; // Linux console (kernel)
|
|
7
|
+
}
|
|
8
|
+
return Boolean(env.WT_SESSION) || // Windows Terminal
|
|
9
|
+
Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
|
|
10
|
+
env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder
|
|
11
|
+
TERM_PROGRAM === 'Terminus-Sublime' || TERM_PROGRAM === 'vscode' || TERM === 'xterm-256color' || TERM === 'alacritty' || TERM === 'rxvt-unicode' || TERM === 'rxvt-unicode-256color' || env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';
|
|
12
|
+
}
|
|
13
|
+
// From https://github.com/sindresorhus/figures
|
|
3
14
|
const symbols = {
|
|
4
15
|
arrowRight: '→',
|
|
5
16
|
tick: '✔',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/figures.ts"],"sourcesContent":["//
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/figures.ts"],"sourcesContent":["// From: https://github.com/sindresorhus/is-unicode-supported\nfunction isUnicodeSupported() {\n const { env } = process;\n const { TERM, TERM_PROGRAM } = env;\n\n if (process.platform !== 'win32') {\n return TERM !== 'linux'; // Linux console (kernel)\n }\n\n return (\n Boolean(env.WT_SESSION) || // Windows Terminal\n Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)\n env.ConEmuTask === '{cmd::Cmder}' || // ConEmu and cmder\n TERM_PROGRAM === 'Terminus-Sublime' ||\n TERM_PROGRAM === 'vscode' ||\n TERM === 'xterm-256color' ||\n TERM === 'alacritty' ||\n TERM === 'rxvt-unicode' ||\n TERM === 'rxvt-unicode-256color' ||\n env.TERMINAL_EMULATOR === 'JetBrains-JediTerm'\n );\n}\n\n// From https://github.com/sindresorhus/figures\nconst symbols = {\n arrowRight: '→',\n tick: '✔',\n info: 'ℹ',\n warning: '⚠',\n cross: '✖',\n squareSmallFilled: '◼',\n pointer: '❯',\n};\n\nconst fallbackSymbols = {\n arrowRight: '→',\n tick: '√',\n info: 'i',\n warning: '‼',\n cross: '×',\n squareSmallFilled: '■',\n pointer: '>',\n};\n\nexport default isUnicodeSupported() ? symbols : fallbackSymbols;\n"],"names":["isUnicodeSupported","env","process","TERM","TERM_PROGRAM","platform","Boolean","WT_SESSION","TERMINUS_SUBLIME","ConEmuTask","TERMINAL_EMULATOR","symbols","arrowRight","tick","info","warning","cross","squareSmallFilled","pointer","fallbackSymbols"],"mappings":"AAAA,6DAA6D;AAC7D,SAASA;IACP,MAAM,EAAEC,GAAG,EAAE,GAAGC;IAChB,MAAM,EAAEC,IAAI,EAAEC,YAAY,EAAE,GAAGH;IAE/B,IAAIC,QAAQG,QAAQ,KAAK,SAAS;QAChC,OAAOF,SAAS,SAAS,yBAAyB;IACpD;IAEA,OACEG,QAAQL,IAAIM,UAAU,KAAK,mBAAmB;IAC9CD,QAAQL,IAAIO,gBAAgB,KAAK,qBAAqB;IACtDP,IAAIQ,UAAU,KAAK,kBAAkB,mBAAmB;IACxDL,iBAAiB,sBACjBA,iBAAiB,YACjBD,SAAS,oBACTA,SAAS,eACTA,SAAS,kBACTA,SAAS,2BACTF,IAAIS,iBAAiB,KAAK;AAE9B;AAEA,+CAA+C;AAC/C,MAAMC,UAAU;IACdC,YAAY;IACZC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,OAAO;IACPC,mBAAmB;IACnBC,SAAS;AACX;AAEA,MAAMC,kBAAkB;IACtBP,YAAY;IACZC,MAAM;IACNC,MAAM;IACNC,SAAS;IACTC,OAAO;IACPC,mBAAmB;IACnBC,SAAS;AACX;AAEA,eAAelB,uBAAuBW,UAAUQ,gBAAgB"}
|
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"}
|
package/dist/esm/worker.mjs
CHANGED
|
@@ -1,4 +1,83 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
|
+
function _define_property(obj, key, value) {
|
|
3
|
+
if (key in obj) {
|
|
4
|
+
Object.defineProperty(obj, key, {
|
|
5
|
+
value: value,
|
|
6
|
+
enumerable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
writable: true
|
|
9
|
+
});
|
|
10
|
+
} else {
|
|
11
|
+
obj[key] = value;
|
|
12
|
+
}
|
|
13
|
+
return obj;
|
|
14
|
+
}
|
|
15
|
+
function _object_spread(target) {
|
|
16
|
+
for(var i = 1; i < arguments.length; i++){
|
|
17
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
18
|
+
var ownKeys = Object.keys(source);
|
|
19
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
20
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
21
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
ownKeys.forEach(function(key) {
|
|
25
|
+
_define_property(target, key, source[key]);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return target;
|
|
29
|
+
}
|
|
30
|
+
function ownKeys(object, enumerableOnly) {
|
|
31
|
+
var keys = Object.keys(object);
|
|
32
|
+
if (Object.getOwnPropertySymbols) {
|
|
33
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
34
|
+
if (enumerableOnly) {
|
|
35
|
+
symbols = symbols.filter(function(sym) {
|
|
36
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
keys.push.apply(keys, symbols);
|
|
40
|
+
}
|
|
41
|
+
return keys;
|
|
42
|
+
}
|
|
43
|
+
function _object_spread_props(target, source) {
|
|
44
|
+
source = source != null ? source : {};
|
|
45
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
46
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
47
|
+
} else {
|
|
48
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
49
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return target;
|
|
53
|
+
}
|
|
54
|
+
function _object_without_properties(source, excluded) {
|
|
55
|
+
if (source == null) return {};
|
|
56
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
57
|
+
var key, i;
|
|
58
|
+
if (Object.getOwnPropertySymbols) {
|
|
59
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
60
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
61
|
+
key = sourceSymbolKeys[i];
|
|
62
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
63
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
64
|
+
target[key] = source[key];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return target;
|
|
68
|
+
}
|
|
69
|
+
function _object_without_properties_loose(source, excluded) {
|
|
70
|
+
if (source == null) return {};
|
|
71
|
+
var target = {};
|
|
72
|
+
var sourceKeys = Object.keys(source);
|
|
73
|
+
var key, i;
|
|
74
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
75
|
+
key = sourceKeys[i];
|
|
76
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
77
|
+
target[key] = source[key];
|
|
78
|
+
}
|
|
79
|
+
return target;
|
|
80
|
+
}
|
|
2
81
|
import spawn, { crossSpawn } from 'cross-spawn-cb';
|
|
3
82
|
import oo from 'on-one';
|
|
4
83
|
import Queue from 'queue-cb';
|
|
@@ -13,7 +92,10 @@ const rerender = throttle(()=>{
|
|
|
13
92
|
terminal.rerender();
|
|
14
93
|
}, THROTTLE);
|
|
15
94
|
export default function spawnTerminal(command, args, spawnOptions, _options, callback) {
|
|
16
|
-
const { encoding, stdio,
|
|
95
|
+
const { encoding, stdio } = spawnOptions, csOptions = _object_without_properties(spawnOptions, [
|
|
96
|
+
"encoding",
|
|
97
|
+
"stdio"
|
|
98
|
+
]);
|
|
17
99
|
terminal.retain();
|
|
18
100
|
const item = terminal.addItem({
|
|
19
101
|
title: [
|
|
@@ -62,7 +144,6 @@ export default function spawnTerminal(command, args, spawnOptions, _options, cal
|
|
|
62
144
|
});
|
|
63
145
|
rerender();
|
|
64
146
|
});
|
|
65
|
-
cp.stderr.pipe(outputs.stderr);
|
|
66
147
|
} else {
|
|
67
148
|
outputs.stderr = concatWritable((output)=>{
|
|
68
149
|
outputs.stderr.output = output.toString(encoding || 'utf8');
|
|
@@ -75,10 +156,9 @@ export default function spawnTerminal(command, args, spawnOptions, _options, cal
|
|
|
75
156
|
'finish'
|
|
76
157
|
]));
|
|
77
158
|
}
|
|
78
|
-
queue.defer(spawn.worker.bind(null, cp, {
|
|
79
|
-
...csOptions,
|
|
159
|
+
queue.defer(spawn.worker.bind(null, cp, _object_spread_props(_object_spread({}, csOptions), {
|
|
80
160
|
encoding: 'utf8'
|
|
81
|
-
}));
|
|
161
|
+
})));
|
|
82
162
|
queue.await((err)=>{
|
|
83
163
|
if (cp.stdout && process.stdout.getMaxListeners) {
|
|
84
164
|
process.stdout.setMaxListeners(process.stdout.getMaxListeners() - 1);
|
package/dist/esm/worker.mjs.map
CHANGED
|
@@ -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 oo from 'on-one';\nimport Queue from 'queue-cb';\n\nimport createApp from './createApp
|
|
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 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\nimport throttle from 'lodash.throttle';\nconst THROTTLE = 100;\nconst rerender = throttle(() => {\n terminal.rerender();\n}, THROTTLE);\n\nexport default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, _options: TerminalOptions, callback) {\n const { encoding, stdio, ...csOptions } = spawnOptions;\n\n terminal.retain();\n const item = terminal.addItem({ title: [command].concat(args).join(' '), state: 'running' });\n terminal.rerender();\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((text) => {\n item.lines.push({ type: LineType.stdout, text });\n rerender();\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((text) => {\n item.lines.push({ type: LineType.stderr, text });\n rerender();\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 item.state = err ? 'error' : 'success';\n terminal.rerender();\n terminal.release();\n err ? callback(err) : callback(null, res);\n });\n}\n"],"names":["spawn","crossSpawn","oo","Queue","createApp","addLines","concatWritable","LineType","terminal","throttle","THROTTLE","rerender","spawnTerminal","command","args","spawnOptions","_options","callback","encoding","stdio","csOptions","retain","item","addItem","title","concat","join","state","cp","outputs","stdout","stderr","process","getMaxListeners","setMaxListeners","queue","text","lines","push","type","output","toString","defer","bind","pipe","worker","await","err","res","release"],"mappings":"AAAA,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACb,OAAOA,SAASC,UAAU,QAA0B,iBAAiB;AACrE,OAAOC,QAAQ,SAAS;AACxB,OAAOC,WAAW,WAAW;AAE7B,OAAOC,eAAe,cAAc;AACpC,OAAOC,cAAc,iBAAiB;AACtC,OAAOC,oBAAoB,uBAAuB;AAGlD,SAASC,QAAQ,QAAQ,UAAU;AAEnC,MAAMC,WAAWJ;AAEjB,OAAOK,cAAc,kBAAkB;AACvC,MAAMC,WAAW;AACjB,MAAMC,WAAWF,SAAS;IACxBD,SAASG,QAAQ;AACnB,GAAGD;AAEH,eAAe,SAASE,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,QAAyB,EAAEC,QAAQ;IACpI,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAgB,GAAGJ,cAAdK,uCAAcL;QAAlCG;QAAUC;;IAElBX,SAASa,MAAM;IACf,MAAMC,OAAOd,SAASe,OAAO,CAAC;QAAEC,OAAO;YAACX;SAAQ,CAACY,MAAM,CAACX,MAAMY,IAAI,CAAC;QAAMC,OAAO;IAAU;IAC1FnB,SAASG,QAAQ;IAEjB,MAAMiB,KAAK3B,WAAWY,SAASC,MAAMM;IACrC,MAAMS,UAAU;QAAEC,QAAQ;QAAMC,QAAQ;IAAK;IAE7C,IAAIH,GAAGE,MAAM,IAAIE,QAAQF,MAAM,CAACG,eAAe,EAAE;QAC/CD,QAAQF,MAAM,CAACI,eAAe,CAACF,QAAQF,MAAM,CAACG,eAAe,KAAK;QAClED,QAAQD,MAAM,CAACG,eAAe,CAACF,QAAQD,MAAM,CAACE,eAAe,KAAK;IACpE;IAEA,MAAME,QAAQ,IAAIhC;IAClB,IAAIyB,GAAGE,MAAM,EAAE;QACb,IAAIX,UAAU,WAAW;YACvBU,QAAQC,MAAM,GAAGzB,SAAS,CAAC+B;gBACzBd,KAAKe,KAAK,CAACC,IAAI,CAAC;oBAAEC,MAAMhC,SAASuB,MAAM;oBAAEM;gBAAK;gBAC9CzB;YACF;QACF,OAAO;YACLkB,QAAQC,MAAM,GAAGxB,eAAe,CAACkC;gBAC/BX,QAAQC,MAAM,CAACU,MAAM,GAAGA,OAAOC,QAAQ,CAACvB,YAAY;YACtD;QACF;QACAiB,MAAMO,KAAK,CAACxC,GAAGyC,IAAI,CAAC,MAAMf,GAAGE,MAAM,CAACc,IAAI,CAACf,QAAQC,MAAM,GAAG;YAAC;YAAS;YAAO;YAAS;SAAS;IAC/F;IACA,IAAIF,GAAGG,MAAM,EAAE;QACb,IAAIZ,UAAU,WAAW;YACvBU,QAAQE,MAAM,GAAG1B,SAAS,CAAC+B;gBACzBd,KAAKe,KAAK,CAACC,IAAI,CAAC;oBAAEC,MAAMhC,SAASwB,MAAM;oBAAEK;gBAAK;gBAC9CzB;YACF;QACF,OAAO;YACLkB,QAAQE,MAAM,GAAGzB,eAAe,CAACkC;gBAC/BX,QAAQE,MAAM,CAACS,MAAM,GAAGA,OAAOC,QAAQ,CAACvB,YAAY;YACtD;QACF;QACAiB,MAAMO,KAAK,CAACxC,GAAGyC,IAAI,CAAC,MAAMf,GAAGG,MAAM,CAACa,IAAI,CAACf,QAAQE,MAAM,GAAG;YAAC;YAAS;YAAO;YAAS;SAAS;IAC/F;IACAI,MAAMO,KAAK,CAAC1C,MAAM6C,MAAM,CAACF,IAAI,CAAC,MAAMf,IAAI,wCAAKR;QAAWF,UAAU;;IAClEiB,MAAMW,KAAK,CAAC,CAACC;QACX,IAAInB,GAAGE,MAAM,IAAIE,QAAQF,MAAM,CAACG,eAAe,EAAE;YAC/CD,QAAQF,MAAM,CAACI,eAAe,CAACF,QAAQF,MAAM,CAACG,eAAe,KAAK;YAClED,QAAQD,MAAM,CAACG,eAAe,CAACF,QAAQD,MAAM,CAACE,eAAe,KAAK;QACpE;QAEA,MAAMe,MAAOD,MAAMA,MAAM,CAAC;QAC1BC,IAAIlB,MAAM,GAAGD,QAAQC,MAAM,GAAGD,QAAQC,MAAM,CAACU,MAAM,GAAG;QACtDQ,IAAIjB,MAAM,GAAGF,QAAQE,MAAM,GAAGF,QAAQE,MAAM,CAACS,MAAM,GAAG;QACtDQ,IAAIR,MAAM,GAAG;YAACQ,IAAIlB,MAAM;YAAEkB,IAAIjB,MAAM;YAAE;SAAK;QAC3CT,KAAKK,KAAK,GAAGoB,MAAM,UAAU;QAC7BvC,SAASG,QAAQ;QACjBH,SAASyC,OAAO;QAChBF,MAAM9B,SAAS8B,OAAO9B,SAAS,MAAM+B;IACvC;AACF"}
|
|
@@ -0,0 +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;
|
|
3
|
+
export * from './types';
|
|
4
|
+
export { default as figures } from './lib/figures';
|
|
5
|
+
declare const _default: typeof spawnTerminal;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +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): void | Promise<unknown>;
|
|
3
|
+
export * from './types';
|
|
4
|
+
export { default as figures } from './lib/figures';
|
|
5
|
+
declare const _default: typeof spawnTerminal;
|
|
6
|
+
export default _default;
|
|
@@ -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/dist/types/worker.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { SpawnOptions, TerminalOptions } from './types
|
|
1
|
+
import type { SpawnOptions, TerminalOptions } from './types';
|
|
2
2
|
export default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, _options: TerminalOptions, callback: any): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spawn-term",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Formats spawn with for terminal grouping",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"spawn",
|
|
@@ -20,13 +20,16 @@
|
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"type": "module",
|
|
22
22
|
"exports": {
|
|
23
|
-
"import": "./dist/esm/index.mjs",
|
|
24
|
-
"
|
|
23
|
+
"import": "./dist/esm/index.esm.mjs",
|
|
24
|
+
"require": "./dist/cjs/index.cjs.cjs",
|
|
25
|
+
"types": "./dist/types/index.esm.d.ts"
|
|
25
26
|
},
|
|
26
|
-
"
|
|
27
|
-
"
|
|
27
|
+
"main": "dist/cjs/index.cjs.cjs",
|
|
28
|
+
"module": "dist/esm/index.esm.mjs",
|
|
29
|
+
"types": "dist/types/index.esm.d.ts",
|
|
28
30
|
"files": [
|
|
29
|
-
"dist"
|
|
31
|
+
"dist",
|
|
32
|
+
"assets"
|
|
30
33
|
],
|
|
31
34
|
"scripts": {
|
|
32
35
|
"build": "tsds build",
|
|
@@ -36,14 +39,15 @@
|
|
|
36
39
|
"version": "tsds version"
|
|
37
40
|
},
|
|
38
41
|
"dependencies": {
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
+
"core-js": "^3.40.0",
|
|
43
|
+
"cross-spawn-cb": "^2.1.22",
|
|
44
|
+
"lil-uuid": "^0.1.1",
|
|
42
45
|
"lodash.throttle": "^4.1.1",
|
|
43
46
|
"on-one": "^0.1.4",
|
|
44
47
|
"queue-cb": "^1.4.16",
|
|
45
48
|
"react": "^18.3.1",
|
|
46
|
-
"readable-stream": "^2.3.8"
|
|
49
|
+
"readable-stream": "^2.3.8",
|
|
50
|
+
"yoga-wasm-web": "^0.3.3"
|
|
47
51
|
},
|
|
48
52
|
"devDependencies": {
|
|
49
53
|
"@types/mocha": "*",
|
|
@@ -54,12 +58,9 @@
|
|
|
54
58
|
"pinkie-promise": "*"
|
|
55
59
|
},
|
|
56
60
|
"engines": {
|
|
57
|
-
"node": ">=
|
|
61
|
+
"node": ">=0.8"
|
|
58
62
|
},
|
|
59
63
|
"tsds": {
|
|
60
|
-
"source": "src/index.ts"
|
|
61
|
-
"targets": [
|
|
62
|
-
"esm"
|
|
63
|
-
]
|
|
64
|
+
"source": "src/index.esm.ts"
|
|
64
65
|
}
|
|
65
66
|
}
|
package/dist/esm/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/index.ts"],"sourcesContent":["import worker from './worker.js';\n\nimport type { SpawnCallback, SpawnOptions, TerminalOptions } from './types.js';\n\nexport * from './types.js';\nexport default function 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"],"names":["worker","spawnTerminal","command","args","spawnOptions","options","callback","Promise","resolve","reject","err","result"],"mappings":"AAAA,OAAOA,YAAY,cAAc;AAIjC,cAAc,aAAa;AAC3B,eAAe,SAASC,cAAcC,OAAe,EAAEC,IAAc,EAAEC,YAA0B,EAAEC,OAAyC,EAAEC,QAAwB;IACpK,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"}
|
package/dist/esm/lib/uuid.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// https://stackoverflow.com/a/8809472/3150390
|
|
2
|
-
export default function uuid() {
|
|
3
|
-
let d = new Date().getTime();
|
|
4
|
-
let d2 = typeof performance !== 'undefined' && performance.now && performance.now() * 1000 || 0;
|
|
5
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c)=>{
|
|
6
|
-
let r = Math.random() * 16;
|
|
7
|
-
if (d > 0) {
|
|
8
|
-
r = (d + r) % 16 | 0;
|
|
9
|
-
d = Math.floor(d / 16);
|
|
10
|
-
} else {
|
|
11
|
-
r = (d2 + r) % 16 | 0;
|
|
12
|
-
d2 = Math.floor(d2 / 16);
|
|
13
|
-
}
|
|
14
|
-
return (c === 'x' ? r : r & 0x7 | 0x8).toString(16);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/lib/uuid.ts"],"sourcesContent":["// https://stackoverflow.com/a/8809472/3150390\nexport default function uuid() {\n let d = new Date().getTime();\n let d2 = (typeof performance !== 'undefined' && performance.now && performance.now() * 1000) || 0;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n let r = Math.random() * 16;\n if (d > 0) {\n r = ((d + r) % 16) | 0;\n d = Math.floor(d / 16);\n } else {\n r = ((d2 + r) % 16) | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16);\n });\n}\n"],"names":["uuid","d","Date","getTime","d2","performance","now","replace","c","r","Math","random","floor","toString"],"mappings":"AAAA,8CAA8C;AAC9C,eAAe,SAASA;IACtB,IAAIC,IAAI,IAAIC,OAAOC,OAAO;IAC1B,IAAIC,KAAK,AAAC,OAAOC,gBAAgB,eAAeA,YAAYC,GAAG,IAAID,YAAYC,GAAG,KAAK,QAAS;IAChG,OAAO,uCAAuCC,OAAO,CAAC,SAAS,CAACC;QAC9D,IAAIC,IAAIC,KAAKC,MAAM,KAAK;QACxB,IAAIV,IAAI,GAAG;YACTQ,IAAI,AAAER,CAAAA,IAAIQ,CAAAA,IAAK,KAAM;YACrBR,IAAIS,KAAKE,KAAK,CAACX,IAAI;QACrB,OAAO;YACLQ,IAAI,AAAEL,CAAAA,KAAKK,CAAAA,IAAK,KAAM;YACtBL,KAAKM,KAAKE,KAAK,CAACR,KAAK;QACvB;QACA,OAAO,AAACI,CAAAA,MAAM,MAAMC,IAAI,AAACA,IAAI,MAAO,GAAE,EAAGI,QAAQ,CAAC;IACpD;AACF"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { SpawnCallback, SpawnOptions, TerminalOptions } from './types.js';
|
|
2
|
-
export * from './types.js';
|
|
3
|
-
export default function spawnTerminal(command: string, args: string[], spawnOptions: SpawnOptions, options?: TerminalOptions | SpawnCallback, callback?: SpawnCallback): void | Promise<unknown>;
|
package/dist/types/lib/uuid.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function uuid(): string;
|