@keload/node-red-dxp 1.29.0 → 1.30.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.
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@biomejs/biome": "^2.3.8",
29
- "@keload/node-red-dxp": "link:/Users/keload/work/perso/node-red-dxp",
29
+ "@keload/node-red-dxp": "^{{nrDXPLastVersion}}",
30
30
  "@release-it/conventional-changelog": "^10.0.3",
31
31
  "@types/jquery": "^3.5.33",
32
32
  "@types/jqueryui": "^1.12.24",
@@ -1,5 +1,5 @@
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,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:util`),ne=require(`node:os`);ne=c(ne);let p=require(`node:tty`);p=c(p);let m=require(`node:fs/promises`);m=c(m);let re=require(`cosmiconfig`),h=require(`fast-glob`),g=require(`radash`),_=require(`zod`),v=require(`esbuild`);v=c(v);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 le=require(`cssnano`);le=c(le);let y=require(`postcss`);y=c(y);let ue=require(`sass`);ue=c(ue);let de=require(`tailwindcss`);de=c(de);let b=require(`consola`),fe=require(`prettyjson`);fe=c(fe);let pe=require(`node:child_process`),me=require(`handlebars`);me=c(me);let he=require(`browser-sync`);he=c(he);let ge=require(`chokidar`);ge=c(ge);let _e=require(`nodemon`);_e=c(_e);let ve=require(`node-plop`);ve=c(ve);let ye=require(`package-manager-detector/detect`);var be=`@keload/node-red-dxp`,xe=`1.28.3`;function Se(){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=we(),x.color.ansi256=Te(),x.color.ansi16m=Ee(),x.bgColor.ansi=we(Ce),x.bgColor.ansi256=Te(Ce),x.bgColor.ansi16m=Ee(Ce),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 Ce,we,Te,Ee,x,De,Oe,ke,Ae,je,S,Me=o((()=>{Ce=10,we=(e=0)=>t=>`\u001B[${t+e}m`,Te=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,Ee=(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),Oe=Object.keys(x.color),ke=Object.keys(x.bgColor),[...Oe,...ke],je=Se(),S=je}));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 Ne(){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 Pe(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Fe(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=Ne();r!==void 0&&(Le=r);let i=n?Le: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=ne.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 Ie(e,t={}){return Pe(Fe(e,{streamIsTTY:e&&e.isTTY,...t}))}var w,Le,Re,ze,Be=o((()=>{({env:w}=f.default),C(`no-color`)||C(`no-colors`)||C(`color=false`)||C(`color=never`)?Le=0:(C(`color`)||C(`colors`)||C(`color=true`)||C(`color=always`))&&(Le=1),Re={stdout:Ie({isTTY:p.default.isatty(1)}),stderr:Ie({isTTY:p.default.isatty(2)})},ze=Re}));function Ve(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 He(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:util`),ne=require(`node:os`);ne=c(ne);let p=require(`node:tty`);p=c(p);let m=require(`node:fs/promises`);m=c(m);let re=require(`cosmiconfig`),h=require(`fast-glob`),g=require(`radash`),_=require(`zod`),v=require(`esbuild`);v=c(v);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 le=require(`cssnano`);le=c(le);let y=require(`postcss`);y=c(y);let ue=require(`sass`);ue=c(ue);let de=require(`tailwindcss`);de=c(de);let b=require(`consola`),fe=require(`handlebars`);fe=c(fe);let pe=require(`prettyjson`);pe=c(pe);let me=require(`node:child_process`),he=require(`browser-sync`);he=c(he);let ge=require(`chokidar`);ge=c(ge);let _e=require(`nodemon`);_e=c(_e);let ve=require(`node-plop`);ve=c(ve);let ye=require(`package-manager-detector/detect`);var be=`@keload/node-red-dxp`,xe=`1.29.0`;function Se(){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=we(),x.color.ansi256=Te(),x.color.ansi16m=Ee(),x.bgColor.ansi=we(Ce),x.bgColor.ansi256=Te(Ce),x.bgColor.ansi16m=Ee(Ce),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 Ce,we,Te,Ee,x,De,Oe,ke,Ae,je,S,Me=o((()=>{Ce=10,we=(e=0)=>t=>`\u001B[${t+e}m`,Te=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,Ee=(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),Oe=Object.keys(x.color),ke=Object.keys(x.bgColor),[...Oe,...ke],je=Se(),S=je}));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 Ne(){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 Pe(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Fe(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=Ne();r!==void 0&&(Le=r);let i=n?Le: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=ne.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 Ie(e,t={}){return Pe(Fe(e,{streamIsTTY:e&&e.isTTY,...t}))}var w,Le,Re,ze,Be=o((()=>{({env:w}=f.default),C(`no-color`)||C(`no-colors`)||C(`color=false`)||C(`color=never`)?Le=0:(C(`color`)||C(`colors`)||C(`color=true`)||C(`color=always`))&&(Le=1),Re={stdout:Ie({isTTY:p.default.isatty(1)}),stderr:Ie({isTTY:p.default.isatty(2)})},ze=Re}));function Ve(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 He(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
5
  `,i)}while(r!==-1);return a+=e.slice(i),a}var Ue=o((()=>{}));function T(e){return Ye(e)}var We,Ge,Ke,E,D,qe,O,Je,Ye,Xe,Ze,Qe,k,$e,et,tt,nt,rt=o((()=>{Me(),Be(),Ue(),{stdout:We,stderr:Ge}=ze,Ke=Symbol(`GENERATOR`),E=Symbol(`STYLER`),D=Symbol(`IS_EMPTY`),qe=[`ansi`,`ansi`,`ansi256`,`ansi16m`],O=Object.create(null),Je=(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=We?We.level:0;e.level=t.level===void 0?n:t.level},Ye=e=>{let t=(...e)=>e.join(` `);return Je(t,e),Object.setPrototypeOf(t,T.prototype),t},Object.setPrototypeOf(T.prototype,Function.prototype);for(let[e,t]of Object.entries(S))O[e]={get(){let n=k(this,Qe(t.open,t.close,this[E]),this[D]);return Object.defineProperty(this,e,{value:n}),n}};O.visible={get(){let e=k(this,this[E],!0);return Object.defineProperty(this,`visible`,{value:e}),e}},Xe=(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`?Xe(`rgb`,t,n,...S.hexToRgb(...r)):S[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){O[e]={get(){let{level:t}=this;return function(...n){let r=Qe(Xe(e,qe[t],`color`,...n),S.color.close,this[E]);return k(this,r,this[D])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);O[t]={get(){let{level:t}=this;return function(...n){let r=Qe(Xe(e,qe[t],`bgColor`,...n),S.bgColor.close,this[E]);return k(this,r,this[D])}}}}Ze=Object.defineProperties(()=>{},{...O,level:{enumerable:!0,get(){return this[Ke].level},set(e){this[Ke].level=e}}}),Qe=(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}},k=(e,t,n)=>{let r=(...e)=>$e(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Ze),r[Ke]=e,r[E]=t,r[D]=n,r},$e=(e,t)=>{if(e.level<=0||!t)return e[D]?``:t;let n=e[E];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=Ve(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
@@ -58,4 +58,4 @@ ${r}
58
58
  ${i.allWrappedHtml}
59
59
  ${s}
60
60
  ${o}
61
- ${n}`.trim()}async getEditorTask(){return Pi().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 Ri(e){return{codeLang:e.split(`/`).pop().split(`.`).shift(),content:await m.default.readFile(e,`utf-8`)}}async function zi(){let e=q.listNodesFullNames,t=q.resolvedSrcLocalesPaths,n=await Promise.all(t.map(Ri)),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 Bi=o((()=>{J()}));async function Vi(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 Hi(){let e=(0,h.globSync)(`${q.pathSrcNodesDir}/**/${H.localesDirName}/*.json`),t=await Promise.all(e.map(Vi)),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 Ui=o((()=>{J(),U()}));async function Wi(){let[e,t]=await Promise.all([zi(),Hi()]),n=Dr(JSON.parse(e),JSON.parse(t)),r=[],i=[];for(let[e,t]of Object.entries(n))r.push(Jr(`${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 Gi=o((()=>{kr(),J(),U(),X(),Bi(),Ui()})),Ki,qi=o((()=>{J(),X(),ti(),Li(),Gi(),Ki=class{constructor(e){this.params={minify:!1,...e},this.builderController=new ei({minify:this.params.minify}),this.builderEditor=new Ii({minify:this.params.minify})}async prepare(){Jr(q.pathLibCacheDir);let e=`${q.currentPackagedDistPath}/editor/assets/pug-helper.pug`,t=`${q.currentPackagedDistPath}/editor/assets/pug`,n=[Yr([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(()=>{Jr(q.pathDist)})}async buildAll(){return await this.prepare(),Promise.all([this.builderController.getControllerTask(),this.builderEditor.getEditorTask(),Wi()])}}})),Ji=o((()=>{qi()}));function Yi(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=dr(`Building ${t} node(s)...`).start();await new Ki({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 Xi=o((()=>{gr(),Ji(),J()}));function Zi(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 $i(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(fe.default.render(W))):b.consola.log(fe.default.render(q))});e.addCommand(t)}var ea=o((()=>{J()}));function ta(e){return e.startsWith(`~`)?(0,u.join)((0,ne.homedir)(),e.slice(1)):(0,u.resolve)(e)}var na=o((()=>{}));function ra(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=ta(W.watcher.nodeRed.path);try{(0,pe.execSync)(`cd "${t}" && npm install "${e}"`)}catch(e){console.log(`Error while installing package:`,e)}});e.addCommand(t)}var ia=o((()=>{J(),na()}));async function aa(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 oa(e,t){try{let n=await aa(e);return me.default.compile(n)(t)}catch(e){throw Error(`Failed to render template: ${e.message}`)}}var sa,ca=o((()=>{J(),U(),ui(),X(),sa=class{constructor(e){let{pascalName:t,dashName:n}=li(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=>oa(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 la(e,t,n){return e===void 0?b.consola.prompt(t,n):e}function ua(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 la(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 sa({innerNodeName:t,isConfigNode:r});if(i.distFolderExist()){b.consola.error(`Node ${i.nodeDashName} already exists`),b.consola.info(`In ${i.newNodeDistPath}`);return}Jr(i.newNodeEditorDistPath),await i.writeNewNode()}),e.addCommand(t)}var da=o((()=>{ca(),X()}));function fa(){ha=(0,_e.default)({exec:`node-red -u ${q.config.watcher.nodeRed.path}`,ignore:[`**/*`],ext:`js,html`,verbose:!0}),_e.default.once(`start`,()=>{ga=he.default.create(),ga.init({ui:!1,proxy:{target:q.config.watcher.nodeRed.url,ws:!0},host:q.config.watcher.browserSync.host,port:q.config.watcher.browserSync.port,ghostMode:!1,open:q.config.watcher.browserSync.open,reloadDelay:q.config.watcher.browserSync.reloadDelay})}).on(`quit`,()=>{b.consola.info(`Nodemon has quit`),process.exit(0)})}function pa(){ha.restart(),ga.reload()}function ma(e){let t=q.config.watcher.nodeRed.enabled&&q.config.watcher.nodeRed.path,n=ge.default.watch(q.pathSrcDir,{}),r=new Ki({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?fa():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&&pa()})}var ha,ga,_a=o((()=>{Ji(),J()}));function va(e){let t=new d.Command(`watch`).command(`watch`).description(`watch project`).option(`--minify`,`Minify the output`,!1).action(e=>{ma({minify:e.minify})});e.addCommand(t)}var ya=o((()=>{_a()})),ba={},Z,xa=o((()=>{Xi(),Qi(),ea(),ia(),da(),ya(),Z=new d.Command,Z.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(xe),Yi(Z),va(Z),$i(Z),Zi(Z),ua(Z),ra(Z),Z.parse(process.argv)})),Sa,Ca=o((()=>{Sa=()=>(0,ye.getUserAgent)()||`npm`}));function wa(e){e.setActionType(`installDeps`,Ta),e.setActionType(`lint`,Ea),e.setActionType(`createConfigNode`,Da)}var Q,Ta,Ea,Da,Oa=o((()=>{Ca(),Q=(e,t,n)=>{if(!e)throw Error(`projectName is required`);let r=u.default.resolve(process.cwd(),e),i=Sa();return new Promise((e,a)=>{(0,pe.spawn)(i,t,{cwd:r,stdio:`inherit`}).on(`close`,r=>{r===0?e(`✓ ${n}`):a(`${i} ${t.join(` `)} failed`)})})},Ta=async(e,t)=>{let n=t.projectName;return Q(n,[`install`],`Dependencies installed`)},Ea=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`)},Da=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 ka(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,ve.default)(),t=(0,u.join)(__dirname,ja);if(!(0,l.existsSync)(t))throw Error(`Templates directory not found: ${t}`);wa(e),e.setGenerator(`project`,{description:`Generate a new Node.js project`,prompts:Aa?[]:[{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 ${Sa()}?`,default:!0}],actions:e=>{let n=Aa?{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 Aa,ja,Ma=o((()=>{Oa(),Ca(),Aa=process.env.DEV===`true`,ja=`./create/plop-templates`}));function Na(e){let t=new d.Command(`create`).description(`[WIP] Create new package`).action(async()=>{await ka()});e.addCommand(t)}var Pa=o((()=>{Ma()})),Fa={},$,Ia=o((()=>{Pa(),$=new d.Command,$.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(xe),Na($),$.parse(process.argv)}));[`SIGINT`,`SIGTERM`].forEach(e=>{process.on(e,()=>{process.exit(0)})});const La=be;function Ra(){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[La]||(n=i.devDependencies)!=null&&n[La])return process.chdir(e),!0}catch{}e=(0,u.dirname)(e)}return!1}Ra()?xa():Ia();
61
+ ${n}`.trim()}async getEditorTask(){return Pi().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 Ri(e){return{codeLang:e.split(`/`).pop().split(`.`).shift(),content:await m.default.readFile(e,`utf-8`)}}async function zi(){let e=q.listNodesFullNames,t=q.resolvedSrcLocalesPaths,n=await Promise.all(t.map(Ri)),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 Bi=o((()=>{J()}));async function Vi(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 Hi(){let e=(0,h.globSync)(`${q.pathSrcNodesDir}/**/${H.localesDirName}/*.json`),t=await Promise.all(e.map(Vi)),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 Ui=o((()=>{J(),U()}));async function Wi(){let[e,t]=await Promise.all([zi(),Hi()]),n=Dr(JSON.parse(e),JSON.parse(t)),r=[],i=[];for(let[e,t]of Object.entries(n))r.push(Jr(`${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 Gi=o((()=>{kr(),J(),U(),X(),Bi(),Ui()})),Ki,qi=o((()=>{J(),X(),ti(),Li(),Gi(),Ki=class{constructor(e){this.params={minify:!1,...e},this.builderController=new ei({minify:this.params.minify}),this.builderEditor=new Ii({minify:this.params.minify})}async prepare(){Jr(q.pathLibCacheDir);let e=`${q.currentPackagedDistPath}/editor/assets/pug-helper.pug`,t=`${q.currentPackagedDistPath}/editor/assets/pug`,n=[Yr([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(()=>{Jr(q.pathDist)})}async buildAll(){return await this.prepare(),Promise.all([this.builderController.getControllerTask(),this.builderEditor.getEditorTask(),Wi()])}}})),Ji=o((()=>{qi()}));function Yi(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=dr(`Building ${t} node(s)...`).start();await new Ki({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 Xi=o((()=>{gr(),Ji(),J()}));function Zi(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((()=>{}));async function $i(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 ea(e,t){try{let n=await $i(e);return fe.default.compile(n)(t)}catch(e){throw Error(`Failed to render template: ${e.message}`)}}var ta,na=o((()=>{J(),U(),ui(),X(),ta=class{constructor(e){let{pascalName:t,dashName:n}=li(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=>ea(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 ra(e,t,n){return e===void 0?b.consola.prompt(t,n):e}function ia(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 ra(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 ta({innerNodeName:t,isConfigNode:r});if(i.distFolderExist()){b.consola.error(`Node ${i.nodeDashName} already exists`),b.consola.info(`In ${i.newNodeDistPath}`);return}Jr(i.newNodeEditorDistPath),await i.writeNewNode()}),e.addCommand(t)}var aa=o((()=>{X(),na()}));function oa(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(pe.default.render(W))):b.consola.log(pe.default.render(q))});e.addCommand(t)}var sa=o((()=>{J()}));function ca(e){return e.startsWith(`~`)?(0,u.join)((0,ne.homedir)(),e.slice(1)):(0,u.resolve)(e)}async function la(e){try{let t=await fetch(`https://registry.npmjs.org/${e}/latest`);if(!t.ok)throw Error(`Package ${e} not found`);return(await t.json()).version}catch(t){throw console.error(`Error fetching version for ${e}:`,t),t}}var ua=o((()=>{}));function da(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=ca(W.watcher.nodeRed.path);try{(0,me.execSync)(`cd "${t}" && npm install "${e}"`)}catch(e){console.log(`Error while installing package:`,e)}});e.addCommand(t)}var fa=o((()=>{J(),ua()}));function pa(){ga=(0,_e.default)({exec:`node-red -u ${q.config.watcher.nodeRed.path}`,ignore:[`**/*`],ext:`js,html`,verbose:!0}),_e.default.once(`start`,()=>{_a=he.default.create(),_a.init({ui:!1,proxy:{target:q.config.watcher.nodeRed.url,ws:!0},host:q.config.watcher.browserSync.host,port:q.config.watcher.browserSync.port,ghostMode:!1,open:q.config.watcher.browserSync.open,reloadDelay:q.config.watcher.browserSync.reloadDelay})}).on(`quit`,()=>{b.consola.info(`Nodemon has quit`),process.exit(0)})}function ma(){ga.restart(),_a.reload()}function ha(e){let t=q.config.watcher.nodeRed.enabled&&q.config.watcher.nodeRed.path,n=ge.default.watch(q.pathSrcDir,{}),r=new Ki({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?pa():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&&ma()})}var ga,_a,va=o((()=>{Ji(),J()}));function ya(e){let t=new d.Command(`watch`).command(`watch`).description(`watch project`).option(`--minify`,`Minify the output`,!1).action(e=>{ha({minify:e.minify})});e.addCommand(t)}var ba=o((()=>{va()})),xa={},Z,Sa=o((()=>{Xi(),Qi(),aa(),sa(),fa(),ba(),Z=new d.Command,Z.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(xe),Yi(Z),ya(Z),oa(Z),Zi(Z),ia(Z),da(Z),Z.parse(process.argv)})),Ca,wa=o((()=>{Ca=()=>(0,ye.getUserAgent)()||`npm`}));function Ta(e){e.setActionType(`installDeps`,Ea),e.setActionType(`lint`,Da),e.setActionType(`createConfigNode`,Oa),e.setActionType(`onSuccess`,ka)}var Q,Ea,Da,Oa,ka,Aa=o((()=>{wa(),Q=(e,t,n)=>{if(!e)throw Error(`projectName is required`);let r=u.default.resolve(process.cwd(),e),i=Ca();return new Promise((e,a)=>{(0,me.spawn)(i,t,{cwd:r,stdio:`inherit`}).on(`close`,r=>{r===0?e(`✓ ${n}`):a(`${i} ${t.join(` `)} failed`)})})},Ea=async(e,t)=>{let n=t.projectName;return Q(n,[`install`],`Dependencies installed`)},Da=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`)},Oa=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`)},ka=async(e,t)=>{let n=t.projectName,r=t.currentPackageManager;b.consola.box(`cd ${n}\n${r} dev`)}}));async function ja(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,ve.default)(),t=(0,u.join)(__dirname,Na);if(!(0,l.existsSync)(t))throw Error(`Templates directory not found: ${t}`);let n=Ca(),r=await la(`@keload/node-red-dxp`);Ta(e),e.setGenerator(`project`,{description:`Generate a new Node.js project`,prompts:Ma?[]:[{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 ${n}?`,default:!0}],actions:e=>{let i=Ma?{projectName:`my-project-test`,description:`Test description`,installDependencies:!0}:e,a=[...[`package.json`,`.gitignore`,`biome.json`,`README.md`,`tsconfig.json`,`vitest.config.ts`].map(e=>({type:`add`,path:`${i==null?void 0:i.projectName}/${e}`,templateFile:(0,u.join)(t,`${e}.hbs`),data:{...i,nrDXPLastVersion:r}}))];return i!=null&&i.installDependencies&&a.push({type:`installDeps`,projectName:i.projectName}),a.push({type:`createConfigNode`,projectName:i==null?void 0:i.projectName}),a.push({type:`lint`,projectName:i==null?void 0:i.projectName}),a.push({type:`onSuccess`,projectName:i==null?void 0:i.projectName,currentPackageManager:n}),a}});let i=e.getGenerator(`project`),a=await i.runPrompts(),o=await i.runActions(a);return o.failures.length>0&&(console.error(`❌ Failures:`,o.failures),process.exit(1)),console.log(`✅ Project created successfully!`),o}finally{process.chdir(n)}}var Ma,Na,Pa=o((()=>{ua(),Aa(),wa(),Ma=process.env.DEV===`true`,Na=`./create/plop-templates`}));function Fa(e){let t=new d.Command(`create`).description(`[WIP] Create new package`).action(async()=>{await ja()});e.addCommand(t)}var Ia=o((()=>{Pa()})),La={},$,Ra=o((()=>{Ia(),$=new d.Command,$.name(`node-red-dxp`).description(`node-red-dxp CLI`).version(xe),Fa($),$.parse(process.argv)}));[`SIGINT`,`SIGTERM`].forEach(e=>{process.on(e,()=>{process.exit(0)})});const za=be;function Ba(){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[za]||(n=i.devDependencies)!=null&&n[za])return process.chdir(e),!0}catch{}e=(0,u.dirname)(e)}return!1}Ba()?Sa():Ra();
@@ -11,6 +11,7 @@ export default function (this: NodeControllerInst<Node{{nodePascalName}}Props>,
11
11
 
12
12
  this.on('input', async (msg) => {
13
13
  this.send({
14
+ ...msg,
14
15
  payload: 'foo',
15
16
  });
16
17
  });
@@ -6,6 +6,7 @@ export default function (this: NodeControllerInst<Node{{nodePascalName}}Props>,
6
6
 
7
7
  this.on('input', async (msg) => {
8
8
  this.send({
9
+ ...msg,
9
10
  payload: 'foo',
10
11
  });
11
12
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keload/node-red-dxp",
3
- "version": "1.29.0",
3
+ "version": "1.30.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "scripts": {