@keload/node-red-dxp 1.26.0 → 1.28.0

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 CHANGED
@@ -14,6 +14,7 @@ With **node-red-dxp**, you get everything you need to build, style, and document
14
14
  <p align="center">
15
15
  <img src="https://nodered.org/about/resources/media/node-red-icon-2.svg" alt="alt text" width="7%"/>
16
16
  <img src="https://upload.wikimedia.org/wikipedia/commons/4/4c/Typescript_logo_2020.svg" alt="alt text" width="7%"/>
17
+ <img src="./docs/images/esbuild-logo.svg" alt="alt text" width="7%"/>
17
18
  <img src="https://upload.wikimedia.org/wikipedia/commons/d/d5/Tailwind_CSS_Logo.svg" alt="alt text" width="7%"/>
18
19
  <img src="https://upload.wikimedia.org/wikipedia/commons/9/96/Sass_Logo_Color.svg" alt="alt text" width="7%"/>
19
20
  </p>
@@ -47,7 +48,7 @@ With **node-red-dxp**, you get everything you need to build, style, and document
47
48
 
48
49
  - [node-red-contrib-ultimate-toolkit](https://www.npmjs.com/package/@keload/node-red-contrib-ultimate-toolkit)️
49
50
  - [node-red-contrib-js-philips-tv-control](https://www.npmjs.com/package/@keload/node-red-contrib-js-philips-tv-control)
50
- - [node-red-contrib-happy-http-client](https://www.npmjs.com/package/@keload/node-red-contrib-happy-http-client) 🏗️
51
+ - [node-red-contrib-happy-http-client](https://www.npmjs.com/package/@keload/node-red-contrib-happy-http-client)
51
52
  - [node-red-contrib-better-webdav](https://www.npmjs.com/package/@keload/node-red-contrib-better-webdav) 🏗️
52
53
 
53
54
  ## License
@@ -0,0 +1,7 @@
1
+ node_modules/
2
+ dist/
3
+ .env
4
+ *.log
5
+ .DS_Store
6
+ coverage/
7
+ .vscode/
@@ -0,0 +1,25 @@
1
+ # {{projectName}}
2
+
3
+ {{description}}
4
+
5
+ <br/>
6
+ <p align="center">
7
+ <a href="https://www.npmjs.com/package/@keload/node-red-dxp" aria-label="Build with node-red-dxp">
8
+ <img src="https://img.shields.io/badge/Build%20with-node--red--dxp-blue?style=for-the-badge" alt="Build with node-red-dxp">
9
+ </a>
10
+ </p>
11
+
12
+ ## Overview 🔦
13
+
14
+ _Complete section describing the project._
15
+
16
+ ## Contributing & Developer Experience
17
+ This package is built using [node-red-dxp](https://www.npmjs.com/package/@keload/node-red-dxp), offering a blazing-fast and seamless way to develop Node-RED packages.
18
+
19
+ Written in **TypeScript**, the codebase is cleanly structured, ensuring maintainability and effortless scalability.
20
+
21
+ We’re committed to keeping this node alive and thriving, making it a joy to evolve and improve over time. Whether it's refining existing features or adding new capabilities, contributing should always be an enjoyable experience.
22
+
23
+ ## License
24
+
25
+ MIT
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
3
+ "assist": { "actions": { "source": { "organizeImports": "on" } } },
4
+ "files": {
5
+ "includes": [
6
+ "**/src/**/*.ts",
7
+ "**/src/**/*.json",
8
+ "build-readme.ts",
9
+ "!**/dist"
10
+ ]
11
+ },
12
+ "javascript": {
13
+ "formatter": {
14
+ "quoteStyle": "single",
15
+ "indentStyle": "space",
16
+ "indentWidth": 2,
17
+ "lineWidth": 120
18
+ }
19
+ },
20
+ "linter": {
21
+ "enabled": true,
22
+ "rules": {
23
+ "recommended": true,
24
+ "suspicious": {
25
+ "noExplicitAny": "off"
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "{{projectName}}",
3
+ "version": "1.0.0",
4
+ "description": "{{description}}",
5
+ "engines": {
6
+ "node": ">=18"
7
+ },
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "scripts": {
12
+ "build": "node-red-dxp build",
13
+ "dev": "node-red-dxp watch",
14
+ "format": "biome format",
15
+ "lint": "pnpm biome lint",
16
+ "lint:check": "biome check",
17
+ "release": "pnpm release-it",
18
+ "release:test": "pnpm release-it --dry-run",
19
+ "test": "vitest"
20
+ },
21
+ "node-red": {
22
+ "version": ">=2.0.0",
23
+ "nodes": {
24
+ "all": "dist/index.js"
25
+ }
26
+ },
27
+ "devDependencies": {
28
+ "@biomejs/biome": "^2.3.8",
29
+ "@keload/node-red-dxp": "link:/Users/keload/work/perso/node-red-dxp",
30
+ "@release-it/conventional-changelog": "^10.0.3",
31
+ "@types/jquery": "^3.5.33",
32
+ "@types/jqueryui": "^1.12.24",
33
+ "@types/node": "^25.0.1",
34
+ "@types/node-red": "^1.3.5",
35
+ "release-it": "^19.1.0",
36
+ "typescript": "^5.9.3",
37
+ "vitest": "^4.0.15"
38
+ },
39
+ "keywords": [
40
+ "node-red",
41
+ "node-red-contrib",
42
+ "node-red-dxp"
43
+ ],
44
+ "license": "MIT",
45
+ "files": [
46
+ "dist"
47
+ ]
48
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "declaration": false,
4
+ "declarationMap": false,
5
+ "emitDeclarationOnly": false,
6
+ "module": "ESNext",
7
+ "outDir": "dist",
8
+ "skipLibCheck": true,
9
+ "moduleResolution": "Bundler",
10
+ "resolveJsonModule": true,
11
+ "rootDir": "./",
12
+ "types": ["jquery", "jqueryui", "node-red", "@keload/node-red-dxp"]
13
+ },
14
+ "include": ["./src/**/*.ts"],
15
+ "exclude": [
16
+ "./src/editor.ts",
17
+ "./src/editor/**/*",
18
+ "./src/nodes/**/editor/**/*",
19
+ "./src/nodes/**/editor.*",
20
+ "./test"
21
+ ]
22
+ }
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ globals: true,
6
+ environment: 'node',
7
+ },
8
+ });
@@ -1,58 +1,60 @@
1
1
  #!/usr/bin/env node
2
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`node:perf_hooks`),l=require(`node:process`);l=s(l);let u=require(`commander`),d=require(`node:os`);d=s(d);let f=require(`node:tty`);f=s(f);let p=require(`node:fs/promises`);p=s(p);let m=require(`node:fs`);m=s(m);let h=require(`node:path`);h=s(h);let ee=require(`cosmiconfig`),g=require(`fast-glob`),_=require(`radash`),v=require(`esbuild`);v=s(v);let te=require(`mdx-to-md`),ne=require(`html-minifier-terser`),re=require(`pug`);re=s(re);let ie=require(`@fullhuman/postcss-purgecss`);ie=s(ie);let ae=require(`autoprefixer`);ae=s(ae);let y=require(`cssnano`);y=s(y);let b=require(`postcss`);b=s(b);let oe=require(`sass`);oe=s(oe);let x=require(`tailwindcss`);x=s(x);let S=require(`consola`),C=require(`prettyjson`);C=s(C);let se=require(`node:child_process`),ce=require(`handlebars`);ce=s(ce);let le=require(`browser-sync`);le=s(le);let ue=require(`chokidar`);ue=s(ue);let w=require(`nodemon`);w=s(w);const de=10,fe=(e=0)=>t=>`\u001B[${t+e}m`,pe=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,me=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,T={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},he=Object.keys(T.modifier),ge=Object.keys(T.color),_e=Object.keys(T.bgColor),ve=[...ge,..._e];function ye(){let e=new Map;for(let[t,n]of Object.entries(T)){for(let[t,r]of Object.entries(n))T[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=T[t],e.set(r[0],r[1]);Object.defineProperty(T,t,{value:n,enumerable:!1})}return Object.defineProperty(T,`codes`,{value:e,enumerable:!1}),T.color.close=`\x1B[39m`,T.bgColor.close=`\x1B[49m`,T.color.ansi=fe(),T.color.ansi256=pe(),T.color.ansi16m=me(),T.bgColor.ansi=fe(10),T.bgColor.ansi256=pe(10),T.bgColor.ansi16m=me(10),Object.defineProperties(T,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>T.rgbToAnsi256(...T.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>T.ansi256ToAnsi(T.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>T.ansi256ToAnsi(T.hexToAnsi256(e)),enumerable:!1}}),T}const be=ye();var E=be;function D(e,t=globalThis.Deno?globalThis.Deno.args:l.default.argv){let n=e.startsWith(`-`)?``:e.length===1?`-`:`--`,r=t.indexOf(n+e),i=t.indexOf(`--`);return r!==-1&&(i===-1||r<i)}const{env:O}=l.default;let k;D(`no-color`)||D(`no-colors`)||D(`color=false`)||D(`color=never`)?k=0:(D(`color`)||D(`colors`)||D(`color=true`)||D(`color=always`))&&(k=1);function xe(){if(`FORCE_COLOR`in O)return O.FORCE_COLOR===`true`?1:O.FORCE_COLOR===`false`?0:O.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(O.FORCE_COLOR,10),3)}function Se(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ce(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=xe();r!==void 0&&(k=r);let i=n?k:r;if(i===0)return 0;if(n){if(D(`color=16m`)||D(`color=full`)||D(`color=truecolor`))return 3;if(D(`color=256`))return 2}if(`TF_BUILD`in O&&`AGENT_NAME`in O)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(O.TERM===`dumb`)return a;if(l.default.platform===`win32`){let e=d.default.release().split(`.`);return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(`CI`in O)return[`GITHUB_ACTIONS`,`GITEA_ACTIONS`,`CIRCLECI`].some(e=>e in O)?3:[`TRAVIS`,`APPVEYOR`,`GITLAB_CI`,`BUILDKITE`,`DRONE`].some(e=>e in O)||O.CI_NAME===`codeship`?1:a;if(`TEAMCITY_VERSION`in O)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(O.TEAMCITY_VERSION)?1:0;if(O.COLORTERM===`truecolor`||O.TERM===`xterm-kitty`||O.TERM===`xterm-ghostty`||O.TERM===`wezterm`)return 3;if(`TERM_PROGRAM`in O){let e=Number.parseInt((O.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(O.TERM_PROGRAM){case`iTerm.app`:return e>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(O.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(O.TERM)||`COLORTERM`in O?1:a}function we(e,t={}){return Se(Ce(e,{streamIsTTY:e&&e.isTTY,...t}))}const Te={stdout:we({isTTY:f.default.isatty(1)}),stderr:we({isTTY:f.default.isatty(2)})};var Ee=Te;function De(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function Oe(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
2
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require(`node:fs`);l=c(l);let u=require(`node:path`);u=c(u);let d=require(`commander`),ee=require(`node:perf_hooks`),f=require(`node:process`);f=c(f);let te=require(`node:os`);te=c(te);let p=require(`node:tty`);p=c(p);let m=require(`node:fs/promises`);m=c(m);let ne=require(`cosmiconfig`),h=require(`fast-glob`),g=require(`radash`),_=require(`zod`),re=require(`esbuild`);re=c(re);let ie=require(`mdx-to-md`),ae=require(`html-minifier-terser`),oe=require(`pug`);oe=c(oe);let se=require(`@fullhuman/postcss-purgecss`);se=c(se);let ce=require(`autoprefixer`);ce=c(ce);let v=require(`cssnano`);v=c(v);let y=require(`postcss`);y=c(y);let le=require(`sass`);le=c(le);let ue=require(`tailwindcss`);ue=c(ue);let b=require(`consola`),de=require(`prettyjson`);de=c(de);let fe=require(`node:child_process`),pe=require(`handlebars`);pe=c(pe);let me=require(`browser-sync`);me=c(me);let he=require(`chokidar`);he=c(he);let ge=require(`nodemon`);ge=c(ge);let _e=require(`node-plop`);_e=c(_e);let ve=require(`package-manager-detector/detect`);var ye=`@keload/node-red-dxp`,be=`1.27.0`;function xe(){let e=new Map;for(let[t,n]of Object.entries(x)){for(let[t,r]of Object.entries(n))x[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=x[t],e.set(r[0],r[1]);Object.defineProperty(x,t,{value:n,enumerable:!1})}return Object.defineProperty(x,`codes`,{value:e,enumerable:!1}),x.color.close=`\x1B[39m`,x.bgColor.close=`\x1B[49m`,x.color.ansi=Ce(),x.color.ansi256=we(),x.color.ansi16m=Te(),x.bgColor.ansi=Ce(Se),x.bgColor.ansi256=we(Se),x.bgColor.ansi16m=Te(Se),Object.defineProperties(x,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>x.rgbToAnsi256(...x.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>x.ansi256ToAnsi(x.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>x.ansi256ToAnsi(x.hexToAnsi256(e)),enumerable:!1}}),x}var Se,Ce,we,Te,x,Ee,De,Oe,ke,Ae,S,je=o((()=>{Se=10,Ce=(e=0)=>t=>`\u001B[${t+e}m`,we=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,Te=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,x={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Object.keys(x.modifier),De=Object.keys(x.color),Oe=Object.keys(x.bgColor),[...De,...Oe],Ae=xe(),S=Ae}));function C(e,t=globalThis.Deno?globalThis.Deno.args:f.default.argv){let n=e.startsWith(`-`)?``:e.length===1?`-`:`--`,r=t.indexOf(n+e),i=t.indexOf(`--`);return r!==-1&&(i===-1||r<i)}function Me(){if(`FORCE_COLOR`in w)return w.FORCE_COLOR===`true`?1:w.FORCE_COLOR===`false`?0:w.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(w.FORCE_COLOR,10),3)}function Ne(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Pe(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=Me();r!==void 0&&(T=r);let i=n?T:r;if(i===0)return 0;if(n){if(C(`color=16m`)||C(`color=full`)||C(`color=truecolor`))return 3;if(C(`color=256`))return 2}if(`TF_BUILD`in w&&`AGENT_NAME`in w)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(w.TERM===`dumb`)return a;if(f.default.platform===`win32`){let e=te.default.release().split(`.`);return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(`CI`in w)return[`GITHUB_ACTIONS`,`GITEA_ACTIONS`,`CIRCLECI`].some(e=>e in w)?3:[`TRAVIS`,`APPVEYOR`,`GITLAB_CI`,`BUILDKITE`,`DRONE`].some(e=>e in w)||w.CI_NAME===`codeship`?1:a;if(`TEAMCITY_VERSION`in w)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(w.TEAMCITY_VERSION)?1:0;if(w.COLORTERM===`truecolor`||w.TERM===`xterm-kitty`||w.TERM===`xterm-ghostty`||w.TERM===`wezterm`)return 3;if(`TERM_PROGRAM`in w){let e=Number.parseInt((w.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(w.TERM_PROGRAM){case`iTerm.app`:return e>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(w.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(w.TERM)||`COLORTERM`in w?1:a}function Fe(e,t={}){return Ne(Pe(e,{streamIsTTY:e&&e.isTTY,...t}))}var w,T,Ie,Le,Re=o((()=>{({env:w}=f.default),C(`no-color`)||C(`no-colors`)||C(`color=false`)||C(`color=never`)?T=0:(C(`color`)||C(`colors`)||C(`color=true`)||C(`color=always`))&&(T=1),Ie={stdout:Fe({isTTY:p.default.isatty(1)}),stderr:Fe({isTTY:p.default.isatty(2)})},Le=Ie}));function ze(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function Be(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
3
3
  `:`
4
4
  `)+n,i=r+1,r=e.indexOf(`
5
- `,i)}while(r!==-1);return a+=e.slice(i),a}const{stdout:ke,stderr:Ae}=Ee,je=Symbol(`GENERATOR`),A=Symbol(`STYLER`),j=Symbol(`IS_EMPTY`),Me=[`ansi`,`ansi`,`ansi256`,`ansi16m`],M=Object.create(null),Ne=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=ke?ke.level:0;e.level=t.level===void 0?n:t.level},Pe=e=>{let t=(...e)=>e.join(` `);return Ne(t,e),Object.setPrototypeOf(t,N.prototype),t};function N(e){return Pe(e)}Object.setPrototypeOf(N.prototype,Function.prototype);for(let[e,t]of Object.entries(E))M[e]={get(){let n=P(this,Le(t.open,t.close,this[A]),this[j]);return Object.defineProperty(this,e,{value:n}),n}};M.visible={get(){let e=P(this,this[A],!0);return Object.defineProperty(this,`visible`,{value:e}),e}};const Fe=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?E[n].ansi16m(...r):t===`ansi256`?E[n].ansi256(E.rgbToAnsi256(...r)):E[n].ansi(E.rgbToAnsi(...r)):e===`hex`?Fe(`rgb`,t,n,...E.hexToRgb(...r)):E[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){M[e]={get(){let{level:t}=this;return function(...n){let r=Le(Fe(e,Me[t],`color`,...n),E.color.close,this[A]);return P(this,r,this[j])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);M[t]={get(){let{level:t}=this;return function(...n){let r=Le(Fe(e,Me[t],`bgColor`,...n),E.bgColor.close,this[A]);return P(this,r,this[j])}}}}const Ie=Object.defineProperties(()=>{},{...M,level:{enumerable:!0,get(){return this[je].level},set(e){this[je].level=e}}}),Le=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},P=(e,t,n)=>{let r=(...e)=>Re(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Ie),r[je]=e,r[A]=t,r[j]=n,r},Re=(e,t)=>{if(e.level<=0||!t)return e[j]?``:t;let n=e[A];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=De(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
6
- `);return a!==-1&&(t=Oe(t,i,r,a)),r+t+i};Object.defineProperties(N.prototype,M);const ze=N(),Be=N({level:Ae?Ae.level:0});var Ve=ze;const He=(e,t,n,r)=>{if(n===`length`||n===`prototype`||n===`arguments`||n===`caller`)return;let i=Object.getOwnPropertyDescriptor(e,n),a=Object.getOwnPropertyDescriptor(t,n);!Ue(i,a)&&r||Object.defineProperty(e,n,a)},Ue=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},We=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},Ge=(e,t)=>`/* Wrapped ${e}*/\n${t}`,Ke=Object.getOwnPropertyDescriptor(Function.prototype,`toString`),qe=Object.getOwnPropertyDescriptor(Function.prototype.toString,`name`),Je=(e,t,n)=>{let r=n===``?``:`with ${n.trim()}() `,i=Ge.bind(null,r,t.toString());Object.defineProperty(i,`name`,qe);let{writable:a,enumerable:o,configurable:s}=Ke;Object.defineProperty(e,`toString`,{value:i,writable:a,enumerable:o,configurable:s})};function Ye(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:r}=e;for(let r of Reflect.ownKeys(t))He(e,t,r,n);return We(e,t),Je(e,t,r),e}const F=new WeakMap,Xe=(e,t={})=>{if(typeof e!=`function`)throw TypeError(`Expected a function`);let n,r=0,i=e.displayName||e.name||`<anonymous>`,a=function(...o){if(F.set(a,++r),r===1)n=e.apply(this,o),e=void 0;else if(t.throw===!0)throw Error(`Function \`${i}\` can only be called once`);return n};return Ye(a,e),F.set(a,r),a};Xe.callCount=e=>{if(!F.has(e))throw Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return F.get(e)};var Ze=Xe;const I=[];I.push(`SIGHUP`,`SIGINT`,`SIGTERM`),process.platform!==`win32`&&I.push(`SIGALRM`,`SIGABRT`,`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&I.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`);const L=e=>!!e&&typeof e==`object`&&typeof e.removeListener==`function`&&typeof e.emit==`function`&&typeof e.reallyExit==`function`&&typeof e.listeners==`function`&&typeof e.kill==`function`&&typeof e.pid==`number`&&typeof e.on==`function`,Qe=Symbol.for(`signal-exit emitter`),$e=globalThis,et=Object.defineProperty.bind(Object);var tt=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if($e[Qe])return $e[Qe];et($e,Qe,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,t){this.listeners[e].push(t)}removeListener(e,t){let n=this.listeners[e],r=n.indexOf(t);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(e,t,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let r=!1;for(let i of this.listeners[e])r=i(t,n)===!0||r;return e===`exit`&&(r=this.emit(`afterExit`,t,n)||r),r}},nt=class{};const rt=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}});var it=class extends nt{onExit(){return()=>{}}load(){}unload(){}},at=class extends nt{#e=ot.platform===`win32`?`SIGINT`:`SIGHUP`;#t=new tt;#n;#r;#i;#a={};#o=!1;constructor(e){super(),this.#n=e,this.#a={};for(let t of I)this.#a[t]=()=>{let n=this.#n.listeners(t),{count:r}=this.#t,i=e;if(typeof i.__signal_exit_emitter__==`object`&&typeof i.__signal_exit_emitter__.count==`number`&&(r+=i.__signal_exit_emitter__.count),n.length===r){this.unload();let n=this.#t.emit(`exit`,null,t),r=t===`SIGHUP`?this.#e:t;n||e.kill(e.pid,r)}};this.#i=e.reallyExit,this.#r=e.emit}onExit(e,t){if(!L(this.#n))return()=>{};this.#o===!1&&this.load();let n=t!=null&&t.alwaysLast?`afterExit`:`exit`;return this.#t.on(n,e),()=>{this.#t.removeListener(n,e),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(let e of I)try{let t=this.#a[e];t&&this.#n.on(e,t)}catch{}this.#n.emit=(e,...t)=>this.#c(e,...t),this.#n.reallyExit=e=>this.#s(e)}}unload(){this.#o&&(this.#o=!1,I.forEach(e=>{let t=this.#a[e];if(!t)throw Error(`Listener not defined for signal: `+e);try{this.#n.removeListener(e,t)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#i,--this.#t.count)}#s(e){return L(this.#n)?(this.#n.exitCode=e||0,this.#t.emit(`exit`,this.#n.exitCode,null),this.#i.call(this.#n,this.#n.exitCode)):0}#c(e,...t){let n=this.#r;if(e===`exit`&&L(this.#n)){typeof t[0]==`number`&&(this.#n.exitCode=t[0]);let r=n.call(this.#n,e,...t);return this.#t.emit(`exit`,this.#n.exitCode,null),r}else return n.call(this.#n,e,...t)}};const ot=globalThis.process,{onExit:st,load:ct,unload:lt}=rt(L(ot)?new at(ot):new it),ut=l.default.stderr.isTTY?l.default.stderr:l.default.stdout.isTTY?l.default.stdout:void 0,dt=ut?Ze(()=>{st(()=>{ut.write(`\x1B[?25h`)},{alwaysLast:!0})}):()=>{};var ft=dt;let R=!1;const z={};z.show=(e=l.default.stderr)=>{e.isTTY&&(R=!1,e.write(`\x1B[?25h`))},z.hide=(e=l.default.stderr)=>{e.isTTY&&(ft(),R=!0,e.write(`\x1B[?25l`))},z.toggle=(e,t)=>{e!==void 0&&(R=e),R?z.show(t):z.hide(t)};var pt=z,mt={dots:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`]},dots2:{interval:80,frames:[`⣾`,`⣽`,`⣻`,`⢿`,`⡿`,`⣟`,`⣯`,`⣷`]},dots3:{interval:80,frames:[`⠋`,`⠙`,`⠚`,`⠞`,`⠖`,`⠦`,`⠴`,`⠲`,`⠳`,`⠓`]},dots4:{interval:80,frames:[`⠄`,`⠆`,`⠇`,`⠋`,`⠙`,`⠸`,`⠰`,`⠠`,`⠰`,`⠸`,`⠙`,`⠋`,`⠇`,`⠆`]},dots5:{interval:80,frames:[`⠋`,`⠙`,`⠚`,`⠒`,`⠂`,`⠂`,`⠒`,`⠲`,`⠴`,`⠦`,`⠖`,`⠒`,`⠐`,`⠐`,`⠒`,`⠓`,`⠋`]},dots6:{interval:80,frames:[`⠁`,`⠉`,`⠙`,`⠚`,`⠒`,`⠂`,`⠂`,`⠒`,`⠲`,`⠴`,`⠤`,`⠄`,`⠄`,`⠤`,`⠴`,`⠲`,`⠒`,`⠂`,`⠂`,`⠒`,`⠚`,`⠙`,`⠉`,`⠁`]},dots7:{interval:80,frames:[`⠈`,`⠉`,`⠋`,`⠓`,`⠒`,`⠐`,`⠐`,`⠒`,`⠖`,`⠦`,`⠤`,`⠠`,`⠠`,`⠤`,`⠦`,`⠖`,`⠒`,`⠐`,`⠐`,`⠒`,`⠓`,`⠋`,`⠉`,`⠈`]},dots8:{interval:80,frames:`⠁.⠁.⠉.⠙.⠚.⠒.⠂.⠂.⠒.⠲.⠴.⠤.⠄.⠄.⠤.⠠.⠠.⠤.⠦.⠖.⠒.⠐.⠐.⠒.⠓.⠋.⠉.⠈.⠈`.split(`.`)},dots9:{interval:80,frames:[`⢹`,`⢺`,`⢼`,`⣸`,`⣇`,`⡧`,`⡗`,`⡏`]},dots10:{interval:80,frames:[`⢄`,`⢂`,`⢁`,`⡁`,`⡈`,`⡐`,`⡠`]},dots11:{interval:100,frames:[`⠁`,`⠂`,`⠄`,`⡀`,`⢀`,`⠠`,`⠐`,`⠈`]},dots12:{interval:80,frames:`⢀⠀.⡀⠀.⠄⠀.⢂⠀.⡂⠀.⠅⠀.⢃⠀.⡃⠀.⠍⠀.⢋⠀.⡋⠀.⠍⠁.⢋⠁.⡋⠁.⠍⠉.⠋⠉.⠋⠉.⠉⠙.⠉⠙.⠉⠩.⠈⢙.⠈⡙.⢈⠩.⡀⢙.⠄⡙.⢂⠩.⡂⢘.⠅⡘.⢃⠨.⡃⢐.⠍⡐.⢋⠠.⡋⢀.⠍⡁.⢋⠁.⡋⠁.⠍⠉.⠋⠉.⠋⠉.⠉⠙.⠉⠙.⠉⠩.⠈⢙.⠈⡙.⠈⠩.⠀⢙.⠀⡙.⠀⠩.⠀⢘.⠀⡘.⠀⠨.⠀⢐.⠀⡐.⠀⠠.⠀⢀.⠀⡀`.split(`.`)},dots13:{interval:80,frames:[`⣼`,`⣹`,`⢻`,`⠿`,`⡟`,`⣏`,`⣧`,`⣶`]},dots14:{interval:80,frames:[`⠉⠉`,`⠈⠙`,`⠀⠹`,`⠀⢸`,`⠀⣰`,`⢀⣠`,`⣀⣀`,`⣄⡀`,`⣆⠀`,`⡇⠀`,`⠏⠀`,`⠋⠁`]},dots8Bit:{interval:80,frames:`⠀.⠁.⠂.⠃.⠄.⠅.⠆.⠇.⡀.⡁.⡂.⡃.⡄.⡅.⡆.⡇.⠈.⠉.⠊.⠋.⠌.⠍.⠎.⠏.⡈.⡉.⡊.⡋.⡌.⡍.⡎.⡏.⠐.⠑.⠒.⠓.⠔.⠕.⠖.⠗.⡐.⡑.⡒.⡓.⡔.⡕.⡖.⡗.⠘.⠙.⠚.⠛.⠜.⠝.⠞.⠟.⡘.⡙.⡚.⡛.⡜.⡝.⡞.⡟.⠠.⠡.⠢.⠣.⠤.⠥.⠦.⠧.⡠.⡡.⡢.⡣.⡤.⡥.⡦.⡧.⠨.⠩.⠪.⠫.⠬.⠭.⠮.⠯.⡨.⡩.⡪.⡫.⡬.⡭.⡮.⡯.⠰.⠱.⠲.⠳.⠴.⠵.⠶.⠷.⡰.⡱.⡲.⡳.⡴.⡵.⡶.⡷.⠸.⠹.⠺.⠻.⠼.⠽.⠾.⠿.⡸.⡹.⡺.⡻.⡼.⡽.⡾.⡿.⢀.⢁.⢂.⢃.⢄.⢅.⢆.⢇.⣀.⣁.⣂.⣃.⣄.⣅.⣆.⣇.⢈.⢉.⢊.⢋.⢌.⢍.⢎.⢏.⣈.⣉.⣊.⣋.⣌.⣍.⣎.⣏.⢐.⢑.⢒.⢓.⢔.⢕.⢖.⢗.⣐.⣑.⣒.⣓.⣔.⣕.⣖.⣗.⢘.⢙.⢚.⢛.⢜.⢝.⢞.⢟.⣘.⣙.⣚.⣛.⣜.⣝.⣞.⣟.⢠.⢡.⢢.⢣.⢤.⢥.⢦.⢧.⣠.⣡.⣢.⣣.⣤.⣥.⣦.⣧.⢨.⢩.⢪.⢫.⢬.⢭.⢮.⢯.⣨.⣩.⣪.⣫.⣬.⣭.⣮.⣯.⢰.⢱.⢲.⢳.⢴.⢵.⢶.⢷.⣰.⣱.⣲.⣳.⣴.⣵.⣶.⣷.⢸.⢹.⢺.⢻.⢼.⢽.⢾.⢿.⣸.⣹.⣺.⣻.⣼.⣽.⣾.⣿`.split(`.`)},dotsCircle:{interval:80,frames:[`⢎ `,`⠎⠁`,`⠊⠑`,`⠈⠱`,` ⡱`,`⢀⡰`,`⢄⡠`,`⢆⡀`]},sand:{interval:80,frames:`⠁.⠂.⠄.⡀.⡈.⡐.⡠.⣀.⣁.⣂.⣄.⣌.⣔.⣤.⣥.⣦.⣮.⣶.⣷.⣿.⡿.⠿.⢟.⠟.⡛.⠛.⠫.⢋.⠋.⠍.⡉.⠉.⠑.⠡.⢁`.split(`.`)},line:{interval:130,frames:[`-`,`\\`,`|`,`/`]},line2:{interval:100,frames:[`⠂`,`-`,`–`,`—`,`–`,`-`]},rollingLine:{interval:80,frames:[`/ `,` - `,` \\ `,` |`,` |`,` \\ `,` - `,`/ `]},pipe:{interval:100,frames:[`┤`,`┘`,`┴`,`└`,`├`,`┌`,`┬`,`┐`]},simpleDots:{interval:400,frames:[`. `,`.. `,`...`,` `]},simpleDotsScrolling:{interval:200,frames:[`. `,`.. `,`...`,` ..`,` .`,` `]},star:{interval:70,frames:[`✶`,`✸`,`✹`,`✺`,`✹`,`✷`]},star2:{interval:80,frames:[`+`,`x`,`*`]},flip:{interval:70,frames:[`_`,`_`,`_`,`-`,"`","`",`'`,`´`,`-`,`_`,`_`,`_`]},hamburger:{interval:100,frames:[`☱`,`☲`,`☴`]},growVertical:{interval:120,frames:[`▁`,`▃`,`▄`,`▅`,`▆`,`▇`,`▆`,`▅`,`▄`,`▃`]},growHorizontal:{interval:120,frames:[`▏`,`▎`,`▍`,`▌`,`▋`,`▊`,`▉`,`▊`,`▋`,`▌`,`▍`,`▎`]},balloon:{interval:140,frames:[` `,`.`,`o`,`O`,`@`,`*`,` `]},balloon2:{interval:120,frames:[`.`,`o`,`O`,`°`,`O`,`o`,`.`]},noise:{interval:100,frames:[`▓`,`▒`,`░`]},bounce:{interval:120,frames:[`⠁`,`⠂`,`⠄`,`⠂`]},boxBounce:{interval:120,frames:[`▖`,`▘`,`▝`,`▗`]},boxBounce2:{interval:100,frames:[`▌`,`▀`,`▐`,`▄`]},triangle:{interval:50,frames:[`◢`,`◣`,`◤`,`◥`]},binary:{interval:80,frames:[`010010`,`001100`,`100101`,`111010`,`111101`,`010111`,`101011`,`111000`,`110011`,`110101`]},arc:{interval:100,frames:[`◜`,`◠`,`◝`,`◞`,`◡`,`◟`]},circle:{interval:120,frames:[`◡`,`⊙`,`◠`]},squareCorners:{interval:180,frames:[`◰`,`◳`,`◲`,`◱`]},circleQuarters:{interval:120,frames:[`◴`,`◷`,`◶`,`◵`]},circleHalves:{interval:50,frames:[`◐`,`◓`,`◑`,`◒`]},squish:{interval:100,frames:[`╫`,`╪`]},toggle:{interval:250,frames:[`⊶`,`⊷`]},toggle2:{interval:80,frames:[`▫`,`▪`]},toggle3:{interval:120,frames:[`□`,`■`]},toggle4:{interval:100,frames:[`■`,`□`,`▪`,`▫`]},toggle5:{interval:100,frames:[`▮`,`▯`]},toggle6:{interval:300,frames:[`ဝ`,`၀`]},toggle7:{interval:80,frames:[`⦾`,`⦿`]},toggle8:{interval:100,frames:[`◍`,`◌`]},toggle9:{interval:100,frames:[`◉`,`◎`]},toggle10:{interval:100,frames:[`㊂`,`㊀`,`㊁`]},toggle11:{interval:50,frames:[`⧇`,`⧆`]},toggle12:{interval:120,frames:[`☗`,`☖`]},toggle13:{interval:80,frames:[`=`,`*`,`-`]},arrow:{interval:100,frames:[`←`,`↖`,`↑`,`↗`,`→`,`↘`,`↓`,`↙`]},arrow2:{interval:80,frames:[`⬆️ `,`↗️ `,`➡️ `,`↘️ `,`⬇️ `,`↙️ `,`⬅️ `,`↖️ `]},arrow3:{interval:120,frames:[`▹▹▹▹▹`,`▸▹▹▹▹`,`▹▸▹▹▹`,`▹▹▸▹▹`,`▹▹▹▸▹`,`▹▹▹▹▸`]},bouncingBar:{interval:80,frames:[`[ ]`,`[= ]`,`[== ]`,`[=== ]`,`[====]`,`[ ===]`,`[ ==]`,`[ =]`,`[ ]`,`[ =]`,`[ ==]`,`[ ===]`,`[====]`,`[=== ]`,`[== ]`,`[= ]`]},bouncingBall:{interval:80,frames:[`( ● )`,`( ● )`,`( ● )`,`( ● )`,`( ●)`,`( ● )`,`( ● )`,`( ● )`,`( ● )`,`(● )`]},smiley:{interval:200,frames:[`😄 `,`😝 `]},monkey:{interval:300,frames:[`🙈 `,`🙈 `,`🙉 `,`🙊 `]},hearts:{interval:100,frames:[`💛 `,`💙 `,`💜 `,`💚 `,`💗 `]},clock:{interval:100,frames:[`🕛 `,`🕐 `,`🕑 `,`🕒 `,`🕓 `,`🕔 `,`🕕 `,`🕖 `,`🕗 `,`🕘 `,`🕙 `,`🕚 `]},earth:{interval:180,frames:[`🌍 `,`🌎 `,`🌏 `]},material:{interval:17,frames:`█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁.██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁.███████▁▁▁▁▁▁▁▁▁▁▁▁▁.████████▁▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.██████████▁▁▁▁▁▁▁▁▁▁.███████████▁▁▁▁▁▁▁▁▁.█████████████▁▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁▁██████████████▁▁▁▁.▁▁▁██████████████▁▁▁.▁▁▁▁█████████████▁▁▁.▁▁▁▁██████████████▁▁.▁▁▁▁██████████████▁▁.▁▁▁▁▁██████████████▁.▁▁▁▁▁██████████████▁.▁▁▁▁▁██████████████▁.▁▁▁▁▁▁██████████████.▁▁▁▁▁▁██████████████.▁▁▁▁▁▁▁█████████████.▁▁▁▁▁▁▁█████████████.▁▁▁▁▁▁▁▁████████████.▁▁▁▁▁▁▁▁████████████.▁▁▁▁▁▁▁▁▁███████████.▁▁▁▁▁▁▁▁▁███████████.▁▁▁▁▁▁▁▁▁▁██████████.▁▁▁▁▁▁▁▁▁▁██████████.▁▁▁▁▁▁▁▁▁▁▁▁████████.▁▁▁▁▁▁▁▁▁▁▁▁▁███████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████.█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.██████▁▁▁▁▁▁▁▁▁▁▁▁▁█.████████▁▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.███████████▁▁▁▁▁▁▁▁▁.████████████▁▁▁▁▁▁▁▁.████████████▁▁▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁▁▁█████████████▁▁▁▁.▁▁▁▁▁████████████▁▁▁.▁▁▁▁▁████████████▁▁▁.▁▁▁▁▁▁███████████▁▁▁.▁▁▁▁▁▁▁▁█████████▁▁▁.▁▁▁▁▁▁▁▁█████████▁▁▁.▁▁▁▁▁▁▁▁▁█████████▁▁.▁▁▁▁▁▁▁▁▁█████████▁▁.▁▁▁▁▁▁▁▁▁▁█████████▁.▁▁▁▁▁▁▁▁▁▁▁████████▁.▁▁▁▁▁▁▁▁▁▁▁████████▁.▁▁▁▁▁▁▁▁▁▁▁▁███████▁.▁▁▁▁▁▁▁▁▁▁▁▁███████▁.▁▁▁▁▁▁▁▁▁▁▁▁▁███████.▁▁▁▁▁▁▁▁▁▁▁▁▁███████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁`.split(`.`)},moon:{interval:80,frames:[`🌑 `,`🌒 `,`🌓 `,`🌔 `,`🌕 `,`🌖 `,`🌗 `,`🌘 `]},runner:{interval:140,frames:[`🚶 `,`🏃 `]},pong:{interval:80,frames:`▐⠂ ▌.▐⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂▌.▐ ⠠▌.▐ ⡀▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐⠠ ▌`.split(`.`)},shark:{interval:120,frames:`▐|\\____________▌.▐_|\\___________▌.▐__|\\__________▌.▐___|\\_________▌.▐____|\\________▌.▐_____|\\_______▌.▐______|\\______▌.▐_______|\\_____▌.▐________|\\____▌.▐_________|\\___▌.▐__________|\\__▌.▐___________|\\_▌.▐____________|\\▌.▐____________/|▌.▐___________/|_▌.▐__________/|__▌.▐_________/|___▌.▐________/|____▌.▐_______/|_____▌.▐______/|______▌.▐_____/|_______▌.▐____/|________▌.▐___/|_________▌.▐__/|__________▌.▐_/|___________▌.▐/|____________▌`.split(`.`)},dqpb:{interval:100,frames:[`d`,`q`,`p`,`b`]},weather:{interval:100,frames:[`☀️ `,`☀️ `,`☀️ `,`🌤 `,`⛅️ `,`🌥 `,`☁️ `,`🌧 `,`🌨 `,`🌧 `,`🌨 `,`🌧 `,`🌨 `,`⛈ `,`🌨 `,`🌧 `,`🌨 `,`☁️ `,`🌥 `,`⛅️ `,`🌤 `,`☀️ `,`☀️ `]},christmas:{interval:400,frames:[`🌲`,`🎄`]},grenade:{interval:80,frames:[`، `,`′ `,` ´ `,` ‾ `,` ⸌`,` ⸊`,` |`,` ⁎`,` ⁕`,` ෴ `,` ⁓`,` `,` `,` `]},point:{interval:125,frames:[`∙∙∙`,`●∙∙`,`∙●∙`,`∙∙●`,`∙∙∙`]},layer:{interval:150,frames:[`-`,`=`,`≡`]},betaWave:{interval:80,frames:[`ρββββββ`,`βρβββββ`,`ββρββββ`,`βββρβββ`,`ββββρββ`,`βββββρβ`,`ββββββρ`]},fingerDance:{interval:160,frames:[`🤘 `,`🤟 `,`🖖 `,`✋ `,`🤚 `,`👆 `]},fistBump:{interval:80,frames:[`🤜    🤛 `,`🤜    🤛 `,`🤜    🤛 `,` 🤜  🤛  `,`  🤜🤛   `,` 🤜✨🤛   `,`🤜 ✨ 🤛  `]},soccerHeader:{interval:80,frames:[` 🧑⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `]},mindblown:{interval:160,frames:[`😐 `,`😐 `,`😮 `,`😮 `,`😦 `,`😦 `,`😧 `,`😧 `,`🤯 `,`💥 `,`✨ `,`  `,`  `,`  `]},speaker:{interval:160,frames:[`🔈 `,`🔉 `,`🔊 `,`🔉 `]},orangePulse:{interval:100,frames:[`🔸 `,`🔶 `,`🟠 `,`🟠 `,`🔶 `]},bluePulse:{interval:100,frames:[`🔹 `,`🔷 `,`🔵 `,`🔵 `,`🔷 `]},orangeBluePulse:{interval:100,frames:[`🔸 `,`🔶 `,`🟠 `,`🟠 `,`🔶 `,`🔹 `,`🔷 `,`🔵 `,`🔵 `,`🔷 `]},timeTravel:{interval:100,frames:[`🕛 `,`🕚 `,`🕙 `,`🕘 `,`🕗 `,`🕖 `,`🕕 `,`🕔 `,`🕓 `,`🕒 `,`🕑 `,`🕐 `]},aesthetic:{interval:80,frames:[`▰▱▱▱▱▱▱`,`▰▰▱▱▱▱▱`,`▰▰▰▱▱▱▱`,`▰▰▰▰▱▱▱`,`▰▰▰▰▰▱▱`,`▰▰▰▰▰▰▱`,`▰▰▰▰▰▰▰`,`▰▱▱▱▱▱▱`]},dwarfFortress:{interval:80,frames:` ██████£££ .☺██████£££ .☺██████£££ .☺▓█████£££ .☺▓█████£££ .☺▒█████£££ .☺▒█████£££ .☺░█████£££ .☺░█████£££ .☺ █████£££ . ☺█████£££ . ☺█████£££ . ☺▓████£££ . ☺▓████£££ . ☺▒████£££ . ☺▒████£££ . ☺░████£££ . ☺░████£££ . ☺ ████£££ . ☺████£££ . ☺████£££ . ☺▓███£££ . ☺▓███£££ . ☺▒███£££ . ☺▒███£££ . ☺░███£££ . ☺░███£££ . ☺ ███£££ . ☺███£££ . ☺███£££ . ☺▓██£££ . ☺▓██£££ . ☺▒██£££ . ☺▒██£££ . ☺░██£££ . ☺░██£££ . ☺ ██£££ . ☺██£££ . ☺██£££ . ☺▓█£££ . ☺▓█£££ . ☺▒█£££ . ☺▒█£££ . ☺░█£££ . ☺░█£££ . ☺ █£££ . ☺█£££ . ☺█£££ . ☺▓£££ . ☺▓£££ . ☺▒£££ . ☺▒£££ . ☺░£££ . ☺░£££ . ☺ £££ . ☺£££ . ☺£££ . ☺▓££ . ☺▓££ . ☺▒££ . ☺▒££ . ☺░££ . ☺░££ . ☺ ££ . ☺££ . ☺££ . ☺▓£ . ☺▓£ . ☺▒£ . ☺▒£ . ☺░£ . ☺░£ . ☺ £ . ☺£ . ☺£ . ☺▓ . ☺▓ . ☺▒ . ☺▒ . ☺░ . ☺░ . ☺ . ☺ &. ☺ ☼&. ☺ ☼ &. ☺☼ &. ☺☼ & . ‼ & . ☺ & . ‼ & . ☺ & . ‼ & . ☺ & .‼ & . & . & . & ░ . & ▒ . & ▓ . & £ . & ░£ . & ▒£ . & ▓£ . & ££ . & ░££ . & ▒££ .& ▓££ .& £££ . ░£££ . ▒£££ . ▓£££ . █£££ . ░█£££ . ▒█£££ . ▓█£££ . ██£££ . ░██£££ . ▒██£££ . ▓██£££ . ███£££ . ░███£££ . ▒███£££ . ▓███£££ . ████£££ . ░████£££ . ▒████£££ . ▓████£££ . █████£££ . ░█████£££ . ▒█████£££ . ▓█████£££ . ██████£££ . ██████£££ `.split(`.`)}},B=mt;const ht=Object.keys(mt);var V,gt;const _t=(f.default===null||f.default===void 0||(V=f.default.WriteStream)==null||(V=V.prototype)==null||(gt=V.hasColors)==null?void 0:gt.call(V))??!1,H=(e,t)=>{if(!_t)return e=>e;let n=`\u001B[${e}m`,r=`\u001B[${t}m`;return e=>{let i=e+``,a=i.indexOf(r);if(a===-1)return n+i+r;let o=n,s=0,c=(t===22?r:``)+n;for(;a!==-1;)o+=i.slice(s,a)+c,s=a+r.length,a=i.indexOf(r,s);return o+=i.slice(s)+r,o}},vt=H(0,0),yt=H(1,22),bt=H(2,22),xt=H(3,23),St=H(4,24),Ct=H(53,55),wt=H(7,27),Tt=H(8,28),Et=H(9,29),Dt=H(30,39),Ot=H(31,39),kt=H(32,39),At=H(33,39),jt=H(34,39),Mt=H(35,39),Nt=H(36,39),Pt=H(37,39),Ft=H(90,39),It=H(40,49),Lt=H(41,49),Rt=H(42,49),zt=H(43,49),Bt=H(44,49),Vt=H(45,49),Ht=H(46,49),Ut=H(47,49),Wt=H(100,49),Gt=H(91,39),Kt=H(92,39),qt=H(93,39),Jt=H(94,39),Yt=H(95,39),Xt=H(96,39),Zt=H(97,39),Qt=H(101,49),$t=H(102,49),en=H(103,49),tn=H(104,49),nn=H(105,49),rn=H(106,49),an=H(107,49);function on(){let{env:e}=l.default,{TERM:t,TERM_PROGRAM:n}=e;return l.default.platform===`win32`?!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask===`{cmd::Cmder}`||n===`Terminus-Sublime`||n===`vscode`||t===`xterm-256color`||t===`alacritty`||t===`rxvt-unicode`||t===`rxvt-unicode-256color`||e.TERMINAL_EMULATOR===`JetBrains-JediTerm`:t!==`linux`}const U=on(),sn=jt(U?`ℹ`:`i`),cn=kt(U?`✔`:`√`),ln=At(U?`⚠`:`‼`),un=Ot(U?`✖`:`×`);function dn({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const fn=dn();function pn(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(fn,``)}function mn(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function hn(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function gn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function _n(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function vn(e,{ambiguousAsWide:t=!1}={}){return _n(e),hn(e)||gn(e)||t&&mn(e)?2:1}const yn=new Intl.Segmenter,bn=RegExp(`^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Mark}|\\p{Surrogate})+$`,`v`),xn=RegExp(`^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+`,`v`),Sn=RegExp(`^\\p{RGI_Emoji}$`,`v`);function Cn(e){return e.replace(xn,``)}function wn(e){return bn.test(e)}function Tn(e,t){let n=0;if(e.length>1)for(let r of e.slice(1))r>=`＀`&&r<=`￯`&&(n+=vn(r.codePointAt(0),t));return n}function En(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(r||(i=pn(i)),i.length===0)return 0;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of yn.segment(i)){if(wn(e))continue;if(Sn.test(e)){a+=2;continue}let t=Cn(e).codePointAt(0);a+=vn(t,o),a+=Tn(e,o)}return a}function Dn({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!==`dumb`&&!(`CI`in process.env))}const On=3;var kn=class{#e=0;start(){this.#e++,this.#e===1&&this.#t()}stop(){if(this.#e<=0)throw Error("`stop` called more times than `start`");this.#e--,this.#e===0&&this.#n()}#t(){l.default.platform===`win32`||!l.default.stdin.isTTY||(l.default.stdin.setRawMode(!0),l.default.stdin.on(`data`,this.#r),l.default.stdin.resume())}#n(){l.default.stdin.isTTY&&(l.default.stdin.off(`data`,this.#r),l.default.stdin.pause(),l.default.stdin.setRawMode(!1))}#r(e){e[0]===3&&l.default.emit(`SIGINT`)}};const An=new kn;var jn=An,Mn=class{#e=0;#t=!1;#n=0;#r=-1;#i=0;#a=0;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;color;constructor(e){typeof e==`string`&&(e={text:e}),this.#o={color:`cyan`,stream:l.default.stderr,discardStdin:!0,hideCursor:!0,...e},this.color=this.#o.color,this.spinner=this.#o.spinner,this.#u=this.#o.interval,this.#c=this.#o.stream,this.#d=typeof this.#o.isEnabled==`boolean`?this.#o.isEnabled:Dn({stream:this.#c}),this.#f=typeof this.#o.isSilent==`boolean`?this.#o.isSilent:!1,this.text=this.#o.text,this.prefixText=this.#o.prefixText,this.suffixText=this.#o.suffixText,this.indent=this.#o.indent,l.default.env.NODE_ENV===`test`&&(this._stream=this.#c,this._isEnabled=this.#d,Object.defineProperty(this,`_linesToClear`,{get(){return this.#e},set(e){this.#e=e}}),Object.defineProperty(this,`_frameIndex`,{get(){return this.#r}}),Object.defineProperty(this,`_lineCount`,{get(){return this.#n}}))}get indent(){return this.#p}set indent(e=0){if(!(e>=0&&Number.isInteger(e)))throw Error("The `indent` option must be an integer from 0 and up");this.#p=e,this.#x()}get interval(){return this.#u??this.#s.interval??100}get spinner(){return this.#s}set spinner(e){if(this.#r=-1,this.#u=void 0,typeof e==`object`){if(!Array.isArray(e.frames)||e.frames.length===0||e.frames.some(e=>typeof e!=`string`))throw Error("The given spinner must have a non-empty `frames` array of strings");if(e.interval!==void 0&&!(Number.isInteger(e.interval)&&e.interval>0))throw Error("`spinner.interval` must be a positive integer if provided");this.#s=e}else if(!on())this.#s=B.line;else if(e===void 0)this.#s=B.dots;else if(e!==`default`&&B[e])this.#s=B[e];else throw Error(`There is no built-in spinner named '${e}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#m}set text(e=``){this.#m=e,this.#x()}get prefixText(){return this.#h}set prefixText(e=``){this.#h=e,this.#x()}get suffixText(){return this.#g}set suffixText(e=``){this.#g=e,this.#x()}get isSpinning(){return this.#l!==void 0}#_(e,t,n=!1){let r=typeof e==`function`?e():e;return typeof r==`string`&&r!==``?n?t+r:r+t:``}#v(e=this.#h,t=` `){return this.#_(e,t,!1)}#y(e=this.#g,t=` `){return this.#_(e,t,!0)}#b(e,t){let n=0;for(let r of pn(e).split(`
7
- `))n+=Math.max(1,Math.ceil(En(r)/t));return n}#x(){let e=this.#c.columns??80,t=typeof this.#h==`function`?``:this.#h,n=typeof this.#g==`function`?``:this.#g,r=typeof t==`string`&&t!==``?t+` `:``,i=typeof n==`string`&&n!==``?` `+n:``,a=` `.repeat(this.#p)+r+`-`+(typeof this.#m==`string`?` `+this.#m:``)+i;this.#n=this.#b(a,e)}get isEnabled(){return this.#d&&!this.#f}set isEnabled(e){if(typeof e!=`boolean`)throw TypeError("The `isEnabled` option must be a boolean");this.#d=e}get isSilent(){return this.#f}set isSilent(e){if(typeof e!=`boolean`)throw TypeError("The `isSilent` option must be a boolean");this.#f=e}frame(){let e=Date.now();(this.#r===-1||e-this.#i>=this.interval)&&(this.#r=++this.#r%this.#s.frames.length,this.#i=e);let{frames:t}=this.#s,n=t[this.#r];this.color&&(n=Ve[this.color](n));let r=this.#v(this.#h,` `),i=typeof this.text==`string`?` `+this.text:``,a=this.#y(this.#g,` `);return r+n+i+a}clear(){if(!this.#d||!this.#c.isTTY)return this;this.#c.cursorTo(0);for(let e=0;e<this.#e;e++)e>0&&this.#c.moveCursor(0,-1),this.#c.clearLine(1);return(this.#p||this.#a!==this.#p)&&this.#c.cursorTo(this.#p),this.#a=this.#p,this.#e=0,this}render(){if(!this.#d||this.#f)return this;this.clear();let e=this.frame(),t=this.#c.columns??80,n=this.#b(e,t),r=this.#c.rows;if(r&&r>1&&n>r){let t=e.split(`
5
+ `,i)}while(r!==-1);return a+=e.slice(i),a}var Ve=o((()=>{}));function E(e){return Ke(e)}var He,Ue,D,O,k,We,A,Ge,Ke,j,qe,Je,M,Ye,Xe,Ze,Qe,$e=o((()=>{je(),Re(),Ve(),{stdout:He,stderr:Ue}=Le,D=Symbol(`GENERATOR`),O=Symbol(`STYLER`),k=Symbol(`IS_EMPTY`),We=[`ansi`,`ansi`,`ansi256`,`ansi16m`],A=Object.create(null),Ge=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=He?He.level:0;e.level=t.level===void 0?n:t.level},Ke=e=>{let t=(...e)=>e.join(` `);return Ge(t,e),Object.setPrototypeOf(t,E.prototype),t},Object.setPrototypeOf(E.prototype,Function.prototype);for(let[e,t]of Object.entries(S))A[e]={get(){let n=M(this,Je(t.open,t.close,this[O]),this[k]);return Object.defineProperty(this,e,{value:n}),n}};A.visible={get(){let e=M(this,this[O],!0);return Object.defineProperty(this,`visible`,{value:e}),e}},j=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?S[n].ansi16m(...r):t===`ansi256`?S[n].ansi256(S.rgbToAnsi256(...r)):S[n].ansi(S.rgbToAnsi(...r)):e===`hex`?j(`rgb`,t,n,...S.hexToRgb(...r)):S[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){A[e]={get(){let{level:t}=this;return function(...n){let r=Je(j(e,We[t],`color`,...n),S.color.close,this[O]);return M(this,r,this[k])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);A[t]={get(){let{level:t}=this;return function(...n){let r=Je(j(e,We[t],`bgColor`,...n),S.bgColor.close,this[O]);return M(this,r,this[k])}}}}qe=Object.defineProperties(()=>{},{...A,level:{enumerable:!0,get(){return this[D].level},set(e){this[D].level=e}}}),Je=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},M=(e,t,n)=>{let r=(...e)=>Ye(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,qe),r[D]=e,r[O]=t,r[k]=n,r},Ye=(e,t)=>{if(e.level<=0||!t)return e[k]?``:t;let n=e[O];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=ze(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
6
+ `);return a!==-1&&(t=Be(t,i,r,a)),r+t+i},Object.defineProperties(E.prototype,A),Xe=E(),E({level:Ue?Ue.level:0}),Qe=Xe}));function et(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:r}=e;for(let r of Reflect.ownKeys(t))tt(e,t,r,n);return rt(e,t),st(e,t,r),e}var tt,nt,rt,it,at,ot,st,ct=o((()=>{tt=(e,t,n,r)=>{if(n===`length`||n===`prototype`||n===`arguments`||n===`caller`)return;let i=Object.getOwnPropertyDescriptor(e,n),a=Object.getOwnPropertyDescriptor(t,n);!nt(i,a)&&r||Object.defineProperty(e,n,a)},nt=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},rt=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},it=(e,t)=>`/* Wrapped ${e}*/\n${t}`,at=Object.getOwnPropertyDescriptor(Function.prototype,`toString`),ot=Object.getOwnPropertyDescriptor(Function.prototype.toString,`name`),st=(e,t,n)=>{let r=n===``?``:`with ${n.trim()}() `,i=it.bind(null,r,t.toString());Object.defineProperty(i,`name`,ot);let{writable:a,enumerable:o,configurable:s}=at;Object.defineProperty(e,`toString`,{value:i,writable:a,enumerable:o,configurable:s})}})),N,lt,ut,dt=o((()=>{ct(),N=new WeakMap,lt=(e,t={})=>{if(typeof e!=`function`)throw TypeError(`Expected a function`);let n,r=0,i=e.displayName||e.name||`<anonymous>`,a=function(...o){if(N.set(a,++r),r===1)n=e.apply(this,o),e=void 0;else if(t.throw===!0)throw Error(`Function \`${i}\` can only be called once`);return n};return et(a,e),N.set(a,r),a},lt.callCount=e=>{if(!N.has(e))throw Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return N.get(e)},ut=lt})),P,ft=o((()=>{P=[],P.push(`SIGHUP`,`SIGINT`,`SIGTERM`),process.platform!==`win32`&&P.push(`SIGALRM`,`SIGABRT`,`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&P.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`)})),F,pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt=o((()=>{ft(),F=e=>!!e&&typeof e==`object`&&typeof e.removeListener==`function`&&typeof e.emit==`function`&&typeof e.reallyExit==`function`&&typeof e.listeners==`function`&&typeof e.kill==`function`&&typeof e.pid==`number`&&typeof e.on==`function`,pt=Symbol.for(`signal-exit emitter`),mt=globalThis,ht=Object.defineProperty.bind(Object),gt=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(mt[pt])return mt[pt];ht(mt,pt,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,t){this.listeners[e].push(t)}removeListener(e,t){let n=this.listeners[e],r=n.indexOf(t);r!==-1&&(r===0&&n.length===1?n.length=0:n.splice(r,1))}emit(e,t,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let r=!1;for(let i of this.listeners[e])r=i(t,n)===!0||r;return e===`exit`&&(r=this.emit(`afterExit`,t,n)||r),r}},_t=class{},vt=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),yt=class extends _t{onExit(){return()=>{}}load(){}unload(){}},bt=class extends _t{#e=xt.platform===`win32`?`SIGINT`:`SIGHUP`;#t=new gt;#n;#r;#i;#a={};#o=!1;constructor(e){super(),this.#n=e,this.#a={};for(let t of P)this.#a[t]=()=>{let n=this.#n.listeners(t),{count:r}=this.#t,i=e;if(typeof i.__signal_exit_emitter__==`object`&&typeof i.__signal_exit_emitter__.count==`number`&&(r+=i.__signal_exit_emitter__.count),n.length===r){this.unload();let n=this.#t.emit(`exit`,null,t),r=t===`SIGHUP`?this.#e:t;n||e.kill(e.pid,r)}};this.#i=e.reallyExit,this.#r=e.emit}onExit(e,t){if(!F(this.#n))return()=>{};this.#o===!1&&this.load();let n=t!=null&&t.alwaysLast?`afterExit`:`exit`;return this.#t.on(n,e),()=>{this.#t.removeListener(n,e),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(let e of P)try{let t=this.#a[e];t&&this.#n.on(e,t)}catch{}this.#n.emit=(e,...t)=>this.#c(e,...t),this.#n.reallyExit=e=>this.#s(e)}}unload(){this.#o&&(this.#o=!1,P.forEach(e=>{let t=this.#a[e];if(!t)throw Error(`Listener not defined for signal: `+e);try{this.#n.removeListener(e,t)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#i,--this.#t.count)}#s(e){return F(this.#n)?(this.#n.exitCode=e||0,this.#t.emit(`exit`,this.#n.exitCode,null),this.#i.call(this.#n,this.#n.exitCode)):0}#c(e,...t){let n=this.#r;if(e===`exit`&&F(this.#n)){typeof t[0]==`number`&&(this.#n.exitCode=t[0]);let r=n.call(this.#n,e,...t);return this.#t.emit(`exit`,this.#n.exitCode,null),r}else return n.call(this.#n,e,...t)}},xt=globalThis.process,{onExit:St,load:Ct,unload:wt}=vt(F(xt)?new bt(xt):new yt)})),Et,Dt,Ot,kt=o((()=>{dt(),Tt(),Et=f.default.stderr.isTTY?f.default.stderr:f.default.stdout.isTTY?f.default.stdout:void 0,Dt=Et?ut(()=>{St(()=>{Et.write(`\x1B[?25h`)},{alwaysLast:!0})}):()=>{},Ot=Dt})),I,L,At,jt=o((()=>{kt(),I=!1,L={},L.show=(e=f.default.stderr)=>{e.isTTY&&(I=!1,e.write(`\x1B[?25h`))},L.hide=(e=f.default.stderr)=>{e.isTTY&&(Ot(),I=!0,e.write(`\x1B[?25l`))},L.toggle=(e,t)=>{e!==void 0&&(I=e),I?L.show(t):L.hide(t)},At=L})),Mt={dots:{interval:80,frames:[`⠋`,`⠙`,`⠹`,`⠸`,`⠼`,`⠴`,`⠦`,`⠧`,`⠇`,`⠏`]},dots2:{interval:80,frames:[`⣾`,`⣽`,`⣻`,`⢿`,`⡿`,`⣟`,`⣯`,`⣷`]},dots3:{interval:80,frames:[`⠋`,`⠙`,`⠚`,`⠞`,`⠖`,`⠦`,`⠴`,`⠲`,`⠳`,`⠓`]},dots4:{interval:80,frames:[`⠄`,`⠆`,`⠇`,`⠋`,`⠙`,`⠸`,`⠰`,`⠠`,`⠰`,`⠸`,`⠙`,`⠋`,`⠇`,`⠆`]},dots5:{interval:80,frames:[`⠋`,`⠙`,`⠚`,`⠒`,`⠂`,`⠂`,`⠒`,`⠲`,`⠴`,`⠦`,`⠖`,`⠒`,`⠐`,`⠐`,`⠒`,`⠓`,`⠋`]},dots6:{interval:80,frames:[`⠁`,`⠉`,`⠙`,`⠚`,`⠒`,`⠂`,`⠂`,`⠒`,`⠲`,`⠴`,`⠤`,`⠄`,`⠄`,`⠤`,`⠴`,`⠲`,`⠒`,`⠂`,`⠂`,`⠒`,`⠚`,`⠙`,`⠉`,`⠁`]},dots7:{interval:80,frames:[`⠈`,`⠉`,`⠋`,`⠓`,`⠒`,`⠐`,`⠐`,`⠒`,`⠖`,`⠦`,`⠤`,`⠠`,`⠠`,`⠤`,`⠦`,`⠖`,`⠒`,`⠐`,`⠐`,`⠒`,`⠓`,`⠋`,`⠉`,`⠈`]},dots8:{interval:80,frames:`⠁.⠁.⠉.⠙.⠚.⠒.⠂.⠂.⠒.⠲.⠴.⠤.⠄.⠄.⠤.⠠.⠠.⠤.⠦.⠖.⠒.⠐.⠐.⠒.⠓.⠋.⠉.⠈.⠈`.split(`.`)},dots9:{interval:80,frames:[`⢹`,`⢺`,`⢼`,`⣸`,`⣇`,`⡧`,`⡗`,`⡏`]},dots10:{interval:80,frames:[`⢄`,`⢂`,`⢁`,`⡁`,`⡈`,`⡐`,`⡠`]},dots11:{interval:100,frames:[`⠁`,`⠂`,`⠄`,`⡀`,`⢀`,`⠠`,`⠐`,`⠈`]},dots12:{interval:80,frames:`⢀⠀.⡀⠀.⠄⠀.⢂⠀.⡂⠀.⠅⠀.⢃⠀.⡃⠀.⠍⠀.⢋⠀.⡋⠀.⠍⠁.⢋⠁.⡋⠁.⠍⠉.⠋⠉.⠋⠉.⠉⠙.⠉⠙.⠉⠩.⠈⢙.⠈⡙.⢈⠩.⡀⢙.⠄⡙.⢂⠩.⡂⢘.⠅⡘.⢃⠨.⡃⢐.⠍⡐.⢋⠠.⡋⢀.⠍⡁.⢋⠁.⡋⠁.⠍⠉.⠋⠉.⠋⠉.⠉⠙.⠉⠙.⠉⠩.⠈⢙.⠈⡙.⠈⠩.⠀⢙.⠀⡙.⠀⠩.⠀⢘.⠀⡘.⠀⠨.⠀⢐.⠀⡐.⠀⠠.⠀⢀.⠀⡀`.split(`.`)},dots13:{interval:80,frames:[`⣼`,`⣹`,`⢻`,`⠿`,`⡟`,`⣏`,`⣧`,`⣶`]},dots14:{interval:80,frames:[`⠉⠉`,`⠈⠙`,`⠀⠹`,`⠀⢸`,`⠀⣰`,`⢀⣠`,`⣀⣀`,`⣄⡀`,`⣆⠀`,`⡇⠀`,`⠏⠀`,`⠋⠁`]},dots8Bit:{interval:80,frames:`⠀.⠁.⠂.⠃.⠄.⠅.⠆.⠇.⡀.⡁.⡂.⡃.⡄.⡅.⡆.⡇.⠈.⠉.⠊.⠋.⠌.⠍.⠎.⠏.⡈.⡉.⡊.⡋.⡌.⡍.⡎.⡏.⠐.⠑.⠒.⠓.⠔.⠕.⠖.⠗.⡐.⡑.⡒.⡓.⡔.⡕.⡖.⡗.⠘.⠙.⠚.⠛.⠜.⠝.⠞.⠟.⡘.⡙.⡚.⡛.⡜.⡝.⡞.⡟.⠠.⠡.⠢.⠣.⠤.⠥.⠦.⠧.⡠.⡡.⡢.⡣.⡤.⡥.⡦.⡧.⠨.⠩.⠪.⠫.⠬.⠭.⠮.⠯.⡨.⡩.⡪.⡫.⡬.⡭.⡮.⡯.⠰.⠱.⠲.⠳.⠴.⠵.⠶.⠷.⡰.⡱.⡲.⡳.⡴.⡵.⡶.⡷.⠸.⠹.⠺.⠻.⠼.⠽.⠾.⠿.⡸.⡹.⡺.⡻.⡼.⡽.⡾.⡿.⢀.⢁.⢂.⢃.⢄.⢅.⢆.⢇.⣀.⣁.⣂.⣃.⣄.⣅.⣆.⣇.⢈.⢉.⢊.⢋.⢌.⢍.⢎.⢏.⣈.⣉.⣊.⣋.⣌.⣍.⣎.⣏.⢐.⢑.⢒.⢓.⢔.⢕.⢖.⢗.⣐.⣑.⣒.⣓.⣔.⣕.⣖.⣗.⢘.⢙.⢚.⢛.⢜.⢝.⢞.⢟.⣘.⣙.⣚.⣛.⣜.⣝.⣞.⣟.⢠.⢡.⢢.⢣.⢤.⢥.⢦.⢧.⣠.⣡.⣢.⣣.⣤.⣥.⣦.⣧.⢨.⢩.⢪.⢫.⢬.⢭.⢮.⢯.⣨.⣩.⣪.⣫.⣬.⣭.⣮.⣯.⢰.⢱.⢲.⢳.⢴.⢵.⢶.⢷.⣰.⣱.⣲.⣳.⣴.⣵.⣶.⣷.⢸.⢹.⢺.⢻.⢼.⢽.⢾.⢿.⣸.⣹.⣺.⣻.⣼.⣽.⣾.⣿`.split(`.`)},dotsCircle:{interval:80,frames:[`⢎ `,`⠎⠁`,`⠊⠑`,`⠈⠱`,` ⡱`,`⢀⡰`,`⢄⡠`,`⢆⡀`]},sand:{interval:80,frames:`⠁.⠂.⠄.⡀.⡈.⡐.⡠.⣀.⣁.⣂.⣄.⣌.⣔.⣤.⣥.⣦.⣮.⣶.⣷.⣿.⡿.⠿.⢟.⠟.⡛.⠛.⠫.⢋.⠋.⠍.⡉.⠉.⠑.⠡.⢁`.split(`.`)},line:{interval:130,frames:[`-`,`\\`,`|`,`/`]},line2:{interval:100,frames:[`⠂`,`-`,`–`,`—`,`–`,`-`]},rollingLine:{interval:80,frames:[`/ `,` - `,` \\ `,` |`,` |`,` \\ `,` - `,`/ `]},pipe:{interval:100,frames:[`┤`,`┘`,`┴`,`└`,`├`,`┌`,`┬`,`┐`]},simpleDots:{interval:400,frames:[`. `,`.. `,`...`,` `]},simpleDotsScrolling:{interval:200,frames:[`. `,`.. `,`...`,` ..`,` .`,` `]},star:{interval:70,frames:[`✶`,`✸`,`✹`,`✺`,`✹`,`✷`]},star2:{interval:80,frames:[`+`,`x`,`*`]},flip:{interval:70,frames:[`_`,`_`,`_`,`-`,"`","`",`'`,`´`,`-`,`_`,`_`,`_`]},hamburger:{interval:100,frames:[`☱`,`☲`,`☴`]},growVertical:{interval:120,frames:[`▁`,`▃`,`▄`,`▅`,`▆`,`▇`,`▆`,`▅`,`▄`,`▃`]},growHorizontal:{interval:120,frames:[`▏`,`▎`,`▍`,`▌`,`▋`,`▊`,`▉`,`▊`,`▋`,`▌`,`▍`,`▎`]},balloon:{interval:140,frames:[` `,`.`,`o`,`O`,`@`,`*`,` `]},balloon2:{interval:120,frames:[`.`,`o`,`O`,`°`,`O`,`o`,`.`]},noise:{interval:100,frames:[`▓`,`▒`,`░`]},bounce:{interval:120,frames:[`⠁`,`⠂`,`⠄`,`⠂`]},boxBounce:{interval:120,frames:[`▖`,`▘`,`▝`,`▗`]},boxBounce2:{interval:100,frames:[`▌`,`▀`,`▐`,`▄`]},triangle:{interval:50,frames:[`◢`,`◣`,`◤`,`◥`]},binary:{interval:80,frames:[`010010`,`001100`,`100101`,`111010`,`111101`,`010111`,`101011`,`111000`,`110011`,`110101`]},arc:{interval:100,frames:[`◜`,`◠`,`◝`,`◞`,`◡`,`◟`]},circle:{interval:120,frames:[`◡`,`⊙`,`◠`]},squareCorners:{interval:180,frames:[`◰`,`◳`,`◲`,`◱`]},circleQuarters:{interval:120,frames:[`◴`,`◷`,`◶`,`◵`]},circleHalves:{interval:50,frames:[`◐`,`◓`,`◑`,`◒`]},squish:{interval:100,frames:[`╫`,`╪`]},toggle:{interval:250,frames:[`⊶`,`⊷`]},toggle2:{interval:80,frames:[`▫`,`▪`]},toggle3:{interval:120,frames:[`□`,`■`]},toggle4:{interval:100,frames:[`■`,`□`,`▪`,`▫`]},toggle5:{interval:100,frames:[`▮`,`▯`]},toggle6:{interval:300,frames:[`ဝ`,`၀`]},toggle7:{interval:80,frames:[`⦾`,`⦿`]},toggle8:{interval:100,frames:[`◍`,`◌`]},toggle9:{interval:100,frames:[`◉`,`◎`]},toggle10:{interval:100,frames:[`㊂`,`㊀`,`㊁`]},toggle11:{interval:50,frames:[`⧇`,`⧆`]},toggle12:{interval:120,frames:[`☗`,`☖`]},toggle13:{interval:80,frames:[`=`,`*`,`-`]},arrow:{interval:100,frames:[`←`,`↖`,`↑`,`↗`,`→`,`↘`,`↓`,`↙`]},arrow2:{interval:80,frames:[`⬆️ `,`↗️ `,`➡️ `,`↘️ `,`⬇️ `,`↙️ `,`⬅️ `,`↖️ `]},arrow3:{interval:120,frames:[`▹▹▹▹▹`,`▸▹▹▹▹`,`▹▸▹▹▹`,`▹▹▸▹▹`,`▹▹▹▸▹`,`▹▹▹▹▸`]},bouncingBar:{interval:80,frames:[`[ ]`,`[= ]`,`[== ]`,`[=== ]`,`[====]`,`[ ===]`,`[ ==]`,`[ =]`,`[ ]`,`[ =]`,`[ ==]`,`[ ===]`,`[====]`,`[=== ]`,`[== ]`,`[= ]`]},bouncingBall:{interval:80,frames:[`( ● )`,`( ● )`,`( ● )`,`( ● )`,`( ●)`,`( ● )`,`( ● )`,`( ● )`,`( ● )`,`(● )`]},smiley:{interval:200,frames:[`😄 `,`😝 `]},monkey:{interval:300,frames:[`🙈 `,`🙈 `,`🙉 `,`🙊 `]},hearts:{interval:100,frames:[`💛 `,`💙 `,`💜 `,`💚 `,`💗 `]},clock:{interval:100,frames:[`🕛 `,`🕐 `,`🕑 `,`🕒 `,`🕓 `,`🕔 `,`🕕 `,`🕖 `,`🕗 `,`🕘 `,`🕙 `,`🕚 `]},earth:{interval:180,frames:[`🌍 `,`🌎 `,`🌏 `]},material:{interval:17,frames:`█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁.██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁.███████▁▁▁▁▁▁▁▁▁▁▁▁▁.████████▁▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.██████████▁▁▁▁▁▁▁▁▁▁.███████████▁▁▁▁▁▁▁▁▁.█████████████▁▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁▁██████████████▁▁▁▁.▁▁▁██████████████▁▁▁.▁▁▁▁█████████████▁▁▁.▁▁▁▁██████████████▁▁.▁▁▁▁██████████████▁▁.▁▁▁▁▁██████████████▁.▁▁▁▁▁██████████████▁.▁▁▁▁▁██████████████▁.▁▁▁▁▁▁██████████████.▁▁▁▁▁▁██████████████.▁▁▁▁▁▁▁█████████████.▁▁▁▁▁▁▁█████████████.▁▁▁▁▁▁▁▁████████████.▁▁▁▁▁▁▁▁████████████.▁▁▁▁▁▁▁▁▁███████████.▁▁▁▁▁▁▁▁▁███████████.▁▁▁▁▁▁▁▁▁▁██████████.▁▁▁▁▁▁▁▁▁▁██████████.▁▁▁▁▁▁▁▁▁▁▁▁████████.▁▁▁▁▁▁▁▁▁▁▁▁▁███████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████.█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.██████▁▁▁▁▁▁▁▁▁▁▁▁▁█.████████▁▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.█████████▁▁▁▁▁▁▁▁▁▁▁.███████████▁▁▁▁▁▁▁▁▁.████████████▁▁▁▁▁▁▁▁.████████████▁▁▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.██████████████▁▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁██████████████▁▁▁▁▁.▁▁▁█████████████▁▁▁▁.▁▁▁▁▁████████████▁▁▁.▁▁▁▁▁████████████▁▁▁.▁▁▁▁▁▁███████████▁▁▁.▁▁▁▁▁▁▁▁█████████▁▁▁.▁▁▁▁▁▁▁▁█████████▁▁▁.▁▁▁▁▁▁▁▁▁█████████▁▁.▁▁▁▁▁▁▁▁▁█████████▁▁.▁▁▁▁▁▁▁▁▁▁█████████▁.▁▁▁▁▁▁▁▁▁▁▁████████▁.▁▁▁▁▁▁▁▁▁▁▁████████▁.▁▁▁▁▁▁▁▁▁▁▁▁███████▁.▁▁▁▁▁▁▁▁▁▁▁▁███████▁.▁▁▁▁▁▁▁▁▁▁▁▁▁███████.▁▁▁▁▁▁▁▁▁▁▁▁▁███████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁.▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁`.split(`.`)},moon:{interval:80,frames:[`🌑 `,`🌒 `,`🌓 `,`🌔 `,`🌕 `,`🌖 `,`🌗 `,`🌘 `]},runner:{interval:140,frames:[`🚶 `,`🏃 `]},pong:{interval:80,frames:`▐⠂ ▌.▐⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂▌.▐ ⠠▌.▐ ⡀▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐ ⠠ ▌.▐ ⠂ ▌.▐ ⠈ ▌.▐ ⠂ ▌.▐ ⠠ ▌.▐ ⡀ ▌.▐⠠ ▌`.split(`.`)},shark:{interval:120,frames:`▐|\\____________▌.▐_|\\___________▌.▐__|\\__________▌.▐___|\\_________▌.▐____|\\________▌.▐_____|\\_______▌.▐______|\\______▌.▐_______|\\_____▌.▐________|\\____▌.▐_________|\\___▌.▐__________|\\__▌.▐___________|\\_▌.▐____________|\\▌.▐____________/|▌.▐___________/|_▌.▐__________/|__▌.▐_________/|___▌.▐________/|____▌.▐_______/|_____▌.▐______/|______▌.▐_____/|_______▌.▐____/|________▌.▐___/|_________▌.▐__/|__________▌.▐_/|___________▌.▐/|____________▌`.split(`.`)},dqpb:{interval:100,frames:[`d`,`q`,`p`,`b`]},weather:{interval:100,frames:[`☀️ `,`☀️ `,`☀️ `,`🌤 `,`⛅️ `,`🌥 `,`☁️ `,`🌧 `,`🌨 `,`🌧 `,`🌨 `,`🌧 `,`🌨 `,`⛈ `,`🌨 `,`🌧 `,`🌨 `,`☁️ `,`🌥 `,`⛅️ `,`🌤 `,`☀️ `,`☀️ `]},christmas:{interval:400,frames:[`🌲`,`🎄`]},grenade:{interval:80,frames:[`، `,`′ `,` ´ `,` ‾ `,` ⸌`,` ⸊`,` |`,` ⁎`,` ⁕`,` ෴ `,` ⁓`,` `,` `,` `]},point:{interval:125,frames:[`∙∙∙`,`●∙∙`,`∙●∙`,`∙∙●`,`∙∙∙`]},layer:{interval:150,frames:[`-`,`=`,`≡`]},betaWave:{interval:80,frames:[`ρββββββ`,`βρβββββ`,`ββρββββ`,`βββρβββ`,`ββββρββ`,`βββββρβ`,`ββββββρ`]},fingerDance:{interval:160,frames:[`🤘 `,`🤟 `,`🖖 `,`✋ `,`🤚 `,`👆 `]},fistBump:{interval:80,frames:[`🤜    🤛 `,`🤜    🤛 `,`🤜    🤛 `,` 🤜  🤛  `,`  🤜🤛   `,` 🤜✨🤛   `,`🤜 ✨ 🤛  `]},soccerHeader:{interval:80,frames:[` 🧑⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `,`🧑 ⚽️ 🧑 `]},mindblown:{interval:160,frames:[`😐 `,`😐 `,`😮 `,`😮 `,`😦 `,`😦 `,`😧 `,`😧 `,`🤯 `,`💥 `,`✨ `,`  `,`  `,`  `]},speaker:{interval:160,frames:[`🔈 `,`🔉 `,`🔊 `,`🔉 `]},orangePulse:{interval:100,frames:[`🔸 `,`🔶 `,`🟠 `,`🟠 `,`🔶 `]},bluePulse:{interval:100,frames:[`🔹 `,`🔷 `,`🔵 `,`🔵 `,`🔷 `]},orangeBluePulse:{interval:100,frames:[`🔸 `,`🔶 `,`🟠 `,`🟠 `,`🔶 `,`🔹 `,`🔷 `,`🔵 `,`🔵 `,`🔷 `]},timeTravel:{interval:100,frames:[`🕛 `,`🕚 `,`🕙 `,`🕘 `,`🕗 `,`🕖 `,`🕕 `,`🕔 `,`🕓 `,`🕒 `,`🕑 `,`🕐 `]},aesthetic:{interval:80,frames:[`▰▱▱▱▱▱▱`,`▰▰▱▱▱▱▱`,`▰▰▰▱▱▱▱`,`▰▰▰▰▱▱▱`,`▰▰▰▰▰▱▱`,`▰▰▰▰▰▰▱`,`▰▰▰▰▰▰▰`,`▰▱▱▱▱▱▱`]},dwarfFortress:{interval:80,frames:` ██████£££ .☺██████£££ .☺██████£££ .☺▓█████£££ .☺▓█████£££ .☺▒█████£££ .☺▒█████£££ .☺░█████£££ .☺░█████£££ .☺ █████£££ . ☺█████£££ . ☺█████£££ . ☺▓████£££ . ☺▓████£££ . ☺▒████£££ . ☺▒████£££ . ☺░████£££ . ☺░████£££ . ☺ ████£££ . ☺████£££ . ☺████£££ . ☺▓███£££ . ☺▓███£££ . ☺▒███£££ . ☺▒███£££ . ☺░███£££ . ☺░███£££ . ☺ ███£££ . ☺███£££ . ☺███£££ . ☺▓██£££ . ☺▓██£££ . ☺▒██£££ . ☺▒██£££ . ☺░██£££ . ☺░██£££ . ☺ ██£££ . ☺██£££ . ☺██£££ . ☺▓█£££ . ☺▓█£££ . ☺▒█£££ . ☺▒█£££ . ☺░█£££ . ☺░█£££ . ☺ █£££ . ☺█£££ . ☺█£££ . ☺▓£££ . ☺▓£££ . ☺▒£££ . ☺▒£££ . ☺░£££ . ☺░£££ . ☺ £££ . ☺£££ . ☺£££ . ☺▓££ . ☺▓££ . ☺▒££ . ☺▒££ . ☺░££ . ☺░££ . ☺ ££ . ☺££ . ☺££ . ☺▓£ . ☺▓£ . ☺▒£ . ☺▒£ . ☺░£ . ☺░£ . ☺ £ . ☺£ . ☺£ . ☺▓ . ☺▓ . ☺▒ . ☺▒ . ☺░ . ☺░ . ☺ . ☺ &. ☺ ☼&. ☺ ☼ &. ☺☼ &. ☺☼ & . ‼ & . ☺ & . ‼ & . ☺ & . ‼ & . ☺ & .‼ & . & . & . & ░ . & ▒ . & ▓ . & £ . & ░£ . & ▒£ . & ▓£ . & ££ . & ░££ . & ▒££ .& ▓££ .& £££ . ░£££ . ▒£££ . ▓£££ . █£££ . ░█£££ . ▒█£££ . ▓█£££ . ██£££ . ░██£££ . ▒██£££ . ▓██£££ . ███£££ . ░███£££ . ▒███£££ . ▓███£££ . ████£££ . ░████£££ . ▒████£££ . ▓████£££ . █████£££ . ░█████£££ . ▒█████£££ . ▓█████£££ . ██████£££ . ██████£££ `.split(`.`)}},R,Nt,Pt=o((()=>{R=Mt})),z,Ft,It,B,Lt,Rt,zt,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn=o((()=>{It=(p.default===null||p.default===void 0||(z=p.default.WriteStream)==null||(z=z.prototype)==null||(Ft=z.hasColors)==null?void 0:Ft.call(z))??!1,B=(e,t)=>{if(!It)return e=>e;let n=`\u001B[${e}m`,r=`\u001B[${t}m`;return e=>{let i=e+``,a=i.indexOf(r);if(a===-1)return n+i+r;let o=n,s=0,c=(t===22?r:``)+n;for(;a!==-1;)o+=i.slice(s,a)+c,s=a+r.length,a=i.indexOf(r,s);return o+=i.slice(s)+r,o}},B(0,0),B(1,22),B(2,22),B(3,23),B(4,24),B(53,55),B(7,27),B(8,28),B(9,29),B(30,39),qt=B(31,39),Jt=B(32,39),Yt=B(33,39),Xt=B(34,39),B(35,39),B(36,39),B(37,39),B(90,39),B(40,49),B(41,49),B(42,49),B(43,49),B(44,49),B(45,49),B(46,49),B(47,49),B(100,49),B(91,39),B(92,39),B(93,39),B(94,39),B(95,39),B(96,39),B(97,39),B(101,49),B(102,49),B(103,49),B(104,49),B(105,49),B(106,49),B(107,49)})),En=o((()=>{Tn()}));function Dn(){let{env:e}=f.default,{TERM:t,TERM_PROGRAM:n}=e;return f.default.platform===`win32`?!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask===`{cmd::Cmder}`||n===`Terminus-Sublime`||n===`vscode`||t===`xterm-256color`||t===`alacritty`||t===`rxvt-unicode`||t===`rxvt-unicode-256color`||e.TERMINAL_EMULATOR===`JetBrains-JediTerm`:t!==`linux`}var On=o((()=>{})),V,kn,An,jn,Mn,Nn=o((()=>{En(),On(),V=Dn(),kn=Xt(V?`ℹ`:`i`),An=Jt(V?`✔`:`√`),jn=Yt(V?`⚠`:`‼`),Mn=qt(V?`✖`:`×`)})),Pn=o((()=>{Nn()}));function Fn({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}var In=o((()=>{}));function Ln(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Rn,``)}var Rn,zn=o((()=>{In(),Rn=Fn()}));function Bn(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Vn(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Hn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Un=o((()=>{}));function Wn(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Gn(e,{ambiguousAsWide:t=!1}={}){return Wn(e),Vn(e)||Hn(e)||t&&Bn(e)?2:1}var Kn=o((()=>{Un()}));function qn(e){return e.replace($n,``)}function Jn(e){return Qn.test(e)}function Yn(e,t){let n=0;if(e.length>1)for(let r of e.slice(1))r>=`＀`&&r<=`￯`&&(n+=Gn(r.codePointAt(0),t));return n}function Xn(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(r||(i=Ln(i)),i.length===0)return 0;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of Zn.segment(i)){if(Jn(e))continue;if(er.test(e)){a+=2;continue}let t=qn(e).codePointAt(0);a+=Gn(t,o),a+=Yn(e,o)}return a}var Zn,Qn,$n,er,tr=o((()=>{zn(),Kn(),Zn=new Intl.Segmenter,Qn=RegExp(`^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Mark}|\\p{Surrogate})+$`,`v`),$n=RegExp(`^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+`,`v`),er=RegExp(`^\\p{RGI_Emoji}$`,`v`)}));function nr({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!==`dumb`&&!(`CI`in process.env))}var rr=o((()=>{})),ir,ar,or,sr,cr=o((()=>{ir=3,ar=class{#e=0;start(){this.#e++,this.#e===1&&this.#t()}stop(){if(this.#e<=0)throw Error("`stop` called more times than `start`");this.#e--,this.#e===0&&this.#n()}#t(){f.default.platform===`win32`||!f.default.stdin.isTTY||(f.default.stdin.setRawMode(!0),f.default.stdin.on(`data`,this.#r),f.default.stdin.resume())}#n(){f.default.stdin.isTTY&&(f.default.stdin.off(`data`,this.#r),f.default.stdin.pause(),f.default.stdin.setRawMode(!1))}#r(e){e[0]===ir&&f.default.emit(`SIGINT`)}},or=new ar,sr=or}));function lr(e){return new ur(e)}var ur,dr=o((()=>{$e(),jt(),Pt(),Pn(),zn(),tr(),rr(),On(),cr(),ur=class{#e=0;#t=!1;#n=0;#r=-1;#i=0;#a=0;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;color;constructor(e){typeof e==`string`&&(e={text:e}),this.#o={color:`cyan`,stream:f.default.stderr,discardStdin:!0,hideCursor:!0,...e},this.color=this.#o.color,this.spinner=this.#o.spinner,this.#u=this.#o.interval,this.#c=this.#o.stream,this.#d=typeof this.#o.isEnabled==`boolean`?this.#o.isEnabled:nr({stream:this.#c}),this.#f=typeof this.#o.isSilent==`boolean`?this.#o.isSilent:!1,this.text=this.#o.text,this.prefixText=this.#o.prefixText,this.suffixText=this.#o.suffixText,this.indent=this.#o.indent,f.default.env.NODE_ENV===`test`&&(this._stream=this.#c,this._isEnabled=this.#d,Object.defineProperty(this,`_linesToClear`,{get(){return this.#e},set(e){this.#e=e}}),Object.defineProperty(this,`_frameIndex`,{get(){return this.#r}}),Object.defineProperty(this,`_lineCount`,{get(){return this.#n}}))}get indent(){return this.#p}set indent(e=0){if(!(e>=0&&Number.isInteger(e)))throw Error("The `indent` option must be an integer from 0 and up");this.#p=e,this.#x()}get interval(){return this.#u??this.#s.interval??100}get spinner(){return this.#s}set spinner(e){if(this.#r=-1,this.#u=void 0,typeof e==`object`){if(!Array.isArray(e.frames)||e.frames.length===0||e.frames.some(e=>typeof e!=`string`))throw Error("The given spinner must have a non-empty `frames` array of strings");if(e.interval!==void 0&&!(Number.isInteger(e.interval)&&e.interval>0))throw Error("`spinner.interval` must be a positive integer if provided");this.#s=e}else if(!Dn())this.#s=R.line;else if(e===void 0)this.#s=R.dots;else if(e!==`default`&&R[e])this.#s=R[e];else throw Error(`There is no built-in spinner named '${e}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#m}set text(e=``){this.#m=e,this.#x()}get prefixText(){return this.#h}set prefixText(e=``){this.#h=e,this.#x()}get suffixText(){return this.#g}set suffixText(e=``){this.#g=e,this.#x()}get isSpinning(){return this.#l!==void 0}#_(e,t,n=!1){let r=typeof e==`function`?e():e;return typeof r==`string`&&r!==``?n?t+r:r+t:``}#v(e=this.#h,t=` `){return this.#_(e,t,!1)}#y(e=this.#g,t=` `){return this.#_(e,t,!0)}#b(e,t){let n=0;for(let r of Ln(e).split(`
7
+ `))n+=Math.max(1,Math.ceil(Xn(r)/t));return n}#x(){let e=this.#c.columns??80,t=typeof this.#h==`function`?``:this.#h,n=typeof this.#g==`function`?``:this.#g,r=typeof t==`string`&&t!==``?t+` `:``,i=typeof n==`string`&&n!==``?` `+n:``,a=` `.repeat(this.#p)+r+`-`+(typeof this.#m==`string`?` `+this.#m:``)+i;this.#n=this.#b(a,e)}get isEnabled(){return this.#d&&!this.#f}set isEnabled(e){if(typeof e!=`boolean`)throw TypeError("The `isEnabled` option must be a boolean");this.#d=e}get isSilent(){return this.#f}set isSilent(e){if(typeof e!=`boolean`)throw TypeError("The `isSilent` option must be a boolean");this.#f=e}frame(){let e=Date.now();(this.#r===-1||e-this.#i>=this.interval)&&(this.#r=++this.#r%this.#s.frames.length,this.#i=e);let{frames:t}=this.#s,n=t[this.#r];this.color&&(n=Qe[this.color](n));let r=this.#v(this.#h,` `),i=typeof this.text==`string`?` `+this.text:``,a=this.#y(this.#g,` `);return r+n+i+a}clear(){if(!this.#d||!this.#c.isTTY)return this;this.#c.cursorTo(0);for(let e=0;e<this.#e;e++)e>0&&this.#c.moveCursor(0,-1),this.#c.clearLine(1);return(this.#p||this.#a!==this.#p)&&this.#c.cursorTo(this.#p),this.#a=this.#p,this.#e=0,this}render(){if(!this.#d||this.#f)return this;this.clear();let e=this.frame(),t=this.#c.columns??80,n=this.#b(e,t),r=this.#c.rows;if(r&&r>1&&n>r){let t=e.split(`
8
8
  `),n=r-1;e=[...t.slice(0,n),`... (content truncated to fit terminal)`].join(`
9
9
  `)}return this.#c.write(e),this.#e=this.#b(e,t),this}start(e){if(e&&(this.text=e),this.#f)return this;if(!this.#d){let e=` `.repeat(this.#p)+this.#v(this.#h,` `)+(this.text?`- ${this.text}`:``)+this.#y(this.#g,` `);return e.trim()!==``&&this.#c.write(e+`
10
- `),this}return this.isSpinning?this:(this.#o.hideCursor&&pt.hide(this.#c),this.#o.discardStdin&&l.default.stdin.isTTY&&(this.#t=!0,jn.start()),this.render(),this.#l=setInterval(this.render.bind(this),this.interval),this)}stop(){return clearInterval(this.#l),this.#l=void 0,this.#r=0,this.#d&&(this.clear(),this.#o.hideCursor&&pt.show(this.#c)),this.#o.discardStdin&&l.default.stdin.isTTY&&this.#t&&(jn.stop(),this.#t=!1),this}succeed(e){return this.stopAndPersist({symbol:cn,text:e})}fail(e){return this.stopAndPersist({symbol:un,text:e})}warn(e){return this.stopAndPersist({symbol:ln,text:e})}info(e){return this.stopAndPersist({symbol:sn,text:e})}stopAndPersist(e={}){if(this.#f)return this;let t=e.prefixText??this.#h,n=this.#v(t,` `),r=e.symbol??` `,i=e.text??this.text,a=typeof i==`string`?(r?` `:``)+i:``,o=e.suffixText??this.#g,s=this.#y(o,` `),c=n+r+a+s+`
11
- `;return this.stop(),this.#c.write(c),this}};function Nn(e){return new Mn(e)}var Pn=`1.25.0`;function Fn(e){return Object.prototype.toString.call(e).slice(8,-1)}function W(e){if(Fn(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function In(e){return Fn(e)===`Symbol`}function Ln(e,t,n,r){let i={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;i===`enumerable`&&(e[t]=n),i===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function Rn(e,t,n){if(!W(t))return t;let r={};if(W(e)){let n=Object.getOwnPropertyNames(e),i=Object.getOwnPropertySymbols(e);r=[...n,...i].reduce((n,r)=>{if(r===`__proto__`)return n;let i=e[r];return(!In(r)&&!Object.getOwnPropertyNames(t).includes(r)||In(r)&&!Object.getOwnPropertySymbols(t).includes(r))&&Ln(n,r,i,e),n},{})}let i=Object.getOwnPropertyNames(t),a=Object.getOwnPropertySymbols(t);return[...i,...a].reduce((r,i)=>{if(i===`__proto__`)return r;let a=t[i],o=W(e)?e[i]:void 0;return o!==void 0&&W(a)&&(a=Rn(o,a,n)),Ln(r,i,n?n(o,a,i):a,t),r},r)}function zn(e,...t){return t.reduce((e,t)=>Rn(e,t),e)}const Bn={builder:{outputDir:`dist`,esbuildControllerOptions:{includeInBundle:[]},tailwind:{forcedClassesInclusion:[]},editor:{webComponents:{formRow:!1}}},watcher:{nodeRed:{enabled:!0,path:`~/.node-red`,url:`http://localhost:1880`}}},G={libCacheDir:`.node-red-dxp`,srcDir:`src`,nodesDirName:`nodes`,localesDirName:`locales`,globalStylesName:`styles`,nodes:{controllerName:`controller`,editor:{dirName:`editor`,htmlName:`index`,stylesName:`styles`,tsName:`index`}}},Vn=`node-red-dxp`,Hn=e=>e.replace(`@`,``).replace(`/`,`-`);function Un(){let e=(0,ee.cosmiconfigSync)(`node-red-dxp`);try{let t=e.search();return zn(Bn,t?t.config:{})}catch(e){throw console.error(`Error while loading configuration`,e),e}}const K=Un(),q=process.cwd(),Wn=JSON.parse((0,m.readFileSync)(`${q}/package.json`,`utf-8`)),J=`${q}/${G.srcDir}`,Gn=`${q}/resources`,Kn=`${q}/resources`,Y=`${J}/${G.nodesDirName}`,qn=`${q}/${G.libCacheDir}`,Jn=`${h.default.resolve(__dirname,`..`)}`,Yn=Hn(Wn.name);function Xn(e=[]){return e.map(e=>{let t=e.path,n=`${t}/${G.nodes.editor.dirName}`,r=t.replace(q,``).slice(1),i=`${r}/${G.nodes.editor.dirName}`,a=(0,g.globSync)(`${n}/${G.nodes.editor.stylesName}.scss`),o=(0,g.globSync)(`${t}/docs.mdx`),s=(0,g.globSync)(`${t}/docs.md`),c=(0,_.dash)(e.name);return{fullEditorPath:n,fullPath:t,name:e.name,pascalName:(0,_.pascal)(e.name),dashName:c,relativeEditorPath:i,relativePath:r,nodeIdentifier:`${Yn}-${c}`,fullControllerPath:`${t}/${G.nodes.controllerName}.ts`,editor:{tsPath:`${n}/${G.nodes.editor.tsName}.ts`,htmlPath:`${n}/${G.nodes.editor.htmlName}.html`,pugPath:`${n}/${G.nodes.editor.htmlName}.pug`,scssFiles:a},doc:{mdxFiles:o,mdFiles:s}}})}function Zn(){let e=(0,g.globSync)(`${Y}/**/*`,{onlyDirectories:!0,deep:1,objectMode:!0}),t=Xn(e),n=t.map(e=>e.name);return{currentDir:q,pathSrcDir:J,pathSrcNodesDir:Y,pathResourcesDir:Gn,additionalResourcesDir:Kn,pathDist:`${q}/${K.builder.outputDir}`,currentPackagedDistPath:Jn,cacheDirFiles:{controllerIndex:`${qn}/controller-index.ts`,editorIndex:`${qn}/editor-index.ts`},pathLibCacheDir:qn,packageName:Wn.name,packageNameSlug:Yn,config:K,resolvedSrcPathsScss:(0,g.globSync)(`${J}/${G.globalStylesName}.scss`,{ignore:[`${Y}/**/*.scss`]}),resolvedNodesPaths:e.map(e=>e.path),resolvedSrcLocalesPaths:(0,g.globSync)(`${J}/${G.localesDirName}/*.json`),redServerPath:(0,g.globSync)(`${J}/red-server.ts`),listNodesFull:t,listNodesFullNames:n}}const X=Zn(),Qn=`${h.default.resolve(__dirname,`..`)}`;function Z(e){m.default.existsSync(e)||m.default.mkdirSync(e,{recursive:!0})}async function Q(e,t){try{await p.default.writeFile(e,t)}catch(e){console.error(`Error writing controller index:`,e)}}async function $n(e){for(let t of e)try{let e=h.default.resolve(t),n=await p.default.stat(e).catch(()=>null);n!=null&&n.isDirectory()&&await p.default.rm(e,{recursive:!0,force:!0})}catch(e){console.error(`Error cleaning path (${t}): ${e}`)}}const er={name:`add-credentials-export`,setup(e){e.onLoad({filter:/controller\.ts$/},async e=>{let t=await p.default.readFile(e.path,`utf8`);return/export\s+const\s+credentials\s*=/.test(t)?{contents:t,loader:`ts`}:{contents:`${t}\nexport const credentials = {};`,loader:`ts`}})}},tr=`${X.currentDir}/package.json`;var nr=class{constructor(e){this.params={minify:!1,...e}}async getControllerIndexContent(){return`
10
+ `),this}return this.isSpinning?this:(this.#o.hideCursor&&At.hide(this.#c),this.#o.discardStdin&&f.default.stdin.isTTY&&(this.#t=!0,sr.start()),this.render(),this.#l=setInterval(this.render.bind(this),this.interval),this)}stop(){return clearInterval(this.#l),this.#l=void 0,this.#r=0,this.#d&&(this.clear(),this.#o.hideCursor&&At.show(this.#c)),this.#o.discardStdin&&f.default.stdin.isTTY&&this.#t&&(sr.stop(),this.#t=!1),this}succeed(e){return this.stopAndPersist({symbol:An,text:e})}fail(e){return this.stopAndPersist({symbol:Mn,text:e})}warn(e){return this.stopAndPersist({symbol:jn,text:e})}info(e){return this.stopAndPersist({symbol:kn,text:e})}stopAndPersist(e={}){if(this.#f)return this;let t=e.prefixText??this.#h,n=this.#v(t,` `),r=e.symbol??` `,i=e.text??this.text,a=typeof i==`string`?(r?` `:``)+i:``,o=e.suffixText??this.#g,s=this.#y(o,` `),c=n+r+a+s+`
11
+ `;return this.stop(),this.#c.write(c),this}}}));function fr(e){return Object.prototype.toString.call(e).slice(8,-1)}var pr=o((()=>{}));function mr(e){if(fr(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}var hr=o((()=>{pr()}));function gr(e){return fr(e)===`Symbol`}var _r=o((()=>{pr()})),vr=o((()=>{hr(),_r()})),yr=o((()=>{}));function br(e,t,n,r){let i={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;i===`enumerable`&&(e[t]=n),i===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function xr(e,t,n){if(!mr(t))return t;let r={};if(mr(e)){let n=Object.getOwnPropertyNames(e),i=Object.getOwnPropertySymbols(e);r=[...n,...i].reduce((n,r)=>{if(r===`__proto__`)return n;let i=e[r];return(!gr(r)&&!Object.getOwnPropertyNames(t).includes(r)||gr(r)&&!Object.getOwnPropertySymbols(t).includes(r))&&br(n,r,i,e),n},{})}let i=Object.getOwnPropertyNames(t),a=Object.getOwnPropertySymbols(t);return[...i,...a].reduce((r,i)=>{if(i===`__proto__`)return r;let a=t[i],o=mr(e)?e[i]:void 0;return o!==void 0&&mr(a)&&(a=xr(o,a,n)),br(r,i,n?n(o,a,i):a,t),r},r)}function Sr(e,...t){return t.reduce((e,t)=>xr(e,t),e)}var Cr=o((()=>{vr()})),wr=o((()=>{yr(),Cr()}));function Tr(e){return Or.parse(e)}var Er,Dr,Or,kr,Ar=o((()=>{Er=_.z.object({nodeRed:_.z.object({enabled:_.z.boolean(),path:_.z.string(),url:_.z.url()}).strict()}).strict(),Dr=_.z.object({outputDir:_.z.string(),esbuildControllerOptions:_.z.object({includeInBundle:_.z.array(_.z.string())}).strict(),tailwind:_.z.object({forcedClassesInclusion:_.z.array(_.z.string())}).strict()}).strict(),Or=_.z.object({builder:Dr,watcher:Er}).strict(),kr=Tr({watcher:{nodeRed:{enabled:!0,path:`~/.node-red`,url:`http://localhost:1880`}},builder:{outputDir:`dist`,esbuildControllerOptions:{includeInBundle:[]},tailwind:{forcedClassesInclusion:[]}}})})),H,U=o((()=>{H={libCacheDir:`.node-red-dxp`,srcDir:`src`,nodesDirName:`nodes`,localesDirName:`locales`,globalStylesName:`styles`,nodes:{controllerName:`controller`,editor:{dirName:`editor`,htmlName:`index`,stylesName:`styles`,tsName:`index`}}}}));function jr(){let e=(0,ne.cosmiconfigSync)(Pr);try{let t=e.search(),n=Sr(kr,t?t.config:{});return ConfigSchema.parse(n)}catch(t){if(t instanceof _.ZodError){let n=e.search(),r=n?n.filepath:`unknown`;console.error(`\n❌ Configuration error in ${r}:\n`),t.issues.forEach(e=>{e.path.length>0?console.error(` - Field "${e.path.join(`.`)}": ${e.message}`):e.code===`unrecognized_keys`&&`keys`in e&&e.keys.length>0?e.keys.forEach(e=>{console.error(` - Field "${e}": Unrecognized key`)}):console.error(` - ${e.message}`)}),console.error(`
12
+ ℹ️ See configuration documentation: https://clement-berard.github.io/node-red-dxp/config-file.html
13
+ `),process.exit(1)}throw t}}function Mr(e=[]){return e.map(e=>{let t=e.path,n=`${t}/${H.nodes.editor.dirName}`,r=t.replace(G,``).slice(1),i=`${r}/${H.nodes.editor.dirName}`,a=(0,h.globSync)(`${n}/${H.nodes.editor.stylesName}.scss`),o=(0,h.globSync)(`${t}/docs.mdx`),s=(0,h.globSync)(`${t}/docs.md`),c=(0,g.dash)(e.name);return{fullEditorPath:n,fullPath:t,name:e.name,pascalName:(0,g.pascal)(e.name),dashName:c,relativeEditorPath:i,relativePath:r,nodeIdentifier:`${Hr}-${c}`,fullControllerPath:`${t}/${H.nodes.controllerName}.ts`,editor:{tsPath:`${n}/${H.nodes.editor.tsName}.ts`,htmlPath:`${n}/${H.nodes.editor.htmlName}.html`,pugPath:`${n}/${H.nodes.editor.htmlName}.pug`,scssFiles:a},doc:{mdxFiles:o,mdFiles:s}}})}function Nr(){let e=(0,h.globSync)(`${zr}/**/*`,{onlyDirectories:!0,deep:1,objectMode:!0}),t=Mr(e),n=t.map(e=>e.name);return{currentDir:G,pathSrcDir:K,pathSrcNodesDir:zr,pathResourcesDir:Lr,additionalResourcesDir:Rr,pathDist:`${G}/${W.builder.outputDir}`,currentPackagedDistPath:Vr,cacheDirFiles:{controllerIndex:`${Br}/controller-index.ts`,editorIndex:`${Br}/editor-index.ts`},pathLibCacheDir:Br,packageName:Ir.name,packageNameSlug:Hr,config:W,resolvedSrcPathsScss:(0,h.globSync)(`${K}/${H.globalStylesName}.scss`,{ignore:[`${zr}/**/*.scss`]}),resolvedNodesPaths:e.map(e=>e.path),resolvedSrcLocalesPaths:(0,h.globSync)(`${K}/${H.localesDirName}/*.json`),redServerPath:(0,h.globSync)(`${K}/red-server.ts`),listNodesFull:t,listNodesFullNames:n}}var Pr,Fr,W,G,Ir,K,Lr,Rr,zr,Br,Vr,Hr,q,J=o((()=>{wr(),Ar(),U(),Pr=`node-red-dxp`,Fr=e=>e.replace(`@`,``).replace(`/`,`-`),W=jr(),G=process.cwd(),Ir=JSON.parse((0,l.readFileSync)(`${G}/package.json`,`utf-8`)),K=`${G}/${H.srcDir}`,Lr=`${G}/resources`,Rr=`${G}/resources`,zr=`${K}/${H.nodesDirName}`,Br=`${G}/${H.libCacheDir}`,Vr=`${u.default.resolve(__dirname,`..`)}`,Hr=Fr(Ir.name),q=Nr()}));function Ur(e){l.default.existsSync(e)||l.default.mkdirSync(e,{recursive:!0})}async function Y(e,t){try{await m.default.writeFile(e,t)}catch(e){console.error(`Error writing controller index:`,e)}}async function Wr(e){for(let t of e)try{let e=u.default.resolve(t),n=await m.default.stat(e).catch(()=>null);n!=null&&n.isDirectory()&&await m.default.rm(e,{recursive:!0,force:!0})}catch(e){console.error(`Error cleaning path (${t}): ${e}`)}}var Gr,X=o((()=>{Gr=`${u.default.resolve(__dirname,`..`)}`})),Kr,qr=o((()=>{Kr={name:`add-credentials-export`,setup(e){e.onLoad({filter:/controller\.ts$/},async e=>{let t=await m.default.readFile(e.path,`utf8`);return/export\s+const\s+credentials\s*=/.test(t)?{contents:t,loader:`ts`}:{contents:`${t}\nexport const credentials = {};`,loader:`ts`}})}}})),Jr,Yr,Xr=o((()=>{J(),X(),qr(),Jr=`${q.currentDir}/package.json`,Yr=class{constructor(e){this.params={minify:!1,...e}}async getControllerIndexContent(){return`
12
14
  import type { NodeAPI } from 'node-red';
13
- ${X.listNodesFull.map(e=>`// @ts-ignore\nimport ${e.pascalName}, {credentials as cred${e.pascalName}} from '${e.fullControllerPath}';`).join(`
15
+ ${q.listNodesFull.map(e=>`// @ts-ignore\nimport ${e.pascalName}, {credentials as cred${e.pascalName}} from '${e.fullControllerPath}';`).join(`
14
16
  `)}
15
- ${X.redServerPath.map(e=>`// @ts-ignore\nimport RedServer from '${e}';`).join(`
17
+ ${q.redServerPath.map(e=>`// @ts-ignore\nimport RedServer from '${e}';`).join(`
16
18
  `)}
17
19
 
18
20
  export default async (RED: NodeAPI): Promise<void> => {
19
21
  global.RED = RED;
20
22
 
21
- ${X.listNodesFull.map(e=>`
23
+ ${q.listNodesFull.map(e=>`
22
24
  // @ts-ignore
23
25
  global.RED.nodes.registerType('${e.name}', ${e.pascalName}, { credentials: cred${e.pascalName} });
24
26
  `.trim()).join(`
25
27
  `)}
26
- ${X.redServerPath.length>0?`RedServer();`:``}
28
+ ${q.redServerPath.length>0?`RedServer();`:``}
27
29
  };
28
- `.trim()}buildScript(){let e=m.default.readFileSync(tr,`utf8`),t=JSON.parse(e),n=[...X.config.builder.esbuildControllerOptions.includeInBundle,`@keload/node-red-dxp`],r=Object.keys(t.dependencies||{}).filter(e=>!n.includes(e));return v.default.build({entryPoints:[X.cacheDirFiles.controllerIndex],outfile:`${X.pathDist}/index.js`,bundle:!0,minify:this.params.minify,minifyWhitespace:this.params.minify,minifyIdentifiers:this.params.minify,minifySyntax:this.params.minify,platform:`node`,format:`cjs`,target:`es2018`,loader:{".ts":`ts`},packages:`bundle`,plugins:[er],external:r})}async getControllerTask(){return this.getControllerIndexContent().then(e=>{Q(`${X.cacheDirFiles.controllerIndex}`,e).then(()=>{this.buildScript()})})}};function rr(e,t){return`
30
+ `.trim()}buildScript(){let e=l.default.readFileSync(Jr,`utf8`),t=JSON.parse(e),n=[...q.config.builder.esbuildControllerOptions.includeInBundle,`@keload/node-red-dxp`],r=Object.keys(t.dependencies||{}).filter(e=>!n.includes(e));return re.default.build({entryPoints:[q.cacheDirFiles.controllerIndex],outfile:`${q.pathDist}/index.js`,bundle:!0,minify:this.params.minify,minifyWhitespace:this.params.minify,minifyIdentifiers:this.params.minify,minifySyntax:this.params.minify,platform:`node`,format:`cjs`,target:`es2018`,loader:{".ts":`ts`},packages:`bundle`,plugins:[Kr],external:r})}async getControllerTask(){return this.getControllerIndexContent().then(e=>{Y(`${q.cacheDirFiles.controllerIndex}`,e).then(()=>{this.buildScript()})})}}}));function Zr(e,t){return`
29
31
  <script type="text/markdown" data-help-name="${t}">
30
32
  ${e}
31
- <\/script>`.trim()}async function ir(e,t){return process.env.NODE_ENV=`production`,rr(await(0,te.mdxToMd)(e),t)}async function ar(e,t){return rr(await p.default.readFile(e,`utf8`),t)}async function or(e){return e.isMdx?await ir(e.path,e.name):await ar(e.path,e.name)}async function sr(){let e=X.listNodesFull.flatMap(e=>{let t=e.doc.mdxFiles.length!==0,n=e.doc.mdFiles.length!==0;if(!t&&!n)return[];let r=!t&&n;return{path:r?e.doc.mdFiles[0]:e.doc.mdxFiles[0],name:e.name,isMdx:t,isMd:r}}),t=await Promise.all(e.map(e=>or(e)));return t.length?t.join(`
32
- `):``}function cr(e){return e.trim().replace(/\n\s+/g,``)}function lr(e=``){return{name:e,dashName:(0,_.dash)(e),pascalName:(0,_.pascal)(e)}}function ur(e=``,t=``){return!e||!t?t:t.replace(/data-i18n="([^"]+)"/g,(t,n)=>`data-i18n="${n.replace(/(\[.*?\])?(node-red:[^;]+|[^;]+)/g,(t,n,r)=>{let i=r;return r.startsWith(`node-red:`)||(i=`${e}.${r}`),(n||``)+i})}"`)}async function dr(e){return(0,ne.minify)(e,{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!1,useShortDoctype:!0,removeEmptyAttributes:!1,minifyCSS:!1,minifyJS:!1})}function fr(e,t){return`
33
+ <\/script>`.trim()}async function Qr(e,t){return process.env.NODE_ENV=`production`,Zr(await(0,ie.mdxToMd)(e),t)}async function $r(e,t){return Zr(await m.default.readFile(e,`utf8`),t)}async function ei(e){return e.isMdx?await Qr(e.path,e.name):await $r(e.path,e.name)}async function ti(){let e=q.listNodesFull.flatMap(e=>{let t=e.doc.mdxFiles.length!==0,n=e.doc.mdFiles.length!==0;if(!t&&!n)return[];let r=!t&&n;return{path:r?e.doc.mdFiles[0]:e.doc.mdxFiles[0],name:e.name,isMdx:t,isMd:r}}),t=await Promise.all(e.map(e=>ei(e)));return t.length?t.join(`
34
+ `):``}var ni=o((()=>{J()}));function ri(e){return e.trim().replace(/\n\s+/g,``)}function ii(e=``){return{name:e,dashName:(0,g.dash)(e),pascalName:(0,g.pascal)(e)}}var ai=o((()=>{}));function oi(e=``,t=``){return!e||!t?t:t.replace(/data-i18n="([^"]+)"/g,(t,n)=>`data-i18n="${n.replace(/(\[.*?\])?(node-red:[^;]+|[^;]+)/g,(t,n,r)=>{let i=r;return r.startsWith(`node-red:`)||(i=`${e}.${r}`),(n||``)+i})}"`)}var si=o((()=>{}));async function ci(e){return(0,ae.minify)(e,{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!1,useShortDoctype:!0,removeEmptyAttributes:!1,minifyCSS:!1,minifyJS:!1})}function li(e,t){return`
33
35
  <script type="text/html" data-template-name="${e}">
34
36
  ${t}
35
37
  <\/script>
36
- `}async function pr(e,t,n=!1){let r=``,i=(0,g.globSync)(e.editor.pugPath,{onlyFiles:!0}).at(0);r=i?re.default.renderFile(i):(0,m.readFileSync)(e.editor.htmlPath,`utf8`);let a=`
38
+ `}async function ui(e,t,n=!1){let r=``,i=(0,h.globSync)(e.editor.pugPath,{onlyFiles:!0}).at(0);r=i?oe.default.renderFile(i):(0,l.readFileSync)(e.editor.htmlPath,`utf8`);let a=`
37
39
  <div class="${t}">
38
40
  <div id="${e.nodeIdentifier}">${r}</div>
39
41
  </div>
40
- `,o=n?await dr(a):a;o=ur(e.name,o);let s=fr(e.name,o);return{nodeName:e.name,nodeIdentifier:e.nodeIdentifier,html:o,wrappedHtml:s}}async function mr(e){let{nodes:t,minify:n=!1}=e,r=await Promise.all(t.map(t=>pr(t,e.packageNameSlug,n)));return{html:r.map(e=>e.html).join(``).trim(),allWrappedHtml:r.map(e=>n?cr(e.wrappedHtml):e.wrappedHtml).join(``).trim()}}function hr(e){let t=e.replace(X.pathResourcesDir,``);return`resources/${X.packageName}${t}`}function gr(e){return`<script src="${e}"><\/script>`}function _r(e){return`<link rel="stylesheet" href="${e}">`}async function vr(e){return h.parse(e).ext===`.js`?gr(hr(e)):_r(hr(e))}async function yr(){let e=X.pathResourcesDir,t=(0,g.globSync)(`${e}/**/*.{js,css}`,{onlyFiles:!0});return(await Promise.all(t.map(vr))).join(``)}const br=[`hidden`,`block`,`font-bold`,`red-ui-typedInput-container`,`red-ui-typedInput-type-select`,`red-ui-typedInput-type-label`,`red-ui-typedInput-type-icon`,...X.config.builder.tailwind.forcedClassesInclusion],xr=[...br,...br.map(e=>`!${e}`)];async function Sr(e,t){return(await(0,b.default)([(0,ie.default)({content:[{raw:t,extension:`html`}],safelist:[/^!/,/^\\!/,/^\\:/,...xr]}),ae.default,(0,y.default)({preset:`default`})]).process(e,{from:void 0})).css}function Cr(e){return oe.compile(e,{style:`expanded`}).css}function wr(e){let t={};for(let n=0;n<e.length;n++){let r=e[n];t[r]=Cr(r)}return t}function Tr(e){return e.some(e=>e.editor.scssFiles.length)?e.filter(e=>e.editor.scssFiles.length).map(e=>{let t=wr(e.editor.scssFiles),n=Object.values(t).join(``);return{name:e.name,mergedCompiledStyles:n,scssFinal:`
42
+ `,o=n?await ci(a):a;o=oi(e.name,o);let s=li(e.name,o);return{nodeName:e.name,nodeIdentifier:e.nodeIdentifier,html:o,wrappedHtml:s}}async function di(e){let{nodes:t,minify:n=!1}=e,r=await Promise.all(t.map(t=>ui(t,e.packageNameSlug,n)));return{html:r.map(e=>e.html).join(``).trim(),allWrappedHtml:r.map(e=>n?ri(e.wrappedHtml):e.wrappedHtml).join(``).trim()}}var fi=o((()=>{ai(),si()}));function pi(e){let t=e.replace(q.pathResourcesDir,``);return`resources/${q.packageName}${t}`}function mi(e){return`<script src="${e}"><\/script>`}function hi(e){return`<link rel="stylesheet" href="${e}">`}async function gi(e){return u.parse(e).ext===`.js`?mi(pi(e)):hi(pi(e))}async function _i(){let e=q.pathResourcesDir,t=(0,h.globSync)(`${e}/**/*.{js,css}`,{onlyFiles:!0});return(await Promise.all(t.map(gi))).join(``)}var vi=o((()=>{J()}));async function yi(e,t){return(await(0,y.default)([(0,se.default)({content:[{raw:t,extension:`html`}],safelist:[/^!/,/^\\!/,/^\\:/,...Di]}),ce.default,(0,v.default)({preset:`default`})]).process(e,{from:void 0})).css}function bi(e){return le.compile(e,{style:`expanded`}).css}function xi(e){let t={};for(let n=0;n<e.length;n++){let r=e[n];t[r]=bi(r)}return t}function Si(e){return e.some(e=>e.editor.scssFiles.length)?e.filter(e=>e.editor.scssFiles.length).map(e=>{let t=xi(e.editor.scssFiles),n=Object.values(t).join(``);return{name:e.name,mergedCompiledStyles:n,scssFinal:`
41
43
  #${e.nodeIdentifier}{
42
44
  ${n}
43
- }`}}):[]}async function Er(e,t={}){let n={content:[{raw:e},{raw:xr.join(` `)}],theme:{},...t},r=(0,g.globSync)(`${Qn}/${G.nodes.editor.dirName}/assets/tailwind.scss`)[0],i=r.length?m.default.readFileSync(r,`utf8`):``;return(await(0,b.default)([(0,x.default)(n),require(`autoprefixer`)]).process(i,{from:void 0})).css}function Dr(){let e=X.resolvedSrcPathsScss;if(!e.length)return``;let t=wr([...e]);return Object.values(t).join(``)}async function Or(e){let t=e=>`.${X.packageNameSlug}{${e}}`,{rawHtml:n,minify:r=!1,nodes:i}=e||{},a=Dr(),o=Tr(i),s=await Er(n),c=r?await(0,b.default)([(0,y.default)({preset:`default`})]).process(s,{from:void 0}):s,l=o.map(e=>e.scssFinal).join(`
44
- `);return t(`${c}${r?await Sr(`${a}${l}`,n):`${a}${l}`}`)}async function kr(){return`
45
+ }`}}):[]}async function Ci(e,t={}){let n={content:[{raw:e},{raw:Di.join(` `)}],theme:{},...t},r=(0,h.globSync)(`${Gr}/${H.nodes.editor.dirName}/assets/tailwind.scss`)[0],i=r.length?l.default.readFileSync(r,`utf8`):``;return(await(0,y.default)([(0,ue.default)(n),require(`autoprefixer`)]).process(i,{from:void 0})).css}function wi(){let e=q.resolvedSrcPathsScss;if(!e.length)return``;let t=xi([...e]);return Object.values(t).join(``)}async function Ti(e){let t=e=>`.${q.packageNameSlug}{${e}}`,{rawHtml:n,minify:r=!1,nodes:i}=e||{},a=wi(),o=Si(i),s=await Ci(n),c=r?await(0,y.default)([(0,v.default)({preset:`default`})]).process(s,{from:void 0}):s,l=o.map(e=>e.scssFinal).join(`
46
+ `);return t(`${c}${r?await yi(`${a}${l}`,n):`${a}${l}`}`)}var Ei,Di,Oi=o((()=>{J(),U(),X(),Ei=[`hidden`,`block`,`font-bold`,`red-ui-typedInput-container`,`red-ui-typedInput-type-select`,`red-ui-typedInput-type-label`,`red-ui-typedInput-type-icon`,...q.config.builder.tailwind.forcedClassesInclusion],Di=[...Ei,...Ei.map(e=>`!${e}`)]}));async function ki(){return`
45
47
  import type { NodeAPI } from 'node-red';
46
- ${X.listNodesFull.map(e=>`// @ts-ignore\nimport ${e.pascalName} from '${e.editor.tsPath}';`).join(`
48
+ ${q.listNodesFull.map(e=>`// @ts-ignore\nimport ${e.pascalName} from '${e.editor.tsPath}';`).join(`
47
49
  `)}
48
50
 
49
51
  declare const RED: NodeAPI;
50
52
 
51
- ${X.listNodesFull.map(e=>`// @ts-ignore\nwindow.RED.nodes.registerType('${e.name}', ${e.pascalName});`).join(`
53
+ ${q.listNodesFull.map(e=>`// @ts-ignore\nwindow.RED.nodes.registerType('${e.name}', ${e.pascalName});`).join(`
52
54
  `)}
53
- `.trim()}async function Ar(e=!1){var t;let n=[];!(X==null||(t=X.config)==null||(t=t.builder)==null||(t=t.editor)==null||(t=t.webComponents)==null)&&t.formRow&&n.push(`${X.currentPackagedDistPath}/editor/inject/dxpFormRow.js`);let r=await v.default.build({entryPoints:[X.cacheDirFiles.editorIndex],bundle:!0,platform:`browser`,format:`iife`,target:`es6`,sourcemap:!1,minify:e,minifyWhitespace:e,minifySyntax:e,minifyIdentifiers:e,legalComments:`none`,inject:n,write:!1,loader:{".ts":`ts`}});return r.outputFiles&&r.outputFiles.length>0?r.outputFiles[0].text:``}var jr=class{constructor(e){this.params={minify:!1,...e}}async prepareEditorIndex(){let e=[Ar(this.params.minify),sr(),yr()],[t,n,r]=await Promise.all(e),i=await mr({minify:this.params.minify,nodes:X.listNodesFull,packageNameSlug:X.packageNameSlug}),a=await Or({rawHtml:i.html,minify:this.params.minify,nodes:X.listNodesFull}),o=`<script type="application/javascript">${t.trim()}<\/script>`,s=`<style>${a}</style>`;return`
55
+ `.trim()}async function Ai(e=!1){var t;let n=[];!(q==null||(t=q.config)==null||(t=t.builder)==null||(t=t.editor)==null||(t=t.webComponents)==null)&&t.formRow&&n.push(`${q.currentPackagedDistPath}/editor/inject/dxpFormRow.js`);let r=await re.default.build({entryPoints:[q.cacheDirFiles.editorIndex],bundle:!0,platform:`browser`,format:`iife`,target:`es6`,sourcemap:!1,minify:e,minifyWhitespace:e,minifySyntax:e,minifyIdentifiers:e,legalComments:`none`,inject:n,write:!1,loader:{".ts":`ts`}});return r.outputFiles&&r.outputFiles.length>0?r.outputFiles[0].text:``}var ji,Mi=o((()=>{J(),U(),X(),ni(),fi(),vi(),Oi(),ji=class{constructor(e){this.params={minify:!1,...e}}async prepareEditorIndex(){let e=[Ai(this.params.minify),ti(),_i()],[t,n,r]=await Promise.all(e),i=await di({minify:this.params.minify,nodes:q.listNodesFull,packageNameSlug:q.packageNameSlug}),a=await Ti({rawHtml:i.html,minify:this.params.minify,nodes:q.listNodesFull}),o=`<script type="application/javascript">${t.trim()}<\/script>`,s=`<style>${a}</style>`;return`
54
56
  ${r}
55
57
  ${i.allWrappedHtml}
56
58
  ${s}
57
59
  ${o}
58
- ${n}`.trim()}async getEditorTask(){return kr().then(e=>{Q(`${X.cacheDirFiles.editorIndex}`,e).then(()=>{this.prepareEditorIndex().then(async e=>{await Q(`${X.pathDist}/${G.nodes.editor.htmlName}.html`,e)})})})}};async function Mr(e){return{codeLang:e.split(`/`).pop().split(`.`).shift(),content:await p.default.readFile(e,`utf-8`)}}async function Nr(){let e=X.listNodesFullNames,t=X.resolvedSrcLocalesPaths,n=await Promise.all(t.map(Mr)),r={};return e.forEach(e=>{for(let{codeLang:t,content:i}of n)r[t]||(r[t]=[]),r[t].push(`"${e}":${i}`)}),`{${Object.entries(r).map(([e,t])=>`"${e}":{${t.join(`,`)}}`).join(`,`)}}`}async function Pr(e){let[t,,n]=e.replace(`${X.pathSrcNodesDir}${h.sep}`,``).split(h.sep),[r]=n.split(`.`);return{nodeName:t,codeLang:r,path:e,content:await p.default.readFile(e,`utf-8`)}}async function Fr(){let e=(0,g.globSync)(`${X.pathSrcNodesDir}/**/${G.localesDirName}/*.json`),t=await Promise.all(e.map(Pr)),n={};t.forEach(({nodeName:e,codeLang:t,content:r})=>{n[t]||(n[t]=[]),n[t].push(`"${e}":${r}`)});let r=``;for(let[e,t]of Object.entries(n)){let n=t.map(e=>e).join(`,`).slice(0,-1);r+=`"${e}":{${n}},`}return`{${r.slice(0,-1)}}`}async function Ir(){let[e,t]=await Promise.all([Nr(),Fr()]),n=zn(JSON.parse(e),JSON.parse(t)),r=[],i=[];for(let[e,t]of Object.entries(n))r.push(Z(`${X.pathDist}/${G.localesDirName}/${e}`)),i.push(Q(`${X.pathDist}/${G.localesDirName}/${e}/index.json`,JSON.stringify(t)));await Promise.all(r),await Promise.all(i)}var Lr=class{constructor(e){this.params={minify:!1,...e},this.builderController=new nr({minify:this.params.minify}),this.builderEditor=new jr({minify:this.params.minify})}async prepare(){Z(X.pathLibCacheDir);let e=`${X.currentPackagedDistPath}/editor/assets/pug-helper.pug`,t=`${X.currentPackagedDistPath}/editor/assets/pug`,n=[$n([X.pathDist]),Q(`${X.pathLibCacheDir}/config.json`,JSON.stringify(X.config,null,2)),p.default.copyFile(e,`${X.pathLibCacheDir}/pug-helper.pug`),p.default.cp(t,`${X.pathLibCacheDir}/pug`,{recursive:!0})];return Promise.all(n).then(()=>{Z(X.pathDist)})}async buildAll(){return await this.prepare(),Promise.all([this.builderController.getControllerTask(),this.builderEditor.getEditorTask(),Ir()])}};function Rr(e){let t=new u.Command(`checks`).description(`[WIP] Commands to check the some stuff`).command(`nodes-structure`).description(`[WIP] Verify the structure of the nodes`).action(()=>{console.log(`In construction`)});e.addCommand(t)}async function zr(){process.cwd()}function Br(e){let t=new u.Command(`create`).description(`[WIP] Create new package`).action(async()=>{await zr()});e.addCommand(t)}function Vr(e){let t=new u.Command(`info`).description(`Get information about the package`).option(`--config`,`Show relative configuration information`).action(e=>{e.config?(S.consola.log(`Configuration information:`),S.consola.log(C.default.render(K))):S.consola.log(C.default.render(X))});e.addCommand(t)}function Hr(e){return e.startsWith(`~`)?(0,h.join)((0,d.homedir)(),e.slice(1)):(0,h.resolve)(e)}function Ur(e){let t=new u.Command(`install-local-package`).description(`Install this package into the current Node-RED local installation to develop on it`).action(()=>{let e=X.currentDir,t=Hr(K.watcher.nodeRed.path);try{(0,se.execSync)(`cd "${t}" && npm install "${e}"`)}catch(e){console.log(`Error while installing package:`,e)}});e.addCommand(t)}async function Wr(e){try{let t=h.default.resolve(e);return await p.default.readFile(t,`utf-8`)}catch(e){throw Error(`Failed to load file: ${e.message}`)}}async function Gr(e,t){try{let n=await Wr(e);return ce.default.compile(n)(t)}catch(e){throw Error(`Failed to render template: ${e.message}`)}}var Kr=class{constructor(e){let{pascalName:t,dashName:n}=lr(e.innerNodeName);this.nodePascalName=t,this.nodeDashName=n,this.newNodeDistPath=`${X.pathSrcNodesDir}/${n}`,this.newNodeEditorDistPath=`${this.newNodeDistPath}/${G.nodes.editor.dirName}`,this.scaffoldedDistHbs=`${X.currentPackagedDistPath}/scaffolding/create-node/hbs`,this.isConfigNode=e.isConfigNode}distFolderExist(){return m.default.existsSync(this.newNodeDistPath)}prepareStructure(){return[{finalPath:`${this.newNodeDistPath}/controller.ts`,templatePath:`${this.scaffoldedDistHbs}/controller${this.isConfigNode?`-config`:``}.ts.hbs`,templateData:{nodePascalName:this.nodePascalName,nodeName:this.nodeDashName}},{finalPath:`${this.newNodeDistPath}/types.ts`,templatePath:`${this.scaffoldedDistHbs}/types.ts.hbs`,templateData:{nodePascalName:this.nodePascalName,nodeName:this.nodeDashName}},{finalPath:`${this.newNodeDistPath}/doc.md`,templatePath:`${this.scaffoldedDistHbs}/doc.md.hbs`,templateData:{}},{finalPath:`${this.newNodeEditorDistPath}/${G.nodes.editor.tsName}.ts`,templatePath:`${this.scaffoldedDistHbs}/editor/index${this.isConfigNode?`-config`:``}.ts.hbs`,templateData:{nodePascalName:this.nodePascalName,nodeName:this.nodeDashName}},{finalPath:`${this.newNodeEditorDistPath}/styles.scss`,templatePath:`${this.scaffoldedDistHbs}/editor/styles.scss.hbs`,templateData:{nodeName:this.nodeDashName}},{finalPath:`${this.newNodeEditorDistPath}/${G.nodes.editor.htmlName}.html`,templatePath:`${this.scaffoldedDistHbs}/editor/index${this.isConfigNode?`-config`:``}.html.hbs`,templateData:{}}]}async renderFilesTemplates(){let e=this.prepareStructure().map(async e=>Gr(e.templatePath,e.templateData).then(t=>({finalPath:e.finalPath,content:t})));return await Promise.all(e)}async writeNewNode(){let e=await this.renderFilesTemplates();await Promise.all(e.map(e=>Q(e.finalPath,e.content)))}};async function qr(e,t,n){return e===void 0?S.consola.prompt(t,n):e}function Jr(e){let t=new u.Command(`create-node`).description(`Create new node`).option(`--name <name>`,`Node name`).addOption(new u.Option(`--config-node`,`Generate a config node`).conflicts(`regularNode`)).addOption(new u.Option(`--regular-node`,`Generate a regular node`)).option(`--skip-confirm`,`Skip confirmations`,!1);t.action(async e=>{let t=(0,_.dash)(await qr(e.name,`Enter node name:`,{type:`text`}));if(!(e!=null&&e.skipConfirm||await S.consola.prompt(`This name is OK for you '${t}'?`,{type:`confirm`}))){S.consola.info(`👌 OK. Exiting...`);return}let n=(e==null?void 0:e.configNode)===void 0&&(e==null?void 0:e.regularNode)===void 0,r=!1;n?r=await S.consola.prompt(`Is this a config node?`,{type:`confirm`}):e!=null&&e.configNode?r=!0:e!=null&&e.regularNode&&(r=!1);let i=new Kr({innerNodeName:t,isConfigNode:r});if(i.distFolderExist()){S.consola.error(`Node ${i.nodeDashName} already exists`),S.consola.info(`In ${i.newNodeDistPath}`);return}Z(i.newNodeEditorDistPath),await i.writeNewNode()}),e.addCommand(t)}let Yr,Xr;function Zr(){Yr=(0,w.default)({exec:`node-red -u ${X.config.watcher.nodeRed.path}`,ignore:[`**/*`],ext:`js,html`,verbose:!0}),w.default.once(`start`,()=>{Xr=le.default.create(),Xr.init({ui:!1,proxy:{target:X.config.watcher.nodeRed.url,ws:!0},ghostMode:!1,open:!1,reloadDelay:4e3})}).on(`quit`,()=>{S.consola.info(`Nodemon has quit`),process.exit(0)})}function Qr(){Yr.restart(),Xr.reload()}function $r(e){let t=X.config.watcher.nodeRed.enabled&&X.config.watcher.nodeRed.path,n=ue.default.watch(X.pathSrcDir,{}),r=new Lr({minify:(e==null?void 0:e.minify)??!1});n.on(`ready`,async()=>{S.consola.info(`Initial scan complete. Ready for changes`),await r.buildAll(),S.consola.success(`Initial Build completed`),t?Zr():S.consola.warn(`Node-Red watcher is disabled. Please enable it in the config file`)}).on(`change`,async e=>{S.consola.info(`File ${e.replace(X.currentDir,``)} has been changed`),await r.buildAll(),S.consola.success(`Build completed`),t&&Qr()})}function ei(e){let t=new u.Command(`watch`).command(`watch`).description(`watch project`).option(`--minify`,`Minify the output`,!1).action(e=>{$r({minify:e.minify})});e.addCommand(t)}const $=new u.Command;$.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(Pn),$.command(`build`).description(`The build script compiles all nodes into a production-ready, optimized format at lightning speed, with the output defaulting to the dist directory.`).option(`--no-minify`,`No minify the output`,!0).action(async e=>{let t=X.listNodesFull.length,n=c.performance.now();console.log(`node-red-dxp builder`);let r=Nn(`Building ${t} node(s)...`).start();await new Lr({minify:e.minify}).buildAll();let i=c.performance.now()-n,a=i>1e3?`${(i/1e3).toFixed(2)}s`:`${i.toFixed(2)}ms`;r.succeed(`Build completed in ${a} for ${t} nodes(s)`)}),ei($),Vr($),Rr($),Jr($),Br($),Ur($),$.parse(l.argv);
60
+ ${n}`.trim()}async getEditorTask(){return ki().then(e=>{Y(`${q.cacheDirFiles.editorIndex}`,e).then(()=>{this.prepareEditorIndex().then(async e=>{await Y(`${q.pathDist}/${H.nodes.editor.htmlName}.html`,e)})})})}}}));async function Ni(e){return{codeLang:e.split(`/`).pop().split(`.`).shift(),content:await m.default.readFile(e,`utf-8`)}}async function Pi(){let e=q.listNodesFullNames,t=q.resolvedSrcLocalesPaths,n=await Promise.all(t.map(Ni)),r={};return e.forEach(e=>{for(let{codeLang:t,content:i}of n)r[t]||(r[t]=[]),r[t].push(`"${e}":${i}`)}),`{${Object.entries(r).map(([e,t])=>`"${e}":{${t.join(`,`)}}`).join(`,`)}}`}var Fi=o((()=>{J()}));async function Ii(e){let[t,,n]=e.replace(`${q.pathSrcNodesDir}${u.sep}`,``).split(u.sep),[r]=n.split(`.`);return{nodeName:t,codeLang:r,path:e,content:await m.default.readFile(e,`utf-8`)}}async function Li(){let e=(0,h.globSync)(`${q.pathSrcNodesDir}/**/${H.localesDirName}/*.json`),t=await Promise.all(e.map(Ii)),n={};t.forEach(({nodeName:e,codeLang:t,content:r})=>{n[t]||(n[t]=[]),n[t].push(`"${e}":${r}`)});let r=``;for(let[e,t]of Object.entries(n)){let n=t.map(e=>e).join(`,`).slice(0,-1);r+=`"${e}":{${n}},`}return`{${r.slice(0,-1)}}`}var Ri=o((()=>{J(),U()}));async function zi(){let[e,t]=await Promise.all([Pi(),Li()]),n=Sr(JSON.parse(e),JSON.parse(t)),r=[],i=[];for(let[e,t]of Object.entries(n))r.push(Ur(`${q.pathDist}/${H.localesDirName}/${e}`)),i.push(Y(`${q.pathDist}/${H.localesDirName}/${e}/index.json`,JSON.stringify(t)));await Promise.all(r),await Promise.all(i)}var Bi=o((()=>{wr(),J(),U(),X(),Fi(),Ri()})),Vi,Hi=o((()=>{J(),X(),Xr(),Mi(),Bi(),Vi=class{constructor(e){this.params={minify:!1,...e},this.builderController=new Yr({minify:this.params.minify}),this.builderEditor=new ji({minify:this.params.minify})}async prepare(){Ur(q.pathLibCacheDir);let e=`${q.currentPackagedDistPath}/editor/assets/pug-helper.pug`,t=`${q.currentPackagedDistPath}/editor/assets/pug`,n=[Wr([q.pathDist]),Y(`${q.pathLibCacheDir}/config.json`,JSON.stringify(q.config,null,2)),m.default.copyFile(e,`${q.pathLibCacheDir}/pug-helper.pug`),m.default.cp(t,`${q.pathLibCacheDir}/pug`,{recursive:!0})];return Promise.all(n).then(()=>{Ur(q.pathDist)})}async buildAll(){return await this.prepare(),Promise.all([this.builderController.getControllerTask(),this.builderEditor.getEditorTask(),zi()])}}})),Ui=o((()=>{Hi()}));function Wi(e){let t=new d.Command(`build`).command(`build`).description(`The build script compiles all nodes into a production-ready, optimized format at lightning speed, with the output defaulting to the dist directory.`).option(`--no-minify`,`No minify the output`,!0).action(async e=>{let t=q.listNodesFull.length,n=ee.performance.now();console.log(`node-red-dxp builder`);let r=lr(`Building ${t} node(s)...`).start();await new Vi({minify:e.minify}).buildAll();let i=ee.performance.now()-n,a=i>1e3?`${(i/1e3).toFixed(2)}s`:`${i.toFixed(2)}ms`;r.succeed(`Build completed in ${a} for ${t} nodes(s)`)});e.addCommand(t)}var Gi=o((()=>{dr(),Ui(),J()}));function Ki(e){let t=new d.Command(`checks`).description(`[WIP] Commands to check the some stuff`).command(`nodes-structure`).description(`[WIP] Verify the structure of the nodes`).action(()=>{console.log(`In construction`)});e.addCommand(t)}var qi=o((()=>{}));function Ji(e){let t=new d.Command(`info`).description(`Get information about the package`).option(`--config`,`Show relative configuration information`).action(e=>{e.config?(b.consola.log(`Configuration information:`),b.consola.log(de.default.render(W))):b.consola.log(de.default.render(q))});e.addCommand(t)}var Yi=o((()=>{J()}));function Xi(e){return e.startsWith(`~`)?(0,u.join)((0,te.homedir)(),e.slice(1)):(0,u.resolve)(e)}var Zi=o((()=>{}));function Qi(e){let t=new d.Command(`install-local-package`).description(`Install this package into the current Node-RED local installation to develop on it`).action(()=>{let e=q.currentDir,t=Xi(W.watcher.nodeRed.path);try{(0,fe.execSync)(`cd "${t}" && npm install "${e}"`)}catch(e){console.log(`Error while installing package:`,e)}});e.addCommand(t)}var $i=o((()=>{J(),Zi()}));async function ea(e){try{let t=u.default.resolve(e);return await m.default.readFile(t,`utf-8`)}catch(e){throw Error(`Failed to load file: ${e.message}`)}}async function ta(e,t){try{let n=await ea(e);return pe.default.compile(n)(t)}catch(e){throw Error(`Failed to render template: ${e.message}`)}}var na,ra=o((()=>{J(),U(),ai(),X(),na=class{constructor(e){let{pascalName:t,dashName:n}=ii(e.innerNodeName);this.nodePascalName=t,this.nodeDashName=n,this.newNodeDistPath=`${q.pathSrcNodesDir}/${n}`,this.newNodeEditorDistPath=`${this.newNodeDistPath}/${H.nodes.editor.dirName}`,this.scaffoldedDistHbs=`${q.currentPackagedDistPath}/scaffolding/create-node/hbs`,this.isConfigNode=e.isConfigNode}distFolderExist(){return l.default.existsSync(this.newNodeDistPath)}prepareStructure(){return[{finalPath:`${this.newNodeDistPath}/controller.ts`,templatePath:`${this.scaffoldedDistHbs}/controller${this.isConfigNode?`-config`:``}.ts.hbs`,templateData:{nodePascalName:this.nodePascalName,nodeName:this.nodeDashName}},{finalPath:`${this.newNodeDistPath}/types.ts`,templatePath:`${this.scaffoldedDistHbs}/types.ts.hbs`,templateData:{nodePascalName:this.nodePascalName,nodeName:this.nodeDashName}},{finalPath:`${this.newNodeDistPath}/doc.md`,templatePath:`${this.scaffoldedDistHbs}/doc.md.hbs`,templateData:{}},{finalPath:`${this.newNodeEditorDistPath}/${H.nodes.editor.tsName}.ts`,templatePath:`${this.scaffoldedDistHbs}/editor/index${this.isConfigNode?`-config`:``}.ts.hbs`,templateData:{nodePascalName:this.nodePascalName,nodeName:this.nodeDashName}},{finalPath:`${this.newNodeEditorDistPath}/styles.scss`,templatePath:`${this.scaffoldedDistHbs}/editor/styles.scss.hbs`,templateData:{nodeName:this.nodeDashName}},{finalPath:`${this.newNodeEditorDistPath}/${H.nodes.editor.htmlName}.html`,templatePath:`${this.scaffoldedDistHbs}/editor/index${this.isConfigNode?`-config`:``}.html.hbs`,templateData:{}}]}async renderFilesTemplates(){let e=this.prepareStructure().map(async e=>ta(e.templatePath,e.templateData).then(t=>({finalPath:e.finalPath,content:t})));return await Promise.all(e)}async writeNewNode(){let e=await this.renderFilesTemplates();await Promise.all(e.map(e=>Y(e.finalPath,e.content)))}}}));async function ia(e,t,n){return e===void 0?b.consola.prompt(t,n):e}function aa(e){let t=new d.Command(`create-node`).description(`Create new node`).option(`--name <name>`,`Node name`).addOption(new d.Option(`--config-node`,`Generate a config node`).conflicts(`regularNode`)).addOption(new d.Option(`--regular-node`,`Generate a regular node`)).option(`--skip-confirm`,`Skip confirmations`,!1);t.action(async e=>{let t=(0,g.dash)(await ia(e.name,`Enter node name:`,{type:`text`}));if(!(e!=null&&e.skipConfirm||await b.consola.prompt(`This name is OK for you '${t}'?`,{type:`confirm`}))){b.consola.info(`👌 OK. Exiting...`);return}let n=(e==null?void 0:e.configNode)===void 0&&(e==null?void 0:e.regularNode)===void 0,r=!1;n?r=await b.consola.prompt(`Is this a config node?`,{type:`confirm`}):e!=null&&e.configNode?r=!0:e!=null&&e.regularNode&&(r=!1);let i=new na({innerNodeName:t,isConfigNode:r});if(i.distFolderExist()){b.consola.error(`Node ${i.nodeDashName} already exists`),b.consola.info(`In ${i.newNodeDistPath}`);return}Ur(i.newNodeEditorDistPath),await i.writeNewNode()}),e.addCommand(t)}var oa=o((()=>{ra(),X()}));function sa(){ua=(0,ge.default)({exec:`node-red -u ${q.config.watcher.nodeRed.path}`,ignore:[`**/*`],ext:`js,html`,verbose:!0}),ge.default.once(`start`,()=>{da=me.default.create(),da.init({ui:!1,proxy:{target:q.config.watcher.nodeRed.url,ws:!0},ghostMode:!1,open:!1,reloadDelay:4e3})}).on(`quit`,()=>{b.consola.info(`Nodemon has quit`),process.exit(0)})}function ca(){ua.restart(),da.reload()}function la(e){let t=q.config.watcher.nodeRed.enabled&&q.config.watcher.nodeRed.path,n=he.default.watch(q.pathSrcDir,{}),r=new Vi({minify:(e==null?void 0:e.minify)??!1});n.on(`ready`,async()=>{b.consola.info(`Initial scan complete. Ready for changes`),await r.buildAll(),b.consola.success(`Initial Build completed`),t?sa():b.consola.warn(`Node-Red watcher is disabled. Please enable it in the config file`)}).on(`change`,async e=>{b.consola.info(`File ${e.replace(q.currentDir,``)} has been changed`),await r.buildAll(),b.consola.success(`Build completed`),t&&ca()})}var ua,da,fa=o((()=>{Ui(),J()}));function pa(e){let t=new d.Command(`watch`).command(`watch`).description(`watch project`).option(`--minify`,`Minify the output`,!1).action(e=>{la({minify:e.minify})});e.addCommand(t)}var ma=o((()=>{fa()})),ha={},Z,ga=o((()=>{Gi(),qi(),Yi(),$i(),oa(),ma(),Z=new d.Command,Z.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(be),Wi(Z),pa(Z),Ji(Z),Ki(Z),aa(Z),Qi(Z),Z.parse(process.argv)})),_a,va=o((()=>{_a=()=>(0,ve.getUserAgent)()||`npm`}));function ya(e){e.setActionType(`installDeps`,ba),e.setActionType(`lint`,xa),e.setActionType(`createConfigNode`,Sa)}var Q,ba,xa,Sa,Ca=o((()=>{va(),Q=(e,t,n)=>{if(!e)throw Error(`projectName is required`);let r=u.default.resolve(process.cwd(),e),i=_a();return new Promise((e,a)=>{(0,fe.spawn)(i,t,{cwd:r,stdio:`inherit`}).on(`close`,r=>{r===0?e(`✓ ${n}`):a(`${i} ${t.join(` `)} failed`)})})},ba=async(e,t)=>{let n=t.projectName;return Q(n,[`install`],`Dependencies installed`)},xa=async(e,t)=>{let n=t.projectName;return await Q(n,[`biome`,`migrate`,`--write`],`Biome migration completed`),Q(n,[`lint:check`,`--write`],`Lint check completed`)},Sa=async(e,t)=>{let n=t.projectName;return Q(n,[`node-red-dxp`,`create-node`,`--name`,`my-config-node`,`--config-node`,`--skip-confirm`],`Config Node completed`)}}));async function wa(e){let t=e||process.cwd();console.log(`WIP COMMAND - DO NOT USE`),console.log(`Creating project in:`,t);let n=process.cwd();process.chdir(t);try{let e=await(0,_e.default)(),t=(0,u.join)(__dirname,Ea);if(!(0,l.existsSync)(t))throw Error(`Templates directory not found: ${t}`);ya(e),e.setGenerator(`project`,{description:`Generate a new Node.js project`,prompts:Ta?[]:[{type:`input`,name:`projectName`,message:`Node-Red project name:`,default:`@my-scope/node-red-contrib-my-awesome-lib`},{type:`input`,name:`description`,message:`Project description:`,default:`Awesome description`},{type:`confirm`,name:`installDependencies`,message:`Install dependencies with ${_a()}?`,default:!0}],actions:e=>{let n=Ta?{projectName:`my-project-test`,description:`Test description`,installDependencies:!0}:e,r=[...[`package.json`,`.gitignore`,`biome.json`,`README.md`,`tsconfig.json`,`vitest.config.ts`].map(e=>({type:`add`,path:`${n==null?void 0:n.projectName}/${e}`,templateFile:(0,u.join)(t,`${e}.hbs`),data:n}))];return n!=null&&n.installDependencies&&r.push({type:`installDeps`,projectName:n.projectName}),r.push({type:`createConfigNode`,projectName:n==null?void 0:n.projectName}),r.push({type:`lint`,projectName:n==null?void 0:n.projectName}),r}});let n=e.getGenerator(`project`),r=await n.runPrompts(),i=await n.runActions(r);return i.failures.length>0&&(console.error(`❌ Failures:`,i.failures),process.exit(1)),console.log(`✅ Project created successfully!`),i}finally{process.chdir(n)}}var Ta,Ea,Da=o((()=>{Ca(),va(),Ta=process.env.DEV===`true`,Ea=`./create/plop-templates`}));function Oa(e){let t=new d.Command(`create`).description(`[WIP] Create new package`).action(async()=>{await wa()});e.addCommand(t)}var ka=o((()=>{Da()})),Aa={},$,ja=o((()=>{ka(),$=new d.Command,$.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(be),Oa($),$.parse(process.argv)}));[`SIGINT`,`SIGTERM`].forEach(e=>{process.on(e,()=>{process.exit(0)})});const Ma=ye;function Na(){let e=process.cwd();for(;e!==(0,u.dirname)(e);){try{var t,n;let r=(0,l.readFileSync)((0,u.join)(e,`package.json`),`utf-8`),i=JSON.parse(r);if((t=i.dependencies)!=null&&t[Ma]||(n=i.devDependencies)!=null&&n[Ma])return process.chdir(e),!0}catch{}e=(0,u.dirname)(e)}return!1}Na()?ga():ja();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keload/node-red-dxp",
3
- "version": "1.26.0",
3
+ "version": "1.28.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -61,19 +61,22 @@
61
61
  },
62
62
  "homepage": "https://github.com/clement-berard/node-red-dxp",
63
63
  "devDependencies": {
64
- "@biomejs/biome": "2.3.5",
65
- "@release-it/conventional-changelog": "10.0.1",
64
+ "@biomejs/biome": "2.3.11",
65
+ "@release-it/conventional-changelog": "10.0.4",
66
66
  "@types/pug": "^2.0.10",
67
- "release-it": "19.0.6",
67
+ "js-yaml": "^4.1.1",
68
+ "plop": "^4.0.4",
69
+ "release-it": "19.2.2",
68
70
  "tsdown": "^0.16.4",
69
- "tsx": "4.20.6",
70
- "typedoc": "0.28.14",
71
+ "tsx": "4.21.0",
72
+ "typedoc": "0.28.15",
71
73
  "typedoc-plugin-markdown": "4.9.0",
72
74
  "typescript": "5.9.3",
73
75
  "vitepress": "1.6.4",
74
76
  "vitepress-plugin-npm-commands": "^0.8.1",
75
77
  "vitepress-plugin-tabs": "^0.7.1",
76
- "vitest": "4.0.9"
78
+ "vitest": "4.0.16",
79
+ "zod2md": "^0.2.5"
77
80
  },
78
81
  "dependencies": {
79
82
  "@fullhuman/postcss-purgecss": "7.0.2",
@@ -82,27 +85,30 @@
82
85
  "@types/jqueryui": "1.12.24",
83
86
  "@types/node-red": "1.3.5",
84
87
  "@types/prettyjson": "0.0.33",
85
- "autoprefixer": "10.4.22",
88
+ "autoprefixer": "10.4.23",
86
89
  "browser-sync": "3.0.4",
87
- "chokidar": "4.0.3",
90
+ "chokidar": "5.0.0",
88
91
  "commander": "14.0.2",
89
92
  "consola": "3.4.2",
90
93
  "cosmiconfig": "9.0.0",
91
94
  "cssnano": "7.1.2",
92
- "esbuild": "0.27.0",
95
+ "esbuild": "0.27.2",
93
96
  "fast-glob": "3.3.3",
94
97
  "handlebars": "4.7.8",
95
98
  "html-minifier-terser": "7.2.0",
96
99
  "mdx-to-md": "0.5.2",
97
100
  "merge-anything": "6.0.6",
101
+ "node-plop": "^0.32.3",
98
102
  "nodemon": "3.1.11",
99
103
  "ora": "9.0.0",
104
+ "package-manager-detector": "^1.6.0",
100
105
  "postcss": "8.5.6",
101
106
  "prettyjson": "1.2.5",
102
107
  "pug": "3.0.3",
103
108
  "radash": "12.1.1",
104
- "sass": "1.94.0",
105
- "tailwindcss": "^3"
109
+ "sass": "1.97.1",
110
+ "tailwindcss": "^3",
111
+ "zod": "^4.3.4"
106
112
  },
107
113
  "files": [
108
114
  "dist"