spawn-term 0.1.4 → 0.1.5

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 CHANGED
@@ -2,6 +2,17 @@
2
2
 
3
3
  var IntlSegmenter = typeof Intl === 'undefined' || !Intl.Segmenter ? require('./intl-adapter.cjs').Segmenter : Intl.Segmenter;
4
4
  var globalThis = global;
5
+
6
+ var _waiting = [];
7
+ var _isReady = false;
8
+ function _notifyInitialized() {
9
+ _isReady = true;
10
+ _waiting.slice(0).forEach(function (fn) { fn(); })
11
+ }
12
+ exports.initialize = function _initialize(fn) {
13
+ _isReady ? fn() : _waiting.push(fn);
14
+ return;
15
+ }
5
16
  "use strict";
6
17
  Object.defineProperty(exports, "__esModule", {
7
18
  value: true
@@ -2206,6 +2217,7 @@ function _initYoga() {
2206
2217
  var Yoga = null;
2207
2218
  initYoga(require('fs').readFileSync(require.resolve("yoga-wasm-web/dist/yoga.wasm"))).then(function(_Y) {
2208
2219
  Yoga = _Y;
2220
+ _notifyInitialized();
2209
2221
  });
2210
2222
  var reactReconciler = {
2211
2223
  exports: {}
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _react = /*#__PURE__*/ _interop_require_default(require("react"));
12
- var _resolveoncecb = /*#__PURE__*/ _interop_require_default(require("resolve-once-cb"));
13
12
  var _zustand = require("zustand");
14
13
  var _App = /*#__PURE__*/ _interop_require_default(require("./components/App.cjs"));
15
14
  var _Store = /*#__PURE__*/ _interop_require_default(require("./contexts/Store.cjs"));
@@ -44,19 +43,13 @@ function _unsupported_iterable_to_array(o, minLen) {
44
43
  if (n === "Map" || n === "Set") return Array.from(n);
45
44
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
46
45
  }
47
- var initialize = (0, _resolveoncecb.default)(function(cb) {
48
- return setTimeout(function() {
49
- return cb();
50
- }, 0);
51
- });
52
46
  function createApp() {
53
47
  var refCount = 0;
54
48
  var store = null;
55
49
  var inkApp = null;
56
- var _waiting = [];
57
50
  return {
58
51
  retain: function retain(fn) {
59
- initialize(function() {
52
+ (0, _ink.initialize)(function() {
60
53
  if (++refCount > 1) return fn(store);
61
54
  if (store) throw new Error('Not expecting store');
62
55
  store = (0, _zustand.createStore)()(function(set) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import React from 'react';\nimport resolveOnce from 'resolve-once-cb';\nimport { createStore } from 'zustand';\nimport App from './components/App';\nimport StoreContext from './contexts/Store';\n\n// @ts-ignore\nimport { type Instance, render } from './ink.mjs';\nimport type { AppState } from './types';\n\nconst initialize = resolveOnce((cb) => setTimeout(() => cb(), 0));\n\nexport default function createApp() {\n let refCount = 0;\n let store = null;\n let inkApp: Instance | null = null;\n const _waiting = [];\n\n return {\n retain(fn) {\n initialize(() => {\n if (++refCount > 1) return fn(store);\n if (store) throw new Error('Not expecting store');\n store = createStore<AppState>()((set) => ({\n processes: [],\n addProcess: (process) => set((state) => ({ processes: [...state.processes, process] })),\n updateProcess: (process) => set((state) => ({ processes: state.processes.map((x) => (x.id === process.id ? process : x)) })),\n }));\n inkApp = render(\n <StoreContext.Provider value={store}>\n <App />\n </StoreContext.Provider>,\n { patchConsole: false }\n );\n return fn(store);\n });\n },\n release() {\n if (--refCount > 0) return;\n if (!store) throw new Error('Expecting store');\n store = null;\n inkApp.unmount();\n inkApp = null;\n process.stdout.write('\\x1b[?25h'); // show cursor\n },\n };\n}\n"],"names":["createApp","initialize","resolveOnce","cb","setTimeout","refCount","store","inkApp","_waiting","retain","fn","Error","createStore","set","processes","addProcess","process","state","updateProcess","map","x","id","render","StoreContext","Provider","value","App","patchConsole","release","unmount","stdout","write"],"mappings":";;;;+BAYA;;;eAAwBA;;;4DAZN;oEACM;uBACI;0DACZ;4DACS;mBAGa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGtC,IAAMC,aAAaC,IAAAA,sBAAW,EAAC,SAACC;WAAOC,WAAW;eAAMD;OAAM;;AAE/C,SAASH;IACtB,IAAIK,WAAW;IACf,IAAIC,QAAQ;IACZ,IAAIC,SAA0B;IAC9B,IAAMC,WAAW,EAAE;IAEnB,OAAO;QACLC,QAAAA,SAAAA,OAAOC,EAAE;YACPT,WAAW;gBACT,IAAI,EAAEI,WAAW,GAAG,OAAOK,GAAGJ;gBAC9B,IAAIA,OAAO,MAAM,IAAIK,MAAM;gBAC3BL,QAAQM,IAAAA,oBAAW,IAAa,SAACC;2BAAS;wBACxCC,WAAW,EAAE;wBACbC,YAAY,SAACC;mCAAYH,IAAI,SAACI;uCAAW;oCAAEH,WAAW,AAAC,qBAAGG,MAAMH,SAAS,SAAnB;wCAAqBE;qCAAQ;gCAAC;;;wBACpFE,eAAe,SAACF;mCAAYH,IAAI,SAACI;uCAAW;oCAAEH,WAAWG,MAAMH,SAAS,CAACK,GAAG,CAAC,SAACC;+CAAOA,EAAEC,EAAE,KAAKL,SAAQK,EAAE,GAAGL,WAAUI;;gCAAI;;;oBAC3H;;gBACAb,SAASe,IAAAA,WAAM,gBACb,6BAACC,cAAY,CAACC,QAAQ;oBAACC,OAAOnB;iCAC5B,6BAACoB,YAAG,UAEN;oBAAEC,cAAc;gBAAM;gBAExB,OAAOjB,GAAGJ;YACZ;QACF;QACAsB,SAAAA,SAAAA;YACE,IAAI,EAAEvB,WAAW,GAAG;YACpB,IAAI,CAACC,OAAO,MAAM,IAAIK,MAAM;YAC5BL,QAAQ;YACRC,OAAOsB,OAAO;YACdtB,SAAS;YACTS,QAAQc,MAAM,CAACC,KAAK,CAAC,cAAc,cAAc;QACnD;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import React from 'react';\nimport { createStore } from 'zustand';\nimport App from './components/App';\nimport StoreContext from './contexts/Store';\n\n// @ts-ignore\nimport { type Instance, initialize, render } from './ink.mjs';\nimport type { AppState } from './types';\n\nexport default function createApp() {\n let refCount = 0;\n let store = null;\n let inkApp: Instance | null = null;\n\n return {\n retain(fn) {\n initialize(() => {\n if (++refCount > 1) return fn(store);\n if (store) throw new Error('Not expecting store');\n store = createStore<AppState>()((set) => ({\n processes: [],\n addProcess: (process) => set((state) => ({ processes: [...state.processes, process] })),\n updateProcess: (process) => set((state) => ({ processes: state.processes.map((x) => (x.id === process.id ? process : x)) })),\n }));\n inkApp = render(\n <StoreContext.Provider value={store}>\n <App />\n </StoreContext.Provider>,\n { patchConsole: false }\n );\n return fn(store);\n });\n },\n release() {\n if (--refCount > 0) return;\n if (!store) throw new Error('Expecting store');\n store = null;\n inkApp.unmount();\n inkApp = null;\n process.stdout.write('\\x1b[?25h'); // show cursor\n },\n };\n}\n"],"names":["createApp","refCount","store","inkApp","retain","fn","initialize","Error","createStore","set","processes","addProcess","process","state","updateProcess","map","x","id","render","StoreContext","Provider","value","App","patchConsole","release","unmount","stdout","write"],"mappings":";;;;+BASA;;;eAAwBA;;;4DATN;uBACU;0DACZ;4DACS;mBAGyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGnC,SAASA;IACtB,IAAIC,WAAW;IACf,IAAIC,QAAQ;IACZ,IAAIC,SAA0B;IAE9B,OAAO;QACLC,QAAAA,SAAAA,OAAOC,EAAE;YACPC,IAAAA,eAAU,EAAC;gBACT,IAAI,EAAEL,WAAW,GAAG,OAAOI,GAAGH;gBAC9B,IAAIA,OAAO,MAAM,IAAIK,MAAM;gBAC3BL,QAAQM,IAAAA,oBAAW,IAAa,SAACC;2BAAS;wBACxCC,WAAW,EAAE;wBACbC,YAAY,SAACC;mCAAYH,IAAI,SAACI;uCAAW;oCAAEH,WAAW,AAAC,qBAAGG,MAAMH,SAAS,SAAnB;wCAAqBE;qCAAQ;gCAAC;;;wBACpFE,eAAe,SAACF;mCAAYH,IAAI,SAACI;uCAAW;oCAAEH,WAAWG,MAAMH,SAAS,CAACK,GAAG,CAAC,SAACC;+CAAOA,EAAEC,EAAE,KAAKL,SAAQK,EAAE,GAAGL,WAAUI;;gCAAI;;;oBAC3H;;gBACAb,SAASe,IAAAA,WAAM,gBACb,6BAACC,cAAY,CAACC,QAAQ;oBAACC,OAAOnB;iCAC5B,6BAACoB,YAAG,UAEN;oBAAEC,cAAc;gBAAM;gBAExB,OAAOlB,GAAGH;YACZ;QACF;QACAsB,SAAAA,SAAAA;YACE,IAAI,EAAEvB,WAAW,GAAG;YACpB,IAAI,CAACC,OAAO,MAAM,IAAIK,MAAM;YAC5BL,QAAQ;YACRC,OAAOsB,OAAO;YACdtB,SAAS;YACTS,QAAQc,MAAM,CAACC,KAAK,CAAC,cAAc,cAAc;QACnD;IACF;AACF"}
package/dist/cjs/ink.cjs CHANGED
@@ -27,6 +27,9 @@ _export(exports, {
27
27
  Transform: function() {
28
28
  return Transform;
29
29
  },
30
+ initialize: function() {
31
+ return initialize;
32
+ },
30
33
  measureElement: function() {
31
34
  return measureElement;
32
35
  },
@@ -108,5 +111,5 @@ if (typeof process.stdout.off === 'undefined') process.stdout.off = function(nam
108
111
  if (typeof process.stderr.off === 'undefined') process.stderr.off = function(name, fn) {
109
112
  return process.stderr.removeListener(name, fn);
110
113
  };
111
- var _ref = _inkcjs.default || _inkcjs, Box = _ref.Box, Newline = _ref.Newline, Spacer = _ref.Spacer, Static = _ref.Static, Text = _ref.Text, Transform = _ref.Transform, measureElement = _ref.measureElement, render = _ref.render, useApp = _ref.useApp, useFocus = _ref.useFocus, useFocusManager = _ref.useFocusManager, useInput = _ref.useInput, useStderr = _ref.useStderr, useStdin = _ref.useStdin, useStdout = _ref.useStdout;
114
+ var _ref = _inkcjs.default || _inkcjs, Box = _ref.Box, Newline = _ref.Newline, Spacer = _ref.Spacer, Static = _ref.Static, Text = _ref.Text, Transform = _ref.Transform, measureElement = _ref.measureElement, render = _ref.render, useApp = _ref.useApp, useFocus = _ref.useFocus, useFocusManager = _ref.useFocusManager, useInput = _ref.useInput, useStderr = _ref.useStderr, useStdin = _ref.useStdin, useStdout = _ref.useStdout, initialize = _ref.initialize;
112
115
  /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +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":["Box","Newline","Spacer","Static","Text","Transform","measureElement","render","useApp","useFocus","useFocusManager","useInput","useStderr","useStdin","useStdout","process","stdout","off","name","fn","removeListener","stderr","ink","default"],"mappings":";;;;;;;;;;;IAUSA,GAAG;eAAHA;;IAAKC,OAAO;eAAPA;;IAASC,MAAM;eAANA;;IAAQC,MAAM;eAANA;;IAAQC,IAAI;eAAJA;;IAAMC,SAAS;eAATA;;IAAWC,cAAc;eAAdA;;IAAgBC,MAAM;eAANA;;IAAQC,MAAM;eAANA;;IAAQC,QAAQ;eAARA;;IAAUC,eAAe;eAAfA;;IAAiBC,QAAQ;eAARA;;IAAUC,SAAS;eAATA;;IAAWC,QAAQ;eAARA;;IAAUC,SAAS;eAATA;;;QAV3I;QACA;QACA;QACA;QACA;8DAIc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHrB,IAAI,OAAOC,QAAQC,MAAM,CAACC,GAAG,KAAK,aAAaF,QAAQC,MAAM,CAACC,GAAG,GAAG,SAACC,MAAMC;WAAOJ,QAAQC,MAAM,CAACI,cAAc,CAACF,MAAMC;;AACtH,IAAI,OAAOJ,QAAQM,MAAM,CAACJ,GAAG,KAAK,aAAaF,QAAQM,MAAM,CAACJ,GAAG,GAAG,SAACC,MAAMC;WAAOJ,QAAQM,MAAM,CAACD,cAAc,CAACF,MAAMC;;AAGtH,IAA+JG,OAAAA,QAAIC,OAAO,IAAID,SAAtKtB,MAAuJsB,KAAvJtB,KAAKC,UAAkJqB,KAAlJrB,SAASC,SAAyIoB,KAAzIpB,QAAQC,SAAiImB,KAAjInB,QAAQC,OAAyHkB,KAAzHlB,MAAMC,YAAmHiB,KAAnHjB,WAAWC,iBAAwGgB,KAAxGhB,gBAAgBC,SAAwFe,KAAxFf,QAAQC,SAAgFc,KAAhFd,QAAQC,WAAwEa,KAAxEb,UAAUC,kBAA8DY,KAA9DZ,iBAAiBC,WAA6CW,KAA7CX,UAAUC,YAAmCU,KAAnCV,WAAWC,WAAwBS,KAAxBT,UAAUC,YAAcQ,KAAdR"}
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, initialize } = ink.default || ink;\nexport { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout, initialize };\n"],"names":["Box","Newline","Spacer","Static","Text","Transform","initialize","measureElement","render","useApp","useFocus","useFocusManager","useInput","useStderr","useStdin","useStdout","process","stdout","off","name","fn","removeListener","stderr","ink","default"],"mappings":";;;;;;;;;;;IAUSA,GAAG;eAAHA;;IAAKC,OAAO;eAAPA;;IAASC,MAAM;eAANA;;IAAQC,MAAM;eAANA;;IAAQC,IAAI;eAAJA;;IAAMC,SAAS;eAATA;;IAAgHC,UAAU;eAAVA;;IAArGC,cAAc;eAAdA;;IAAgBC,MAAM;eAANA;;IAAQC,MAAM;eAANA;;IAAQC,QAAQ;eAARA;;IAAUC,eAAe;eAAfA;;IAAiBC,QAAQ;eAARA;;IAAUC,SAAS;eAATA;;IAAWC,QAAQ;eAARA;;IAAUC,SAAS;eAATA;;;QAV3I;QACA;QACA;QACA;QACA;8DAIc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHrB,IAAI,OAAOC,QAAQC,MAAM,CAACC,GAAG,KAAK,aAAaF,QAAQC,MAAM,CAACC,GAAG,GAAG,SAACC,MAAMC;WAAOJ,QAAQC,MAAM,CAACI,cAAc,CAACF,MAAMC;;AACtH,IAAI,OAAOJ,QAAQM,MAAM,CAACJ,GAAG,KAAK,aAAaF,QAAQM,MAAM,CAACJ,GAAG,GAAG,SAACC,MAAMC;WAAOJ,QAAQM,MAAM,CAACD,cAAc,CAACF,MAAMC;;AAGtH,IAA2KG,OAAAA,QAAIC,OAAO,IAAID,SAAlLvB,MAAmKuB,KAAnKvB,KAAKC,UAA8JsB,KAA9JtB,SAASC,SAAqJqB,KAArJrB,QAAQC,SAA6IoB,KAA7IpB,QAAQC,OAAqImB,KAArInB,MAAMC,YAA+HkB,KAA/HlB,WAAWE,iBAAoHgB,KAApHhB,gBAAgBC,SAAoGe,KAApGf,QAAQC,SAA4Fc,KAA5Fd,QAAQC,WAAoFa,KAApFb,UAAUC,kBAA0EY,KAA1EZ,iBAAiBC,WAAyDW,KAAzDX,UAAUC,YAA+CU,KAA/CV,WAAWC,WAAoCS,KAApCT,UAAUC,YAA0BQ,KAA1BR,WAAWT,aAAeiB,KAAfjB"}
@@ -1,16 +1,13 @@
1
1
  import React from 'react';
2
- import resolveOnce from 'resolve-once-cb';
3
2
  import { createStore } from 'zustand';
4
3
  import App from './components/App.mjs';
5
4
  import StoreContext from './contexts/Store.mjs';
6
5
  // @ts-ignore
7
- import { render } from './ink.mjs';
8
- const initialize = resolveOnce((cb)=>setTimeout(()=>cb(), 0));
6
+ import { initialize, render } from './ink.mjs';
9
7
  export default function createApp() {
10
8
  let refCount = 0;
11
9
  let store = null;
12
10
  let inkApp = null;
13
- const _waiting = [];
14
11
  return {
15
12
  retain (fn) {
16
13
  initialize(()=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import React from 'react';\nimport resolveOnce from 'resolve-once-cb';\nimport { createStore } from 'zustand';\nimport App from './components/App';\nimport StoreContext from './contexts/Store';\n\n// @ts-ignore\nimport { type Instance, render } from './ink.mjs';\nimport type { AppState } from './types';\n\nconst initialize = resolveOnce((cb) => setTimeout(() => cb(), 0));\n\nexport default function createApp() {\n let refCount = 0;\n let store = null;\n let inkApp: Instance | null = null;\n const _waiting = [];\n\n return {\n retain(fn) {\n initialize(() => {\n if (++refCount > 1) return fn(store);\n if (store) throw new Error('Not expecting store');\n store = createStore<AppState>()((set) => ({\n processes: [],\n addProcess: (process) => set((state) => ({ processes: [...state.processes, process] })),\n updateProcess: (process) => set((state) => ({ processes: state.processes.map((x) => (x.id === process.id ? process : x)) })),\n }));\n inkApp = render(\n <StoreContext.Provider value={store}>\n <App />\n </StoreContext.Provider>,\n { patchConsole: false }\n );\n return fn(store);\n });\n },\n release() {\n if (--refCount > 0) return;\n if (!store) throw new Error('Expecting store');\n store = null;\n inkApp.unmount();\n inkApp = null;\n process.stdout.write('\\x1b[?25h'); // show cursor\n },\n };\n}\n"],"names":["React","resolveOnce","createStore","App","StoreContext","render","initialize","cb","setTimeout","createApp","refCount","store","inkApp","_waiting","retain","fn","Error","set","processes","addProcess","process","state","updateProcess","map","x","id","Provider","value","patchConsole","release","unmount","stdout","write"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,OAAOC,iBAAiB,kBAAkB;AAC1C,SAASC,WAAW,QAAQ,UAAU;AACtC,OAAOC,SAAS,mBAAmB;AACnC,OAAOC,kBAAkB,mBAAmB;AAE5C,aAAa;AACb,SAAwBC,MAAM,QAAQ,YAAY;AAGlD,MAAMC,aAAaL,YAAY,CAACM,KAAOC,WAAW,IAAMD,MAAM;AAE9D,eAAe,SAASE;IACtB,IAAIC,WAAW;IACf,IAAIC,QAAQ;IACZ,IAAIC,SAA0B;IAC9B,MAAMC,WAAW,EAAE;IAEnB,OAAO;QACLC,QAAOC,EAAE;YACPT,WAAW;gBACT,IAAI,EAAEI,WAAW,GAAG,OAAOK,GAAGJ;gBAC9B,IAAIA,OAAO,MAAM,IAAIK,MAAM;gBAC3BL,QAAQT,cAAwB,CAACe,MAAS,CAAA;wBACxCC,WAAW,EAAE;wBACbC,YAAY,CAACC,WAAYH,IAAI,CAACI,QAAW,CAAA;oCAAEH,WAAW;2CAAIG,MAAMH,SAAS;wCAAEE;qCAAQ;gCAAC,CAAA;wBACpFE,eAAe,CAACF,WAAYH,IAAI,CAACI,QAAW,CAAA;oCAAEH,WAAWG,MAAMH,SAAS,CAACK,GAAG,CAAC,CAACC,IAAOA,EAAEC,EAAE,KAAKL,SAAQK,EAAE,GAAGL,WAAUI;gCAAI,CAAA;oBAC3H,CAAA;gBACAZ,SAASP,qBACP,oBAACD,aAAasB,QAAQ;oBAACC,OAAOhB;iCAC5B,oBAACR,aAEH;oBAAEyB,cAAc;gBAAM;gBAExB,OAAOb,GAAGJ;YACZ;QACF;QACAkB;YACE,IAAI,EAAEnB,WAAW,GAAG;YACpB,IAAI,CAACC,OAAO,MAAM,IAAIK,MAAM;YAC5BL,QAAQ;YACRC,OAAOkB,OAAO;YACdlB,SAAS;YACTQ,QAAQW,MAAM,CAACC,KAAK,CAAC,cAAc,cAAc;QACnD;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node/spawn-term/src/createApp.tsx"],"sourcesContent":["import React from 'react';\nimport { createStore } from 'zustand';\nimport App from './components/App';\nimport StoreContext from './contexts/Store';\n\n// @ts-ignore\nimport { type Instance, initialize, render } from './ink.mjs';\nimport type { AppState } from './types';\n\nexport default function createApp() {\n let refCount = 0;\n let store = null;\n let inkApp: Instance | null = null;\n\n return {\n retain(fn) {\n initialize(() => {\n if (++refCount > 1) return fn(store);\n if (store) throw new Error('Not expecting store');\n store = createStore<AppState>()((set) => ({\n processes: [],\n addProcess: (process) => set((state) => ({ processes: [...state.processes, process] })),\n updateProcess: (process) => set((state) => ({ processes: state.processes.map((x) => (x.id === process.id ? process : x)) })),\n }));\n inkApp = render(\n <StoreContext.Provider value={store}>\n <App />\n </StoreContext.Provider>,\n { patchConsole: false }\n );\n return fn(store);\n });\n },\n release() {\n if (--refCount > 0) return;\n if (!store) throw new Error('Expecting store');\n store = null;\n inkApp.unmount();\n inkApp = null;\n process.stdout.write('\\x1b[?25h'); // show cursor\n },\n };\n}\n"],"names":["React","createStore","App","StoreContext","initialize","render","createApp","refCount","store","inkApp","retain","fn","Error","set","processes","addProcess","process","state","updateProcess","map","x","id","Provider","value","patchConsole","release","unmount","stdout","write"],"mappings":"AAAA,OAAOA,WAAW,QAAQ;AAC1B,SAASC,WAAW,QAAQ,UAAU;AACtC,OAAOC,SAAS,mBAAmB;AACnC,OAAOC,kBAAkB,mBAAmB;AAE5C,aAAa;AACb,SAAwBC,UAAU,EAAEC,MAAM,QAAQ,YAAY;AAG9D,eAAe,SAASC;IACtB,IAAIC,WAAW;IACf,IAAIC,QAAQ;IACZ,IAAIC,SAA0B;IAE9B,OAAO;QACLC,QAAOC,EAAE;YACPP,WAAW;gBACT,IAAI,EAAEG,WAAW,GAAG,OAAOI,GAAGH;gBAC9B,IAAIA,OAAO,MAAM,IAAII,MAAM;gBAC3BJ,QAAQP,cAAwB,CAACY,MAAS,CAAA;wBACxCC,WAAW,EAAE;wBACbC,YAAY,CAACC,WAAYH,IAAI,CAACI,QAAW,CAAA;oCAAEH,WAAW;2CAAIG,MAAMH,SAAS;wCAAEE;qCAAQ;gCAAC,CAAA;wBACpFE,eAAe,CAACF,WAAYH,IAAI,CAACI,QAAW,CAAA;oCAAEH,WAAWG,MAAMH,SAAS,CAACK,GAAG,CAAC,CAACC,IAAOA,EAAEC,EAAE,KAAKL,SAAQK,EAAE,GAAGL,WAAUI;gCAAI,CAAA;oBAC3H,CAAA;gBACAX,SAASJ,qBACP,oBAACF,aAAamB,QAAQ;oBAACC,OAAOf;iCAC5B,oBAACN,aAEH;oBAAEsB,cAAc;gBAAM;gBAExB,OAAOb,GAAGH;YACZ;QACF;QACAiB;YACE,IAAI,EAAElB,WAAW,GAAG;YACpB,IAAI,CAACC,OAAO,MAAM,IAAII,MAAM;YAC5BJ,QAAQ;YACRC,OAAOiB,OAAO;YACdjB,SAAS;YACTO,QAAQW,MAAM,CAACC,KAAK,CAAC,cAAc,cAAc;QACnD;IACF;AACF"}
package/dist/esm/ink.mjs CHANGED
@@ -6,5 +6,5 @@ import 'core-js/actual/string/trim-end.js';
6
6
  if (typeof process.stdout.off === 'undefined') process.stdout.off = (name, fn)=>process.stdout.removeListener(name, fn);
7
7
  if (typeof process.stderr.off === 'undefined') process.stderr.off = (name, fn)=>process.stderr.removeListener(name, fn);
8
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 };
9
+ const { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout, initialize } = ink.default || ink;
10
+ export { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout, initialize };
@@ -1 +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"}
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, initialize } = ink.default || ink;\nexport { Box, Newline, Spacer, Static, Text, Transform, measureElement, render, useApp, useFocus, useFocusManager, useInput, useStderr, useStdin, useStdout, initialize };\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","initialize","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,EAAEC,UAAU,EAAE,GAAGhB,IAAIiB,OAAO,IAAIjB;AAC1L,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,EAAEC,UAAU,GAAG"}
@@ -13,3 +13,4 @@ export const useInput: any;
13
13
  export const useStderr: any;
14
14
  export const useStdin: any;
15
15
  export const useStdout: any;
16
+ export const initialize: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spawn-term",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Formats spawn with for terminal grouping",
5
5
  "keywords": [
6
6
  "spawn",
@@ -46,7 +46,6 @@
46
46
  "queue-cb": "^1.4.16",
47
47
  "react": "^18.3.1",
48
48
  "readable-stream": "^2.3.8",
49
- "resolve-once-cb": "^0.1.14",
50
49
  "yoga-wasm-web": "^0.3.3",
51
50
  "zustand": "^5.0.3"
52
51
  },