@napps/cli 0.0.7 → 0.0.9
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/README.md +18 -18
- package/bin/cloudflared.exe +0 -0
- package/bin/run.js +5 -5
- package/dist/index.js +25 -25
- package/package.json +55 -55
package/README.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
Napps cli
|
|
2
|
-
|
|
3
|
-
Auth and deploy your templates
|
|
4
|
-
|
|
5
|
-
## Install our global cli
|
|
6
|
-
|
|
7
|
-
> **Compatibility Note:**
|
|
8
|
-
> Requires [Node.js](https://nodejs.org/en/) version 20.19+, 22.12+.
|
|
9
|
-
|
|
10
|
-
With NPM:
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npm install --global @napps/cli@latest
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
napps help
|
|
18
|
-
```
|
|
1
|
+
Napps cli
|
|
2
|
+
|
|
3
|
+
Auth and deploy your templates
|
|
4
|
+
|
|
5
|
+
## Install our global cli
|
|
6
|
+
|
|
7
|
+
> **Compatibility Note:**
|
|
8
|
+
> Requires [Node.js](https://nodejs.org/en/) version 20.19+, 22.12+.
|
|
9
|
+
|
|
10
|
+
With NPM:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install --global @napps/cli@latest
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
napps help
|
|
18
|
+
```
|
|
Binary file
|
package/bin/run.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
process.removeAllListeners('warning');
|
|
4
|
-
|
|
5
|
-
import('../dist/index.js');
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
process.removeAllListeners('warning');
|
|
4
|
+
|
|
5
|
+
import('../dist/index.js');
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import{createRequire as e}from"node:module";import{program as t}from"commander";import n from"path";import*as r from"node:fs";import i,{chmodSync as a,createWriteStream as o,existsSync as s,mkdirSync as c,renameSync as l,unlinkSync as u}from"node:fs";import*as d from"node:path";import f,{basename as p,dirname as m,join as h}from"node:path";import*as g from"node:os";import{exec as _,execFileSync as v,execSync as y}from"child_process";import b,{promisify as x}from"util";import S from"node:http";import{spawn as C}from"node:child_process";import w from"chokidar";import{createSession as ee}from"better-sse";import{fileURLToPath as te}from"url";import{Writable as ne,pipeline as re}from"stream";import ie from"qrcode";import{WebSocketServer as ae}from"ws";var oe=Object.create,se=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,le=Object.getOwnPropertyNames,ue=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fe=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=le(t),a=0,o=i.length,s;a<o;a++)s=i[a],!de.call(e,s)&&s!==n&&se(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ce(t,s))||r.enumerable});return e},E=(e,t,n)=>(n=e==null?{}:oe(ue(e)),fe(t||!e||!e.__esModule?se(n,`default`,{value:e,enumerable:!0}):n,e)),D=e(import.meta.url),O=class extends Error{constructor(e,t){super(e),this.response=t}};const pe=process.cwd()
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,c;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,c=e},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw c}}}}function r(e,t){if(e){if(typeof e==`string`)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}}function i(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}let a=
|
|
1
|
+
import{createRequire as e}from"node:module";import{program as t}from"commander";import n from"path";import*as r from"node:fs";import i,{chmodSync as a,createWriteStream as o,existsSync as s,mkdirSync as c,renameSync as l,unlinkSync as u}from"node:fs";import*as d from"node:path";import f,{basename as p,dirname as m,join as h}from"node:path";import*as g from"node:os";import{exec as _,execFileSync as v,execSync as y}from"child_process";import b,{promisify as x}from"util";import S from"node:http";import{spawn as C}from"node:child_process";import w from"chokidar";import{createSession as ee}from"better-sse";import{fileURLToPath as te}from"url";import{Writable as ne,pipeline as re}from"stream";import ie from"qrcode";import{WebSocketServer as ae}from"ws";var oe=Object.create,se=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,le=Object.getOwnPropertyNames,ue=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty,T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fe=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=le(t),a=0,o=i.length,s;a<o;a++)s=i[a],!de.call(e,s)&&s!==n&&se(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ce(t,s))||r.enumerable});return e},E=(e,t,n)=>(n=e==null?{}:oe(ue(e)),fe(t||!e||!e.__esModule?se(n,`default`,{value:e,enumerable:!0}):n,e)),D=e(import.meta.url),O=class extends Error{constructor(e,t){super(e),this.response=t}};const pe=process.cwd();let k=`https://master.napps-solutions.com`;const A=n.join(pe,`/dist/component-extension.es.js`),me=e=>{console.log(`Setting master URL to: `+e),k=e};async function he(e,t){let n={email:e,password:t};console.log(`Authenticating with master server at:`,k);try{let e=await fetch(`${k}/auth/admin`,{method:`POST`,body:JSON.stringify(n),credentials:`include`});if(!e.ok)throw new O(`Request failed`,e);return await e.json()}catch{console.error(`Error during authentication`);return}}async function ge(e){try{let t=await fetch(`${k}/auth/admin/access`,{method:`GET`,credentials:`include`,headers:{Authorization:e}});if(!t.ok)throw new O(`Request failed`,t);return await t.json()}catch{console.error(`Error getting access token`);return}}async function _e(e){try{let t=await fetch(`${k}/admin/me`,{method:`GET`,credentials:`include`,headers:{Authorization:e}});if(!t.ok)throw new O(`Request failed`,t);return await t.json()}catch{console.error(`Error getting current user`);return}}async function ve(){if(!await G()){console.log(`You are not authenticated, please run auth command.`);return}let e=await W();if(!e){console.log(`You are not authenticated, please run auth command.`);return}return await _e(e)}var j=T(((e,t)=>{let{FORCE_COLOR:n,NODE_DISABLE_COLORS:r,TERM:i}=process.env,a={enabled:!r&&i!==`dumb`&&n!==`0`,reset:c(0,0),bold:c(1,22),dim:c(2,22),italic:c(3,23),underline:c(4,24),inverse:c(7,27),hidden:c(8,28),strikethrough:c(9,29),black:c(30,39),red:c(31,39),green:c(32,39),yellow:c(33,39),blue:c(34,39),magenta:c(35,39),cyan:c(36,39),white:c(37,39),gray:c(90,39),grey:c(90,39),bgBlack:c(40,49),bgRed:c(41,49),bgGreen:c(42,49),bgYellow:c(43,49),bgBlue:c(44,49),bgMagenta:c(45,49),bgCyan:c(46,49),bgWhite:c(47,49)};function o(e,t){let n=0,r,i=``,a=``;for(;n<e.length;n++)r=e[n],i+=r.open,a+=r.close,t.includes(r.close)&&(t=t.replace(r.rgx,r.close+r.open));return i+t+a}function s(e,t){let n={has:e,keys:t};return n.reset=a.reset.bind(n),n.bold=a.bold.bind(n),n.dim=a.dim.bind(n),n.italic=a.italic.bind(n),n.underline=a.underline.bind(n),n.inverse=a.inverse.bind(n),n.hidden=a.hidden.bind(n),n.strikethrough=a.strikethrough.bind(n),n.black=a.black.bind(n),n.red=a.red.bind(n),n.green=a.green.bind(n),n.yellow=a.yellow.bind(n),n.blue=a.blue.bind(n),n.magenta=a.magenta.bind(n),n.cyan=a.cyan.bind(n),n.white=a.white.bind(n),n.gray=a.gray.bind(n),n.grey=a.grey.bind(n),n.bgBlack=a.bgBlack.bind(n),n.bgRed=a.bgRed.bind(n),n.bgGreen=a.bgGreen.bind(n),n.bgYellow=a.bgYellow.bind(n),n.bgBlue=a.bgBlue.bind(n),n.bgMagenta=a.bgMagenta.bind(n),n.bgCyan=a.bgCyan.bind(n),n.bgWhite=a.bgWhite.bind(n),n}function c(e,t){let n={open:`\x1b[${e}m`,close:`\x1b[${t}m`,rgx:RegExp(`\\x1b\\[${t}m`,`g`)};return function(t){return this!==void 0&&this.has!==void 0?(this.has.includes(e)||(this.has.push(e),this.keys.push(n)),t===void 0?this:a.enabled?o(this.keys,t+``):t+``):t===void 0?s([e],[n]):a.enabled?o([n],t+``):t+``}}t.exports=a})),ye=T(((e,t)=>{t.exports=(e,t)=>{if(!(e.meta&&e.name!==`escape`)){if(e.ctrl){if(e.name===`a`)return`first`;if(e.name===`c`||e.name===`d`)return`abort`;if(e.name===`e`)return`last`;if(e.name===`g`)return`reset`}if(t){if(e.name===`j`)return`down`;if(e.name===`k`)return`up`}return e.name===`return`||e.name===`enter`?`submit`:e.name===`backspace`?`delete`:e.name===`delete`?`deleteForward`:e.name===`abort`?`abort`:e.name===`escape`?`exit`:e.name===`tab`?`next`:e.name===`pagedown`?`nextPage`:e.name===`pageup`?`prevPage`:e.name===`home`?`home`:e.name===`end`?`end`:e.name===`up`?`up`:e.name===`down`?`down`:e.name===`right`?`right`:e.name===`left`?`left`:!1}}})),be=T(((e,t)=>{t.exports=e=>{let t=[`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)`,`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))`].join(`|`),n=new RegExp(t,`g`);return typeof e==`string`?e.replace(n,``):e}})),M=T(((e,t)=>{let n={to(e,t){return t?`[${t+1};${e+1}H`:`[${e+1}G`},move(e,t){let n=``;return e<0?n+=`[${-e}D`:e>0&&(n+=`[${e}C`),t<0?n+=`[${-t}A`:t>0&&(n+=`[${t}B`),n},up:(e=1)=>`[${e}A`,down:(e=1)=>`[${e}B`,forward:(e=1)=>`[${e}C`,backward:(e=1)=>`[${e}D`,nextLine:(e=1)=>`\x1B[E`.repeat(e),prevLine:(e=1)=>`\x1B[F`.repeat(e),left:`\x1B[G`,hide:`\x1B[?25l`,show:`\x1B[?25h`,save:`\x1B7`,restore:`\x1B8`};t.exports={cursor:n,scroll:{up:(e=1)=>`\x1B[S`.repeat(e),down:(e=1)=>`\x1B[T`.repeat(e)},erase:{screen:`\x1B[2J`,up:(e=1)=>`\x1B[1J`.repeat(e),down:(e=1)=>`\x1B[J`.repeat(e),line:`\x1B[2K`,lineEnd:`\x1B[K`,lineStart:`\x1B[1K`,lines(e){let t=``;for(let r=0;r<e;r++)t+=this.line+(r<e-1?n.up():``);return e&&(t+=n.left),t}},beep:`\x07`}})),xe=T(((e,t)=>{function n(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=r(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var i=0,a=function(){};return{s:a,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:a}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,s=!1,c;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,c=e},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(s)throw c}}}}function r(e,t){if(e){if(typeof e==`string`)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}}function i(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}let a=be(),o=M(),s=o.erase,c=o.cursor,l=e=>[...a(e)].length;t.exports=function(e,t){if(!t)return s.line+c.to(0);let r=0;var i=n(e.split(/\r?\n/)),a;try{for(i.s();!(a=i.n()).done;){let e=a.value;r+=1+Math.floor(Math.max(l(e)-1,0)/t)}}catch(e){i.e(e)}finally{i.f()}return s.lines(r)}})),Se=T(((e,t)=>{let n={arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,radioOn:`◉`,radioOff:`◯`,tick:`✔`,cross:`✖`,ellipsis:`…`,pointerSmall:`›`,line:`─`,pointer:`❯`},r={arrowUp:n.arrowUp,arrowDown:n.arrowDown,arrowLeft:n.arrowLeft,arrowRight:n.arrowRight,radioOn:`(*)`,radioOff:`( )`,tick:`√`,cross:`×`,ellipsis:`...`,pointerSmall:`»`,line:`─`,pointer:`>`};t.exports=process.platform===`win32`?r:n})),Ce=T(((e,t)=>{let n=j(),r=Se(),i=Object.freeze({password:{scale:1,render:e=>`*`.repeat(e.length)},emoji:{scale:2,render:e=>`😃`.repeat(e.length)},invisible:{scale:0,render:e=>``},default:{scale:1,render:e=>`${e}`}}),a=e=>i[e]||i.default,o=Object.freeze({aborted:n.red(r.cross),done:n.green(r.tick),exited:n.yellow(r.cross),default:n.cyan(`?`)});t.exports={styles:i,render:a,symbols:o,symbol:(e,t,n)=>t?o.aborted:n?o.exited:e?o.done:o.default,delimiter:e=>n.gray(e?r.ellipsis:r.pointerSmall),item:(e,t)=>n.gray(e?t?r.pointerSmall:`+`:r.line)}})),we=T(((e,t)=>{let n=be();t.exports=function(e,t){let r=String(n(e)||``).split(/\r?\n/);return t?r.map(e=>Math.ceil(e.length/t)).reduce((e,t)=>e+t):r.length}})),Te=T(((e,t)=>{t.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?Array(parseInt(t.margin)).fill(` `).join(``):t.margin||``,r=t.width;return(e||``).split(/\r?\n/g).map(e=>e.split(/\s+/g).reduce((e,t)=>(t.length+n.length>=r||e[e.length-1].length+t.length+1<r?e[e.length-1]+=` ${t}`:e.push(`${n}${t}`),e),[n]).join(`
|
|
3
3
|
`)).join(`
|
|
4
|
-
`)}})),
|
|
4
|
+
`)}})),Ee=T(((e,t)=>{t.exports=(e,t,n)=>{n||=t;let r=Math.min(t-n,e-Math.floor(n/2));r<0&&(r=0);let i=Math.min(r+n,t);return{startIndex:r,endIndex:i}}})),N=T(((e,t)=>{t.exports={action:ye(),clear:xe(),style:Ce(),strip:be(),figures:Se(),lines:we(),wrap:Te(),entriesToDisplay:Ee()}})),P=T(((e,t)=>{let n=D(`readline`),r=N().action,i=D(`events`),a=M(),o=a.beep,s=a.cursor,c=j();t.exports=class extends i{constructor(e={}){super(),this.firstRender=!0,this.in=e.stdin||process.stdin,this.out=e.stdout||process.stdout,this.onRender=(e.onRender||(()=>void 0)).bind(this);let t=n.createInterface({input:this.in,escapeCodeTimeout:50});n.emitKeypressEvents(this.in,t),this.in.isTTY&&this.in.setRawMode(!0);let i=[`SelectPrompt`,`MultiselectPrompt`].indexOf(this.constructor.name)>-1,a=(e,t)=>{let n=r(t,i);n===!1?this._&&this._(e,t):typeof this[n]==`function`?this[n](t):this.bell()};this.close=()=>{this.out.write(s.show),this.in.removeListener(`keypress`,a),this.in.isTTY&&this.in.setRawMode(!1),t.close(),this.emit(this.aborted?`abort`:this.exited?`exit`:`submit`,this.value),this.closed=!0},this.in.on(`keypress`,a)}fire(){this.emit(`state`,{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(o)}render(){this.onRender(c),this.firstRender&&=!1}}})),De=T(((e,t)=>{function n(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function r(e){return function(){var t=this,r=arguments;return new Promise(function(i,a){var o=e.apply(t,r);function s(e){n(o,i,a,s,c,`next`,e)}function c(e){n(o,i,a,s,c,`throw`,e)}s(void 0)})}}let i=j(),a=P(),o=M(),s=o.erase,c=o.cursor,l=N(),u=l.style,d=l.clear,f=l.lines,p=l.figures;t.exports=class extends a{constructor(e={}){super(e),this.transform=u.render(e.style),this.scale=this.transform.scale,this.msg=e.message,this.initial=e.initial||``,this.validator=e.validate||(()=>!0),this.value=``,this.errorMsg=e.error||`Please Enter A Valid Value`,this.cursor=Number(!!this.initial),this.cursorOffset=0,this.clear=d(``,this.out.columns),this.render()}set value(e){!e&&this.initial?(this.placeholder=!0,this.rendered=i.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(e)),this._value=e,this.fire()}get value(){return this._value}reset(){this.value=``,this.cursor=Number(!!this.initial),this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
|
|
5
5
|
`),this.close()}validate(){var e=this;return r(function*(){let t=yield e.validator(e.value);typeof t==`string`&&(e.errorMsg=t,t=!1),e.error=!t})()}submit(){var e=this;return r(function*(){if(e.value=e.value||e.initial,e.cursorOffset=0,e.cursor=e.rendered.length,yield e.validate(),e.error){e.red=!0,e.fire(),e.render();return}e.done=!0,e.aborted=!1,e.fire(),e.render(),e.out.write(`
|
|
6
6
|
`),e.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(e){this.placeholder||(this.cursor+=e,this.cursorOffset+=e)}_(e,t){let n=this.value.slice(0,this.cursor);this.value=`${n}${e}${this.value.slice(this.cursor)}`,this.red=!1,this.cursor=this.placeholder?0:n.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();this.value=`${this.value.slice(0,this.cursor-1)}${this.value.slice(this.cursor)}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.value=`${this.value.slice(0,this.cursor)}${this.value.slice(this.cursor+1)}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(c.down(f(this.outputError,this.out.columns)-1)+d(this.outputError,this.out.columns)),this.out.write(d(this.outputText,this.out.columns))),super.render(),this.outputError=``,this.outputText=[u.symbol(this.done,this.aborted),i.bold(this.msg),u.delimiter(this.done),this.red?i.red(this.rendered):this.rendered].join(` `),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
7
|
-
`).reduce((e,t,n)=>e+`\n${n?` `:p.pointerSmall} ${i.red().italic(t)}`,``)),this.out.write(s.line+c.to(0)+this.outputText+c.save+this.outputError+c.restore+c.move(this.cursorOffset,0)))}}})),
|
|
7
|
+
`).reduce((e,t,n)=>e+`\n${n?` `:p.pointerSmall} ${i.red().italic(t)}`,``)),this.out.write(s.line+c.to(0)+this.outputText+c.save+this.outputError+c.restore+c.move(this.cursorOffset,0)))}}})),Oe=T(((e,t)=>{let n=j(),r=P(),i=N(),a=i.style,o=i.clear,s=i.figures,c=i.wrap,l=i.entriesToDisplay,u=M().cursor;t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.hint=e.hint||`- Use arrow-keys. Return to submit.`,this.warn=e.warn||`- This option is disabled`,this.cursor=e.initial||0,this.choices=e.choices.map((e,t)=>(typeof e==`string`&&(e={title:e,value:t}),{title:e&&(e.title||e.value||e),value:e&&(e.value===void 0?t:e.value),description:e&&e.description,selected:e&&e.selected,disabled:e&&e.disabled})),this.optionsPerPage=e.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=o(``,this.out.columns),this.render()}moveCursor(e){this.cursor=e,this.value=this.choices[e].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
8
8
|
`),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
9
9
|
`),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(e,t){if(e===` `)return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(u.hide):this.out.write(o(this.outputText,this.out.columns)),super.render();let e=l(this.cursor,this.choices.length,this.optionsPerPage),t=e.startIndex,r=e.endIndex;if(this.outputText=[a.symbol(this.done,this.aborted),n.bold(this.msg),a.delimiter(!1),this.done?this.selection.title:this.selection.disabled?n.yellow(this.warn):n.gray(this.hint)].join(` `),!this.done){this.outputText+=`
|
|
10
10
|
`;for(let e=t;e<r;e++){let i,a,o=``,l=this.choices[e];a=e===t&&t>0?s.arrowUp:e===r-1&&r<this.choices.length?s.arrowDown:` `,l.disabled?(i=this.cursor===e?n.gray().underline(l.title):n.strikethrough().gray(l.title),a=(this.cursor===e?n.bold().gray(s.pointer)+` `:` `)+a):(i=this.cursor===e?n.cyan().underline(l.title):l.title,a=(this.cursor===e?n.cyan(s.pointer)+` `:` `)+a,l.description&&this.cursor===e&&(o=` - ${l.description}`,(a.length+i.length+o.length>=this.out.columns||l.description.split(/\r?\n/).length>1)&&(o=`
|
|
11
|
-
`+c(l.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${i}${n.gray(o)}\n`}}this.out.write(this.outputText)}}})),
|
|
11
|
+
`+c(l.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${i}${n.gray(o)}\n`}}this.out.write(this.outputText)}}})),ke=T(((e,t)=>{let n=j(),r=P(),i=N(),a=i.style,o=i.clear,s=M(),c=s.cursor,l=s.erase;t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.value=!!e.initial,this.active=e.active||`on`,this.inactive=e.inactive||`off`,this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
12
12
|
`),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
13
|
-
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,t){if(e===` `)this.value=!this.value;else if(e===`1`)this.value=!0;else if(e===`0`)this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(c.hide):this.out.write(o(this.outputText,this.out.columns)),super.render(),this.outputText=[a.symbol(this.done,this.aborted),n.bold(this.msg),a.delimiter(this.done),this.value?this.inactive:n.cyan().underline(this.inactive),n.gray(`/`),this.value?n.cyan().underline(this.active):this.active].join(` `),this.out.write(l.line+c.to(0)+this.outputText))}}})),
|
|
13
|
+
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,t){if(e===` `)this.value=!this.value;else if(e===`1`)this.value=!0;else if(e===`0`)this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(c.hide):this.out.write(o(this.outputText,this.out.columns)),super.render(),this.outputText=[a.symbol(this.done,this.aborted),n.bold(this.msg),a.delimiter(this.done),this.value?this.inactive:n.cyan().underline(this.inactive),n.gray(`/`),this.value?n.cyan().underline(this.active):this.active].join(` `),this.out.write(l.line+c.to(0)+this.outputText))}}})),F=T(((e,t)=>{t.exports=class e{constructor({token:e,date:t,parts:n,locales:r}){this.token=e,this.date=t||new Date,this.parts=n||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,r)=>r>t&&n instanceof e)}setTo(e){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((t,r)=>r>n&&t instanceof e)}toString(){return String(this.date)}}})),Ae=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let e=this.date.getHours()>12?`pm`:`am`;return/\A/.test(this.token)?e.toUpperCase():e}}})),je=T(((e,t)=>{let n=F(),r=e=>(e%=10,e===1?`st`:e===2?`nd`:e===3?`rd`:`th`);t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(e){this.date.setDate(parseInt(e.substr(-2)))}toString(){let e=this.date.getDate(),t=this.date.getDay();return this.token===`DD`?String(e).padStart(2,`0`):this.token===`Do`?e+r(e):this.token===`d`?t+1:this.token===`ddd`?this.locales.weekdaysShort[t]:this.token===`dddd`?this.locales.weekdays[t]:e}}})),Me=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(e){this.date.setHours(parseInt(e.substr(-2)))}toString(){let e=this.date.getHours();return/h/.test(this.token)&&(e=e%12||12),this.token.length>1?String(e).padStart(2,`0`):e}}})),Ne=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(e){this.date.setMilliseconds(parseInt(e.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,`0`).substr(0,this.token.length)}}})),Pe=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(e){this.date.setMinutes(parseInt(e.substr(-2)))}toString(){let e=this.date.getMinutes();return this.token.length>1?String(e).padStart(2,`0`):e}}})),Fe=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(e){e=parseInt(e.substr(-2))-1,this.date.setMonth(e<0?0:e)}toString(){let e=this.date.getMonth(),t=this.token.length;return t===2?String(e+1).padStart(2,`0`):t===3?this.locales.monthsShort[e]:t===4?this.locales.months[e]:String(e+1)}}})),Ie=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(e){this.date.setSeconds(parseInt(e.substr(-2)))}toString(){let e=this.date.getSeconds();return this.token.length>1?String(e).padStart(2,`0`):e}}})),Le=T(((e,t)=>{let n=F();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(e){this.date.setFullYear(e.substr(-4))}toString(){let e=String(this.date.getFullYear()).padStart(4,`0`);return this.token.length===2?e.substr(-2):e}}})),Re=T(((e,t)=>{t.exports={DatePart:F(),Meridiem:Ae(),Day:je(),Hours:Me(),Milliseconds:Ne(),Minutes:Pe(),Month:Fe(),Seconds:Ie(),Year:Le()}})),ze=T(((e,t)=>{function n(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function r(e){return function(){var t=this,r=arguments;return new Promise(function(i,a){var o=e.apply(t,r);function s(e){n(o,i,a,s,c,`next`,e)}function c(e){n(o,i,a,s,c,`throw`,e)}s(void 0)})}}let i=j(),a=P(),o=N(),s=o.style,c=o.clear,l=o.figures,u=M(),d=u.erase,f=u.cursor,p=Re(),m=p.DatePart,h=p.Meridiem,g=p.Day,_=p.Hours,v=p.Milliseconds,y=p.Minutes,b=p.Month,x=p.Seconds,S=p.Year,C=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,w={1:({token:e})=>e.replace(/\\(.)/g,`$1`),2:e=>new g(e),3:e=>new b(e),4:e=>new S(e),5:e=>new h(e),6:e=>new _(e),7:e=>new y(e),8:e=>new x(e),9:e=>new v(e)},ee={months:`January,February,March,April,May,June,July,August,September,October,November,December`.split(`,`),monthsShort:`Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec`.split(`,`),weekdays:`Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday`.split(`,`),weekdaysShort:`Sun,Mon,Tue,Wed,Thu,Fri,Sat`.split(`,`)};t.exports=class extends a{constructor(e={}){super(e),this.msg=e.message,this.cursor=0,this.typed=``,this.locales=Object.assign(ee,e.locales),this._date=e.initial||new Date,this.errorMsg=e.error||`Please Enter A Valid Value`,this.validator=e.validate||(()=>!0),this.mask=e.mask||`YYYY-MM-DD HH:mm:ss`,this.clear=c(``,this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(e){e&&this._date.setTime(e.getTime())}set mask(e){let t;for(this.parts=[];t=C.exec(e);){let e=t.shift(),n=t.findIndex(e=>e!=null);this.parts.push(n in w?w[n]({token:t[n]||e,date:this.date,parts:this.parts,locales:this.locales}):t[n]||e)}let n=this.parts.reduce((e,t)=>(typeof t==`string`&&typeof e[e.length-1]==`string`?e[e.length-1]+=t:e.push(t),e),[]);this.parts.splice(0),this.parts.push(...n),this.reset()}moveCursor(e){this.typed=``,this.cursor=e,this.fire()}reset(){this.moveCursor(this.parts.findIndex(e=>e instanceof m)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
14
14
|
`),this.close()}validate(){var e=this;return r(function*(){let t=yield e.validator(e.value);typeof t==`string`&&(e.errorMsg=t,t=!1),e.error=!t})()}submit(){var e=this;return r(function*(){if(yield e.validate(),e.error){e.color=`red`,e.fire(),e.render();return}e.done=!0,e.aborted=!1,e.fire(),e.render(),e.out.write(`
|
|
15
15
|
`),e.close()})()}up(){this.typed=``,this.parts[this.cursor].up(),this.render()}down(){this.typed=``,this.parts[this.cursor].down(),this.render()}left(){let e=this.parts[this.cursor].prev();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}right(){let e=this.parts[this.cursor].next();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}next(){let e=this.parts[this.cursor].next();this.moveCursor(e?this.parts.indexOf(e):this.parts.findIndex(e=>e instanceof m)),this.render()}_(e){/\d/.test(e)&&(this.typed+=e,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(f.hide):this.out.write(c(this.outputText,this.out.columns)),super.render(),this.outputText=[s.symbol(this.done,this.aborted),i.bold(this.msg),s.delimiter(!1),this.parts.reduce((e,t,n)=>e.concat(n===this.cursor&&!this.done?i.cyan().underline(t.toString()):t),[]).join(``)].join(` `),this.error&&(this.outputText+=this.errorMsg.split(`
|
|
16
|
-
`).reduce((e,t,n)=>e+`\n${n?` `:l.pointerSmall} ${i.red().italic(t)}`,``)),this.out.write(d.line+f.to(0)+this.outputText))}}})),
|
|
16
|
+
`).reduce((e,t,n)=>e+`\n${n?` `:l.pointerSmall} ${i.red().italic(t)}`,``)),this.out.write(d.line+f.to(0)+this.outputText))}}})),Be=T(((e,t)=>{function n(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function r(e){return function(){var t=this,r=arguments;return new Promise(function(i,a){var o=e.apply(t,r);function s(e){n(o,i,a,s,c,`next`,e)}function c(e){n(o,i,a,s,c,`throw`,e)}s(void 0)})}}let i=j(),a=P(),o=M(),s=o.cursor,c=o.erase,l=N(),u=l.style,d=l.figures,f=l.clear,p=l.lines,m=/[0-9]/,h=e=>e!==void 0,g=(e,t)=>{let n=10**t;return Math.round(e*n)/n};t.exports=class extends a{constructor(e={}){super(e),this.transform=u.render(e.style),this.msg=e.message,this.initial=h(e.initial)?e.initial:``,this.float=!!e.float,this.round=e.round||2,this.inc=e.increment||1,this.min=h(e.min)?e.min:-1/0,this.max=h(e.max)?e.max:1/0,this.errorMsg=e.error||`Please Enter A Valid Value`,this.validator=e.validate||(()=>!0),this.color=`cyan`,this.value=``,this.typed=``,this.lastHit=0,this.render()}set value(e){!e&&e!==0?(this.placeholder=!0,this.rendered=i.gray(this.transform.render(`${this.initial}`)),this._value=``):(this.placeholder=!1,this.rendered=this.transform.render(`${g(e,this.round)}`),this._value=g(e,this.round)),this.fire()}get value(){return this._value}parse(e){return this.float?parseFloat(e):parseInt(e)}valid(e){return e===`-`||e===`.`&&this.float||m.test(e)}reset(){this.typed=``,this.value=``,this.fire(),this.render()}exit(){this.abort()}abort(){let e=this.value;this.value=e===``?this.initial:e,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
17
17
|
`),this.close()}validate(){var e=this;return r(function*(){let t=yield e.validator(e.value);typeof t==`string`&&(e.errorMsg=t,t=!1),e.error=!t})()}submit(){var e=this;return r(function*(){if(yield e.validate(),e.error){e.color=`red`,e.fire(),e.render();return}let t=e.value;e.value=t===``?e.initial:t,e.done=!0,e.aborted=!1,e.error=!1,e.fire(),e.render(),e.out.write(`
|
|
18
18
|
`),e.close()})()}up(){if(this.typed=``,this.value===``&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color=`cyan`,this.fire(),this.render()}down(){if(this.typed=``,this.value===``&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color=`cyan`,this.fire(),this.render()}delete(){let e=this.value.toString();if(e.length===0)return this.bell();this.value=this.parse(e=e.slice(0,-1))||``,this.value!==``&&this.value<this.min&&(this.value=this.min),this.color=`cyan`,this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(e,t){if(!this.valid(e))return this.bell();let n=Date.now();if(n-this.lastHit>1e3&&(this.typed=``),this.typed+=e,this.lastHit=n,this.color=`cyan`,e===`.`)return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(s.down(p(this.outputError,this.out.columns)-1)+f(this.outputError,this.out.columns)),this.out.write(f(this.outputText,this.out.columns))),super.render(),this.outputError=``,this.outputText=[u.symbol(this.done,this.aborted),i.bold(this.msg),u.delimiter(this.done),!this.done||!this.done&&!this.placeholder?i[this.color]().underline(this.rendered):this.rendered].join(` `),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
19
|
-
`).reduce((e,t,n)=>e+`\n${n?` `:d.pointerSmall} ${i.red().italic(t)}`,``)),this.out.write(c.line+s.to(0)+this.outputText+s.save+this.outputError+s.restore))}}})),
|
|
19
|
+
`).reduce((e,t,n)=>e+`\n${n?` `:d.pointerSmall} ${i.red().italic(t)}`,``)),this.out.write(c.line+s.to(0)+this.outputText+s.save+this.outputError+s.restore))}}})),Ve=T(((e,t)=>{let n=j(),r=M().cursor,i=P(),a=N(),o=a.clear,s=a.figures,c=a.style,l=a.wrap,u=a.entriesToDisplay;t.exports=class extends i{constructor(e={}){super(e),this.msg=e.message,this.cursor=e.cursor||0,this.scrollIndex=e.cursor||0,this.hint=e.hint||``,this.warn=e.warn||`- This option is disabled -`,this.minSelected=e.min,this.showMinError=!1,this.maxChoices=e.max,this.instructions=e.instructions,this.optionsPerPage=e.optionsPerPage||10,this.value=e.choices.map((e,t)=>(typeof e==`string`&&(e={title:e,value:t}),{title:e&&(e.title||e.value||e),description:e&&e.description,value:e&&(e.value===void 0?t:e.value),selected:e&&e.selected,disabled:e&&e.disabled})),this.clear=o(``,this.out.columns),e.overrideRender||this.render()}reset(){this.value.map(e=>!e.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(e=>e.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
20
20
|
`),this.close()}submit(){let e=this.value.filter(e=>e.selected);this.minSelected&&e.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
21
21
|
`),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let e=this.value[this.cursor];if(e.selected)e.selected=!1,this.render();else if(e.disabled||this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();else e.selected=!0,this.render()}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let e=!this.value[this.cursor].selected;this.value.filter(e=>!e.disabled).forEach(t=>t.selected=e),this.render()}_(e,t){if(e===` `)this.handleSpaceToggle();else if(e===`a`)this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions==`string`?this.instructions:`
|
|
22
22
|
Instructions:
|
|
@@ -24,40 +24,40 @@ Instructions:
|
|
|
24
24
|
`:``)+` enter/return: Complete answer`:``}renderOption(e,t,r,i){let a=(t.selected?n.green(s.radioOn):s.radioOff)+` `+i+` `,o,c;return t.disabled?o=e===r?n.gray().underline(t.title):n.strikethrough().gray(t.title):(o=e===r?n.cyan().underline(t.title):t.title,e===r&&t.description&&(c=` - ${t.description}`,(a.length+o.length+c.length>=this.out.columns||t.description.split(/\r?\n/).length>1)&&(c=`
|
|
25
25
|
`+l(t.description,{margin:a.length,width:this.out.columns})))),a+o+n.gray(c||``)}paginateOptions(e){if(e.length===0)return n.red(`No matches for this query.`);let t=u(this.cursor,e.length,this.optionsPerPage),r=t.startIndex,i=t.endIndex,a,o=[];for(let t=r;t<i;t++)a=t===r&&r>0?s.arrowUp:t===i-1&&i<e.length?s.arrowDown:` `,o.push(this.renderOption(this.cursor,e[t],t,a));return`
|
|
26
26
|
`+o.join(`
|
|
27
|
-
`)}renderOptions(e){return this.done?``:this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[c.symbol(this.done,this.aborted),n.bold(this.msg),c.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.value),this.out.write(this.clear+e),this.clear=o(e,this.out.columns)}}})),
|
|
27
|
+
`)}renderOptions(e){return this.done?``:this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[c.symbol(this.done,this.aborted),n.bold(this.msg),c.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.value),this.out.write(this.clear+e),this.clear=o(e,this.out.columns)}}})),He=T(((e,t)=>{function n(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function r(e){return function(){var t=this,r=arguments;return new Promise(function(i,a){var o=e.apply(t,r);function s(e){n(o,i,a,s,c,`next`,e)}function c(e){n(o,i,a,s,c,`throw`,e)}s(void 0)})}}let i=j(),a=P(),o=M(),s=o.erase,c=o.cursor,l=N(),u=l.style,d=l.clear,f=l.figures,p=l.wrap,m=l.entriesToDisplay,h=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),g=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),_=(e,t)=>{let n=e.findIndex(e=>e.value===t||e.title===t);return n>-1?n:void 0};t.exports=class extends a{constructor(e={}){super(e),this.msg=e.message,this.suggest=e.suggest,this.choices=e.choices,this.initial=typeof e.initial==`number`?e.initial:_(e.choices,e.initial),this.select=this.initial||e.cursor||0,this.i18n={noMatches:e.noMatches||`no matches found`},this.fallback=e.fallback||this.initial,this.clearFirst=e.clearFirst||!1,this.suggestions=[],this.input=``,this.limit=e.limit||10,this.cursor=0,this.transform=u.render(e.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=d(``,this.out.columns),this.complete(this.render),this.render()}set fallback(e){this._fb=Number.isSafeInteger(parseInt(e))?parseInt(e):e}get fallback(){let e;return typeof this._fb==`number`?e=this.choices[this._fb]:typeof this._fb==`string`&&(e={title:this._fb}),e||this._fb||{title:this.i18n.noMatches}}moveSelect(e){this.select=e,this.suggestions.length>0?this.value=h(this.suggestions,e):this.value=this.fallback.value,this.fire()}complete(e){var t=this;return r(function*(){let n=t.completing=t.suggest(t.input,t.choices),r=yield n;if(t.completing!==n)return;t.suggestions=r.map((e,t,n)=>({title:g(n,t),value:h(n,t),description:e.description})),t.completing=!1;let i=Math.max(r.length-1,0);t.moveSelect(Math.min(i,t.select)),e&&e()})()}reset(){this.input=``,this.complete(()=>{this.moveSelect(this.initial===void 0?0:this.initial),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
28
28
|
`),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
29
29
|
`),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
30
30
|
`),this.close()}_(e,t){let n=this.input.slice(0,this.cursor);this.input=`${n}${e}${this.input.slice(this.cursor)}`,this.cursor=n.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();this.input=`${this.input.slice(0,this.cursor-1)}${this.input.slice(this.cursor)}`,this.complete(this.render),--this.cursor,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.input=`${this.input.slice(0,this.cursor)}${this.input.slice(this.cursor+1)}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();--this.cursor,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor+=1,this.render()}renderOption(e,t,n,r){let a,o=n?f.arrowUp:r?f.arrowDown:` `,s=t?i.cyan().underline(e.title):e.title;return o=(t?i.cyan(f.pointer)+` `:` `)+o,e.description&&(a=` - ${e.description}`,(o.length+s.length+a.length>=this.out.columns||e.description.split(/\r?\n/).length>1)&&(a=`
|
|
31
31
|
`+p(e.description,{margin:3,width:this.out.columns}))),o+` `+s+i.gray(a||``)}render(){if(this.closed)return;this.firstRender?this.out.write(c.hide):this.out.write(d(this.outputText,this.out.columns)),super.render();let e=m(this.select,this.choices.length,this.limit),t=e.startIndex,n=e.endIndex;if(this.outputText=[u.symbol(this.done,this.aborted,this.exited),i.bold(this.msg),u.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(` `),!this.done){let e=this.suggestions.slice(t,n).map((e,r)=>this.renderOption(e,this.select===r+t,r===0&&t>0,r+t===n-1&&n<this.choices.length)).join(`
|
|
32
32
|
`);this.outputText+=`
|
|
33
|
-
`+(e||i.gray(this.fallback.title))}this.out.write(s.line+c.to(0)+this.outputText)}}})),
|
|
33
|
+
`+(e||i.gray(this.fallback.title))}this.out.write(s.line+c.to(0)+this.outputText)}}})),Ue=T(((e,t)=>{let n=j(),r=M().cursor,i=Ve(),a=N(),o=a.clear,s=a.style,c=a.figures;t.exports=class extends i{constructor(e={}){e.overrideRender=!0,super(e),this.inputValue=``,this.clear=o(``,this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let e=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(e=>this.inputValue?!!(typeof e.title==`string`&&e.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof e.value==`string`&&e.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let t=this.filteredOptions.findIndex(t=>t===e);this.cursor=t<0?0:t,this.render()}handleSpaceToggle(){let e=this.filteredOptions[this.cursor];if(e.selected)e.selected=!1,this.render();else if(e.disabled||this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();else e.selected=!0,this.render()}handleInputChange(e){this.inputValue+=e,this.updateFilteredOptions()}_(e,t){e===` `?this.handleSpaceToggle():this.handleInputChange(e)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions==`string`?this.instructions:`
|
|
34
34
|
Instructions:
|
|
35
35
|
${c.arrowUp}/${c.arrowDown}: Highlight option
|
|
36
36
|
${c.arrowLeft}/${c.arrowRight}/[space]: Toggle selection
|
|
37
37
|
[a,b,c]/delete: Filter choices
|
|
38
38
|
enter/return: Complete answer
|
|
39
39
|
`:``}renderCurrentInput(){return`
|
|
40
|
-
Filtered results for: ${this.inputValue?this.inputValue:n.gray(`Enter something to filter`)}\n`}renderOption(e,t,r){let i;return i=t.disabled?e===r?n.gray().underline(t.title):n.strikethrough().gray(t.title):e===r?n.cyan().underline(t.title):t.title,(t.selected?n.green(c.radioOn):c.radioOff)+` `+i}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[s.symbol(this.done,this.aborted),n.bold(this.msg),s.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=o(e,this.out.columns)}}})),
|
|
40
|
+
Filtered results for: ${this.inputValue?this.inputValue:n.gray(`Enter something to filter`)}\n`}renderOption(e,t,r){let i;return i=t.disabled?e===r?n.gray().underline(t.title):n.strikethrough().gray(t.title):e===r?n.cyan().underline(t.title):t.title,(t.selected?n.green(c.radioOn):c.radioOff)+` `+i}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[s.symbol(this.done,this.aborted),n.bold(this.msg),s.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=o(e,this.out.columns)}}})),We=T(((e,t)=>{let n=j(),r=P(),i=N(),a=i.style,o=i.clear,s=M(),c=s.erase,l=s.cursor;t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.value=e.initial,this.initialValue=!!e.initial,this.yesMsg=e.yes||`yes`,this.yesOption=e.yesOption||`(Y/n)`,this.noMsg=e.no||`no`,this.noOption=e.noOption||`(y/N)`,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
41
41
|
`),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
42
|
-
`),this.close()}_(e,t){return e.toLowerCase()===`y`?(this.value=!0,this.submit()):e.toLowerCase()===`n`?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(l.hide):this.out.write(o(this.outputText,this.out.columns)),super.render(),this.outputText=[a.symbol(this.done,this.aborted),n.bold(this.msg),a.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:n.gray(this.initialValue?this.yesOption:this.noOption)].join(` `),this.out.write(c.line+l.to(0)+this.outputText))}}})),
|
|
43
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,c=e},f:function(){try{!a&&n.return!=null&&n.return()}finally{if(s)throw c}}}}function o(e,t){if(e){if(typeof e==`string`)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}function s(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function l(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){c(a,r,i,o,s,`next`,e)}function s(e){c(a,r,i,o,s,`throw`,e)}o(void 0)})}}let u=
|
|
42
|
+
`),this.close()}_(e,t){return e.toLowerCase()===`y`?(this.value=!0,this.submit()):e.toLowerCase()===`n`?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(l.hide):this.out.write(o(this.outputText,this.out.columns)),super.render(),this.outputText=[a.symbol(this.done,this.aborted),n.bold(this.msg),a.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:n.gray(this.initialValue?this.yesOption:this.noOption)].join(` `),this.out.write(c.line+l.to(0)+this.outputText))}}})),Ge=T(((e,t)=>{t.exports={TextPrompt:De(),SelectPrompt:Oe(),TogglePrompt:ke(),DatePrompt:ze(),NumberPrompt:Be(),MultiselectPrompt:Ve(),AutocompletePrompt:He(),AutocompleteMultiselectPrompt:Ue(),ConfirmPrompt:We()}})),Ke=T((e=>{let t=e,n=Ge(),r=e=>e;function i(e,t,i={}){return new Promise((a,o)=>{let s=new n[e](t),c=i.onAbort||r,l=i.onSubmit||r,u=i.onExit||r;s.on(`state`,t.onState||r),s.on(`submit`,e=>a(l(e))),s.on(`exit`,e=>a(u(e))),s.on(`abort`,e=>o(c(e)))})}t.text=e=>i(`TextPrompt`,e),t.password=e=>(e.style=`password`,t.text(e)),t.invisible=e=>(e.style=`invisible`,t.text(e)),t.number=e=>i(`NumberPrompt`,e),t.date=e=>i(`DatePrompt`,e),t.confirm=e=>i(`ConfirmPrompt`,e),t.list=e=>{let t=e.separator||`,`;return i(`TextPrompt`,e,{onSubmit:e=>e.split(t).map(e=>e.trim())})},t.toggle=e=>i(`TogglePrompt`,e),t.select=e=>i(`SelectPrompt`,e),t.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=e=>e.filter(e=>e.selected).map(e=>e.value);return i(`MultiselectPrompt`,e,{onAbort:t,onSubmit:t})},t.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=e=>e.filter(e=>e.selected).map(e=>e.value);return i(`AutocompleteMultiselectPrompt`,e,{onAbort:t,onSubmit:t})};let a=(e,t)=>Promise.resolve(t.filter(t=>t.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));t.autocomplete=e=>(e.suggest=e.suggest||a,e.choices=[].concat(e.choices||[]),i(`AutocompletePrompt`,e))})),qe=T(((e,t)=>{function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?n(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=o(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
43
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,c;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,c=e},f:function(){try{!a&&n.return!=null&&n.return()}finally{if(s)throw c}}}}function o(e,t){if(e){if(typeof e==`string`)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}function s(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function l(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){c(a,r,i,o,s,`next`,e)}function s(e){c(a,r,i,o,s,`throw`,e)}o(void 0)})}}let u=Ke(),d=[`suggest`,`format`,`onState`,`validate`,`onRender`,`type`],f=()=>{};function p(){return m.apply(this,arguments)}function m(){return m=l(function*(e=[],{onSubmit:t=f,onCancel:n=f}={}){let i={},o=p._override||{};e=[].concat(e);let s,c,m,g,_,v,y=function(){var e=l(function*(e,t,n=!1){if(!(!n&&e.validate&&e.validate(t)!==!0))return e.format?yield e.format(t,i):t});return function(t,n){return e.apply(this,arguments)}}();var b=a(e),x;try{for(b.s();!(x=b.n()).done;){c=x.value;var S=c;if(g=S.name,_=S.type,typeof _==`function`&&(_=yield _(s,r({},i),c),c.type=_),_){for(let e in c){if(d.includes(e))continue;let t=c[e];c[e]=typeof t==`function`?yield t(s,r({},i),v):t}if(v=c,typeof c.message!=`string`)throw Error(`prompt message is required`);var C=c;if(g=C.name,_=C.type,u[_]===void 0)throw Error(`prompt type (${_}) is not defined`);if(o[c.name]!==void 0&&(s=yield y(c,o[c.name]),s!==void 0)){i[g]=s;continue}try{s=p._injected?h(p._injected,c.initial):yield u[_](c),i[g]=s=yield y(c,s,!0),m=yield t(c,s,i)}catch{m=!(yield n(c,i))}if(m)return i}}}catch(e){b.e(e)}finally{b.f()}return i}),m.apply(this,arguments)}function h(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function g(e){p._injected=(p._injected||[]).concat(e)}function _(e){p._override=Object.assign({},e)}t.exports=Object.assign(p,{prompt:p,prompts:u,inject:g,override:_})})),Je=T(((e,t)=>{t.exports=(e,t)=>{if(!(e.meta&&e.name!==`escape`)){if(e.ctrl){if(e.name===`a`)return`first`;if(e.name===`c`||e.name===`d`)return`abort`;if(e.name===`e`)return`last`;if(e.name===`g`)return`reset`}if(t){if(e.name===`j`)return`down`;if(e.name===`k`)return`up`}return e.name===`return`||e.name===`enter`?`submit`:e.name===`backspace`?`delete`:e.name===`delete`?`deleteForward`:e.name===`abort`?`abort`:e.name===`escape`?`exit`:e.name===`tab`?`next`:e.name===`pagedown`?`nextPage`:e.name===`pageup`?`prevPage`:e.name===`home`?`home`:e.name===`end`?`end`:e.name===`up`?`up`:e.name===`down`?`down`:e.name===`right`?`right`:e.name===`left`?`left`:!1}}})),I=T(((e,t)=>{t.exports=e=>{let t=[`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)`,`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))`].join(`|`),n=new RegExp(t,`g`);return typeof e==`string`?e.replace(n,``):e}})),Ye=T(((e,t)=>{let n=I(),{erase:r,cursor:i}=M(),a=e=>[...n(e)].length;t.exports=function(e,t){if(!t)return r.line+i.to(0);let n=0,o=e.split(/\r?\n/);for(let e of o)n+=1+Math.floor(Math.max(a(e)-1,0)/t);return r.lines(n)}})),Xe=T(((e,t)=>{let n={arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,radioOn:`◉`,radioOff:`◯`,tick:`✔`,cross:`✖`,ellipsis:`…`,pointerSmall:`›`,line:`─`,pointer:`❯`},r={arrowUp:n.arrowUp,arrowDown:n.arrowDown,arrowLeft:n.arrowLeft,arrowRight:n.arrowRight,radioOn:`(*)`,radioOff:`( )`,tick:`√`,cross:`×`,ellipsis:`...`,pointerSmall:`»`,line:`─`,pointer:`>`};t.exports=process.platform===`win32`?r:n})),Ze=T(((e,t)=>{let n=j(),r=Xe(),i=Object.freeze({password:{scale:1,render:e=>`*`.repeat(e.length)},emoji:{scale:2,render:e=>`😃`.repeat(e.length)},invisible:{scale:0,render:e=>``},default:{scale:1,render:e=>`${e}`}}),a=e=>i[e]||i.default,o=Object.freeze({aborted:n.red(r.cross),done:n.green(r.tick),exited:n.yellow(r.cross),default:n.cyan(`?`)});t.exports={styles:i,render:a,symbols:o,symbol:(e,t,n)=>t?o.aborted:n?o.exited:e?o.done:o.default,delimiter:e=>n.gray(e?r.ellipsis:r.pointerSmall),item:(e,t)=>n.gray(e?t?r.pointerSmall:`+`:r.line)}})),Qe=T(((e,t)=>{let n=I();t.exports=function(e,t){let r=String(n(e)||``).split(/\r?\n/);return t?r.map(e=>Math.ceil(e.length/t)).reduce((e,t)=>e+t):r.length}})),$e=T(((e,t)=>{t.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?Array(parseInt(t.margin)).fill(` `).join(``):t.margin||``,r=t.width;return(e||``).split(/\r?\n/g).map(e=>e.split(/\s+/g).reduce((e,t)=>(t.length+n.length>=r||e[e.length-1].length+t.length+1<r?e[e.length-1]+=` ${t}`:e.push(`${n}${t}`),e),[n]).join(`
|
|
44
44
|
`)).join(`
|
|
45
|
-
`)}})),
|
|
45
|
+
`)}})),et=T(((e,t)=>{t.exports=(e,t,n)=>{n||=t;let r=Math.min(t-n,e-Math.floor(n/2));r<0&&(r=0);let i=Math.min(r+n,t);return{startIndex:r,endIndex:i}}})),L=T(((e,t)=>{t.exports={action:Je(),clear:Ye(),style:Ze(),strip:I(),figures:Xe(),lines:Qe(),wrap:$e(),entriesToDisplay:et()}})),R=T(((e,t)=>{let n=D(`readline`),{action:r}=L(),i=D(`events`),{beep:a,cursor:o}=M(),s=j();t.exports=class extends i{constructor(e={}){super(),this.firstRender=!0,this.in=e.stdin||process.stdin,this.out=e.stdout||process.stdout,this.onRender=(e.onRender||(()=>void 0)).bind(this);let t=n.createInterface({input:this.in,escapeCodeTimeout:50});n.emitKeypressEvents(this.in,t),this.in.isTTY&&this.in.setRawMode(!0);let i=[`SelectPrompt`,`MultiselectPrompt`].indexOf(this.constructor.name)>-1,a=(e,t)=>{let n=r(t,i);n===!1?this._&&this._(e,t):typeof this[n]==`function`?this[n](t):this.bell()};this.close=()=>{this.out.write(o.show),this.in.removeListener(`keypress`,a),this.in.isTTY&&this.in.setRawMode(!1),t.close(),this.emit(this.aborted?`abort`:this.exited?`exit`:`submit`,this.value),this.closed=!0},this.in.on(`keypress`,a)}fire(){this.emit(`state`,{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(a)}render(){this.onRender(s),this.firstRender&&=!1}}})),tt=T(((e,t)=>{let n=j(),r=R(),{erase:i,cursor:a}=M(),{style:o,clear:s,lines:c,figures:l}=L();t.exports=class extends r{constructor(e={}){super(e),this.transform=o.render(e.style),this.scale=this.transform.scale,this.msg=e.message,this.initial=e.initial||``,this.validator=e.validate||(()=>!0),this.value=``,this.errorMsg=e.error||`Please Enter A Valid Value`,this.cursor=Number(!!this.initial),this.cursorOffset=0,this.clear=s(``,this.out.columns),this.render()}set value(e){!e&&this.initial?(this.placeholder=!0,this.rendered=n.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(e)),this._value=e,this.fire()}get value(){return this._value}reset(){this.value=``,this.cursor=Number(!!this.initial),this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
|
|
46
46
|
`),this.close()}async validate(){let e=await this.validator(this.value);typeof e==`string`&&(this.errorMsg=e,e=!1),this.error=!e}async submit(){if(this.value=this.value||this.initial,this.cursorOffset=0,this.cursor=this.rendered.length,await this.validate(),this.error){this.red=!0,this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
47
47
|
`),this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(e){this.placeholder||(this.cursor+=e,this.cursorOffset+=e)}_(e,t){let n=this.value.slice(0,this.cursor);this.value=`${n}${e}${this.value.slice(this.cursor)}`,this.red=!1,this.cursor=this.placeholder?0:n.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();this.value=`${this.value.slice(0,this.cursor-1)}${this.value.slice(this.cursor)}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.value=`${this.value.slice(0,this.cursor)}${this.value.slice(this.cursor+1)}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(a.down(c(this.outputError,this.out.columns)-1)+s(this.outputError,this.out.columns)),this.out.write(s(this.outputText,this.out.columns))),super.render(),this.outputError=``,this.outputText=[o.symbol(this.done,this.aborted),n.bold(this.msg),o.delimiter(this.done),this.red?n.red(this.rendered):this.rendered].join(` `),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
48
|
-
`).reduce((e,t,r)=>e+`\n${r?` `:l.pointerSmall} ${n.red().italic(t)}`,``)),this.out.write(i.line+a.to(0)+this.outputText+a.save+this.outputError+a.restore+a.move(this.cursorOffset,0)))}}})),
|
|
48
|
+
`).reduce((e,t,r)=>e+`\n${r?` `:l.pointerSmall} ${n.red().italic(t)}`,``)),this.out.write(i.line+a.to(0)+this.outputText+a.save+this.outputError+a.restore+a.move(this.cursorOffset,0)))}}})),nt=T(((e,t)=>{let n=j(),r=R(),{style:i,clear:a,figures:o,wrap:s,entriesToDisplay:c}=L(),{cursor:l}=M();t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.hint=e.hint||`- Use arrow-keys. Return to submit.`,this.warn=e.warn||`- This option is disabled`,this.cursor=e.initial||0,this.choices=e.choices.map((e,t)=>(typeof e==`string`&&(e={title:e,value:t}),{title:e&&(e.title||e.value||e),value:e&&(e.value===void 0?t:e.value),description:e&&e.description,selected:e&&e.selected,disabled:e&&e.disabled})),this.optionsPerPage=e.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=a(``,this.out.columns),this.render()}moveCursor(e){this.cursor=e,this.value=this.choices[e].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
49
49
|
`),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
50
50
|
`),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(e,t){if(e===` `)return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(l.hide):this.out.write(a(this.outputText,this.out.columns)),super.render();let{startIndex:e,endIndex:t}=c(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[i.symbol(this.done,this.aborted),n.bold(this.msg),i.delimiter(!1),this.done?this.selection.title:this.selection.disabled?n.yellow(this.warn):n.gray(this.hint)].join(` `),!this.done){this.outputText+=`
|
|
51
51
|
`;for(let r=e;r<t;r++){let i,a,c=``,l=this.choices[r];a=r===e&&e>0?o.arrowUp:r===t-1&&t<this.choices.length?o.arrowDown:` `,l.disabled?(i=this.cursor===r?n.gray().underline(l.title):n.strikethrough().gray(l.title),a=(this.cursor===r?n.bold().gray(o.pointer)+` `:` `)+a):(i=this.cursor===r?n.cyan().underline(l.title):l.title,a=(this.cursor===r?n.cyan(o.pointer)+` `:` `)+a,l.description&&this.cursor===r&&(c=` - ${l.description}`,(a.length+i.length+c.length>=this.out.columns||l.description.split(/\r?\n/).length>1)&&(c=`
|
|
52
|
-
`+s(l.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${i}${n.gray(c)}\n`}}this.out.write(this.outputText)}}})),
|
|
52
|
+
`+s(l.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${i}${n.gray(c)}\n`}}this.out.write(this.outputText)}}})),rt=T(((e,t)=>{let n=j(),r=R(),{style:i,clear:a}=L(),{cursor:o,erase:s}=M();t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.value=!!e.initial,this.active=e.active||`on`,this.inactive=e.inactive||`off`,this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
53
53
|
`),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
54
|
-
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,t){if(e===` `)this.value=!this.value;else if(e===`1`)this.value=!0;else if(e===`0`)this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(o.hide):this.out.write(a(this.outputText,this.out.columns)),super.render(),this.outputText=[i.symbol(this.done,this.aborted),n.bold(this.msg),i.delimiter(this.done),this.value?this.inactive:n.cyan().underline(this.inactive),n.gray(`/`),this.value?n.cyan().underline(this.active):this.active].join(` `),this.out.write(s.line+o.to(0)+this.outputText))}}})),
|
|
54
|
+
`),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(e,t){if(e===` `)this.value=!this.value;else if(e===`1`)this.value=!0;else if(e===`0`)this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(o.hide):this.out.write(a(this.outputText,this.out.columns)),super.render(),this.outputText=[i.symbol(this.done,this.aborted),n.bold(this.msg),i.delimiter(this.done),this.value?this.inactive:n.cyan().underline(this.inactive),n.gray(`/`),this.value?n.cyan().underline(this.active):this.active].join(` `),this.out.write(s.line+o.to(0)+this.outputText))}}})),z=T(((e,t)=>{t.exports=class e{constructor({token:e,date:t,parts:n,locales:r}){this.token=e,this.date=t||new Date,this.parts=n||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,r)=>r>t&&n instanceof e)}setTo(e){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((t,r)=>r>n&&t instanceof e)}toString(){return String(this.date)}}})),it=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let e=this.date.getHours()>12?`pm`:`am`;return/\A/.test(this.token)?e.toUpperCase():e}}})),at=T(((e,t)=>{let n=z(),r=e=>(e%=10,e===1?`st`:e===2?`nd`:e===3?`rd`:`th`);t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(e){this.date.setDate(parseInt(e.substr(-2)))}toString(){let e=this.date.getDate(),t=this.date.getDay();return this.token===`DD`?String(e).padStart(2,`0`):this.token===`Do`?e+r(e):this.token===`d`?t+1:this.token===`ddd`?this.locales.weekdaysShort[t]:this.token===`dddd`?this.locales.weekdays[t]:e}}})),ot=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(e){this.date.setHours(parseInt(e.substr(-2)))}toString(){let e=this.date.getHours();return/h/.test(this.token)&&(e=e%12||12),this.token.length>1?String(e).padStart(2,`0`):e}}})),st=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(e){this.date.setMilliseconds(parseInt(e.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,`0`).substr(0,this.token.length)}}})),ct=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(e){this.date.setMinutes(parseInt(e.substr(-2)))}toString(){let e=this.date.getMinutes();return this.token.length>1?String(e).padStart(2,`0`):e}}})),lt=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(e){e=parseInt(e.substr(-2))-1,this.date.setMonth(e<0?0:e)}toString(){let e=this.date.getMonth(),t=this.token.length;return t===2?String(e+1).padStart(2,`0`):t===3?this.locales.monthsShort[e]:t===4?this.locales.months[e]:String(e+1)}}})),ut=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(e){this.date.setSeconds(parseInt(e.substr(-2)))}toString(){let e=this.date.getSeconds();return this.token.length>1?String(e).padStart(2,`0`):e}}})),dt=T(((e,t)=>{let n=z();t.exports=class extends n{constructor(e={}){super(e)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(e){this.date.setFullYear(e.substr(-4))}toString(){let e=String(this.date.getFullYear()).padStart(4,`0`);return this.token.length===2?e.substr(-2):e}}})),ft=T(((e,t)=>{t.exports={DatePart:z(),Meridiem:it(),Day:at(),Hours:ot(),Milliseconds:st(),Minutes:ct(),Month:lt(),Seconds:ut(),Year:dt()}})),pt=T(((e,t)=>{let n=j(),r=R(),{style:i,clear:a,figures:o}=L(),{erase:s,cursor:c}=M(),{DatePart:l,Meridiem:u,Day:d,Hours:f,Milliseconds:p,Minutes:m,Month:h,Seconds:g,Year:_}=ft(),v=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,y={1:({token:e})=>e.replace(/\\(.)/g,`$1`),2:e=>new d(e),3:e=>new h(e),4:e=>new _(e),5:e=>new u(e),6:e=>new f(e),7:e=>new m(e),8:e=>new g(e),9:e=>new p(e)},b={months:`January,February,March,April,May,June,July,August,September,October,November,December`.split(`,`),monthsShort:`Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec`.split(`,`),weekdays:`Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday`.split(`,`),weekdaysShort:`Sun,Mon,Tue,Wed,Thu,Fri,Sat`.split(`,`)};t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.cursor=0,this.typed=``,this.locales=Object.assign(b,e.locales),this._date=e.initial||new Date,this.errorMsg=e.error||`Please Enter A Valid Value`,this.validator=e.validate||(()=>!0),this.mask=e.mask||`YYYY-MM-DD HH:mm:ss`,this.clear=a(``,this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(e){e&&this._date.setTime(e.getTime())}set mask(e){let t;for(this.parts=[];t=v.exec(e);){let e=t.shift(),n=t.findIndex(e=>e!=null);this.parts.push(n in y?y[n]({token:t[n]||e,date:this.date,parts:this.parts,locales:this.locales}):t[n]||e)}let n=this.parts.reduce((e,t)=>(typeof t==`string`&&typeof e[e.length-1]==`string`?e[e.length-1]+=t:e.push(t),e),[]);this.parts.splice(0),this.parts.push(...n),this.reset()}moveCursor(e){this.typed=``,this.cursor=e,this.fire()}reset(){this.moveCursor(this.parts.findIndex(e=>e instanceof l)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
55
55
|
`),this.close()}async validate(){let e=await this.validator(this.value);typeof e==`string`&&(this.errorMsg=e,e=!1),this.error=!e}async submit(){if(await this.validate(),this.error){this.color=`red`,this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
56
56
|
`),this.close()}up(){this.typed=``,this.parts[this.cursor].up(),this.render()}down(){this.typed=``,this.parts[this.cursor].down(),this.render()}left(){let e=this.parts[this.cursor].prev();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}right(){let e=this.parts[this.cursor].next();if(e==null)return this.bell();this.moveCursor(this.parts.indexOf(e)),this.render()}next(){let e=this.parts[this.cursor].next();this.moveCursor(e?this.parts.indexOf(e):this.parts.findIndex(e=>e instanceof l)),this.render()}_(e){/\d/.test(e)&&(this.typed+=e,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(c.hide):this.out.write(a(this.outputText,this.out.columns)),super.render(),this.outputText=[i.symbol(this.done,this.aborted),n.bold(this.msg),i.delimiter(!1),this.parts.reduce((e,t,r)=>e.concat(r===this.cursor&&!this.done?n.cyan().underline(t.toString()):t),[]).join(``)].join(` `),this.error&&(this.outputText+=this.errorMsg.split(`
|
|
57
|
-
`).reduce((e,t,r)=>e+`\n${r?` `:o.pointerSmall} ${n.red().italic(t)}`,``)),this.out.write(s.line+c.to(0)+this.outputText))}}})),
|
|
57
|
+
`).reduce((e,t,r)=>e+`\n${r?` `:o.pointerSmall} ${n.red().italic(t)}`,``)),this.out.write(s.line+c.to(0)+this.outputText))}}})),mt=T(((e,t)=>{let n=j(),r=R(),{cursor:i,erase:a}=M(),{style:o,figures:s,clear:c,lines:l}=L(),u=/[0-9]/,d=e=>e!==void 0,f=(e,t)=>{let n=10**t;return Math.round(e*n)/n};t.exports=class extends r{constructor(e={}){super(e),this.transform=o.render(e.style),this.msg=e.message,this.initial=d(e.initial)?e.initial:``,this.float=!!e.float,this.round=e.round||2,this.inc=e.increment||1,this.min=d(e.min)?e.min:-1/0,this.max=d(e.max)?e.max:1/0,this.errorMsg=e.error||`Please Enter A Valid Value`,this.validator=e.validate||(()=>!0),this.color=`cyan`,this.value=``,this.typed=``,this.lastHit=0,this.render()}set value(e){!e&&e!==0?(this.placeholder=!0,this.rendered=n.gray(this.transform.render(`${this.initial}`)),this._value=``):(this.placeholder=!1,this.rendered=this.transform.render(`${f(e,this.round)}`),this._value=f(e,this.round)),this.fire()}get value(){return this._value}parse(e){return this.float?parseFloat(e):parseInt(e)}valid(e){return e===`-`||e===`.`&&this.float||u.test(e)}reset(){this.typed=``,this.value=``,this.fire(),this.render()}exit(){this.abort()}abort(){let e=this.value;this.value=e===``?this.initial:e,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
58
58
|
`),this.close()}async validate(){let e=await this.validator(this.value);typeof e==`string`&&(this.errorMsg=e,e=!1),this.error=!e}async submit(){if(await this.validate(),this.error){this.color=`red`,this.fire(),this.render();return}let e=this.value;this.value=e===``?this.initial:e,this.done=!0,this.aborted=!1,this.error=!1,this.fire(),this.render(),this.out.write(`
|
|
59
59
|
`),this.close()}up(){if(this.typed=``,this.value===``&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color=`cyan`,this.fire(),this.render()}down(){if(this.typed=``,this.value===``&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color=`cyan`,this.fire(),this.render()}delete(){let e=this.value.toString();if(e.length===0)return this.bell();this.value=this.parse(e=e.slice(0,-1))||``,this.value!==``&&this.value<this.min&&(this.value=this.min),this.color=`cyan`,this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(e,t){if(!this.valid(e))return this.bell();let n=Date.now();if(n-this.lastHit>1e3&&(this.typed=``),this.typed+=e,this.lastHit=n,this.color=`cyan`,e===`.`)return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(i.down(l(this.outputError,this.out.columns)-1)+c(this.outputError,this.out.columns)),this.out.write(c(this.outputText,this.out.columns))),super.render(),this.outputError=``,this.outputText=[o.symbol(this.done,this.aborted),n.bold(this.msg),o.delimiter(this.done),!this.done||!this.done&&!this.placeholder?n[this.color]().underline(this.rendered):this.rendered].join(` `),this.error&&(this.outputError+=this.errorMsg.split(`
|
|
60
|
-
`).reduce((e,t,r)=>e+`\n${r?` `:s.pointerSmall} ${n.red().italic(t)}`,``)),this.out.write(a.line+i.to(0)+this.outputText+i.save+this.outputError+i.restore))}}})),
|
|
60
|
+
`).reduce((e,t,r)=>e+`\n${r?` `:s.pointerSmall} ${n.red().italic(t)}`,``)),this.out.write(a.line+i.to(0)+this.outputText+i.save+this.outputError+i.restore))}}})),ht=T(((e,t)=>{let n=j(),{cursor:r}=M(),i=R(),{clear:a,figures:o,style:s,wrap:c,entriesToDisplay:l}=L();t.exports=class extends i{constructor(e={}){super(e),this.msg=e.message,this.cursor=e.cursor||0,this.scrollIndex=e.cursor||0,this.hint=e.hint||``,this.warn=e.warn||`- This option is disabled -`,this.minSelected=e.min,this.showMinError=!1,this.maxChoices=e.max,this.instructions=e.instructions,this.optionsPerPage=e.optionsPerPage||10,this.value=e.choices.map((e,t)=>(typeof e==`string`&&(e={title:e,value:t}),{title:e&&(e.title||e.value||e),description:e&&e.description,value:e&&(e.value===void 0?t:e.value),selected:e&&e.selected,disabled:e&&e.disabled})),this.clear=a(``,this.out.columns),e.overrideRender||this.render()}reset(){this.value.map(e=>!e.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(e=>e.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
61
61
|
`),this.close()}submit(){let e=this.value.filter(e=>e.selected);this.minSelected&&e.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
62
62
|
`),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let e=this.value[this.cursor];if(e.selected)e.selected=!1,this.render();else if(e.disabled||this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();else e.selected=!0,this.render()}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let e=!this.value[this.cursor].selected;this.value.filter(e=>!e.disabled).forEach(t=>t.selected=e),this.render()}_(e,t){if(e===` `)this.handleSpaceToggle();else if(e===`a`)this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions==`string`?this.instructions:`
|
|
63
63
|
Instructions:
|
|
@@ -65,22 +65,22 @@ Instructions:
|
|
|
65
65
|
`:``)+` enter/return: Complete answer`:``}renderOption(e,t,r,i){let a=(t.selected?n.green(o.radioOn):o.radioOff)+` `+i+` `,s,l;return t.disabled?s=e===r?n.gray().underline(t.title):n.strikethrough().gray(t.title):(s=e===r?n.cyan().underline(t.title):t.title,e===r&&t.description&&(l=` - ${t.description}`,(a.length+s.length+l.length>=this.out.columns||t.description.split(/\r?\n/).length>1)&&(l=`
|
|
66
66
|
`+c(t.description,{margin:a.length,width:this.out.columns})))),a+s+n.gray(l||``)}paginateOptions(e){if(e.length===0)return n.red(`No matches for this query.`);let{startIndex:t,endIndex:r}=l(this.cursor,e.length,this.optionsPerPage),i,a=[];for(let n=t;n<r;n++)i=n===t&&t>0?o.arrowUp:n===r-1&&r<e.length?o.arrowDown:` `,a.push(this.renderOption(this.cursor,e[n],n,i));return`
|
|
67
67
|
`+a.join(`
|
|
68
|
-
`)}renderOptions(e){return this.done?``:this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[s.symbol(this.done,this.aborted),n.bold(this.msg),s.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.value),this.out.write(this.clear+e),this.clear=a(e,this.out.columns)}}})),
|
|
68
|
+
`)}renderOptions(e){return this.done?``:this.paginateOptions(e)}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[s.symbol(this.done,this.aborted),n.bold(this.msg),s.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.value),this.out.write(this.clear+e),this.clear=a(e,this.out.columns)}}})),gt=T(((e,t)=>{let n=j(),r=R(),{erase:i,cursor:a}=M(),{style:o,clear:s,figures:c,wrap:l,entriesToDisplay:u}=L(),d=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),f=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),p=(e,t)=>{let n=e.findIndex(e=>e.value===t||e.title===t);return n>-1?n:void 0};t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.suggest=e.suggest,this.choices=e.choices,this.initial=typeof e.initial==`number`?e.initial:p(e.choices,e.initial),this.select=this.initial||e.cursor||0,this.i18n={noMatches:e.noMatches||`no matches found`},this.fallback=e.fallback||this.initial,this.clearFirst=e.clearFirst||!1,this.suggestions=[],this.input=``,this.limit=e.limit||10,this.cursor=0,this.transform=o.render(e.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=s(``,this.out.columns),this.complete(this.render),this.render()}set fallback(e){this._fb=Number.isSafeInteger(parseInt(e))?parseInt(e):e}get fallback(){let e;return typeof this._fb==`number`?e=this.choices[this._fb]:typeof this._fb==`string`&&(e={title:this._fb}),e||this._fb||{title:this.i18n.noMatches}}moveSelect(e){this.select=e,this.suggestions.length>0?this.value=d(this.suggestions,e):this.value=this.fallback.value,this.fire()}async complete(e){let t=this.completing=this.suggest(this.input,this.choices),n=await t;if(this.completing!==t)return;this.suggestions=n.map((e,t,n)=>({title:f(n,t),value:d(n,t),description:e.description})),this.completing=!1;let r=Math.max(n.length-1,0);this.moveSelect(Math.min(r,this.select)),e&&e()}reset(){this.input=``,this.complete(()=>{this.moveSelect(this.initial===void 0?0:this.initial),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
69
69
|
`),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
70
70
|
`),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
|
|
71
71
|
`),this.close()}_(e,t){let n=this.input.slice(0,this.cursor);this.input=`${n}${e}${this.input.slice(this.cursor)}`,this.cursor=n.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();this.input=`${this.input.slice(0,this.cursor-1)}${this.input.slice(this.cursor)}`,this.complete(this.render),--this.cursor,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.input=`${this.input.slice(0,this.cursor)}${this.input.slice(this.cursor+1)}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();--this.cursor,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor+=1,this.render()}renderOption(e,t,r,i){let a,o=r?c.arrowUp:i?c.arrowDown:` `,s=t?n.cyan().underline(e.title):e.title;return o=(t?n.cyan(c.pointer)+` `:` `)+o,e.description&&(a=` - ${e.description}`,(o.length+s.length+a.length>=this.out.columns||e.description.split(/\r?\n/).length>1)&&(a=`
|
|
72
72
|
`+l(e.description,{margin:3,width:this.out.columns}))),o+` `+s+n.gray(a||``)}render(){if(this.closed)return;this.firstRender?this.out.write(a.hide):this.out.write(s(this.outputText,this.out.columns)),super.render();let{startIndex:e,endIndex:t}=u(this.select,this.choices.length,this.limit);if(this.outputText=[o.symbol(this.done,this.aborted,this.exited),n.bold(this.msg),o.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(` `),!this.done){let r=this.suggestions.slice(e,t).map((n,r)=>this.renderOption(n,this.select===r+e,r===0&&e>0,r+e===t-1&&t<this.choices.length)).join(`
|
|
73
73
|
`);this.outputText+=`
|
|
74
|
-
`+(r||n.gray(this.fallback.title))}this.out.write(i.line+a.to(0)+this.outputText)}}})),
|
|
74
|
+
`+(r||n.gray(this.fallback.title))}this.out.write(i.line+a.to(0)+this.outputText)}}})),_t=T(((e,t)=>{let n=j(),{cursor:r}=M(),i=ht(),{clear:a,style:o,figures:s}=L();t.exports=class extends i{constructor(e={}){e.overrideRender=!0,super(e),this.inputValue=``,this.clear=a(``,this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let e=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(e=>this.inputValue?!!(typeof e.title==`string`&&e.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof e.value==`string`&&e.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let t=this.filteredOptions.findIndex(t=>t===e);this.cursor=t<0?0:t,this.render()}handleSpaceToggle(){let e=this.filteredOptions[this.cursor];if(e.selected)e.selected=!1,this.render();else if(e.disabled||this.value.filter(e=>e.selected).length>=this.maxChoices)return this.bell();else e.selected=!0,this.render()}handleInputChange(e){this.inputValue+=e,this.updateFilteredOptions()}_(e,t){e===` `?this.handleSpaceToggle():this.handleInputChange(e)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions==`string`?this.instructions:`
|
|
75
75
|
Instructions:
|
|
76
76
|
${s.arrowUp}/${s.arrowDown}: Highlight option
|
|
77
77
|
${s.arrowLeft}/${s.arrowRight}/[space]: Toggle selection
|
|
78
78
|
[a,b,c]/delete: Filter choices
|
|
79
79
|
enter/return: Complete answer
|
|
80
80
|
`:``}renderCurrentInput(){return`
|
|
81
|
-
Filtered results for: ${this.inputValue?this.inputValue:n.gray(`Enter something to filter`)}\n`}renderOption(e,t,r){let i;return i=t.disabled?e===r?n.gray().underline(t.title):n.strikethrough().gray(t.title):e===r?n.cyan().underline(t.title):t.title,(t.selected?n.green(s.radioOn):s.radioOff)+` `+i}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[o.symbol(this.done,this.aborted),n.bold(this.msg),o.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=a(e,this.out.columns)}}})),
|
|
81
|
+
Filtered results for: ${this.inputValue?this.inputValue:n.gray(`Enter something to filter`)}\n`}renderOption(e,t,r){let i;return i=t.disabled?e===r?n.gray().underline(t.title):n.strikethrough().gray(t.title):e===r?n.cyan().underline(t.title):t.title,(t.selected?n.green(s.radioOn):s.radioOff)+` `+i}renderDoneOrInstructions(){if(this.done)return this.value.filter(e=>e.selected).map(e=>e.title).join(`, `);let e=[n.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&e.push(n.yellow(this.warn)),e.join(` `)}render(){if(this.closed)return;this.firstRender&&this.out.write(r.hide),super.render();let e=[o.symbol(this.done,this.aborted),n.bold(this.msg),o.delimiter(!1),this.renderDoneOrInstructions()].join(` `);this.showMinError&&=(e+=n.red(`You must select a minimum of ${this.minSelected} choices.`),!1),e+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+e),this.clear=a(e,this.out.columns)}}})),vt=T(((e,t)=>{let n=j(),r=R(),{style:i,clear:a}=L(),{erase:o,cursor:s}=M();t.exports=class extends r{constructor(e={}){super(e),this.msg=e.message,this.value=e.initial,this.initialValue=!!e.initial,this.yesMsg=e.yes||`yes`,this.yesOption=e.yesOption||`(Y/n)`,this.noMsg=e.no||`no`,this.noOption=e.noOption||`(y/N)`,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
|
|
82
82
|
`),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
|
|
83
|
-
`),this.close()}_(e,t){return e.toLowerCase()===`y`?(this.value=!0,this.submit()):e.toLowerCase()===`n`?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(s.hide):this.out.write(a(this.outputText,this.out.columns)),super.render(),this.outputText=[i.symbol(this.done,this.aborted),n.bold(this.msg),i.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:n.gray(this.initialValue?this.yesOption:this.noOption)].join(` `),this.out.write(o.line+s.to(0)+this.outputText))}}})),_t=T(((e,t)=>{t.exports={TextPrompt:$e(),SelectPrompt:et(),TogglePrompt:tt(),DatePrompt:dt(),NumberPrompt:ft(),MultiselectPrompt:pt(),AutocompletePrompt:mt(),AutocompleteMultiselectPrompt:ht(),ConfirmPrompt:gt()}})),vt=T((e=>{let t=e,n=_t(),r=e=>e;function i(e,t,i={}){return new Promise((a,o)=>{let s=new n[e](t),c=i.onAbort||r,l=i.onSubmit||r,u=i.onExit||r;s.on(`state`,t.onState||r),s.on(`submit`,e=>a(l(e))),s.on(`exit`,e=>a(u(e))),s.on(`abort`,e=>o(c(e)))})}t.text=e=>i(`TextPrompt`,e),t.password=e=>(e.style=`password`,t.text(e)),t.invisible=e=>(e.style=`invisible`,t.text(e)),t.number=e=>i(`NumberPrompt`,e),t.date=e=>i(`DatePrompt`,e),t.confirm=e=>i(`ConfirmPrompt`,e),t.list=e=>{let t=e.separator||`,`;return i(`TextPrompt`,e,{onSubmit:e=>e.split(t).map(e=>e.trim())})},t.toggle=e=>i(`TogglePrompt`,e),t.select=e=>i(`SelectPrompt`,e),t.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=e=>e.filter(e=>e.selected).map(e=>e.value);return i(`MultiselectPrompt`,e,{onAbort:t,onSubmit:t})},t.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=e=>e.filter(e=>e.selected).map(e=>e.value);return i(`AutocompleteMultiselectPrompt`,e,{onAbort:t,onSubmit:t})};let a=(e,t)=>Promise.resolve(t.filter(t=>t.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));t.autocomplete=e=>(e.suggest=e.suggest||a,e.choices=[].concat(e.choices||[]),i(`AutocompletePrompt`,e))})),yt=T(((e,t)=>{let n=vt(),r=[`suggest`,`format`,`onState`,`validate`,`onRender`,`type`],i=()=>{};async function a(e=[],{onSubmit:t=i,onCancel:s=i}={}){let c={},l=a._override||{};e=[].concat(e);let u,d,f,p,m,h,g=async(e,t,n=!1)=>{if(!(!n&&e.validate&&e.validate(t)!==!0))return e.format?await e.format(t,c):t};for(d of e)if({name:p,type:m}=d,typeof m==`function`&&(m=await m(u,{...c},d),d.type=m),m){for(let e in d){if(r.includes(e))continue;let t=d[e];d[e]=typeof t==`function`?await t(u,{...c},h):t}if(h=d,typeof d.message!=`string`)throw Error(`prompt message is required`);if({name:p,type:m}=d,n[m]===void 0)throw Error(`prompt type (${m}) is not defined`);if(l[d.name]!==void 0&&(u=await g(d,l[d.name]),u!==void 0)){c[p]=u;continue}try{u=a._injected?o(a._injected,d.initial):await n[m](d),c[p]=u=await g(d,u,!0),f=await t(d,u,c)}catch{f=!await s(d,c)}if(f)return c}return c}function o(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function s(e){a._injected=(a._injected||[]).concat(e)}function c(e){a._override=Object.assign({},e)}t.exports=Object.assign(a,{prompt:a,prompts:n,inject:s,override:c})})),V=T(((e,t)=>{function n(e){e=(Array.isArray(e)?e:e.split(`.`)).map(Number);let t=0,n=process.versions.node.split(`.`).map(Number);for(;t<e.length;t++){if(n[t]>e[t])return!1;if(e[t]>n[t])return!0}return!1}t.exports=n(`8.6.0`)?Ge():yt()})),bt=E(V(),1);const xt=g.homedir(),H=d.join(xt,`.NAPPS`),U=d.join(H,`.auth`);let W=null;async function G(){return W?(Tt(W.accessExpiresAt)&&(W=null,await K()),W?.accessToken??null):null}async function St(e,t){if(await K())return!0;let n=e&&t,r=[{type:`text`,name:`email`,message:`Insert NAPPS email:`},{type:`password`,name:`password`,message:`Insert password:`}],i=!1,a={email:e,password:t};if(!n){let e=await(0,bt.default)(r,{onCancel:()=>{i=!0}});a.email=e.email,a.password=e.password}if(i)return!1;try{let e=await me(a.email,a.password);if(!e)return!1;await Ct(e.refreshToken,e.refreshExpiresAt),W={accessToken:e.accessToken,accessExpiresAt:new Date(e.accessExpiresAt)};let t=await ge(e.accessToken);return t?(console.log(`Authenticated as ${t.name}`),!0):(console.log(`Failed to get user info after authentication`),!1)}catch(e){console.log(`Authentication failed`,e)}return!1}async function Ct(e,t){r.existsSync(H)||r.mkdirSync(H);let n={token:e,expireAt:new Date(t)},i=JSON.stringify(n,null,2);try{r.writeFileSync(U,i)}catch(e){console.error(`Failed to save auth data`,e)}}async function K(){try{if(!r.existsSync(U))return!1;let e=r.readFileSync(U,`utf-8`),t=JSON.parse(e);if(t.expireAt=new Date(t.expireAt),Tt(t.expireAt))return r.unlinkSync(U),!1;let n=await he(t.token);return n?(W={accessToken:n.accessToken,accessExpiresAt:new Date(n.accessTokenExpiresAt)},!0):!1}catch{}return!1}async function wt(){try{return r.existsSync(U)?(r.unlinkSync(U),r.rmdirSync(H),!0):!0}catch(e){return console.error(`Failed to remove local authentication data`,e),!1}}function Tt(e){let t=new Date;return e.getTime()<t.getTime()}function Et(e){let t=f.join(e,`napps.config.json`);if(!i.existsSync(t)){console.log(`napps.config.json not found in the current directory.`);return}let n=i.readFileSync(t,`utf-8`);try{let e=JSON.parse(n);if(!Ot(e)){console.log(`napps.config.json is not valid. Aborting.`);return}return e}catch(e){console.log(`Failed to read napps.config.json`,e)}}function Dt(e,t){if(!Ot(t)){console.log(`Config data is not valid, cannot save napps.config.json.`);return}let n=f.join(e,`napps.config.json`),r=JSON.stringify(t,null,2);try{i.writeFileSync(n,r,`utf-8`)}catch(e){console.log(`Failed to save napps.config.json`,e)}}function Ot(e){if(!e.projectName||typeof e.projectName!=`string`)return console.log(`Invalid project name in napps.config.json.`),!1;if(typeof e.identifier!=`string`)return console.log(`Invalid identifier in napps.config.json`),!1;if(!Array.isArray(e.supportedPdpComponents))return console.log(`Invalid supportedPdpComponents in napps.config.json`),!1;if(!Array.isArray(e.supportedHomeComponents))return console.log(`Invalid supportedHomeComponents in napps.config.json`),!1;if(!Array.isArray(e.supportedShopBuilderComponents))return console.log(`Invalid supportedShopBuilderComponents in napps.config.json`),!1;let t=e=>e.every(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.componentType!=`number`||t.name!==void 0&&typeof t.name!=`string`||t.renderer!==void 0&&typeof t.renderer!=`string`)});return t(e.supportedPdpComponents)?t(e.supportedHomeComponents)?t(e.supportedShopBuilderComponents)?!0:(console.log(`Invalid component in supportedShopBuilderComponents`),!1):(console.log(`Invalid component in supportedHomeComponents`),!1):(console.log(`Invalid component in supportedPdpComponents`),!1)}async function kt(e,t,n){try{let r={identifier:t.identifier,sourceCode:n,config:t},i=await fetch(`${k}/admin/scripting`,{method:`PUT`,headers:{Authorization:e},credentials:`include`,body:JSON.stringify(r)});return i.ok?await i.json():void 0}catch(e){console.log(`Failed to update module:`,e);return}}async function At(e,t,n){let r={sourceCode:t,title:n.projectName,config:n},i=await fetch(`${k}/admin/scripting`,{method:`POST`,headers:{Authorization:e},credentials:`include`,body:JSON.stringify(r)});if(!i.ok)throw new O(`Request failed`,i);return await i.json()}var jt=E(V(),1);const Mt=x(_),q=process.cwd();async function Nt(){let e=Et(q);if(!e)return;if(!await K()){console.log(`You are not authenticated, please run auth command.`);return}if(console.log(`Building project...`),await Mt(`npm run build`,{cwd:q}),console.log(`Project built successfully.`),!i.existsSync(A)){console.log(`Build file not found. Please make sure the file component-extension.es.js is being built into the dist folder.`);return}console.log(`Reading build file `+A+` ...`);let t=i.readFileSync(A,`utf-8`);if(e.identifier===``){if(console.log(`Project identifier is not set in napps.config.json.`),!(await(0,jt.default)({type:`confirm`,initial:!1,name:`createIdentifier`,message:`Want to create a component?`})).createIdentifier){console.log(`Deploy cancelled.`);return}await Pt(e,t);return}else await Ft(e,t)}async function Pt(e,t){try{let n=await G();if(!n){console.log(`You are not authenticated, please run auth command.`);return}let r=await At(n,t,e);e.identifier=r.identifier,Dt(q,e),console.log(`Component created and deployed with identifier:`,r.identifier)}catch(e){console.log(`Failed to create module:`,e)}}async function Ft(e,t){let n=await G();if(!n){console.log(`You are not authenticated, please run auth command.`);return}let r=await kt(n,e,t);if(console.log(r),r===void 0){console.log(`Component updated and deployed`);return}e.components=r.components,Dt(q,e)}const It=`2024.8.2`,Lt=`https://github.com/cloudflare/cloudflared/releases/download/${It}/`,Rt={linux:{arm64:`cloudflared-linux-arm64`,arm:`cloudflared-linux-arm`,x64:`cloudflared-linux-amd64`,ia32:`cloudflared-linux-386`},darwin:{arm64:`cloudflared-darwin-arm64.tgz`,x64:`cloudflared-darwin-amd64.tgz`},win32:{x64:`cloudflared-windows-amd64.exe`,ia32:`cloudflared-windows-386.exe`,arm64:`cloudflared-windows-amd64.exe`}};function zt(e=process.platform,t=process.arch){if(!Object.keys(Rt).includes(e))throw Error(`Unsupported system platform: ${e}`);let n=Rt[e][t];if(n===void 0)throw Error(`Unsupported system arch: ${t}`);return Lt+n}function Bt(e=process.env,t=process.platform){return e.NAPPS_CLI_CLOUDFLARED_PATH?e.NAPPS_CLI_CLOUDFLARED_PATH:h(m(te(import.meta.url)),`..`,`bin`,t===`win32`?`cloudflared.exe`:`cloudflared`)}async function Vt(e=process.env,t=process.platform,n=process.arch){if(e.NAPPS_CLI_IGNORE_CLOUDFLARED){console.error(`Skipping cloudflared installation because NAPPS_CLI_IGNORE_CLOUDFLARED is set`);return}let r=zt(t,n),i=Bt(e,t);if(s(i))try{let e=v(i,[`--version`],{encoding:`utf8`}).split(` `);if(!Ht(It,e.length>2?e[2]:`0.0.0`))return}catch{console.debug(`version check failed, reinstalling`)}if(t===`linux`)await Ut(r,i);else if(t===`darwin`)await Gt(r,i);else if(t===`win32`)await Wt(r,i);else throw Error(`Unsupported platform: ${t}`)}function Ht(e,t){let[n,r,i]=e.split(`.`).map(Number),[a,o,s]=t.split(`.`).map(Number);return n===a?r===o?(i??0)>(s??0):(r??0)>(o??0):(n??0)>(a??0)}async function Ut(e,t){await J(e,t),await a(t,`755`)}async function Wt(e,t){await J(e,t)}async function Gt(e,t){await J(e,`${t}.tgz`),y(`tar -xzf ${p(`${t}.tgz`)}`,{cwd:m(t)}),u(`${t}.tgz`),await l(`${m(t)}/cloudflared`,t)}async function J(e,t){s(m(t))||c(m(t));let n=b.promisify(re),r=await fetch(e,{redirect:`follow`});if(!r.ok||!r.body)throw Error(`Couldn't download file ${e} (${r.status} ${r.statusText})`);let i=o(t);return await n(r.body,i),t}async function Kt(e,t){try{return console.log(`Attempting to start Cloudflare tunnel on port ${e}...`),await new qt(e,t).startTunnel(),!0}catch(e){let t=new en(`unknown`,e.message);return console.error(t),!1}}var qt=class{port;onComplete;provider=`napps-cli`;currentStatus={status:`not-started`};abortController=void 0;constructor(e,t){this.port=e,this.onComplete=t}async startTunnel(){try{await Vt(),this.tunnel()}catch(e){this.currentStatus={status:`error`,message:e.message,tryMessage:Y()}}}getTunnelStatus(){return this.currentStatus}stopTunnel(){this.abortController?.abort()}tunnel(e=0){this.abortController=new AbortController;let t=!1;if(e>=5){t=!0,this.currentStatus={status:`error`,message:`Could not start Cloudflare tunnel: max retries reached.`,tryMessage:Y()};return}let n=[`tunnel`,`--url`,`http://localhost:${this.port}`,`--no-autoupdate`],r=[],i=!1,a;this.currentStatus={status:`starting`},setTimeout(()=>{if(!t){t=!0;let e=[...new Set(r)].slice(-5).join(`
|
|
84
|
-
`);e===``?this.currentStatus={status:`error`,message:`Could not start Cloudflare tunnel: unknown error.`,tryMessage:
|
|
83
|
+
`),this.close()}_(e,t){return e.toLowerCase()===`y`?(this.value=!0,this.submit()):e.toLowerCase()===`n`?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(s.hide):this.out.write(a(this.outputText,this.out.columns)),super.render(),this.outputText=[i.symbol(this.done,this.aborted),n.bold(this.msg),i.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:n.gray(this.initialValue?this.yesOption:this.noOption)].join(` `),this.out.write(o.line+s.to(0)+this.outputText))}}})),yt=T(((e,t)=>{t.exports={TextPrompt:tt(),SelectPrompt:nt(),TogglePrompt:rt(),DatePrompt:pt(),NumberPrompt:mt(),MultiselectPrompt:ht(),AutocompletePrompt:gt(),AutocompleteMultiselectPrompt:_t(),ConfirmPrompt:vt()}})),bt=T((e=>{let t=e,n=yt(),r=e=>e;function i(e,t,i={}){return new Promise((a,o)=>{let s=new n[e](t),c=i.onAbort||r,l=i.onSubmit||r,u=i.onExit||r;s.on(`state`,t.onState||r),s.on(`submit`,e=>a(l(e))),s.on(`exit`,e=>a(u(e))),s.on(`abort`,e=>o(c(e)))})}t.text=e=>i(`TextPrompt`,e),t.password=e=>(e.style=`password`,t.text(e)),t.invisible=e=>(e.style=`invisible`,t.text(e)),t.number=e=>i(`NumberPrompt`,e),t.date=e=>i(`DatePrompt`,e),t.confirm=e=>i(`ConfirmPrompt`,e),t.list=e=>{let t=e.separator||`,`;return i(`TextPrompt`,e,{onSubmit:e=>e.split(t).map(e=>e.trim())})},t.toggle=e=>i(`TogglePrompt`,e),t.select=e=>i(`SelectPrompt`,e),t.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=e=>e.filter(e=>e.selected).map(e=>e.value);return i(`MultiselectPrompt`,e,{onAbort:t,onSubmit:t})},t.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=e=>e.filter(e=>e.selected).map(e=>e.value);return i(`AutocompleteMultiselectPrompt`,e,{onAbort:t,onSubmit:t})};let a=(e,t)=>Promise.resolve(t.filter(t=>t.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));t.autocomplete=e=>(e.suggest=e.suggest||a,e.choices=[].concat(e.choices||[]),i(`AutocompletePrompt`,e))})),xt=T(((e,t)=>{let n=bt(),r=[`suggest`,`format`,`onState`,`validate`,`onRender`,`type`],i=()=>{};async function a(e=[],{onSubmit:t=i,onCancel:s=i}={}){let c={},l=a._override||{};e=[].concat(e);let u,d,f,p,m,h,g=async(e,t,n=!1)=>{if(!(!n&&e.validate&&e.validate(t)!==!0))return e.format?await e.format(t,c):t};for(d of e)if({name:p,type:m}=d,typeof m==`function`&&(m=await m(u,{...c},d),d.type=m),m){for(let e in d){if(r.includes(e))continue;let t=d[e];d[e]=typeof t==`function`?await t(u,{...c},h):t}if(h=d,typeof d.message!=`string`)throw Error(`prompt message is required`);if({name:p,type:m}=d,n[m]===void 0)throw Error(`prompt type (${m}) is not defined`);if(l[d.name]!==void 0&&(u=await g(d,l[d.name]),u!==void 0)){c[p]=u;continue}try{u=a._injected?o(a._injected,d.initial):await n[m](d),c[p]=u=await g(d,u,!0),f=await t(d,u,c)}catch{f=!await s(d,c)}if(f)return c}return c}function o(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function s(e){a._injected=(a._injected||[]).concat(e)}function c(e){a._override=Object.assign({},e)}t.exports=Object.assign(a,{prompt:a,prompts:n,inject:s,override:c})})),B=T(((e,t)=>{function n(e){e=(Array.isArray(e)?e:e.split(`.`)).map(Number);let t=0,n=process.versions.node.split(`.`).map(Number);for(;t<e.length;t++){if(n[t]>e[t])return!1;if(e[t]>n[t])return!0}return!1}t.exports=n(`8.6.0`)?qe():xt()})),St=E(B(),1);const Ct=g.homedir(),V=d.join(Ct,`.NAPPS`),H=d.join(V,`.auth`);let U=null;async function W(){return U?(Dt(U.accessExpiresAt)&&(U=null,await G()),U?.accessToken??null):null}async function wt(e,t){if(await G())return!0;let n=e&&t,r=[{type:`text`,name:`email`,message:`Insert NAPPS email:`},{type:`password`,name:`password`,message:`Insert password:`}],i=!1,a={email:e,password:t};if(!n){let e=await(0,St.default)(r,{onCancel:()=>{i=!0}});a.email=e.email,a.password=e.password}if(i)return!1;try{let e=await he(a.email,a.password);if(!e)return!1;await Tt(e.refreshToken,e.refreshExpiresAt),U={accessToken:e.accessToken,accessExpiresAt:new Date(e.accessExpiresAt)};let t=await _e(e.accessToken);return t?(console.log(`Authenticated as ${t.name}`),!0):(console.log(`Failed to get user info after authentication`),!1)}catch(e){console.log(`Authentication failed`,e)}return!1}async function Tt(e,t){r.existsSync(V)||r.mkdirSync(V);let n={token:e,expireAt:new Date(t)},i=JSON.stringify(n,null,2);try{r.writeFileSync(H,i)}catch(e){console.error(`Failed to save auth data`,e)}}async function G(){try{if(!r.existsSync(H))return!1;let e=r.readFileSync(H,`utf-8`),t=JSON.parse(e);if(t.expireAt=new Date(t.expireAt),Dt(t.expireAt))return r.unlinkSync(H),!1;let n=await ge(t.token);return n?(U={accessToken:n.accessToken,accessExpiresAt:new Date(n.accessTokenExpiresAt)},!0):!1}catch{}return!1}async function Et(){try{return r.existsSync(H)?(r.unlinkSync(H),r.rmdirSync(V),!0):!0}catch(e){return console.error(`Failed to remove local authentication data`,e),!1}}function Dt(e){let t=new Date;return e.getTime()<t.getTime()}function Ot(e){let t=f.join(e,`napps.config.json`);if(!i.existsSync(t)){console.log(`napps.config.json not found in the current directory.`);return}let n=i.readFileSync(t,`utf-8`);try{let e=JSON.parse(n);if(!At(e)){console.log(`napps.config.json is not valid. Aborting.`);return}return e}catch(e){console.log(`Failed to read napps.config.json`,e)}}function kt(e,t){if(!At(t)){console.log(`Config data is not valid, cannot save napps.config.json.`);return}let n=f.join(e,`napps.config.json`),r=JSON.stringify(t,null,2);try{i.writeFileSync(n,r,`utf-8`)}catch(e){console.log(`Failed to save napps.config.json`,e)}}function At(e){if(!e.projectName||typeof e.projectName!=`string`)return console.log(`Invalid project name in napps.config.json.`),!1;if(typeof e.identifier!=`string`)return console.log(`Invalid identifier in napps.config.json`),!1;if(!Array.isArray(e.supportedPdpComponents))return console.log(`Invalid supportedPdpComponents in napps.config.json`),!1;if(!Array.isArray(e.supportedHomeComponents))return console.log(`Invalid supportedHomeComponents in napps.config.json`),!1;if(!Array.isArray(e.supportedShopBuilderComponents))return console.log(`Invalid supportedShopBuilderComponents in napps.config.json`),!1;let t=e=>e.every(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return!(typeof t.componentType!=`number`||t.name!==void 0&&typeof t.name!=`string`||t.renderer!==void 0&&typeof t.renderer!=`string`)});return t(e.supportedPdpComponents)?t(e.supportedHomeComponents)?t(e.supportedShopBuilderComponents)?!0:(console.log(`Invalid component in supportedShopBuilderComponents`),!1):(console.log(`Invalid component in supportedHomeComponents`),!1):(console.log(`Invalid component in supportedPdpComponents`),!1)}async function jt(e,t,n){try{let r={identifier:t.identifier,sourceCode:n,config:t},i=await fetch(`${k}/admin/scripting`,{method:`PUT`,headers:{Authorization:e},credentials:`include`,body:JSON.stringify(r)});return i.ok?await i.json():void 0}catch(e){console.log(`Failed to update module:`,e);return}}async function Mt(e,t,n){let r={sourceCode:t,title:n.projectName,config:n},i=await fetch(`${k}/admin/scripting`,{method:`POST`,headers:{Authorization:e},credentials:`include`,body:JSON.stringify(r)});if(!i.ok)throw new O(`Request failed`,i);return await i.json()}var Nt=E(B(),1);const Pt=x(_),K=process.cwd();async function Ft(){let e=Ot(K);if(!e)return;if(!await G()){console.log(`You are not authenticated, please run auth command.`);return}if(console.log(`Building project...`),await Pt(`npm run build`,{cwd:K}),console.log(`Project built successfully.`),!i.existsSync(A)){console.log(`Build file not found. Please make sure the file component-extension.es.js is being built into the dist folder.`);return}console.log(`Reading build file `+A+` ...`);let t=i.readFileSync(A,`utf-8`);if(e.identifier===``){if(console.log(`Project identifier is not set in napps.config.json.`),!(await(0,Nt.default)({type:`confirm`,initial:!1,name:`createIdentifier`,message:`Want to create a component?`})).createIdentifier){console.log(`Deploy cancelled.`);return}await It(e,t);return}else await Lt(e,t)}async function It(e,t){try{let n=await W();if(!n){console.log(`You are not authenticated, please run auth command.`);return}let r=await Mt(n,t,e);console.log(r),e.identifier=r.identifier,e.components=r.components,kt(K,e),console.log(`Component created and deployed with identifier:`,r.identifier)}catch(e){console.log(`Failed to create module:`,e)}}async function Lt(e,t){let n=await W();if(!n){console.log(`You are not authenticated, please run auth command.`);return}let r=await jt(n,e,t);if(console.log(r),r===void 0){console.log(`Component updated and deployed`);return}e.components=r.components,kt(K,e)}const Rt=`2024.8.2`,zt=`https://github.com/cloudflare/cloudflared/releases/download/${Rt}/`,Bt={linux:{arm64:`cloudflared-linux-arm64`,arm:`cloudflared-linux-arm`,x64:`cloudflared-linux-amd64`,ia32:`cloudflared-linux-386`},darwin:{arm64:`cloudflared-darwin-arm64.tgz`,x64:`cloudflared-darwin-amd64.tgz`},win32:{x64:`cloudflared-windows-amd64.exe`,ia32:`cloudflared-windows-386.exe`,arm64:`cloudflared-windows-amd64.exe`}};function Vt(e=process.platform,t=process.arch){if(!Object.keys(Bt).includes(e))throw Error(`Unsupported system platform: ${e}`);let n=Bt[e][t];if(n===void 0)throw Error(`Unsupported system arch: ${t}`);return zt+n}function Ht(e=process.env,t=process.platform){return e.NAPPS_CLI_CLOUDFLARED_PATH?e.NAPPS_CLI_CLOUDFLARED_PATH:h(m(te(import.meta.url)),`..`,`bin`,t===`win32`?`cloudflared.exe`:`cloudflared`)}async function Ut(e=process.env,t=process.platform,n=process.arch){if(e.NAPPS_CLI_IGNORE_CLOUDFLARED){console.error(`Skipping cloudflared installation because NAPPS_CLI_IGNORE_CLOUDFLARED is set`);return}let r=Vt(t,n),i=Ht(e,t);if(s(i))try{let e=v(i,[`--version`],{encoding:`utf8`}).split(` `);if(!Wt(Rt,e.length>2?e[2]:`0.0.0`))return}catch{console.debug(`version check failed, reinstalling`)}if(t===`linux`)await Gt(r,i);else if(t===`darwin`)await qt(r,i);else if(t===`win32`)await Kt(r,i);else throw Error(`Unsupported platform: ${t}`)}function Wt(e,t){let[n,r,i]=e.split(`.`).map(Number),[a,o,s]=t.split(`.`).map(Number);return n===a?r===o?(i??0)>(s??0):(r??0)>(o??0):(n??0)>(a??0)}async function Gt(e,t){await q(e,t),await a(t,`755`)}async function Kt(e,t){await q(e,t)}async function qt(e,t){await q(e,`${t}.tgz`),y(`tar -xzf ${p(`${t}.tgz`)}`,{cwd:m(t)}),u(`${t}.tgz`),await l(`${m(t)}/cloudflared`,t)}async function q(e,t){s(m(t))||c(m(t));let n=b.promisify(re),r=await fetch(e,{redirect:`follow`});if(!r.ok||!r.body)throw Error(`Couldn't download file ${e} (${r.status} ${r.statusText})`);let i=o(t);return await n(r.body,i),t}async function Jt(e,t){try{return console.log(`Attempting to start Cloudflare tunnel on port ${e}...`),await new Yt(e,t).startTunnel(),!0}catch(e){let t=new nn(`unknown`,e.message);return console.error(t),!1}}var Yt=class{port;onComplete;provider=`napps-cli`;currentStatus={status:`not-started`};abortController=void 0;constructor(e,t){this.port=e,this.onComplete=t}async startTunnel(){try{await Ut(),this.tunnel()}catch(e){this.currentStatus={status:`error`,message:e.message,tryMessage:J()}}}getTunnelStatus(){return this.currentStatus}stopTunnel(){this.abortController?.abort()}tunnel(e=0){this.abortController=new AbortController;let t=!1;if(e>=5){t=!0,this.currentStatus={status:`error`,message:`Could not start Cloudflare tunnel: max retries reached.`,tryMessage:J()};return}let n=[`tunnel`,`--url`,`http://localhost:${this.port}`,`--no-autoupdate`],r=[],i=!1,a;this.currentStatus={status:`starting`},setTimeout(()=>{if(!t){t=!0;let e=[...new Set(r)].slice(-5).join(`
|
|
84
|
+
`);e===``?this.currentStatus={status:`error`,message:`Could not start Cloudflare tunnel: unknown error.`,tryMessage:J()}:this.currentStatus={status:`error`,message:e,tryMessage:J()},this.abortController?.abort()}},40*1e3);let o=this,s=new ne({write(e,n,s){if(t)return;a||=Xt(e),$t(e)&&(i=!0),i&&(a?(t=!0,o.currentStatus={status:`connected`,url:a},o.onComplete?.(a)):o.currentStatus={status:`error`,message:`Could not start Cloudflare tunnel: URL not found.`});let c=Zt(e);c&&r.push(c),s()}}),c=C(en(),n,{signal:this.abortController.signal});c.stdout.pipe(s),c.stderr.pipe(s),c.on(`error`,async n=>{if(t)throw Error(`Could not start Cloudflare tunnel: process crashed after stablishing a connection: ${n.message}`);console.debug(`Cloudflare tunnel crashed: ${n.message}, restarting...`),await new Promise(e=>setTimeout(e,1*1e3)),this.tunnel(e+1)})}};function J(){return`You can run the command again`}function Xt(e){let t=RegExp(`(https:\\/\\/[^\\s]+\\.${tn()})`),n=e.toString().match(t)??void 0;return n&&n[1]}function Zt(e){if([/failed to request quick Tunnel/,/failed to unmarshal quick Tunnel/,/failed to parse quick Tunnel ID/,/failed to provision routing/,/ERR Couldn't start tunnel/,/ERR Failed to serve quic connection/,/ERR Failed to create new quic connection error/].some(t=>t.test(e.toString())))return`Could not start Cloudflare tunnel: ${Qt(e.toString())}`}function Qt(e){return e.replace(/^[0-9TZ:-]+ (ERR )?/g,``).replace(/connIndex.*/g,``)}function $t(e){let t=e.toString().match(/(INF Registered tunnel connection|INF Connection)/)??void 0;return t&&t[0]}function en(){return process.env.NAPPS_CLI_CLOUDFLARED_PATH?process.env.NAPPS_CLI_CLOUDFLARED_PATH:h(m(te(import.meta.url)),`..`,`bin`,process.platform===`win32`?`cloudflared.exe`:`cloudflared`)}function tn(){return process.env.NAPPS_CLI_CLOUDFLARED_DOMAIN??`trycloudflare.com`}var nn=class{type;constructor(e,t){this.type=e}};const rn=e=>e.action(e.port,e.onComplete);let Y=null,X={},an=``,Z={},on=1,sn={};function cn(e,t){let n=e.headers.host;n?.startsWith(`[::1]`)==1&&(n=`localhost:3000`);let r=Object.keys(X).map(e=>X[e]).map(e=>({description:e.description,devtoolsFrontendUrl:`/devtools/inspector.html?ws=${n}/ws/devtools?targetID=${e.id}`,devtoolsFrontendUrlCompat:`/devtools/inspector.html?ws=${n}/ws/devtools?targetID=${e.id}`,id:e.id,title:e.title,type:`napps`,url:`http://${n}/ws/devtools?targetID=${e.id}`,webSocketDebuggerUrl:`ws://${n}/ws/devtools?targetID=${e.id}`})),i=JSON.stringify(r);t.end(i)}function ln(e,t){let n={Browser:`NAPPS`,"Protocol-Version":`1.3`,"User-Agent":`V8-CDP-Bridge/1.0`,"V8-Version":an,"WebKit-Version":`V8-CDP-Bridge/1.0`};t.end(JSON.stringify(n))}function un(e,t){let n=new ae({noServer:!0,path:`/ws/devtools`,perMessageDeflate:{zlibDeflateOptions:{chunkSize:1024,memLevel:7,level:3},zlibInflateOptions:{chunkSize:10*1024},clientNoContextTakeover:!0,serverNoContextTakeover:!0,serverMaxWindowBits:10,concurrencyLimit:10,threshold:1024}});return e.on(`upgrade`,async(e,r,i)=>{if(!t(e,r,i))if(e.url?.startsWith(`/ws/devtools`)===!0){let t=URL.parse(`https://server`+e.url),a=t?.searchParams.get(`isMobile`)==`true`;if(a&&Y){console.log(`New WebSocket connection on mobile with one already connected, ignoring new connection.`),r.write(`HTTP/1.1 429 Too Many Requests\r
|
|
85
85
|
\r
|
|
86
|
-
`),n.destroy();return}else if(a)t.handleUpgrade(e,n,r,n=>{t.emit(`appsConnection`,n,e)});else{let a=i?.searchParams.get(`targetID`);if(!a){n.destroy();return}let o=nn+++``,s={id:o,event:ln,payload:{targetID:a}};if(!X){console.log(`Attempt to connect DevTools without mobile app connected.`);return}X?.send(JSON.stringify(s));let c,l=new Promise((e,t)=>{let n=2e4;c=setTimeout(()=>{t(Error(`Promise timed out after ${n} ms`))},n),$[o]={resolve:t=>{clearTimeout(c),e(t)},reject:e=>{clearTimeout(c),t(e)}}});try{let i=await l;clearTimeout(c),delete $[o],t.handleUpgrade(e,n,r,n=>{t.emit(`devToolsConnection`,n,e,i,a)})}catch{console.log(`DevTools connect pending request failed`),delete $[o];return}}}else n.destroy()}),t.on(`appsConnection`,e=>{dn(e)}),t.on(`devToolsConnection`,(e,t,n,r)=>{un(e,t,n,r)}),()=>Q}const cn=`devtools.message`,ln=`devtools.connect`;function un(e,t,n,r){console.log(`DevTools WebSocket client connected`),rn[n]=t=>{e.send(t)},e.on(`message`,(e,t)=>{let i={event:cn,payload:{msg:e.toString(`utf8`),targetID:r},sessionID:n};X?.send(JSON.stringify(i))}),e.on(`error`,e=>{console.error(`DevTools WebSocket Error:`,e)}),e.on(`close`,(e,t)=>{console.log(`WebSocket devtools client disconnected.`),delete rn[n];let i={event:`devtools.disconnect`,payload:{targetID:r},sessionID:n};X?.send(JSON.stringify(i))})}function dn(e){X=e,console.log(`Mobile App WebSocket client connected`);let t=JSON.stringify({event:`ping`,payload:{}}),n=setInterval(()=>{e.send(t)},2e3);e.on(`message`,(e,t)=>{if(t){console.error(`Received unexpected binary data`);return}let n=e.toString(`utf8`),r=JSON.parse(n);if(r.event===`Target.created`){let e=r.payload.targetInfo,t={description:e.description,devtoolsFrontendUrl:``,devtoolsFrontendUrlCompat:``,id:e.id,title:e.title,type:`NAPPSApp`,url:``,webSocketDebuggerUrl:``};Z[e.id]=t,console.log(`DevTools target was added`)}else if(r.event===`Target.destroyed`){let e=r.payload.targetID;delete Z[e],console.log(`DevTools target was removed`)}else if(r.event===cn){let e=r.sessionID;if(!e){console.error(`Receive App message to devtools with invalid sessionID`,e);return}let t=rn[e];if(!t){console.error(`Receive App message to devtools with not way to send message`,e);return}t(r.payload.msg)}else if(r.event===`devtools.connected`){if(!r.id){console.log(`Received DevTools connected message without message ID`);return}let e=r.payload.sessionID;$[r.id]?.resolve(e)}else r.event===`devtools.disconnected`||(r.event===`version`?Q=r.payload.version:r.event!==`pong`&&console.error(`Received unexpected message with event`,r.event))}),e.on(`error`,e=>{console.error(`WebSocket Error:`,e)}),e.on(`close`,(e,t)=>{clearInterval(n),X=null,console.log(`Mobile App WebSocket client disconnected.`),Z={}})}var fn=E(V(),1);const pn=new Set;let mn=-1,hn=``;function gn(){let e=JSON.stringify(On);console.log(`Broadcasting update to clients...`);for(let t of pn)t.push(e,`update`)}const _n={type:`select`,name:`componentType`,message:`Pick Page Type:`,choices:[{title:`PDP`,description:`Product detail page`,value:`pdp`}],initial:0},vn=[{type:`select`,name:`componentType`,message:`Select PDP Component Type:`,choices:[{title:`Extra Info`,description:``,value:9},{title:`Text Block`,description:``,value:24},{title:`Product Grid`,description:``,value:25},{title:`Product Linking`,description:``,value:26},{title:`Store Locator`,description:``,value:27},{title:`Table`,description:``,value:28},{title:`Product Stories`,description:``,value:30},{title:`Text Product Linking`,description:``,value:32},{title:`Product Insights`,description:``,value:33},{title:`Product Info Grid`,description:``,value:34},{title:`Product Card Carousel`,description:``,value:35},{title:`Technical Information`,description:``,value:36},{title:`Product Attribute Carousel`,description:``,value:38},{title:`Faqs`,description:``,value:43}]}];async function yn(){let e=!1,t=await(0,fn.default)(_n,{onCancel:()=>{e=!0}});if(e)return;if(hn=t.componentType,hn!==`pdp`){console.log(`Selected page type is not supported yet.`);return}let n=await(0,fn.default)(vn,{onCancel:()=>{e=!0}});if(e)return;mn=n.componentType,console.log(`Running NAPPS Component in development mode...`);let r=S.createServer((e,t)=>Cn(mn,e,t));r.keepAliveTimeout=0,r.headersTimeout=0,r.requestTimeout=0,Sn(),sn(r),r.listen(3e3,()=>{console.log(`Development server is running at http://localhost:3000`),tn({provider:`napps-cli`,port:3e3,action:Kt,onComplete:e=>{globalThis.tunnelUrl=e,console.log(`✅ Cloudflare tunnel established at:`,e),bn(e)}})})}function bn(e){let t=e;ie.toString(t,{type:`terminal`,small:!0},(e,t)=>{if(e){console.error(`Error occurred:`,e);return}console.log(t)})}function xn(e){C(`npm`,[`run`,`build`],{stdio:`inherit`,shell:!0,timeout:5e3}).on(`exit`,t=>{t===0?(console.log(`✅ Build complete`),e(!0)):(console.log(`❌ Build failed with exit code ${t}`),e(!1))})}function Sn(){let e=process.cwd(),t=n.join(e,`src`);console.log(`Starting file watcher in:`,t),w.watch(t,{ignoreInitial:!0}).on(`all`,(e,t)=>{xn(e=>{console.log(`Build ended`),e&&gn()})}),console.log(`👀 Watching for changes...`)}async function Cn(e,t,n){let{url:r,method:i}=t;if(i!==`GET`){n.statusCode=405,n.end(`Method Not Allowed`);return}r===`/updates`?await En(t,n):r===`/info`?Tn(e,t,n):r===`/file`?wn(t,n):r===`/json`||r===`/json/list`?an(t,n):r===`/json/version`?on(t,n):(n.statusCode=404,n.end(`Not Found`))}function wn(e,t){i.stat(A,(e,n)=>{if(e||!n.isFile()){t.writeHead(404,{"Content-Type":`text/plain`}),t.end(`404 Not Found`);return}t.writeHead(200,{"Content-Type":`application/json`,"Content-Length":n.size});let r=i.createReadStream(A);r.on(`error`,e=>{console.error(`File stream error:`,e),t.end()}),r.pipe(t)})}function Tn(e,t,n){n.writeHead(200,{"Content-Type":`application/json`});let r={pageType:hn,componentTypeID:e,status:`running`,timestamp:new Date().toISOString()};n.end(JSON.stringify(r))}async function En(e,t){let n=await ee(e,t);console.log(`Client connected to receive component updates`),pn.add(n),n.push(JSON.stringify(Dn),`connect`);let r=setInterval(()=>{n.push(`PING`,`PING`)},2e3);e.on(`close`,()=>{clearInterval(r),pn.delete(n),console.log(`Client disconnected. Stopped streaming.`)})}const Dn={event:`connected`,data:`You are connected to NAPPS dev server.`},On={event:`updated`,data:`Code updated`};t.version(`0.0.1`).name(`NAPPS CLI`).description(`CLI to manage NAPPS components`),t.command(`auth`).description(`Authenticate into your NAPPS account`).argument(`[username]`,`NAPPS account email`).argument(`[password]`,`NAPPS account password`).action(async(e,t)=>{if(await K()){console.log(`You are already authenticated, run logout if want to login into a different account.`);return}await St(e,t)?console.log(`Authenticated with success!`):console.log(`Authenticated failed!`)}),t.command(`me`).description(`Show authenticated user info`).action(async()=>{let e=await _e();e&&console.log(`You are authenticated as: ${e.name} <${e.email}>`)}),t.command(`logout`).description(`Remove authentication data`).action(async()=>{await wt()}),t.command(`deploy`).description(`Deploy NAPPS component`).action(async()=>{await Nt()}),t.command(`dev`).description(`Run NAPPS component in development mode`).action(async()=>{await yn()}),await t.parseAsync(process.argv);export{};
|
|
86
|
+
`),r.destroy();return}else if(a)n.handleUpgrade(e,r,i,t=>{n.emit(`appsConnection`,t,e)});else{let a=t?.searchParams.get(`targetID`);if(!a){r.destroy();return}let o=on+++``,s={id:o,event:fn,payload:{targetID:a}};if(!Y){console.log(`Attempt to connect DevTools without mobile app connected.`);return}Y?.send(JSON.stringify(s));let c,l=new Promise((e,t)=>{let n=2e4;c=setTimeout(()=>{t(Error(`Promise timed out after ${n} ms`))},n),Z[o]={resolve:t=>{clearTimeout(c),e(t)},reject:e=>{clearTimeout(c),t(e)}}});try{let t=await l;clearTimeout(c),delete Z[o],n.handleUpgrade(e,r,i,r=>{n.emit(`devToolsConnection`,r,e,t,a)})}catch{console.log(`DevTools connect pending request failed`),delete Z[o];return}}}else r.destroy()}),n.on(`appsConnection`,e=>{mn(e)}),n.on(`devToolsConnection`,(e,t,n,r)=>{pn(e,t,n,r)}),()=>an}const dn=`devtools.message`,fn=`devtools.connect`;function pn(e,t,n,r){console.log(`DevTools WebSocket client connected`),sn[n]=t=>{e.send(t)},e.on(`message`,(e,t)=>{let i={event:dn,payload:{msg:e.toString(`utf8`),targetID:r},sessionID:n};Y?.send(JSON.stringify(i))}),e.on(`error`,e=>{console.error(`DevTools WebSocket Error:`,e)}),e.on(`close`,(e,t)=>{console.log(`WebSocket devtools client disconnected.`),delete sn[n];let i={event:`devtools.disconnect`,payload:{targetID:r},sessionID:n};Y?.send(JSON.stringify(i))})}function mn(e){Y=e,console.log(`Mobile App WebSocket client connected`);let t=JSON.stringify({event:`ping`,payload:{}}),n=setInterval(()=>{e.send(t)},2e3);e.on(`message`,(e,t)=>{if(t){console.error(`Received unexpected binary data`);return}let n=e.toString(`utf8`),r=JSON.parse(n);if(r.event===`Target.created`){let e=r.payload.targetInfo,t={description:e.description,devtoolsFrontendUrl:``,devtoolsFrontendUrlCompat:``,id:e.id,title:e.title,type:`NAPPSApp`,url:``,webSocketDebuggerUrl:``};X[e.id]=t,console.log(`DevTools target was added`);let n=`localhost:3000/ws/devtools?targetID=${e.id}`,i=`devtools://devtools/bundled/inspector.html?ws=${encodeURIComponent(n)}`;console.log(`You can open it with the following URL: ${i}`)}else if(r.event===`Target.destroyed`){let e=r.payload.targetID;delete X[e],console.log(`DevTools target was removed`)}else if(r.event===dn){let e=r.sessionID;if(!e){console.error(`Receive App message to devtools with invalid sessionID`,e);return}let t=sn[e];if(!t){console.error(`Receive App message to devtools with not way to send message`,e);return}t(r.payload.msg)}else if(r.event===`devtools.connected`){if(!r.id){console.log(`Received DevTools connected message without message ID`);return}let e=r.payload.sessionID;Z[r.id]?.resolve(e)}else r.event===`devtools.disconnected`||(r.event===`version`?an=r.payload.version:r.event!==`pong`&&console.error(`Received unexpected message with event`,r.event))}),e.on(`error`,e=>{console.error(`WebSocket Error:`,e)}),e.on(`close`,(e,t)=>{clearInterval(n),Y=null,console.log(`Mobile App WebSocket client disconnected.`),X={}})}var Q=E(B(),1);const hn=new Set,gn=new Set;let _n=-1,vn=``,$;function yn(){let e=JSON.stringify(Nn);console.log(`Broadcasting update to clients...`);for(let t of hn)t.push(e,`update`);for(let t of gn)t.send(e)}const bn={type:`select`,name:`componentType`,message:`Pick Page Type:`,choices:[{title:`PDP`,description:`Product detail page`,value:`pdp`}],initial:0},xn={type:`text`,name:`renderer`,message:`Renderer name:`},Sn=[{type:`select`,name:`componentType`,message:`Select PDP Component Type:`,choices:[{title:`Custom Component`,description:``,value:46},{title:`Extra Info`,description:``,value:9},{title:`Text Block`,description:``,value:24},{title:`Product Grid`,description:``,value:25},{title:`Product Linking`,description:``,value:26},{title:`Store Locator`,description:``,value:27},{title:`Table`,description:``,value:28},{title:`Product Stories`,description:``,value:30},{title:`Text Product Linking`,description:``,value:32},{title:`Product Insights`,description:``,value:33},{title:`Product Info Grid`,description:``,value:34},{title:`Product Card Carousel`,description:``,value:35},{title:`Technical Information`,description:``,value:36},{title:`Product Attribute Carousel`,description:``,value:38},{title:`Faqs`,description:``,value:43}]}];async function Cn(){let e=!1,t=await(0,Q.default)(bn,{onCancel:()=>{e=!0}});if(e)return;if(vn=t.componentType,vn!==`pdp`){console.log(`Selected page type is not supported yet.`);return}let r=await(0,Q.default)(Sn,{onCancel:()=>{e=!0}});if(e)return;if(_n=r.componentType,_n===46){let t=`manual`,r=Ot(process.cwd());if(r?.components&&r?.components?.length>0){let n=r.components.map(e=>({title:e.name??``,value:e.renderer??``,decription:e.packageName??``}));n.push({title:`Insert Manual`,decription:``,value:`manual`});let i=await(0,Q.default)({type:`select`,name:`renderer`,message:`Select renderer:`,choices:n},{onCancel:()=>{e=!0}});if(e)return;t=i.renderer,$=r.components.find(e=>e.renderer===t)||{name:`DEBUG_COMPONENT`,renderer:t,packageName:`DEBUG_PACKAGE`,settings:[]}}if(t===`manual`){let n=await(0,Q.default)(xn,{onCancel:()=>{e=!0}});if(e)return;t=n.renderer,$={name:`DEBUG_COMPONENT`,renderer:t,packageName:``,settings:[]}}if($?.packageName){let e=n.join(process.cwd(),`napps.debug.json`);if(i.existsSync(e)){let t=i.readFileSync(e,`utf-8`);try{let e=JSON.parse(t)?.components?.find(e=>e.packageName===$?.packageName);e?.settings&&($.settings=$.settings?.map(t=>{let n=e?.settings?.find(e=>e.id===t.id)?.value;return{id:t.id,type:t.type,value:n??t.value}})??[])}catch(e){console.log(`Failed to read napps.config.json`,e)}}}}console.log(`Running NAPPS Component in development mode...`);let a=S.createServer((e,t)=>On(_n,e,t));a.keepAliveTimeout=0,a.headersTimeout=0,a.requestTimeout=0,Dn(),un(a,wn(a)),a.listen(3e3,()=>{console.log(`Development server is running at http://localhost:3000`),rn({provider:`napps-cli`,port:3e3,action:Jt,onComplete:e=>{console.log(`Cloudflare tunnel established at:`,e),Tn(e)}})})}function wn(e){let t=new ae({noServer:!0,path:`/ws/updates`,perMessageDeflate:{zlibDeflateOptions:{chunkSize:1024,memLevel:7,level:3},zlibInflateOptions:{chunkSize:10*1024},clientNoContextTakeover:!0,serverNoContextTakeover:!0,serverMaxWindowBits:10,concurrencyLimit:10,threshold:1024}});return t.on(`connection`,function(e){gn.add(e),console.log(`WebSocket connected to receive updates`),e.on(`error`,console.error),e.on(`message`,function(e){console.log(`received: %s`,e)}),e.on(`close`,()=>{gn.delete(e),console.log(`WebSocket disconnected and stoped receiving updates`)})}),(e,n,r)=>e.url?.startsWith(`/ws/updates`)===!1?!1:(t.handleUpgrade(e,n,r,n=>{t.emit(`connection`,n,e)}),!0)}function Tn(e){let t=e;ie.toString(t,{type:`terminal`,small:!0},(e,t)=>{if(e){console.error(`Error occurred:`,e);return}console.log(t)})}function En(e){C(`npm`,[`run`,`build`],{stdio:`inherit`,shell:!0,timeout:5e3}).on(`exit`,t=>{t===0?(console.log(`✅ Build complete`),e(!0)):(console.log(`❌ Build failed with exit code ${t}`),e(!1))})}function Dn(){let e=process.cwd(),t=n.join(e,`src`);console.log(`Starting file watcher in:`,t),w.watch(t,{ignoreInitial:!0}).on(`all`,(e,t)=>{En(e=>{console.log(`Build ended`),e&&yn()})}),console.log(`👀 Watching for changes...`)}async function On(e,t,n){let{url:r,method:i}=t;if(i!==`GET`){n.statusCode=405,n.end(`Method Not Allowed`);return}r===`/updates`?await jn(t,n):r===`/info`?An(e,t,n):r===`/file`?kn(t,n):r===`/json`||r===`/json/list`?cn(t,n):r===`/json/version`?ln(t,n):(n.statusCode=404,n.end(`Not Found`))}function kn(e,t){i.stat(A,(e,n)=>{if(e||!n.isFile()){t.writeHead(404,{"Content-Type":`text/plain`}),t.end(`404 Not Found`);return}t.writeHead(200,{"Content-Type":`application/json`,"Content-Length":n.size});let r=i.createReadStream(A);r.on(`error`,e=>{console.error(`File stream error:`,e),t.end()}),r.pipe(t)})}function An(e,t,n){n.writeHead(200,{"Content-Type":`application/json`});let r={pageType:vn,componentTypeID:e,status:`running`,timestamp:new Date().toISOString(),componentSettings:$};n.end(JSON.stringify(r))}async function jn(e,t){let n=await ee(e,t);console.log(`Client connected to receive component updates`),hn.add(n),n.push(JSON.stringify(Mn),`connect`);let r=setInterval(()=>{n.push(`PING`,`PING`)},2e3);e.on(`close`,()=>{clearInterval(r),hn.delete(n),console.log(`Client disconnected. Stopped streaming.`)})}const Mn={event:`connected`,data:`You are connected to NAPPS dev server.`},Nn={event:`updated`,data:`Code updated`},{version:Pn}=T(((e,t)=>{t.exports={name:`@napps/cli`,version:`0.0.9`,private:!1,engines:{node:`^20.19.0 || >=22.12.0`},keywords:[`napps`],type:`module`,exports:{".":{import:`./dist/index.js`,types:`./dist/index.d.ts`},"./package.json":`./package.json`},main:`index.js`,module:`index.js`,bin:{napps:`./bin/run.js`},files:[`/dist`,`/bin`],scripts:{"type-check":`tsc --noEmit`,build:`tsc --noEmit && tsdown --env-file=.env.prod`,"build-staging":`tsc --noEmit && tsdown --env-file=.env.staging`,"build-dev":`tsc --noEmit && tsdown --env-file=.env.prod`,prepublishOnly:`npm run build`},devDependencies:{"@types/node":`^24.5.9`,"@types/prompts":`^2.4.9`,"@types/qrcode":`^1.5.6`,dotenv:`^17.2.3`,prompts:`^2.4.2`,tsdown:`^0.16.6`,typescript:`^5.2.2`},dependencies:{"@types/ws":`^8.18.1`,"better-sse":`^0.15.1`,bufferutil:`^4.0.9`,chalk:`^5.6.2`,chokidar:`^5.0.0`,commander:`^14.0.2`,qrcode:`^1.5.4`,"ts-error":`^1.0.6`,ws:`^8.18.3`}}}))();t.version(Pn).name(`NAPPS CLI`).description(`CLI to manage NAPPS components`),t.command(`auth`).description(`Authenticate into your NAPPS account`).argument(`[username]`,`NAPPS account email`).argument(`[password]`,`NAPPS account password`).action(async(e,t)=>{if(await G()){console.log(`You are already authenticated, run logout if want to login into a different account.`);return}await wt(e,t)?console.log(`Authenticated with success!`):console.log(`Authenticated failed!`)}),t.command(`me`).description(`Show authenticated user info`).action(async()=>{let e=await ve();e&&console.log(`You are authenticated as: ${e.name} <${e.email}>`)}),t.command(`logout`).description(`Remove authentication data`).action(async()=>{await Et()}),t.command(`deploy`).description(`Deploy NAPPS component`).action(async()=>{await Ft()}),t.command(`dev`).description(`Run NAPPS component in development mode`).action(async()=>{await Cn()}),t.option(`-m, --master-url <URL>`,`Override the master URL`).parse();const Fn=t.opts();Fn.masterUrl&&me(Fn.masterUrl);export{};
|
package/package.json
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@napps/cli",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"private": false,
|
|
5
|
-
"engines": {
|
|
6
|
-
"node": "^20.19.0 || >=22.12.0"
|
|
7
|
-
},
|
|
8
|
-
"keywords": [
|
|
9
|
-
"napps"
|
|
10
|
-
],
|
|
11
|
-
"type": "module",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"import": "./dist/index.js",
|
|
15
|
-
"types": "./dist/index.d.ts"
|
|
16
|
-
},
|
|
17
|
-
"./package.json": "./package.json"
|
|
18
|
-
},
|
|
19
|
-
"main": "index.js",
|
|
20
|
-
"module": "index.js",
|
|
21
|
-
"bin": {
|
|
22
|
-
"napps": "./bin/run.js"
|
|
23
|
-
},
|
|
24
|
-
"files": [
|
|
25
|
-
"/dist",
|
|
26
|
-
"/bin"
|
|
27
|
-
],
|
|
28
|
-
"scripts": {
|
|
29
|
-
"type-check": "tsc --noEmit",
|
|
30
|
-
"build": "tsc --noEmit && tsdown --env-file=.env",
|
|
31
|
-
"build-staging": "tsc --noEmit && tsdown --env-file=.env.staging",
|
|
32
|
-
"build-
|
|
33
|
-
"prepublishOnly": "npm run build"
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@types/node": "^24.5.9",
|
|
37
|
-
"@types/prompts": "^2.4.9",
|
|
38
|
-
"@types/qrcode": "^1.5.6",
|
|
39
|
-
"dotenv": "^17.2.3",
|
|
40
|
-
"prompts": "^2.4.2",
|
|
41
|
-
"tsdown": "^0.16.6",
|
|
42
|
-
"typescript": "^5.2.2"
|
|
43
|
-
},
|
|
44
|
-
"dependencies": {
|
|
45
|
-
"@types/ws": "^8.18.1",
|
|
46
|
-
"better-sse": "^0.15.1",
|
|
47
|
-
"bufferutil": "^4.0.9",
|
|
48
|
-
"chalk": "^5.6.2",
|
|
49
|
-
"chokidar": "^5.0.0",
|
|
50
|
-
"commander": "^14.0.2",
|
|
51
|
-
"qrcode": "^1.5.4",
|
|
52
|
-
"ts-error": "^1.0.6",
|
|
53
|
-
"ws": "^8.18.3"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@napps/cli",
|
|
3
|
+
"version": "0.0.9",
|
|
4
|
+
"private": false,
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
7
|
+
},
|
|
8
|
+
"keywords": [
|
|
9
|
+
"napps"
|
|
10
|
+
],
|
|
11
|
+
"type": "module",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./package.json": "./package.json"
|
|
18
|
+
},
|
|
19
|
+
"main": "index.js",
|
|
20
|
+
"module": "index.js",
|
|
21
|
+
"bin": {
|
|
22
|
+
"napps": "./bin/run.js"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"/dist",
|
|
26
|
+
"/bin"
|
|
27
|
+
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"type-check": "tsc --noEmit",
|
|
30
|
+
"build": "tsc --noEmit && tsdown --env-file=.env.prod",
|
|
31
|
+
"build-staging": "tsc --noEmit && tsdown --env-file=.env.staging",
|
|
32
|
+
"build-dev": "tsc --noEmit && tsdown --env-file=.env.prod",
|
|
33
|
+
"prepublishOnly": "npm run build"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^24.5.9",
|
|
37
|
+
"@types/prompts": "^2.4.9",
|
|
38
|
+
"@types/qrcode": "^1.5.6",
|
|
39
|
+
"dotenv": "^17.2.3",
|
|
40
|
+
"prompts": "^2.4.2",
|
|
41
|
+
"tsdown": "^0.16.6",
|
|
42
|
+
"typescript": "^5.2.2"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@types/ws": "^8.18.1",
|
|
46
|
+
"better-sse": "^0.15.1",
|
|
47
|
+
"bufferutil": "^4.0.9",
|
|
48
|
+
"chalk": "^5.6.2",
|
|
49
|
+
"chokidar": "^5.0.0",
|
|
50
|
+
"commander": "^14.0.2",
|
|
51
|
+
"qrcode": "^1.5.4",
|
|
52
|
+
"ts-error": "^1.0.6",
|
|
53
|
+
"ws": "^8.18.3"
|
|
54
|
+
}
|
|
55
|
+
}
|