builder.io 1.1.13-5 → 1.1.15

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/core/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var so=Object.create;var st=Object.defineProperty;var po=Object.getOwnPropertyDescriptor;var lo=Object.getOwnPropertyNames;var co=Object.getPrototypeOf,uo=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mo=(e,t)=>{for(var r in t)st(e,r,{get:t[r],enumerable:!0})},cn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lo(t))!uo.call(e,o)&&o!==r&&st(e,o,{get:()=>t[o],enumerable:!(n=po(t,o))||n.enumerable});return e};var fo=(e,t,r)=>(r=e!=null?so(co(e)):{},cn(t||!e||!e.__esModule?st(r,"default",{value:e,enumerable:!0}):r,e)),go=e=>cn(st({},"__esModule",{value:!0}),e);var Qt=he(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});function vr(e){return Object.prototype.toString.call(e)}xt.getType=vr;function Va(e){throw new TypeError("unsupported data type: "+vr(e))}xt.throwUnknownDataType=Va});var Ht=he(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var de="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);de+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);de+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);de+=t}var Ke=de.length,Wt={};for(let e=0;e<Ke;e++){let t=de[e];Wt[t]=e}function Yt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Wt[o];i*=r,t+=i,r*=Ke}return t}ge.s_to_int=Yt;function br(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Ke);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Wt[i]);a*=r,t+=a,r*=n}return t}ge.s_to_big_int=br;function Gt(e){if(e===0)return de[0];let t=[];for(;e!==0;){let r=e%Ke,n=de[r];t.push(n),e-=r,e/=Ke}return t.reverse().join("")}ge.int_to_s=Gt;function Ir(e){let t=BigInt(0),r=BigInt(Ke);if(e===t)return de[0];let n=[];for(;e!==t;){let o=e%r,i=de[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}ge.big_int_to_s=Ir;function Ct(e){return e.split("").reverse().join("")}function Rr(e){if(e<0)return"-"+Rr(-e);let[t,r]=e.toString().split(".");if(!r)return Gt(e);let n;r&&([r,n]=r.split("e")),t=ht(t),r=Ct(r),r=ht(r);let o=t+"."+r;if(n){switch(o+=".",n[0]){case"+":n=n.slice(1);break;case"-":o+="-",n=n.slice(1);break}n=Ct(n),n=ht(n),o+=n}return o}ge.num_to_s=Rr;function ht(e){let t=+e;return t.toString()===e?Gt(t):":"+Ir(BigInt(e))}ge.int_str_to_s=ht;function Jt(e){return e[0]===":"?br(e.substring(1)).toString():Yt(e).toString()}function Nr(e){if(e[0]==="-")return-Nr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Yt(t);t=Jt(t),r=Jt(r),r=Ct(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Jt(n),n=Ct(n),o+=i?-n:+n}return+o}ge.s_to_num=Nr});var Zt=he(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});var Xt=Ht();function Ka(e){return"n|"+Xt.num_to_s(e)}xe.encodeNum=Ka;function $a(e){return e=e.replace("n|",""),Xt.s_to_num(e)}xe.decodeNum=$a;function Ma(e){return typeof e=="number"?e:Xt.s_to_int(e)}xe.decodeKey=Ma;function Ua(e){return e?"b|T":"b|F"}xe.encodeBool=Ua;function za(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}xe.decodeBool=za;function qa(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}xe.encodeStr=qa;function Qa(e){return e[0]+e[1]==="s|"?e.substr(2):e}xe.decodeStr=Qa});var Ar=he(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.config={sort_key:!1}});var nn=he(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});var Ja=Ar(),Wa=Qt(),tn=Zt(),Ya=Ht();function Ga(e){return e.store.toArray()}Ne.memToValues=Ga;function Fr(){let e=[];return{forEach(t){for(let r=0;r<e.length;r++)if(t(e[r])==="break")return},add(t){e.push(t)},toArray(){return e}}}Ne.makeInMemoryStore=Fr;function Or(){let e=Object.create(null),t=Object.create(null);return{getValue(r){return e[r]},getSchema(r){return t[r]},forEachValue(r){for(let[n,o]of Object.entries(e))if(r(n,o)==="break")return},forEachSchema(r){for(let[n,o]of Object.entries(t))if(r(n,o)==="break")return},setValue(r,n){e[r]=n},setSchema(r,n){t[r]=n},hasValue(r){return r in e},hasSchema(r){return r in t}}}Ne.makeInMemoryCache=Or;function Ha(){return{store:Fr(),cache:Or(),keyCount:0}}Ne.makeInMemoryMemory=Ha;function Re(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Ya.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function Xa(e,t){Ja.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=rt(e,t,void 0);return e.cache.setSchema(r,n),n}function rt(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return rt(e,null,r);break;case"object":if(t===null)return Re(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":rt(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Re(e,n)}else{let n=Object.keys(t);if(n.length===0)return Re(e,"o|");let o="o",i=Xa(e,n);o+="|"+i;for(let a of n){let s=t[a],p=rt(e,s,t);o+="|"+p}return Re(e,o)}case"boolean":return Re(e,tn.encodeBool(t));case"number":return Re(e,tn.encodeNum(t));case"string":return Re(e,tn.encodeStr(t))}return Wa.throwUnknownDataType(t)}Ne.addValue=rt});var on=he(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});var Za=Qt(),St=Zt(),rn=nn();function es(e){let t=rn.makeInMemoryMemory(),r=rn.addValue(t,e,void 0);return[rn.memToValues(t),r]}it.compress=es;function ts(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ot(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let p=i[s-2],l=n[s];l=ot(e,l),r[p]=l}return r}function ns(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=ot(e,a),o[i]=a}return o}function ot(e,t){if(t===""||t==="_")return null;let r=St.decodeKey(t),n=e[r];if(n===null)return n;switch(typeof n){case"undefined":return n;case"number":return n;case"string":switch(n[0]+n[1]){case"b|":return St.decodeBool(n);case"o|":return ts(e,n);case"n|":return St.decodeNum(n);case"a|":return ns(e,n);default:return St.decodeStr(n)}}return Za.throwUnknownDataType(n)}it.decode=ot;function rs(e){let[t,r]=e;return ot(t,r)}it.decompress=rs});var kr=he(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});function os(e){for(let t in e)e[t]===void 0&&delete e[t]}Pt.trimUndefined=os;function is(e){Lr(e,new Set)}Pt.trimUndefinedRecursively=is;function Lr(e,t){t.add(e);for(let r in e)if(e[r]===void 0)delete e[r];else{let n=e[r];n&&typeof n=="object"&&!t.has(n)&&Lr(n,t)}}});var Br=he(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});var _r=on();ve.compress=_r.compress;ve.decompress=_r.decompress;var as=on();ve.decode=as.decode;var ss=nn();ve.addValue=ss.addValue;var jr=kr();ve.trimUndefined=jr.trimUndefined;ve.trimUndefinedRecursively=jr.trimUndefinedRecursively});var Ps={};mo(Ps,{createDevTools:()=>$r,createDevToolsSys:()=>Ur,detectFrameworks:()=>Ce,detectFrameworksFromPackageJson:()=>Tt,ensureConfigPlugin:()=>ro,findBuildToolConfig:()=>ln,getClientScript:()=>io,parseDotEnvContent:()=>Dt,version:()=>at});module.exports=go(Ps);async function pt(e,t){let r=e.resolve("/");for(let n=0;n<20;n++){let o=e.join(t,"package.json"),i=await e.readFile(o);if(i)return JSON.parse(i);if(t===r)break;t=e.dirname(t)}return null}async function un(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function $e(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let p=await $e(e,a,r);if(p)return p}}))).find(i=>typeof i=="string")}async function Ce(e){let t=[],r=await pt(e,e.getRootDir());if(r){let n=Tt(r);t.push(...n)}return t}function Tt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of xo)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var xo=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function ne(e){let t=mn(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function re(e,t){t=typeof t=="object"&&t!=null?t:{};let r=mn(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function mn(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function Se(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await ho(e,i);if(a){let s=a[r];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return n.envValue=s,n.file=i,n}}return n.file=e.join(e.getRootDir(),t[t.length-1]),n}async function ho(e,t){let r=await e.readFile(t);return typeof r=="string"?Dt(r):null}function Dt(e){let t={},r=e.replace(/\r\n?/gm,`
1
+ "use strict";var so=Object.create;var at=Object.defineProperty;var po=Object.getOwnPropertyDescriptor;var lo=Object.getOwnPropertyNames;var co=Object.getPrototypeOf,uo=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mo=(e,t)=>{for(var r in t)at(e,r,{get:t[r],enumerable:!0})},cn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lo(t))!uo.call(e,o)&&o!==r&&at(e,o,{get:()=>t[o],enumerable:!(n=po(t,o))||n.enumerable});return e};var fo=(e,t,r)=>(r=e!=null?so(co(e)):{},cn(t||!e||!e.__esModule?at(r,"default",{value:e,enumerable:!0}):r,e)),go=e=>cn(at({},"__esModule",{value:!0}),e);var Qt=he(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});function vr(e){return Object.prototype.toString.call(e)}xt.getType=vr;function Ka(e){throw new TypeError("unsupported data type: "+vr(e))}xt.throwUnknownDataType=Ka});var Ht=he(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var de="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);de+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);de+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);de+=t}var Ve=de.length,Wt={};for(let e=0;e<Ve;e++){let t=de[e];Wt[t]=e}function Yt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Wt[o];i*=r,t+=i,r*=Ve}return t}ge.s_to_int=Yt;function br(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Ve);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Wt[i]);a*=r,t+=a,r*=n}return t}ge.s_to_big_int=br;function Gt(e){if(e===0)return de[0];let t=[];for(;e!==0;){let r=e%Ve,n=de[r];t.push(n),e-=r,e/=Ve}return t.reverse().join("")}ge.int_to_s=Gt;function Ir(e){let t=BigInt(0),r=BigInt(Ve);if(e===t)return de[0];let n=[];for(;e!==t;){let o=e%r,i=de[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}ge.big_int_to_s=Ir;function Ct(e){return e.split("").reverse().join("")}function Rr(e){if(e<0)return"-"+Rr(-e);let[t,r]=e.toString().split(".");if(!r)return Gt(e);let n;r&&([r,n]=r.split("e")),t=ht(t),r=Ct(r),r=ht(r);let o=t+"."+r;if(n){switch(o+=".",n[0]){case"+":n=n.slice(1);break;case"-":o+="-",n=n.slice(1);break}n=Ct(n),n=ht(n),o+=n}return o}ge.num_to_s=Rr;function ht(e){let t=+e;return t.toString()===e?Gt(t):":"+Ir(BigInt(e))}ge.int_str_to_s=ht;function Jt(e){return e[0]===":"?br(e.substring(1)).toString():Yt(e).toString()}function Nr(e){if(e[0]==="-")return-Nr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Yt(t);t=Jt(t),r=Jt(r),r=Ct(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Jt(n),n=Ct(n),o+=i?-n:+n}return+o}ge.s_to_num=Nr});var Zt=he(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});var Xt=Ht();function Ma(e){return"n|"+Xt.num_to_s(e)}xe.encodeNum=Ma;function Ua(e){return e=e.replace("n|",""),Xt.s_to_num(e)}xe.decodeNum=Ua;function za(e){return typeof e=="number"?e:Xt.s_to_int(e)}xe.decodeKey=za;function qa(e){return e?"b|T":"b|F"}xe.encodeBool=qa;function Qa(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}xe.decodeBool=Qa;function Ja(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}xe.encodeStr=Ja;function Wa(e){return e[0]+e[1]==="s|"?e.substr(2):e}xe.decodeStr=Wa});var Ar=he(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.config={sort_key:!1}});var nn=he(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});var Ya=Ar(),Ga=Qt(),tn=Zt(),Ha=Ht();function Xa(e){return e.store.toArray()}Ne.memToValues=Xa;function Fr(){let e=[];return{forEach(t){for(let r=0;r<e.length;r++)if(t(e[r])==="break")return},add(t){e.push(t)},toArray(){return e}}}Ne.makeInMemoryStore=Fr;function Or(){let e=Object.create(null),t=Object.create(null);return{getValue(r){return e[r]},getSchema(r){return t[r]},forEachValue(r){for(let[n,o]of Object.entries(e))if(r(n,o)==="break")return},forEachSchema(r){for(let[n,o]of Object.entries(t))if(r(n,o)==="break")return},setValue(r,n){e[r]=n},setSchema(r,n){t[r]=n},hasValue(r){return r in e},hasSchema(r){return r in t}}}Ne.makeInMemoryCache=Or;function Za(){return{store:Fr(),cache:Or(),keyCount:0}}Ne.makeInMemoryMemory=Za;function Re(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Ha.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function es(e,t){Ya.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=nt(e,t,void 0);return e.cache.setSchema(r,n),n}function nt(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return nt(e,null,r);break;case"object":if(t===null)return Re(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":nt(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Re(e,n)}else{let n=Object.keys(t);if(n.length===0)return Re(e,"o|");let o="o",i=es(e,n);o+="|"+i;for(let a of n){let s=t[a],p=nt(e,s,t);o+="|"+p}return Re(e,o)}case"boolean":return Re(e,tn.encodeBool(t));case"number":return Re(e,tn.encodeNum(t));case"string":return Re(e,tn.encodeStr(t))}return Ga.throwUnknownDataType(t)}Ne.addValue=nt});var on=he(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});var ts=Qt(),St=Zt(),rn=nn();function ns(e){let t=rn.makeInMemoryMemory(),r=rn.addValue(t,e,void 0);return[rn.memToValues(t),r]}ot.compress=ns;function rs(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=rt(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let p=i[s-2],l=n[s];l=rt(e,l),r[p]=l}return r}function os(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=rt(e,a),o[i]=a}return o}function rt(e,t){if(t===""||t==="_")return null;let r=St.decodeKey(t),n=e[r];if(n===null)return n;switch(typeof n){case"undefined":return n;case"number":return n;case"string":switch(n[0]+n[1]){case"b|":return St.decodeBool(n);case"o|":return rs(e,n);case"n|":return St.decodeNum(n);case"a|":return os(e,n);default:return St.decodeStr(n)}}return ts.throwUnknownDataType(n)}ot.decode=rt;function is(e){let[t,r]=e;return rt(t,r)}ot.decompress=is});var kr=he(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});function as(e){for(let t in e)e[t]===void 0&&delete e[t]}Pt.trimUndefined=as;function ss(e){Lr(e,new Set)}Pt.trimUndefinedRecursively=ss;function Lr(e,t){t.add(e);for(let r in e)if(e[r]===void 0)delete e[r];else{let n=e[r];n&&typeof n=="object"&&!t.has(n)&&Lr(n,t)}}});var Br=he(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});var _r=on();ve.compress=_r.compress;ve.decompress=_r.decompress;var ps=on();ve.decode=ps.decode;var ls=nn();ve.addValue=ls.addValue;var jr=kr();ve.trimUndefined=jr.trimUndefined;ve.trimUndefinedRecursively=jr.trimUndefinedRecursively});var Ts={};mo(Ts,{createDevTools:()=>Kr,createDevToolsSys:()=>Ur,detectFrameworks:()=>Ce,detectFrameworksFromPackageJson:()=>Tt,ensureConfigPlugin:()=>ro,findBuildToolConfig:()=>ln,getClientScript:()=>io,parseDotEnvContent:()=>Dt,version:()=>it});module.exports=go(Ts);async function st(e,t){let r=e.resolve("/");for(let n=0;n<20;n++){let o=e.join(t,"package.json"),i=await e.readFile(o);if(i)return JSON.parse(i);if(t===r)break;t=e.dirname(t)}return null}async function un(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function $e(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let p=await $e(e,a,r);if(p)return p}}))).find(i=>typeof i=="string")}async function Ce(e){let t=[],r=await st(e,e.getRootDir());if(r){let n=Tt(r);t.push(...n)}return t}function Tt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of xo)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var xo=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function ne(e){let t=mn(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function re(e,t){t=typeof t=="object"&&t!=null?t:{};let r=mn(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function mn(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function Se(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await ho(e,i);if(a){let s=a[r];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return n.envValue=s,n.file=i,n}}return n.file=e.join(e.getRootDir(),t[t.length-1]),n}async function ho(e,t){let r=await e.readFile(t);return typeof r=="string"?Dt(r):null}function Dt(e){let t={},r=e.replace(/\r\n?/gm,`
2
2
  `),n;for(;(n=Co.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
3
3
  `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Co=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Pe(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
4
4
 
@@ -6,9 +6,9 @@ ${o}
6
6
  ${r}=${n}
7
7
 
8
8
  `,await e.writeFile(t,i),"update";else return e.debug(`Creating new .env file with "${r}" at ${t}`),i=[o,`${r}=${n}`,""].join(`
9
- `),await e.writeFile(t,i),"create";return null}async function Me(e){return await Se(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],oe)}async function fn(e,t){let r=await Me(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var oe="NEXT_PUBLIC_BUILDER_API_KEY";var O={gen1:"Gen 1",gen2:"Gen 2"};function E(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function lt(e,t=""){let r=E(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function N(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
9
+ `),await e.writeFile(t,i),"create";return null}async function Ke(e){return await Se(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],oe)}async function fn(e,t){let r=await Ke(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var oe="NEXT_PUBLIC_BUILDER_API_KEY";var O={gen1:"Gen 1",gen2:"Gen 2"};function E(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function pt(e,t=""){let r=E(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function N(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
10
10
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
11
- `}return""}function v(e,t,r){t=X(t),r=X(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let o;return n==="index"?o=e.relative(t,r):o=e.relative(t,e.join(r,n)),o=X(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function X(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ae(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return dn(o==="index"?e.basename(e.dirname(t)):o)}function dn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=X(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function k(e,t){let r=X(e.relative(e.getRootDir(),t));r=r.split("/").filter(o=>o!=="."&&o!==".."&&o!=="").join("/"),r.endsWith(".tsx")||r.endsWith(".jsx")?r=r.slice(0,-4):(r.endsWith(".ts")||r.endsWith(".js"))&&(r=r.slice(0,-3));let n=e.getFrameworks();return r.startsWith("src/")&&(r=r.slice(4)),n.some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function A(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function j(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function Ue(e){return typeof e=="number"}function Fe(e){return typeof e=="boolean"}function U(e){return typeof e=="string"}function ze(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function J(e){return JSON.parse(JSON.stringify(e))}function Qe(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=So(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,p)=>p!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,qe(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,qe(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function So(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Je(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return yo(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Po(e,t);case e.ts.SyntaxKind.StringLiteral:return t.text;case e.ts.SyntaxKind.NumericLiteral:return Number(t.text);case e.ts.SyntaxKind.NoSubstitutionTemplateLiteral:return t.text;case e.ts.SyntaxKind.TrueKeyword:return!0;case e.ts.SyntaxKind.FalseKeyword:return!1;case e.ts.SyntaxKind.Identifier:switch(t.escapedText){case"undefined":return;case"null":return null;case"String":return String;case"Number":return Number;case"Boolean":return Boolean;case"NaN":return NaN}}}function Po(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=b(e,n);o&&(r[o]=Je(e,n.initializer))}}return r}function yo(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Je(e,r)):[]}function b(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function qe(e,t){return Et(e,t,new WeakSet)}function Et(e,t,r){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?To(e,t,r):typeof t=="object"?Do(e,t,r):e.ts.factory.createIdentifier(t)}function To(e,t,r){let n=t.map(o=>Et(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Do(e,t,r){if(r.has(t))return e.ts.factory.createIdentifier("undefined");r.add(t);let n=Object.keys(t).map(o=>e.ts.factory.createPropertyAssignment(o,Et(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function be(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let p=a.heritageClauses?.find(l=>l.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(p){for(let l of p)if(t.getSymbolAtLocation(l.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(l)){let f=l.typeArguments;if(f){let c=f[0];o=t.getTypeFromTypeNode(c).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let p=s[0].getParameters();p.length>0&&(o=t.getTypeOfSymbolAtLocation(p[0],r).getProperties())}}}if(o)for(let i of o){let a=Eo(e,t,i);a&&n.push(a)}return n=n.filter(xn),n.length>0?n:wo(e,r)}function Eo(e,t,r){let n=r.valueDeclaration,o=r.getName();if(n||(n=r.getDeclarations()?.[0]),n&&e.ts.isPropertySignature(n)){if(o!=="children"&&n.getSourceFile().fileName.includes("node_modules/@types/"))return null;let i="string",a;if(n?.type){let p=t.getTypeFromTypeNode(n.type),l=t.typeToString(p),d=wt(l);d.knownType?i=d.builderType:bo(l)||p.flags&e.ts.TypeFlags.StringLike?i="string":p.flags&e.ts.TypeFlags.NumberLike?i="number":p.flags&e.ts.TypeFlags.IndexedAccess?i="list":p.flags&e.ts.TypeFlags.Object||p.isUnion()&&p.types.every(f=>f.flags&e.ts.TypeFlags.Object)||p.isIntersection()&&p.types.some(f=>f.flags&e.ts.TypeFlags.Object)?i="object":i="string",l!==i&&(a=l)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let p=Ao(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},p&&p.length>0&&s.type==="string"&&p.every(Ro)?s.enum=p.map(No):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function wo(e,t){let r=[],n=e.ts.getJSDocCommentsAndTags(t);for(let o of n)if(!(!e.ts.isJSDoc(o)||!o.tags))for(let i of o.tags){if(!e.ts.isJSDocParameterTag(i)||i.tagName.text!=="param")continue;let s=i.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let p=s.jsDocPropertyTags;if(p)for(let l of p){if(!e.ts.isJSDocPropertyLikeTag(l))continue;let d=l.name;if(!e.ts.isQualifiedName(d))continue;let f=l.typeExpression;if(!f)continue;let c="";switch(f.type.kind){case e.ts.SyntaxKind.StringKeyword:{c="string";break}case e.ts.SyntaxKind.NumberKeyword:{c="number";break}case e.ts.SyntaxKind.BooleanKeyword:{c="boolean";break}default:continue}let h={name:d.right.text,type:c,isRegistered:!1};r.push(h)}}return r.filter(xn)}var vo=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function bo(e){return typeof e!="string"?!1:!!vo.some(t=>e.includes(t))}function wt(e){return typeof e=="string"&&(e=e.trim(),Io.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Io=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}];function Ro(e){return/^['"].*['"]$/.test(e)}function No(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Ao=(e,t,r)=>{let n=new Set;gn(e,t,r,n);let o=n.delete("true"),i=n.delete("false");(o||i)&&n.add("boolean");let a=Array.from(n.keys()).sort();if(a.length>1&&(a=a.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(a.length>20))return a},Fo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},gn=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{gn(e,t,o,n)});else if(r.isLiteral()){let o=Fo(e,t,r);n.add(o)}};function xn(e){let t=e?.name;if(typeof t!="string"||t===""||t.startsWith("aria")||t.startsWith("data-"))return!1;if(t.startsWith("on")&&t.length>2){let r=t.charAt(2);if(r.toUpperCase()===r)return!1}return!Oo.has(t.toLowerCase())}var Oo=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(e=>e.toLowerCase()));function W(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=b(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=Lo(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Je(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function Lo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ko(e,n));return r}function ko(e,t){let r=Je(e,t),n=Mo(r);return n.isRegistered=!0,n}function $(e,t,r){let n=jo(r);return t=Qe(e,t,"name",n.name,!1),t=Qe(e,t,"description",n.description),t=Qe(e,t,"image",n.image),t=_o(e,t,n),Uo(e,t)}function _o(e,t,r){let n=null,o=t.properties.filter(s=>e.ts.isPropertyAssignment(s)&&e.ts.isIdentifier(s.name)),i=o.findIndex(s=>e.ts.isIdentifier(s.name)&&s.name.text==="inputs"),a=[...r.inputs??[]];if(i>-1){if(a.length===0)return Qe(e,t,"inputs",null);let s=o[i];e.ts.isPropertyAssignment(s)&&e.ts.isArrayLiteralExpression(s.initializer)&&(n=s.initializer)}return a.length===0?t:(n=Vo(e,n||e.ts.factory.createArrayLiteralExpression(),a),i>-1?o[i]=e.ts.factory.updatePropertyAssignment(o[i],o[i].name,n):o.push(e.ts.factory.createPropertyAssignment("inputs",n)),e.ts.factory.updateObjectLiteralExpression(t,o))}function jo(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Bo)}}function Bo(e){let t={name:e.name,type:e.type};return(U(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(t.defaultValue=e.defaultValue),U(e.friendlyName)&&(t.friendlyName=e.friendlyName),U(e.helperText)&&(t.helperText=e.helperText),e.required===!0&&(t.required=!0),Array.isArray(e.enum)&&(t.enum=e.enum),e.hideFromUI===!0&&(t.hideFromUI=!0),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(t.meta=e.meta),t}function Vo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>b(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=Ko(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>b(e,c)==="name"),s=i.properties.find(c=>b(e,c)==="name"),p=a?.initializer,l=s?.initializer,d=p&&e.ts.isStringLiteral(p)?p.text:"zz",f=l&&e.ts.isStringLiteral(l)?l.text:"zz";return d.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Ko(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=b(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=hn(e,t[n],r);else{let o=hn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function hn(e,t,r){let n=t.properties.filter(i=>e.ts.isPropertyAssignment(i)),o=Object.keys(r).filter(i=>i!=="isRegistered");for(let i of o)n=$o(e,n,r,i);return n=zo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function $o(e,t,r,n){let o=t.findIndex(i=>e.ts.isIdentifier(i.name)&&i.name.text===n);return o>-1?t[o]=e.ts.factory.updatePropertyAssignment(t[o],t[o].name,qe(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,qe(e,r[n]))),t}function Z(e,t){for(let r of t){let n=e.inputs.findIndex(o=>o.name===r.name);n>-1?(r.isRegistered||!e.inputs[n].isRegistered)&&(e.inputs[n]=r):e.inputs.push(r)}e.acceptsChildren=vt(e)}function Mo(e){let t=wt(e.type),r={name:e.name.trim(),type:t.builderType};return U(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(U(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(r.defaultValue=e.defaultValue),U(e.helperText)&&(r.helperText=e.helperText),Fe(e.required)&&(r.required=e.required),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(r.meta=e.meta),Array.isArray(e.enum)&&e.enum.length>0&&(r.enum=e.enum),e.hideFromUI===!0&&(r.hideFromUI=!0),bt(r)}function vt(e){let t=e.inputs.some(n=>n.name==="children"),r=e.inputs.some(n=>n.meta?.ts==="ReactNode");return!!(t||r||e.acceptsChildren===!0)}function bt(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function Uo(e,t){let r=[...t.properties].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz";if(i==="inputs")return 1;let s=Cn.indexOf(i),p=Cn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var Cn=["component","name","description"];function zo(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=Sn.indexOf(i),p=Sn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)})}var Sn=["name","type"];function Pn(e,t){let r=`Builder.registerComponent(
11
+ `}return""}function v(e,t,r){t=X(t),r=X(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let o;return n==="index"?o=e.relative(t,r):o=e.relative(t,e.join(r,n)),o=X(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function X(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ae(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return dn(o==="index"?e.basename(e.dirname(t)):o)}function dn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=X(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function k(e,t){let r=X(e.relative(e.getRootDir(),t));r=r.split("/").filter(o=>o!=="."&&o!==".."&&o!=="").join("/"),r.endsWith(".tsx")||r.endsWith(".jsx")?r=r.slice(0,-4):(r.endsWith(".ts")||r.endsWith(".js"))&&(r=r.slice(0,-3));let n=e.getFrameworks();return r.startsWith("src/")&&(r=r.slice(4)),n.some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function A(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function j(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function Me(e){return typeof e=="number"}function Fe(e){return typeof e=="boolean"}function U(e){return typeof e=="string"}function Ue(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function J(e){return JSON.parse(JSON.stringify(e))}function qe(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=So(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,p)=>p!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,ze(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,ze(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function So(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Qe(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return yo(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Po(e,t);case e.ts.SyntaxKind.StringLiteral:return t.text;case e.ts.SyntaxKind.NumericLiteral:return Number(t.text);case e.ts.SyntaxKind.NoSubstitutionTemplateLiteral:return t.text;case e.ts.SyntaxKind.TrueKeyword:return!0;case e.ts.SyntaxKind.FalseKeyword:return!1;case e.ts.SyntaxKind.Identifier:switch(t.escapedText){case"undefined":return;case"null":return null;case"String":return String;case"Number":return Number;case"Boolean":return Boolean;case"NaN":return NaN}}}function Po(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=b(e,n);o&&(r[o]=Qe(e,n.initializer))}}return r}function yo(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Qe(e,r)):[]}function b(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function ze(e,t){return Et(e,t,new WeakSet)}function Et(e,t,r){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?To(e,t,r):typeof t=="object"?Do(e,t,r):e.ts.factory.createIdentifier(t)}function To(e,t,r){let n=t.map(o=>Et(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Do(e,t,r){if(r.has(t))return e.ts.factory.createIdentifier("undefined");r.add(t);let n=Object.keys(t).map(o=>e.ts.factory.createPropertyAssignment(o,Et(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function be(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let p=a.heritageClauses?.find(l=>l.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(p){for(let l of p)if(t.getSymbolAtLocation(l.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(l)){let f=l.typeArguments;if(f){let c=f[0];o=t.getTypeFromTypeNode(c).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let p=s[0].getParameters();p.length>0&&(o=t.getTypeOfSymbolAtLocation(p[0],r).getProperties())}}}if(o)for(let i of o){let a=Eo(e,t,i);a&&n.push(a)}return n=n.filter(xn),n.length>0?n:wo(e,r)}function Eo(e,t,r){let n=r.valueDeclaration,o=r.getName();if(n||(n=r.getDeclarations()?.[0]),n&&e.ts.isPropertySignature(n)){if(o!=="children"&&n.getSourceFile().fileName.includes("node_modules/@types/"))return null;let i="string",a;if(n?.type){let p=t.getTypeFromTypeNode(n.type),l=t.typeToString(p),d=wt(l);d.knownType?i=d.builderType:bo(l)||p.flags&e.ts.TypeFlags.StringLike?i="string":p.flags&e.ts.TypeFlags.NumberLike?i="number":p.flags&e.ts.TypeFlags.IndexedAccess?i="list":p.flags&e.ts.TypeFlags.Object||p.isUnion()&&p.types.every(f=>f.flags&e.ts.TypeFlags.Object)||p.isIntersection()&&p.types.some(f=>f.flags&e.ts.TypeFlags.Object)?i="object":i="string",l!==i&&(a=l)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let p=Ao(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},p&&p.length>0&&s.type==="string"&&p.every(Ro)?s.enum=p.map(No):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function wo(e,t){let r=[],n=e.ts.getJSDocCommentsAndTags(t);for(let o of n)if(!(!e.ts.isJSDoc(o)||!o.tags))for(let i of o.tags){if(!e.ts.isJSDocParameterTag(i)||i.tagName.text!=="param")continue;let s=i.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let p=s.jsDocPropertyTags;if(p)for(let l of p){if(!e.ts.isJSDocPropertyLikeTag(l))continue;let d=l.name;if(!e.ts.isQualifiedName(d))continue;let f=l.typeExpression;if(!f)continue;let c="";switch(f.type.kind){case e.ts.SyntaxKind.StringKeyword:{c="string";break}case e.ts.SyntaxKind.NumberKeyword:{c="number";break}case e.ts.SyntaxKind.BooleanKeyword:{c="boolean";break}default:continue}let h={name:d.right.text,type:c,isRegistered:!1};r.push(h)}}return r.filter(xn)}var vo=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function bo(e){return typeof e!="string"?!1:!!vo.some(t=>e.includes(t))}function wt(e){return typeof e=="string"&&(e=e.trim(),Io.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Io=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}];function Ro(e){return/^['"].*['"]$/.test(e)}function No(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Ao=(e,t,r)=>{let n=new Set;gn(e,t,r,n);let o=n.delete("true"),i=n.delete("false");(o||i)&&n.add("boolean");let a=Array.from(n.keys()).sort();if(a.length>1&&(a=a.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(a.length>20))return a},Fo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},gn=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{gn(e,t,o,n)});else if(r.isLiteral()){let o=Fo(e,t,r);n.add(o)}};function xn(e){let t=e?.name;if(typeof t!="string"||t===""||t.startsWith("aria")||t.startsWith("data-"))return!1;if(t.startsWith("on")&&t.length>2){let r=t.charAt(2);if(r.toUpperCase()===r)return!1}return!Oo.has(t.toLowerCase())}var Oo=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(e=>e.toLowerCase()));function W(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=b(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=Lo(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Qe(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function Lo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ko(e,n));return r}function ko(e,t){let r=Qe(e,t),n=Mo(r);return n.isRegistered=!0,n}function K(e,t,r){let n=jo(r);return t=qe(e,t,"name",n.name,!1),t=qe(e,t,"description",n.description),t=qe(e,t,"image",n.image),t=_o(e,t,n),Uo(e,t)}function _o(e,t,r){let n=null,o=t.properties.filter(s=>e.ts.isPropertyAssignment(s)&&e.ts.isIdentifier(s.name)),i=o.findIndex(s=>e.ts.isIdentifier(s.name)&&s.name.text==="inputs"),a=[...r.inputs??[]];if(i>-1){if(a.length===0)return qe(e,t,"inputs",null);let s=o[i];e.ts.isPropertyAssignment(s)&&e.ts.isArrayLiteralExpression(s.initializer)&&(n=s.initializer)}return a.length===0?t:(n=Vo(e,n||e.ts.factory.createArrayLiteralExpression(),a),i>-1?o[i]=e.ts.factory.updatePropertyAssignment(o[i],o[i].name,n):o.push(e.ts.factory.createPropertyAssignment("inputs",n)),e.ts.factory.updateObjectLiteralExpression(t,o))}function jo(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Bo)}}function Bo(e){let t={name:e.name,type:e.type};return(U(e.defaultValue)||Me(e.defaultValue)||Fe(e.defaultValue))&&(t.defaultValue=e.defaultValue),U(e.friendlyName)&&(t.friendlyName=e.friendlyName),U(e.helperText)&&(t.helperText=e.helperText),e.required===!0&&(t.required=!0),Array.isArray(e.enum)&&(t.enum=e.enum),e.hideFromUI===!0&&(t.hideFromUI=!0),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(t.meta=e.meta),t}function Vo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>b(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=$o(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>b(e,c)==="name"),s=i.properties.find(c=>b(e,c)==="name"),p=a?.initializer,l=s?.initializer,d=p&&e.ts.isStringLiteral(p)?p.text:"zz",f=l&&e.ts.isStringLiteral(l)?l.text:"zz";return d.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function $o(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=b(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=hn(e,t[n],r);else{let o=hn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function hn(e,t,r){let n=t.properties.filter(i=>e.ts.isPropertyAssignment(i)),o=Object.keys(r).filter(i=>i!=="isRegistered");for(let i of o)n=Ko(e,n,r,i);return n=zo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Ko(e,t,r,n){let o=t.findIndex(i=>e.ts.isIdentifier(i.name)&&i.name.text===n);return o>-1?t[o]=e.ts.factory.updatePropertyAssignment(t[o],t[o].name,ze(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,ze(e,r[n]))),t}function Z(e,t){for(let r of t){let n=e.inputs.findIndex(o=>o.name===r.name);n>-1?(r.isRegistered||!e.inputs[n].isRegistered)&&(e.inputs[n]=r):e.inputs.push(r)}e.acceptsChildren=vt(e)}function Mo(e){let t=wt(e.type),r={name:e.name.trim(),type:t.builderType};return U(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(U(e.defaultValue)||Me(e.defaultValue)||Fe(e.defaultValue))&&(r.defaultValue=e.defaultValue),U(e.helperText)&&(r.helperText=e.helperText),Fe(e.required)&&(r.required=e.required),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(r.meta=e.meta),Array.isArray(e.enum)&&e.enum.length>0&&(r.enum=e.enum),e.hideFromUI===!0&&(r.hideFromUI=!0),bt(r)}function vt(e){let t=e.inputs.some(n=>n.name==="children"),r=e.inputs.some(n=>n.meta?.ts==="ReactNode");return!!(t||r||e.acceptsChildren===!0)}function bt(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function Uo(e,t){let r=[...t.properties].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz";if(i==="inputs")return 1;let s=Cn.indexOf(i),p=Cn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var Cn=["component","name","description"];function zo(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=Sn.indexOf(i),p=Sn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)})}var Sn=["name","type"];function Pn(e,t){let r=`Builder.registerComponent(
12
12
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
13
13
  `:r+=` ${t.importName},
14
14
  `;else{let o=v(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
@@ -18,8 +18,8 @@ ${r}=${n}
18
18
  `}r+=` {
19
19
  name: "${t.name}",
20
20
  }
21
- `,r+=");";let n=lt(e,r);return It(e,n,t)}function It(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=$(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function K(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await un(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=We.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}We.set(a,s)}return s.exists}return o.has(a)||o.set(a,e.existsSync(a)),o.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
22
- `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let p=We.get(a);if(p)return E(e,p.content)}let s=e.readFileSync(a);if(s==null){let p=e.basename(a),l=e.extname(p).toLowerCase();if(a.startsWith(n)&&l===".ts"&&(s=Tn.get(p),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new ut(p)}return a.includes("node_modules")&&(s?We.set(a,{exists:!0,content:s}):We.set(a,{exists:!1})),E(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return qo(e,i,t)}catch(a){if(a instanceof ut){await Qo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function qo(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=yn.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let p=e.readFileSync(s);return typeof p=="string"?p:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(p,l)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(o),void 0,o).options,yn.set(o,i))}i&&(n.options=J(i))}return n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,e.ts.createProgram(n)}async function Oe(e,t,r){r||(r=await K(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var ut=class{constructor(t){this.libName=t}};async function Qo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;ct.has(t)||ct.set(t,fetch(r).then(n=>n.text()).then(n=>{Tn.set(t,n)})),await ct.get(t),ct.delete(t)}var Tn=new Map,ct=new Map,We=new Map,yn=new Map;function D(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Jo(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Wo(e,t,r.defaultImport,r.importPath,n)),t}function Jo(e,t,r,n,o,i){return i==="cjs"?En(e,t,null,r,n):Dn(e,t,null,r,n,o)}function Wo(e,t,r,n,o){return o==="cjs"?En(e,t,r,null,n):Dn(e,t,r,null,n,!1)}function Dn(e,t,r,n,o,i){let a=[...t.statements],s=0,p=!1,l=!1;for(let u=0;u<a.length;u++){let h=a[u];if(!e.ts.isImportDeclaration(h)||(s=u,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let m=[],g=h.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&m.push(...g.elements),typeof n=="string"){if(m.some(C=>C.name.text===n))return t;m.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),m.sort((C,P)=>C.name.text.localeCompare(P.name.text)),p=!0}let x=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(x&&x.text===r)return t;x=e.ts.factory.createIdentifier(r),l=!0}if(p||l)return a[u]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,e.ts.factory.createNamedImports(m)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,f;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(f=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let c=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function En(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let p=i[s];if(e.ts.isVariableStatement(p))for(let l=0;l<p.declarationList.declarations.length;l++){let d=[...p.declarationList.declarations],f=d[l],c=f.initializer;if(!c||!e.ts.isCallExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="require"||c.arguments.length!==1)continue;let h=c.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(f.name)&&typeof r=="string")return f.name.text===r?t:(d[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createIdentifier(r),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(f.name)&&typeof n=="string"){let m=[...f.name.elements];return m.some(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(m.push(e.ts.factory.createBindingElement(void 0,void 0,n)),m.sort((x,C)=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:x.name.text.localeCompare(C.name.text)),d[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(m),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,d)),e.ts.factory.updateSourceFile(t,i))}}}}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,n)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}return t}function G(e,t,r="esm"){return r==="cjs"?Go(e,t):Yo(e,t)}function Yo(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let p of s.declarationList.declarations)e.ts.isIdentifier(p.name)&&p.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function Go(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let p of s.declarationList.declarations)e.ts.isIdentifier(p.name)&&p.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s})}else r.push({isDefaultExport:!0,statement:n,node:i});continue}}return r}function Ho(e,t,r){for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&n.importClause){if(n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings)){for(let o of n.importClause.namedBindings.elements)if(e.ts.isIdentifier(o.name)&&o.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"named"}}if(n.importClause.name&&n.importClause.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"default"}}return null}async function ye(e,t,r,n){let o=Ho(e,r,n);if(o){let i=await Ye(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:A(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function Le(e,t,r){for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(e.ts.isVariableStatement(o)){for(let i of o.declarationList.declarations)if(e.ts.isIdentifier(i.name)&&i.name.text===r)return{statement:o,statementIndex:n}}}return null}function M(e,t,r){let n=Le(e,t,r);if(n&&n.statement.declarationList.declarations.length>0){let o=n.statement.declarationList.declarations[0];if(o.initializer&&e.ts.isArrayLiteralExpression(o.initializer))return{statement:n.statement,statementIndex:n.statementIndex,variableDeclaration:o,arrayLiteralExp:o.initializer}}return null}function mt(e,t){if(t){if(Xo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{mt(e,n)&&(r=!0)}),r)return!0}return!1}function Xo(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function Ye(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Rt.includes(r)){for(let n of Rt){let o=t+n;if(await e.exists(o))return o}for(let n of Rt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Rt=[".tsx",".jsx",".ts",".js"];function Ge(e,t,r){if(!r||!t)return;let n=t.getSymbolAtLocation(r);if(!n)return;let o=n.valueDeclaration;if(!o)return;let i=o.getSourceFile().fileName,a=Zo(e,i);return a?[{name:a}]:void 0}function Zo(e,t){if(typeof t=="string"){t=e.normalize(X(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function ie(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}async function ke(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await K(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{let s=n.getSourceFile(a.filePath);if(s){let l=(await Te(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}return a}))}async function _e(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await Te(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return be(e,o,a.node.fnNode)}return[]}async function wn(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return ei(e,t,n)}return null}function ei(e,t,r){let n=E(e,r);return Te(e,null,t,n)}async function Te(e,t,r,n){let o=[];for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isStringLiteral(a.expression)&&a.expression.text==="use server")return o;let i=G(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await ti(e,t,r,a);o.push(...s)})),o}async function ti(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!ze(s.name.text))continue;let p=He(e,t,s.initializer);if(p){let l=p.name||s.name.text,d=n.isDefaultExport?"default":l,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:A(e,r),name:j(l),inputs:[],exportName:d,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a,dependencies:p.deps},node:p})}}return o}if(e.ts.isArrowFunction(n.node)){let s=He(e,t,n.node);if(s){let p=Y(e,r),l=n.isDefaultExport?"default":p,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:A(e,r),name:p,inputs:[],exportName:l,exportType:d,importName:Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!ze(s))return o;let p=He(e,t,n.node);if(p){let l=p.name||Y(e,r),d=n.isDefaultExport||!p.name?"default":p.name,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:A(e,r),name:l,inputs:[],exportName:d,exportType:f,importName:p.name||Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:p.deps},node:p})}return o}if(e.ts.isExportSpecifier(n.node)&&ze(n.node.getText())){let s=He(e,t,n.node);if(s){let p=s.name||Y(e,r),l=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:A(e,r),name:p,inputs:[],exportName:l,exportType:d,importName:s.name||Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}return o}function He(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return mt(e,r.body)?{name:"",fnNode:r,deps:Ge(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return mt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ge(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(!e.ts.isPropertyAccessExpression(n))return null;let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null:He(e,t,o[0])}if(!t)return null;if(e.ts.isPropertyAccessExpression(r)){let n=r.expression,o=r.name;if(!e.ts.isIdentifier(n)||!e.ts.isIdentifier(o)||!ze(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ge(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Ge(e,t,n)}}return null}async function vn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.normalize(i.fileName);if(ri(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await Te(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ni=new Set(["node_modules","dist"]);function ri(e,t){for(let r of ni)if(e.dirname(t).includes(r))return!0;return!1}async function bn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(e.appDir&&oi.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let p=await Te(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var oi=new Set(["default.tsx","default.ts","default.jsx","default.js","error.tsx","error.ts","error.jsx","error.js","layout.tsx","layout.ts","layout.jsx","layout.js","loading.tsx","loading.ts","loading.jsx","loading.js","not-found.tsx","not-found.ts","not-found.jsx","not-found.js","page.tsx","page.ts","page.jsx","page.js","route.tsx","route.ts","route.jsx","route.js","template.tsx","template.ts","template.jsx","template.js"]);function ae(e,t){let r=[],n=[],o=[],i=[];for(let a of t.statements){if(e.ts.isImportDeclaration(a)){if(e.ts.isStringLiteral(a.moduleSpecifier)){let p=a.moduleSpecifier.text;if(!p.startsWith(".")&&!p.startsWith("/")){r.push(a);continue}}let s=a.importClause;if(s){if(s.namedBindings){n.push(a);continue}if(s.name){n.push(a);continue}}o.push(a);continue}i.push(a)}return e.ts.factory.updateSourceFile(t,[...Nt(e,r),...Nt(e,n),...Nt(e,o),...i])}function H(e){let t=e.split(`
21
+ `,r+=");";let n=pt(e,r);return It(e,n,t)}function It(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=K(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function $(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await un(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=Je.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Je.set(a,s)}return s.exists}return o.has(a)||o.set(a,e.existsSync(a)),o.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
22
+ `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let p=Je.get(a);if(p)return E(e,p.content)}let s=e.readFileSync(a);if(s==null){let p=e.basename(a),l=e.extname(p).toLowerCase();if(a.startsWith(n)&&l===".ts"&&(s=Tn.get(p),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new ct(p)}return a.includes("node_modules")&&(s?Je.set(a,{exists:!0,content:s}):Je.set(a,{exists:!1})),E(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return qo(e,i,t)}catch(a){if(a instanceof ct){await Qo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function qo(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=yn.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let p=e.readFileSync(s);return typeof p=="string"?p:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(p,l)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(o),void 0,o).options,yn.set(o,i))}i&&(n.options=J(i))}return n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,e.ts.createProgram(n)}async function Oe(e,t,r){r||(r=await $(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var ct=class{constructor(t){this.libName=t}};async function Qo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;lt.has(t)||lt.set(t,fetch(r).then(n=>n.text()).then(n=>{Tn.set(t,n)})),await lt.get(t),lt.delete(t)}var Tn=new Map,lt=new Map,Je=new Map,yn=new Map;function D(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Jo(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Wo(e,t,r.defaultImport,r.importPath,n)),t}function Jo(e,t,r,n,o,i){return i==="cjs"?En(e,t,null,r,n):Dn(e,t,null,r,n,o)}function Wo(e,t,r,n,o){return o==="cjs"?En(e,t,r,null,n):Dn(e,t,r,null,n,!1)}function Dn(e,t,r,n,o,i){let a=[...t.statements],s=0,p=!1,l=!1;for(let u=0;u<a.length;u++){let h=a[u];if(!e.ts.isImportDeclaration(h)||(s=u,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let m=[],g=h.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&m.push(...g.elements),typeof n=="string"){if(m.some(C=>C.name.text===n))return t;m.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),m.sort((C,P)=>C.name.text.localeCompare(P.name.text)),p=!0}let x=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(x&&x.text===r)return t;x=e.ts.factory.createIdentifier(r),l=!0}if(p||l)return a[u]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,e.ts.factory.createNamedImports(m)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,f;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(f=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let c=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function En(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let p=i[s];if(e.ts.isVariableStatement(p))for(let l=0;l<p.declarationList.declarations.length;l++){let d=[...p.declarationList.declarations],f=d[l],c=f.initializer;if(!c||!e.ts.isCallExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="require"||c.arguments.length!==1)continue;let h=c.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(f.name)&&typeof r=="string")return f.name.text===r?t:(d[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createIdentifier(r),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(f.name)&&typeof n=="string"){let m=[...f.name.elements];return m.some(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(m.push(e.ts.factory.createBindingElement(void 0,void 0,n)),m.sort((x,C)=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:x.name.text.localeCompare(C.name.text)),d[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(m),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,d)),e.ts.factory.updateSourceFile(t,i))}}}}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,n)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}return t}function G(e,t,r="esm"){return r==="cjs"?Go(e,t):Yo(e,t)}function Yo(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let p of s.declarationList.declarations)e.ts.isIdentifier(p.name)&&p.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function Go(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let p of s.declarationList.declarations)e.ts.isIdentifier(p.name)&&p.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s})}else r.push({isDefaultExport:!0,statement:n,node:i});continue}}return r}function Ho(e,t,r){for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&n.importClause){if(n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings)){for(let o of n.importClause.namedBindings.elements)if(e.ts.isIdentifier(o.name)&&o.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"named"}}if(n.importClause.name&&n.importClause.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"default"}}return null}async function ye(e,t,r,n){let o=Ho(e,r,n);if(o){let i=await We(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:A(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function Le(e,t,r){for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(e.ts.isVariableStatement(o)){for(let i of o.declarationList.declarations)if(e.ts.isIdentifier(i.name)&&i.name.text===r)return{statement:o,statementIndex:n}}}return null}function M(e,t,r){let n=Le(e,t,r);if(n&&n.statement.declarationList.declarations.length>0){let o=n.statement.declarationList.declarations[0];if(o.initializer&&e.ts.isArrayLiteralExpression(o.initializer))return{statement:n.statement,statementIndex:n.statementIndex,variableDeclaration:o,arrayLiteralExp:o.initializer}}return null}function ut(e,t){if(t){if(Xo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{ut(e,n)&&(r=!0)}),r)return!0}return!1}function Xo(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function We(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Rt.includes(r)){for(let n of Rt){let o=t+n;if(await e.exists(o))return o}for(let n of Rt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Rt=[".tsx",".jsx",".ts",".js"];function Ye(e,t,r){if(!r||!t)return;let n=t.getSymbolAtLocation(r);if(!n)return;let o=n.valueDeclaration;if(!o)return;let i=o.getSourceFile().fileName,a=Zo(e,i);return a?[{name:a}]:void 0}function Zo(e,t){if(typeof t=="string"){t=e.normalize(X(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function ie(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}async function ke(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await $(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{let s=n.getSourceFile(a.filePath);if(s){let l=(await Te(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}return a}))}async function _e(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await Te(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return be(e,o,a.node.fnNode)}return[]}async function wn(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return ei(e,t,n)}return null}function ei(e,t,r){let n=E(e,r);return Te(e,null,t,n)}async function Te(e,t,r,n){let o=[];for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isStringLiteral(a.expression)&&a.expression.text==="use server")return o;let i=G(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await ti(e,t,r,a);o.push(...s)})),o}async function ti(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Ue(s.name.text))continue;let p=Ge(e,t,s.initializer);if(p){let l=p.name||s.name.text,d=n.isDefaultExport?"default":l,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:A(e,r),name:j(l),inputs:[],exportName:d,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a,dependencies:p.deps},node:p})}}return o}if(e.ts.isArrowFunction(n.node)){let s=Ge(e,t,n.node);if(s){let p=Y(e,r),l=n.isDefaultExport?"default":p,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:A(e,r),name:p,inputs:[],exportName:l,exportType:d,importName:Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!Ue(s))return o;let p=Ge(e,t,n.node);if(p){let l=p.name||Y(e,r),d=n.isDefaultExport||!p.name?"default":p.name,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:A(e,r),name:l,inputs:[],exportName:d,exportType:f,importName:p.name||Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:p.deps},node:p})}return o}if(e.ts.isExportSpecifier(n.node)&&Ue(n.node.getText())){let s=Ge(e,t,n.node);if(s){let p=s.name||Y(e,r),l=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:A(e,r),name:p,inputs:[],exportName:l,exportType:d,importName:s.name||Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}return o}function Ge(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return ut(e,r.body)?{name:"",fnNode:r,deps:Ye(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return ut(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ye(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(!e.ts.isPropertyAccessExpression(n))return null;let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null:Ge(e,t,o[0])}if(!t)return null;if(e.ts.isPropertyAccessExpression(r)){let n=r.expression,o=r.name;if(!e.ts.isIdentifier(n)||!e.ts.isIdentifier(o)||!Ue(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ye(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Ye(e,t,n)}}return null}async function vn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.normalize(i.fileName);if(ri(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await Te(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ni=new Set(["node_modules","dist"]);function ri(e,t){for(let r of ni)if(e.dirname(t).includes(r))return!0;return!1}async function bn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(e.appDir&&oi.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let p=await Te(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var oi=new Set(["default.tsx","default.ts","default.jsx","default.js","error.tsx","error.ts","error.jsx","error.js","layout.tsx","layout.ts","layout.jsx","layout.js","loading.tsx","loading.ts","loading.jsx","loading.js","not-found.tsx","not-found.ts","not-found.jsx","not-found.js","page.tsx","page.ts","page.jsx","page.js","route.tsx","route.ts","route.jsx","route.js","template.tsx","template.ts","template.jsx","template.js"]);function ae(e,t){let r=[],n=[],o=[],i=[];for(let a of t.statements){if(e.ts.isImportDeclaration(a)){if(e.ts.isStringLiteral(a.moduleSpecifier)){let p=a.moduleSpecifier.text;if(!p.startsWith(".")&&!p.startsWith("/")){r.push(a);continue}}let s=a.importClause;if(s){if(s.namedBindings){n.push(a);continue}if(s.name){n.push(a);continue}}o.push(a);continue}i.push(a)}return e.ts.factory.updateSourceFile(t,[...Nt(e,r),...Nt(e,n),...Nt(e,o),...i])}function H(e){let t=e.split(`
23
23
  `).map(n=>n.trimEnd());e="";let r=!1;for(let n=t.length-1;n>=0;n--){let o=t[n];!r&&o.startsWith("import ")&&(r=!0,o=o+`
24
24
  `),/^builder.init(.*)$/.test(o)&&(o=o+`
25
25
  `),t[n-1]&&!t[n-1].includes("*/")&&(o.trim().startsWith("Builder.registerComponent")&&(o=`
@@ -29,7 +29,7 @@ ${r}=${n}
29
29
  `+o)),e=o+`
30
30
  `+e}return e.trim()+`
31
31
  `}function Nt(e,t){return t.sort((r,n)=>{let o=In(e,r),i=In(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function In(e,t){let r=t.importClause;if(r){let n=r.namedBindings;if(n&&e.ts.isNamedImports(n)&&n.elements.length>0)return n.elements[0].name.text;if(r.name)return r.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function Nn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
- ${e}`),e}function An(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function De(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Rn(e,r),i=Rn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Rn(e,t){let r=t.properties.find(n=>b(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Fn(e){let t=await e.readFile(e.registryPath);return t?ii(e,t):{components:[],sourceFile:E(e,"")}}async function ii(e,t){let r=E(e,t);return e.sdkVersion===O.gen2?si(e,r):ai(e,r)}async function ai(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let l=i.arguments;if(l.length<2)continue;let d=l[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=l[0];if(e.ts.isCallExpression(f)){let c=e.ts.isIdentifier(f.expression)&&f.expression.text;if(c==="withChildren"){let h=Ot(e,f.arguments[0]);if(e.ts.isCallExpression(h)){let m=await At(e,n,h,d,!0);m&&r.push(m)}else{let m=h;if(e.ts.isIdentifier(m)){let g=await Ft(e,t,n,m,d,!0);g&&r.push(g)}}continue}if(c==="dynamic"){let h=await At(e,n,f,d,!1);h&&r.push(h);continue}let u=Ot(e,f.arguments[0]);if(e.ts.isCallExpression(u)&&e.ts.isIdentifier(u.expression)&&u.expression.text==="dynamic"){let h=await At(e,n,u,d,!1);h&&r.push(h);continue}if(e.ts.isIdentifier(u)){let h=await Ft(e,t,n,u,d,!1);h&&r.push(h);continue}continue}if(e.ts.isIdentifier(f)){let c=await Ft(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}function Ot(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:Ot(e,t.arguments[0]):t}async function At(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let p=s.body;if(e.ts.isCallExpression(p)){if(p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let d=p.arguments[0];if(!e.ts.isStringLiteral(d))return null;let f=d.text;i.filePath=await je(e,f),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=k(e,i.filePath),i.name=Y(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(p)){let l=p.expression;if(!e.ts.isParenthesizedExpression(l))return null;let d=l.expression;if(!e.ts.isAwaitExpression(d))return null;let f=d.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let u=f.arguments[0];if(!e.ts.isStringLiteral(u)||!e.ts.isIdentifier(p.name))return null;let h=u.text;i.filePath=await je(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=k(e,i.filePath),i.name=j(p.name.text),i.importName=p.name.text,i.exportName=p.name.text,i.exportType="named"}else return null;return i=W(e,i,n),i.displayFilePath=A(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function Ft(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),p=s.find(l=>l.importClause&&l.importClause.name?.text===n.text);if(p){let l=p.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;a.filePath=await je(e,l.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await je(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=W(e,a,o),a.displayFilePath=A(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function je(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function On(e,t,r){let n=!1,o=0,i=[...t.statements];for(let l=0;l<i.length;l++){let d=i[l];if(e.ts.isImportDeclaration(d)){o=l;continue}if(!e.ts.isExpressionStatement(d))continue;let f=d.expression;if(!e.ts.isCallExpression(f))continue;let c=f.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="builder")continue;if(c.name.text=="init"){n=!0;break}else continue}if(n)return t;let a=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(oe)),s=r?e.ts.factory.createNonNullExpression(a):a,p=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return i.splice(o+1,0,p),e.ts.factory.updateSourceFile(t,i)}async function si(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Lt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Lt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};pi(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(b(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isCallExpression(p)&&(e.ts.isIdentifier(p.expression)&&p.expression.text)==="dynamic"){let u=p.arguments;if(u.length===0)return null;let h=u[0];if(!e.ts.isArrowFunction(h))return null;let m=h.body;if(e.ts.isCallExpression(m)){if(m.expression.kind!==e.ts.SyntaxKind.ImportKeyword||m.arguments.length!==1)return null;let x=m.arguments[0];if(!e.ts.isStringLiteral(x))return null;let C=x.text;n.filePath=await je(e,C),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=Y(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(m)){let g=m.expression;if(!e.ts.isParenthesizedExpression(g))return null;let x=g.expression;if(!e.ts.isAwaitExpression(x))return null;let C=x.expression;if(!e.ts.isCallExpression(C)||C.expression.kind!==e.ts.SyntaxKind.ImportKeyword||C.arguments.length!==1)return null;let I=C.arguments[0];if(!e.ts.isStringLiteral(I)||!e.ts.isIdentifier(m.name))return null;let T=I.text;n.filePath=await je(e,T),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=j(m.name.text),n.importName=m.name.text,n.exportName=m.name.text,n.exportType="named"}else return null;return n=W(e,n,r),n.displayFilePath=A(e,n.filePath),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}if(e.ts.isIdentifier(p)&&(s=p.text),!s)continue;n.name===""&&(n.name=j(s)),n.importName=s;let l=await ye(e,e.registryPath,t,s);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=k(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let d=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=d.find(c=>c.importClause&&c.importClause.name?.text===s);if(f){let c=f.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;n.exportName="default"}else{let c=d.find(h=>!h.importClause||!h.importClause.namedBindings||!e.ts.isNamedImports(h.importClause.namedBindings)?!1:h.importClause.namedBindings.elements.some(m=>m.name.text===s));if(!c)return null;let u=c.moduleSpecifier;if(!e.ts.isStringLiteral(u))return null;n.exportName=s}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}function pi(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(b(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function se(e,t){let r=[...t.statements],n=!1;for(let o=t.statements.length-1;o>=0;o--){let i=t.statements[o];if(e.ts.isImportDeclaration(i)&&i.importClause){let a=!1,s=i.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let p=[...s.elements];for(let l=p.length-1;l>=0;l--){let d=p[l];if(e.ts.isImportSpecifier(d)){let f=d.name;if(f&&e.ts.isIdentifier(f)){let c=f.text;Ln(e,t,c)||p.splice(l,1)}}}if(p.length===0)a=!0;else if(s.elements.length!==p.length){let l=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(p)),d=e.ts.factory.updateImportDeclaration(i,void 0,l,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let p=i.importClause.name.text;Ln(e,t,p)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Ln(e,t,r){let n=!1;function o(i){if(!e.ts.isImportDeclaration(i)){if(e.ts.isIdentifier(i)&&i.text===r){n=!0;return}e.ts.forEachChild(i,o)}}return e.ts.forEachChild(t,o),n}function pe(e,t,r,n,o,i,a){let s=null,p=null,l=null,d=-1;t=J(t),r=J(r);let f=t.find(u=>u.id===e),c=r.find(u=>u.id===e);if(n)c||(s={...J(f),inputs:J(f.inputs).map(u=>(u.isRegistered=!0,u))},d=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)d=c.nodeIndex,p=J(c),r=r.filter(u=>u.id!==e);else if(i!=null)li(c,i),d=c.nodeIndex,l=c;else if(a!=null){let u=c.inputs.find(h=>h.name===a.name);u&&(a.registerInput===!1?u.isRegistered=!1:(ci(u,a),u.isRegistered=!0),l=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:p,updateRegisteredCmp:l,nodeIndex:d,components:ee(t,r)}}function ee(e,t){let r=Q([...t.map(n=>(n.isRegistered=!0,n)),...e.filter(n=>!t.some(o=>o.id===n.id)).map(n=>(n.isRegistered=!1,n))]);return r.forEach(n=>{n.inputs=n.inputs.map(bt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=vt(n))}),r}function li(e,t){U(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),U(t.description)?e.description=t.description:t.description===null&&delete e.description,U(t.image)?e.image=t.image:t.image===null&&delete e.image}function ci(e,t){U(t.type)&&(e.type=t.type),U(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,U(t.defaultValue)||Ue(t.defaultValue)||Fe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,U(t.helperText)?e.helperText=t.helperText:t.helperText===null&&delete e.helperText,t.required===!0?e.required=t.required:(t.required===null||t.required===!1)&&delete e.required}async function Ee(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),p=e.extname(a).toLowerCase();if(p===".tsx"||p===".jsx"||p===".ts"||p===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await K(e,[...t])}function we(e,t,r){return Le(e,t,r.variableName)?t:ui(e,t,r)}function ui(e,t,r){let n=typeof r.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(r.arrayType,void 0)):void 0,o=e.ts.factory.createArrayLiteralExpression([]),i=e.ts.factory.createVariableDeclaration(r.variableName,void 0,n,o),a=e.ts.factory.createVariableDeclarationList([i],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),p=e.ts.factory.createVariableStatement([s],a),l=[...t.statements,p];return e.ts.factory.updateSourceFile(t,l)}async function le(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f,c]=await Promise.all([bn(e,p),Fn(e),kt(e),Me(e)]),u=l.map(P=>P.cmpInfo),h=d.components,m={components:ee(u,h),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await ke(e,m.components),m;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let R=l.find(B=>B.cmpInfo.id===S);if(!R)throw new Error(`Component ${S} not found`);return R}),I=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),T=await K(e,I);for(let S of P){let R=m.components.find(w=>w.id===S.cmpInfo.id),B=await _e(e,S,T);Z(R,B);let F=u.findIndex(w=>w.id===S.cmpInfo.id);u[F].inputs=B;let y=pe(S.cmpInfo.id,u,h,r,n,o,i);if(e.sdkVersion===O.gen2){let{elements:w,elmIndex:V,statementIndex:z,statement:q,variableDeclaration:L}=await di(e,x,S);if(y.addCmpToRegistry)w.push(fi(e,y.addCmpToRegistry)),g=!0;else if(y.removeCmpFromRegistry)w.splice(V,1),g=!0;else if(y.updateRegisteredCmp){let fe=$(e,w[V],y.updateRegisteredCmp);w[V]=e.ts.factory.updateObjectLiteralExpression(fe,[_n(e,y.updateRegisteredCmp),...fe.properties.slice(1)]),g=!0}if(g&&a){let fe=[...x.statements];fe[z]=e.ts.factory.updateVariableStatement(q,q.modifiers,e.ts.factory.updateVariableDeclarationList(q.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(De(e,w)))])),x=e.ts.factory.updateSourceFile(x,fe),x=kn(e,y,x),x=D(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),x=we(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),m.components=y.components,h=y.components.filter(ao=>ao.isRegistered)}}else{let w=[...x.statements];y.addCmpToRegistry?(w.push(Pn(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(w.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(w[y.nodeIndex]=It(e,w[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a&&(x=e.ts.factory.updateSourceFile(x,w),x=D(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=On(e,x,f),x=kn(e,y,x),R?.acceptsChildren&&(x=D(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=y.components,h=y.components.filter(V=>V.isRegistered))}}}if(g&&a){x=se(e,x),x=ae(e,x),e.appDir&&(x=An(e,x));let P=N(e,x);P=H(P),e.appDir&&(P=Nn(P)),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return m}function _n(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",gi(e,t))}function mi(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function fi(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([_n(e,t),...t.acceptsChildren?[mi(e)]:[]],!0),t)}async function di(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Lt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function kn(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=v(e,e.registryPath,n.filePath);n.exportType==="default"?r=D(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=D(e,r,{namedImports:[n.importName],importPath:o}))}}else r=D(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function gi(e,t){let r=v(e,e.registryPath,t.filePath),n=t.exportName!=="default",o;n?o=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createAwaitExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)])),e.ts.factory.createIdentifier(t.exportName)):o=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)]);let i=e.ts.factory.createArrowFunction(n?[e.ts.factory.createModifier(e.ts.SyntaxKind.AsyncKeyword)]:void 0,void 0,[],void 0,e.ts.factory.createToken(e.ts.SyntaxKind.EqualsGreaterThanToken),o);return e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("dynamic"),void 0,[i])}async function jn(e){let t=[],r=await yi(e,t);return await Di(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await hi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Si(e,e.pagesDir,t)),t}async function Bn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await xi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Pi(e,e.pagesDir,t)),t}async function xi(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"figma-imports",n);if(!await e.exists(o)){let i=await e.formatCode(o,Vn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function hi(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"[...page]",n);if(!await e.exists(o)){let i=await e.formatCode(o,Vn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let i=await e.formatCode(e.builderComponentPath,Ci(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Ci(e){let t=e.typescriptEnabled;return e.sdkVersion===O.gen2?`
32
+ ${e}`),e}function An(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function De(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Rn(e,r),i=Rn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Rn(e,t){let r=t.properties.find(n=>b(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Fn(e){let t=await e.readFile(e.registryPath);return t?ii(e,t):{components:[],sourceFile:E(e,"")}}async function ii(e,t){let r=E(e,t);return e.sdkVersion===O.gen2?si(e,r):ai(e,r)}async function ai(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let l=i.arguments;if(l.length<2)continue;let d=l[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=l[0];if(e.ts.isCallExpression(f)){let c=e.ts.isIdentifier(f.expression)&&f.expression.text;if(c==="withChildren"){let h=Ot(e,f.arguments[0]);if(e.ts.isCallExpression(h)){let m=await At(e,n,h,d,!0);m&&r.push(m)}else{let m=h;if(e.ts.isIdentifier(m)){let g=await Ft(e,t,n,m,d,!0);g&&r.push(g)}}continue}if(c==="dynamic"){let h=await At(e,n,f,d,!1);h&&r.push(h);continue}let u=Ot(e,f.arguments[0]);if(e.ts.isCallExpression(u)&&e.ts.isIdentifier(u.expression)&&u.expression.text==="dynamic"){let h=await At(e,n,u,d,!1);h&&r.push(h);continue}if(e.ts.isIdentifier(u)){let h=await Ft(e,t,n,u,d,!1);h&&r.push(h);continue}continue}if(e.ts.isIdentifier(f)){let c=await Ft(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}function Ot(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:Ot(e,t.arguments[0]):t}async function At(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let p=s.body;if(e.ts.isCallExpression(p)){if(p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let d=p.arguments[0];if(!e.ts.isStringLiteral(d))return null;let f=d.text;i.filePath=await je(e,f),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=k(e,i.filePath),i.name=Y(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(p)){let l=p.expression;if(!e.ts.isParenthesizedExpression(l))return null;let d=l.expression;if(!e.ts.isAwaitExpression(d))return null;let f=d.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let u=f.arguments[0];if(!e.ts.isStringLiteral(u)||!e.ts.isIdentifier(p.name))return null;let h=u.text;i.filePath=await je(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=k(e,i.filePath),i.name=j(p.name.text),i.importName=p.name.text,i.exportName=p.name.text,i.exportType="named"}else return null;return i=W(e,i,n),i.displayFilePath=A(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function Ft(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),p=s.find(l=>l.importClause&&l.importClause.name?.text===n.text);if(p){let l=p.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;a.filePath=await je(e,l.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await je(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=W(e,a,o),a.displayFilePath=A(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function je(e,t){return We(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function On(e,t,r){let n=!1,o=0,i=[...t.statements];for(let l=0;l<i.length;l++){let d=i[l];if(e.ts.isImportDeclaration(d)){o=l;continue}if(!e.ts.isExpressionStatement(d))continue;let f=d.expression;if(!e.ts.isCallExpression(f))continue;let c=f.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="builder")continue;if(c.name.text=="init"){n=!0;break}else continue}if(n)return t;let a=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(oe)),s=r?e.ts.factory.createNonNullExpression(a):a,p=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return i.splice(o+1,0,p),e.ts.factory.updateSourceFile(t,i)}async function si(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Lt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Lt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};pi(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(b(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isCallExpression(p)&&(e.ts.isIdentifier(p.expression)&&p.expression.text)==="dynamic"){let u=p.arguments;if(u.length===0)return null;let h=u[0];if(!e.ts.isArrowFunction(h))return null;let m=h.body;if(e.ts.isCallExpression(m)){if(m.expression.kind!==e.ts.SyntaxKind.ImportKeyword||m.arguments.length!==1)return null;let x=m.arguments[0];if(!e.ts.isStringLiteral(x))return null;let C=x.text;n.filePath=await je(e,C),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=Y(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(m)){let g=m.expression;if(!e.ts.isParenthesizedExpression(g))return null;let x=g.expression;if(!e.ts.isAwaitExpression(x))return null;let C=x.expression;if(!e.ts.isCallExpression(C)||C.expression.kind!==e.ts.SyntaxKind.ImportKeyword||C.arguments.length!==1)return null;let I=C.arguments[0];if(!e.ts.isStringLiteral(I)||!e.ts.isIdentifier(m.name))return null;let T=I.text;n.filePath=await je(e,T),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=j(m.name.text),n.importName=m.name.text,n.exportName=m.name.text,n.exportType="named"}else return null;return n=W(e,n,r),n.displayFilePath=A(e,n.filePath),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}if(e.ts.isIdentifier(p)&&(s=p.text),!s)continue;n.name===""&&(n.name=j(s)),n.importName=s;let l=await ye(e,e.registryPath,t,s);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=k(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let d=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=d.find(c=>c.importClause&&c.importClause.name?.text===s);if(f){let c=f.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;n.exportName="default"}else{let c=d.find(h=>!h.importClause||!h.importClause.namedBindings||!e.ts.isNamedImports(h.importClause.namedBindings)?!1:h.importClause.namedBindings.elements.some(m=>m.name.text===s));if(!c)return null;let u=c.moduleSpecifier;if(!e.ts.isStringLiteral(u))return null;n.exportName=s}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}function pi(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(b(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function se(e,t){let r=[...t.statements],n=!1;for(let o=t.statements.length-1;o>=0;o--){let i=t.statements[o];if(e.ts.isImportDeclaration(i)&&i.importClause){let a=!1,s=i.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let p=[...s.elements];for(let l=p.length-1;l>=0;l--){let d=p[l];if(e.ts.isImportSpecifier(d)){let f=d.name;if(f&&e.ts.isIdentifier(f)){let c=f.text;Ln(e,t,c)||p.splice(l,1)}}}if(p.length===0)a=!0;else if(s.elements.length!==p.length){let l=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(p)),d=e.ts.factory.updateImportDeclaration(i,void 0,l,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let p=i.importClause.name.text;Ln(e,t,p)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Ln(e,t,r){let n=!1;function o(i){if(!e.ts.isImportDeclaration(i)){if(e.ts.isIdentifier(i)&&i.text===r){n=!0;return}e.ts.forEachChild(i,o)}}return e.ts.forEachChild(t,o),n}function pe(e,t,r,n,o,i,a){let s=null,p=null,l=null,d=-1;t=J(t),r=J(r);let f=t.find(u=>u.id===e),c=r.find(u=>u.id===e);if(n)c||(s={...J(f),inputs:J(f.inputs).map(u=>(u.isRegistered=!0,u))},d=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)d=c.nodeIndex,p=J(c),r=r.filter(u=>u.id!==e);else if(i!=null)li(c,i),d=c.nodeIndex,l=c;else if(a!=null){let u=c.inputs.find(h=>h.name===a.name);u&&(a.registerInput===!1?u.isRegistered=!1:(ci(u,a),u.isRegistered=!0),l=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:p,updateRegisteredCmp:l,nodeIndex:d,components:ee(t,r)}}function ee(e,t){let r=Q([...t.map(n=>(n.isRegistered=!0,n)),...e.filter(n=>!t.some(o=>o.id===n.id)).map(n=>(n.isRegistered=!1,n))]);return r.forEach(n=>{n.inputs=n.inputs.map(bt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=vt(n))}),r}function li(e,t){U(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),U(t.description)?e.description=t.description:t.description===null&&delete e.description,U(t.image)?e.image=t.image:t.image===null&&delete e.image}function ci(e,t){U(t.type)&&(e.type=t.type),U(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,U(t.defaultValue)||Me(t.defaultValue)||Fe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,U(t.helperText)?e.helperText=t.helperText:t.helperText===null&&delete e.helperText,t.required===!0?e.required=t.required:(t.required===null||t.required===!1)&&delete e.required}async function Ee(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),p=e.extname(a).toLowerCase();if(p===".tsx"||p===".jsx"||p===".ts"||p===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await $(e,[...t])}function we(e,t,r){return Le(e,t,r.variableName)?t:ui(e,t,r)}function ui(e,t,r){let n=typeof r.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(r.arrayType,void 0)):void 0,o=e.ts.factory.createArrayLiteralExpression([]),i=e.ts.factory.createVariableDeclaration(r.variableName,void 0,n,o),a=e.ts.factory.createVariableDeclarationList([i],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),p=e.ts.factory.createVariableStatement([s],a),l=[...t.statements,p];return e.ts.factory.updateSourceFile(t,l)}async function le(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f,c]=await Promise.all([bn(e,p),Fn(e),kt(e),Ke(e)]),u=l.map(P=>P.cmpInfo),h=d.components,m={components:ee(u,h),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await ke(e,m.components),m;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let R=l.find(B=>B.cmpInfo.id===S);if(!R)throw new Error(`Component ${S} not found`);return R}),I=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),T=await $(e,I);for(let S of P){let R=m.components.find(w=>w.id===S.cmpInfo.id),B=await _e(e,S,T);Z(R,B);let F=u.findIndex(w=>w.id===S.cmpInfo.id);u[F].inputs=B;let y=pe(S.cmpInfo.id,u,h,r,n,o,i);if(e.sdkVersion===O.gen2){let{elements:w,elmIndex:V,statementIndex:z,statement:q,variableDeclaration:L}=await di(e,x,S);if(y.addCmpToRegistry)w.push(fi(e,y.addCmpToRegistry)),g=!0;else if(y.removeCmpFromRegistry)w.splice(V,1),g=!0;else if(y.updateRegisteredCmp){let fe=K(e,w[V],y.updateRegisteredCmp);w[V]=e.ts.factory.updateObjectLiteralExpression(fe,[_n(e,y.updateRegisteredCmp),...fe.properties.slice(1)]),g=!0}if(g&&a){let fe=[...x.statements];fe[z]=e.ts.factory.updateVariableStatement(q,q.modifiers,e.ts.factory.updateVariableDeclarationList(q.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(De(e,w)))])),x=e.ts.factory.updateSourceFile(x,fe),x=kn(e,y,x),x=D(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),x=we(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),m.components=y.components,h=y.components.filter(ao=>ao.isRegistered)}}else{let w=[...x.statements];y.addCmpToRegistry?(w.push(Pn(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(w.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(w[y.nodeIndex]=It(e,w[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a&&(x=e.ts.factory.updateSourceFile(x,w),x=D(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=On(e,x,f),x=kn(e,y,x),R?.acceptsChildren&&(x=D(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=y.components,h=y.components.filter(V=>V.isRegistered))}}}if(g&&a){x=se(e,x),x=ae(e,x),e.appDir&&(x=An(e,x));let P=N(e,x);P=H(P),e.appDir&&(P=Nn(P)),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return m}function _n(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",gi(e,t))}function mi(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function fi(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([_n(e,t),...t.acceptsChildren?[mi(e)]:[]],!0),t)}async function di(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Lt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function kn(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=v(e,e.registryPath,n.filePath);n.exportType==="default"?r=D(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=D(e,r,{namedImports:[n.importName],importPath:o}))}}else r=D(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function gi(e,t){let r=v(e,e.registryPath,t.filePath),n=t.exportName!=="default",o;n?o=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createAwaitExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)])),e.ts.factory.createIdentifier(t.exportName)):o=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)]);let i=e.ts.factory.createArrowFunction(n?[e.ts.factory.createModifier(e.ts.SyntaxKind.AsyncKeyword)]:void 0,void 0,[],void 0,e.ts.factory.createToken(e.ts.SyntaxKind.EqualsGreaterThanToken),o);return e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("dynamic"),void 0,[i])}async function jn(e){let t=[],r=await yi(e,t);return await Di(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await hi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Si(e,e.pagesDir,t)),t}async function Bn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await xi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Pi(e,e.pagesDir,t)),t}async function xi(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"figma-imports",n);if(!await e.exists(o)){let i=await e.formatCode(o,Vn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function hi(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"[...page]",n);if(!await e.exists(o)){let i=await e.formatCode(o,Vn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let i=await e.formatCode(e.builderComponentPath,Ci(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Ci(e){let t=e.typescriptEnabled;return e.sdkVersion===O.gen2?`
33
33
  "use client";
34
34
  import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
35
35
  import DefaultErrorPage from "next/error";
@@ -156,7 +156,7 @@ export default async function Page(props${n?": PageProps":""}) {
156
156
  </>
157
157
  );
158
158
  }
159
- `.trimStart()}async function Si(e,t,r){let n=`[...page].${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,Kn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Pi(e,t,r){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,Kn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Kn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===O.gen2?`
159
+ `.trimStart()}async function Si(e,t,r){let n=`[...page].${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,$n({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Pi(e,t,r){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,$n({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function $n({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===O.gen2?`
160
160
  import React from "react";
161
161
  import { useRouter } from "next/router";
162
162
  ${n?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
@@ -386,13 +386,13 @@ export default Counter;
386
386
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
387
387
  ];`:`export const CUSTOM_COMPONENTS = [
388
388
  ];
389
- `}async function Be(e){let t=await pt(e,e.getRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return O.gen2;if(r.has("@builder.io/react"))return O.gen1}return null}async function $n(e){let t=await wi(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>jn(t),ensureFigmaImportPage:()=>Bn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>le(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await le(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>le(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>le(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>le(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>le(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Me(t),setPublicApiKey:n=>fn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function wi(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await vi(e),o=await kt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(e.sdkVersion?a.sdkVersion=e.sdkVersion:a.sdkVersion=await Be(a),await e.exists(r)){a.srcDir=r,a.componentsDir=e.join(r,"components");let s=e.join(r,"app");await e.exists(s)&&(a.appDir=s);let p=e.join(r,"pages");await e.exists(p)&&(a.pagesDir=p),a.registryPath=e.join(r,i)}else a.componentsDir=e.join(t,"components"),a.registryPath=e.join(t,i);if(a.builderComponentPath=e.join(a.componentsDir,`builder.${o?"tsx":"jsx"}`),!a.appDir){let s=e.join(t,"app");await e.exists(s)&&(a.appDir=s)}if(!a.pagesDir){let s=e.join(t,"pages");await e.exists(s)&&(a.pagesDir=s)}if(!a.appDir&&!a.pagesDir)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return a}function kt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function vi(e){let t=e.join(e.getRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getRootDir()}".`)}async function Xe(e){return await Se(e,[".env"],Un)}async function Mn(e,t){bi(t);let r=await Xe(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function bi(e){typeof process<"u"&&(process.env[Un]=e)}var Un="PUBLIC_BUILDER_API_KEY";function zn(e,t,r){if(r.length===0)return e;let n=e.split(`
389
+ `}async function Be(e){let t=await st(e,e.getRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return O.gen2;if(r.has("@builder.io/react"))return O.gen1}return null}async function Kn(e){let t=await wi(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>jn(t),ensureFigmaImportPage:()=>Bn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>le(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await le(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>le(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>le(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>le(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>le(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ke(t),setPublicApiKey:n=>fn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function wi(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await vi(e),o=await kt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(e.sdkVersion?a.sdkVersion=e.sdkVersion:a.sdkVersion=await Be(a),await e.exists(r)){a.srcDir=r,a.componentsDir=e.join(r,"components");let s=e.join(r,"app");await e.exists(s)&&(a.appDir=s);let p=e.join(r,"pages");await e.exists(p)&&(a.pagesDir=p),a.registryPath=e.join(r,i)}else a.componentsDir=e.join(t,"components"),a.registryPath=e.join(t,i);if(a.builderComponentPath=e.join(a.componentsDir,`builder.${o?"tsx":"jsx"}`),!a.appDir){let s=e.join(t,"app");await e.exists(s)&&(a.appDir=s)}if(!a.pagesDir){let s=e.join(t,"pages");await e.exists(s)&&(a.pagesDir=s)}if(!a.appDir&&!a.pagesDir)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return a}function kt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function vi(e){let t=e.join(e.getRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getRootDir()}".`)}async function He(e){return await Se(e,[".env"],Un)}async function Mn(e,t){bi(t);let r=await He(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function bi(e){typeof process<"u"&&(process.env[Un]=e)}var Un="PUBLIC_BUILDER_API_KEY";function zn(e,t,r){if(r.length===0)return e;let n=e.split(`
390
390
  `),o=n.findIndex(s=>s.includes(r));if(o===-1||n.some(s=>s.includes(t[0])))return e;let a=["/**",...t.map(s=>` * ${s.trim()}`)," */"];return n.splice(o,0,...a),n.join(`
391
- `)}async function Qn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||Ni.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await ft(e,o,s,i);r.push(...p)})),r}async function Jn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ii(e,t,n)}return null}function Ii(e,t,r){let n=E(e,r);return ft(e,null,t,n)}async function ft(e,t,r,n){r=e.normalize(r);let o=[],i=G(e,n);return await Promise.all(i.map(async a=>{let s=await Ri(e,t,r,a);s&&o.push(s)})),o}async function Ri(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=k(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=qn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let p=a.name.text;return{cmpInfo:{id:await _(e,r,p),displayFilePath:A(e,r),name:j(p),inputs:[],exportName:n.isDefaultExport?"default":p,exportType:n.isDefaultExport?"default":"named",importName:p,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=qn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:A(e,r),name:Y(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ae(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function qn(e,t){if(t&&e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)&&t.expression.text==="component$"&&t.arguments.length>0){let r=t.arguments[0];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))return{callExpression:t,fnNode:r}}return null}var Ni=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Wn(e,t){let r=t.node.fnNode;if((e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))&&r.parameters.length>0){let{sourceFile:o,typeChecker:i}=await Oe(e,t.cmpInfo.filePath,null);if(!(await ft(e,i,t.cmpInfo.filePath,o)).find(p=>p.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return be(e,i,r)}return[]}async function Yn(e){return _t(e)}async function _t(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ai),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Ai=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
391
+ `)}async function Qn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||Ni.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await mt(e,o,s,i);r.push(...p)})),r}async function Jn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ii(e,t,n)}return null}function Ii(e,t,r){let n=E(e,r);return mt(e,null,t,n)}async function mt(e,t,r,n){r=e.normalize(r);let o=[],i=G(e,n);return await Promise.all(i.map(async a=>{let s=await Ri(e,t,r,a);s&&o.push(s)})),o}async function Ri(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=k(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=qn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let p=a.name.text;return{cmpInfo:{id:await _(e,r,p),displayFilePath:A(e,r),name:j(p),inputs:[],exportName:n.isDefaultExport?"default":p,exportType:n.isDefaultExport?"default":"named",importName:p,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=qn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:A(e,r),name:Y(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ae(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function qn(e,t){if(t&&e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)&&t.expression.text==="component$"&&t.arguments.length>0){let r=t.arguments[0];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))return{callExpression:t,fnNode:r}}return null}var Ni=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Wn(e,t){let r=t.node.fnNode;if((e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))&&r.parameters.length>0){let{sourceFile:o,typeChecker:i}=await Oe(e,t.cmpInfo.filePath,null);if(!(await mt(e,i,t.cmpInfo.filePath,o)).find(p=>p.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return be(e,i,r)}return[]}async function Yn(e){return _t(e)}async function _t(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ai),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Ai=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
392
392
 
393
393
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
394
394
  ];
395
- `;async function Gn(e){await _t(e);let t=await e.readFile(e.registryPath);return t?Fi(e,t):{components:[],sourceFile:E(e,"")}}async function Fi(e,t){let r=E(e,t);return Oi(e,r)}async function Oi(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await jt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function jt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=j(a)),n.importName=a;let s=await ye(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=k(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let p=await Jn(e,s.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let l=p.find(d=>d.cmpInfo.exportName===a);l&&(n.exportName=l.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Hn(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),p=e.extname(a).toLowerCase();if(p===".tsx"||p===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await K(e,[...t])}async function Ie(e,t,r,n,o,i,a,s){let p=await Hn(e),[l,d,f]=await Promise.all([Qn(e,p),Gn(e),Xe(e)]),c=l.map(m=>m.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let m=l.find(y=>y.cmpInfo.id===t);if(!m)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(y=>y.id===t),C=await Wn(e,m);Z(x,C),t=Array.isArray(t)?t[0]:t;let P=pe(t,c,u,r,n,o,i),{elements:I,elmIndex:T,statementIndex:S,statement:R,variableDeclaration:B}=await ki(e,g,m),F=!1;if(P.addCmpToRegistry?(I.push(Li(e,P.addCmpToRegistry)),F=!0):P.removeCmpFromRegistry?(I.splice(T,1),F=!0):P.updateRegisteredCmp&&(I[T]=$(e,I[T],P.updateRegisteredCmp),F=!0),F&&a){let y=[...g.statements];y[S]=e.ts.factory.updateVariableStatement(R,R.modifiers,e.ts.factory.updateVariableDeclarationList(R.declarationList,[e.ts.factory.updateVariableDeclaration(B,B.name,B.exclamationToken,B.type,e.ts.factory.createArrayLiteralExpression(De(e,I)))])),g=e.ts.factory.updateSourceFile(g,y),x.exportType==="named"?g=D(e,g,{namedImports:[x.importName],importPath:v(e,e.registryPath,x.filePath)}):g=D(e,g,{defaultImport:x.importName,importPath:v(e,e.registryPath,x.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=se(e,g),g=ae(e,g);let w=N(e,g);w=H(w),w=zn(w,_i,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}h.components=P.components}return h}function Li(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function ki(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await jt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var _i=["This array is used to integrate custom components within Builder.","https://www.builder.io/c/docs/custom-components-intro","",'These components will be found the "Custom Components"',"section of Builder's visual editor.",'You can also turn on "components only mode" to limit',"editing to only these components.","https://www.builder.io/c/docs/guides/components-only-mode"];async function Xn(e){let t=await ji(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Yn(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Ie(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ie(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ie(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ie(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ie(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Xe(t),setPublicApiKey:n=>Mn(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function ji(e){let t=await $e(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ze(e){return await Se(e,[".env"],et)}async function Zn(e,t){let r=await Ze(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var et="PUBLIC_BUILDER_KEY";async function er(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Bi.has(s)||s.includes("$."))return;let p=e.normalize(a.fileName);if(p===e.remixConfigPath||p===e.registryPath||p===i)return;let l=await Te(e,o,p,a);r.push(...l)})),r}var Bi=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function tr(e){await Vt(e);let t=await e.readFile(e.registryPath);return t?Vi(e,t):{components:[],sourceFile:E(e,"")}}async function Vi(e,t){let r=E(e,t);return Ki(e,r)}async function Ki(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Bt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Bt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let f=s.arguments[0];e.ts.isIdentifier(f)&&(a=f.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ye(e,e.registryPath,t,a);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,n.importPath=k(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let l=await wn(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let d=l.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function ce(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f]=await Promise.all([er(e,p),tr(e),Ze(e)]),c=l.map(C=>C.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await ke(e,h.components),h;let m=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let S=l.find(R=>R.cmpInfo.id===T);if(!S)throw new Error(`Component ${T} not found`);return S}),P=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),I=await K(e,P);for(let T of C){let S=h.components.find(L=>L.id===T.cmpInfo.id),R=await _e(e,T,I);Z(S,R);let B=c.findIndex(L=>L.id===T.cmpInfo.id);c[B].inputs=R;let F=pe(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:w,statementIndex:V,statement:z,variableDeclaration:q}=await Mi(e,g,T);if(F.addCmpToRegistry)y.push($i(e,F.addCmpToRegistry)),m=!0;else if(F.removeCmpFromRegistry)y.splice(w,1),m=!0;else if(F.updateRegisteredCmp){let L=$(e,y[w],F.updateRegisteredCmp);y[w]=e.ts.factory.updateObjectLiteralExpression(L,[nr(e,F.updateRegisteredCmp),...L.properties.slice(1)]),m=!0}if(m&&a){let L=[...g.statements];L[V]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(q,q.name,q.exclamationToken,q.type,e.ts.factory.createArrayLiteralExpression(De(e,y)))])),g=e.ts.factory.updateSourceFile(g,L),S.exportType==="named"?g=D(e,g,{namedImports:[S.importName],importPath:v(e,e.registryPath,S.filePath)}):g=D(e,g,{defaultImport:S.importName,importPath:v(e,e.registryPath,S.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(g=D(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=F.components,u=F.components.filter(fe=>fe.isRegistered)}}}if(m&&a){g=se(e,g),g=ae(e,g);let C=N(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function nr(e,t){let r=e.ts.factory.createIdentifier(t.importName),n=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[r]):r;return e.ts.factory.createPropertyAssignment("component",n)}function $i(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([nr(e,t)],!0),t)}async function Mi(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Bt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function rr(e){let t=[],r=await qi(e,t);return t.push(...await Vt(e)),await Ji(e,r),await zi(e,t),t}async function or(e){let t=[];return await Ui(e,t),t}async function Ui(e,t){let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureFigmaImportRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureFigmaImportRoute, hasRoute: ${o}`);let i=await e.formatCode(n,ir({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function zi(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,ir({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function ir({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=v(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${et}`;return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${et}`),n&&(s+="!"),`
395
+ `;async function Gn(e){await _t(e);let t=await e.readFile(e.registryPath);return t?Fi(e,t):{components:[],sourceFile:E(e,"")}}async function Fi(e,t){let r=E(e,t);return Oi(e,r)}async function Oi(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await jt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function jt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=j(a)),n.importName=a;let s=await ye(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=k(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let p=await Jn(e,s.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let l=p.find(d=>d.cmpInfo.exportName===a);l&&(n.exportName=l.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Hn(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),p=e.extname(a).toLowerCase();if(p===".tsx"||p===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await $(e,[...t])}async function Ie(e,t,r,n,o,i,a,s){let p=await Hn(e),[l,d,f]=await Promise.all([Qn(e,p),Gn(e),He(e)]),c=l.map(m=>m.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let m=l.find(y=>y.cmpInfo.id===t);if(!m)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(y=>y.id===t),C=await Wn(e,m);Z(x,C),t=Array.isArray(t)?t[0]:t;let P=pe(t,c,u,r,n,o,i),{elements:I,elmIndex:T,statementIndex:S,statement:R,variableDeclaration:B}=await ki(e,g,m),F=!1;if(P.addCmpToRegistry?(I.push(Li(e,P.addCmpToRegistry)),F=!0):P.removeCmpFromRegistry?(I.splice(T,1),F=!0):P.updateRegisteredCmp&&(I[T]=K(e,I[T],P.updateRegisteredCmp),F=!0),F&&a){let y=[...g.statements];y[S]=e.ts.factory.updateVariableStatement(R,R.modifiers,e.ts.factory.updateVariableDeclarationList(R.declarationList,[e.ts.factory.updateVariableDeclaration(B,B.name,B.exclamationToken,B.type,e.ts.factory.createArrayLiteralExpression(De(e,I)))])),g=e.ts.factory.updateSourceFile(g,y),x.exportType==="named"?g=D(e,g,{namedImports:[x.importName],importPath:v(e,e.registryPath,x.filePath)}):g=D(e,g,{defaultImport:x.importName,importPath:v(e,e.registryPath,x.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=se(e,g),g=ae(e,g);let w=N(e,g);w=H(w),w=zn(w,_i,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}h.components=P.components}return h}function Li(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function ki(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await jt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var _i=["This array is used to integrate custom components within Builder.","https://www.builder.io/c/docs/custom-components-intro","",'These components will be found the "Custom Components"',"section of Builder's visual editor.",'You can also turn on "components only mode" to limit',"editing to only these components.","https://www.builder.io/c/docs/guides/components-only-mode"];async function Xn(e){let t=await ji(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Yn(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Ie(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ie(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ie(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ie(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ie(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>He(t),setPublicApiKey:n=>Mn(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function ji(e){let t=await $e(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Xe(e){return await Se(e,[".env"],Ze)}async function Zn(e,t){let r=await Xe(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ze="PUBLIC_BUILDER_KEY";async function er(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Bi.has(s)||s.includes("$."))return;let p=e.normalize(a.fileName);if(p===e.remixConfigPath||p===e.registryPath||p===i)return;let l=await Te(e,o,p,a);r.push(...l)})),r}var Bi=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function tr(e){await Vt(e);let t=await e.readFile(e.registryPath);return t?Vi(e,t):{components:[],sourceFile:E(e,"")}}async function Vi(e,t){let r=E(e,t);return $i(e,r)}async function $i(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Bt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Bt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let f=s.arguments[0];e.ts.isIdentifier(f)&&(a=f.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ye(e,e.registryPath,t,a);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,n.importPath=k(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let l=await wn(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let d=l.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function ce(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f]=await Promise.all([er(e,p),tr(e),Xe(e)]),c=l.map(C=>C.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await ke(e,h.components),h;let m=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let S=l.find(R=>R.cmpInfo.id===T);if(!S)throw new Error(`Component ${T} not found`);return S}),P=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),I=await $(e,P);for(let T of C){let S=h.components.find(L=>L.id===T.cmpInfo.id),R=await _e(e,T,I);Z(S,R);let B=c.findIndex(L=>L.id===T.cmpInfo.id);c[B].inputs=R;let F=pe(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:w,statementIndex:V,statement:z,variableDeclaration:q}=await Mi(e,g,T);if(F.addCmpToRegistry)y.push(Ki(e,F.addCmpToRegistry)),m=!0;else if(F.removeCmpFromRegistry)y.splice(w,1),m=!0;else if(F.updateRegisteredCmp){let L=K(e,y[w],F.updateRegisteredCmp);y[w]=e.ts.factory.updateObjectLiteralExpression(L,[nr(e,F.updateRegisteredCmp),...L.properties.slice(1)]),m=!0}if(m&&a){let L=[...g.statements];L[V]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(q,q.name,q.exclamationToken,q.type,e.ts.factory.createArrayLiteralExpression(De(e,y)))])),g=e.ts.factory.updateSourceFile(g,L),S.exportType==="named"?g=D(e,g,{namedImports:[S.importName],importPath:v(e,e.registryPath,S.filePath)}):g=D(e,g,{defaultImport:S.importName,importPath:v(e,e.registryPath,S.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(g=D(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=F.components,u=F.components.filter(fe=>fe.isRegistered)}}}if(m&&a){g=se(e,g),g=ae(e,g);let C=N(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function nr(e,t){let r=e.ts.factory.createIdentifier(t.importName),n=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[r]):r;return e.ts.factory.createPropertyAssignment("component",n)}function Ki(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([nr(e,t)],!0),t)}async function Mi(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Bt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function rr(e){let t=[],r=await qi(e,t);return t.push(...await Vt(e)),await Ji(e,r),await zi(e,t),t}async function or(e){let t=[];return await Ui(e,t),t}async function Ui(e,t){let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureFigmaImportRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureFigmaImportRoute, hasRoute: ${o}`);let i=await e.formatCode(n,ir({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function zi(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,ir({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function ir({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=v(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Ze}`;return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${Ze}`),n&&(s+="!"),`
396
396
  import { BuilderComponent, builder } from "@builder.io/react";
397
397
  import { useLoaderData } from "@remix-run/react";
398
398
  import { CUSTOM_COMPONENTS } from ${JSON.stringify(o)};
@@ -449,7 +449,7 @@ export default function Page() {
449
449
  ${n?`
450
450
  declare global {
451
451
  interface Env {
452
- ${et}: string;
452
+ ${Ze}: string;
453
453
  }
454
454
  }
455
455
  `:""}
@@ -521,18 +521,18 @@ export default Counter;
521
521
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
522
522
  ];`:`export const CUSTOM_COMPONENTS = [
523
523
  ];
524
- `}async function ar(e){let t=await Yi(e);return{builderPageOptions:async()=>{let n="/builder-demo",o=t.hasLocaleParam?`/en-us${n}`:void 0;return{templateContentId:"a5c9eef7909d4fc99554264a17de22c9",pathname:n,localePathname:o,title:"Builder + Remix Demo Page"}},ensureBuilderSetup:()=>rr(t),ensureFigmaImportPage:()=>or(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ce(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ce(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ce(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ce(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ce(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ce(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ze(t),setPublicApiKey:n=>Zn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function Yi(e){let t=await Xi(e),r=await Zi(e),n=e.dirname(r),o=e.join(n,"components"),i=await Gi(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a),p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await Hi(e,r)};return p.sdkVersion=await Be(p),p}function Gi(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Hi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function Xi(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function Zi(e){let t=await $e(e,e.getRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function tt(e){let t=[".env"],r=e.configType==="vite"?dt:Kt;return await Se(e,t,r)}async function sr(e,t){let r=await tt(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var dt="VITE_PUBLIC_BUILDER_KEY",Kt="YOUR_PUBLIC_BUILDER_KEY";function pr(e,t){let r=`Builder.registerComponent(
524
+ `}async function ar(e){let t=await Yi(e);return{builderPageOptions:async()=>{let n="/builder-demo",o=t.hasLocaleParam?`/en-us${n}`:void 0;return{templateContentId:"a5c9eef7909d4fc99554264a17de22c9",pathname:n,localePathname:o,title:"Builder + Remix Demo Page"}},ensureBuilderSetup:()=>rr(t),ensureFigmaImportPage:()=>or(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ce(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ce(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ce(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ce(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ce(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ce(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Xe(t),setPublicApiKey:n=>Zn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function Yi(e){let t=await Xi(e),r=await Zi(e),n=e.dirname(r),o=e.join(n,"components"),i=await Gi(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a),p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await Hi(e,r)};return p.sdkVersion=await Be(p),p}function Gi(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Hi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function Xi(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function Zi(e){let t=await $e(e,e.getRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function et(e){let t=[".env"],r=e.configType==="vite"?ft:$t;return await Se(e,t,r)}async function sr(e,t){let r=await et(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ft="VITE_PUBLIC_BUILDER_KEY",$t="YOUR_PUBLIC_BUILDER_KEY";function pr(e,t){let r=`Builder.registerComponent(
525
525
  `;r+=` ${t.importName},
526
526
  `,r+=` {
527
527
  name: "${t.name}",
528
528
  }
529
- `,r+=");";let n=lt(e,r);return $t(e,n,t)}function $t(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=$(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function cr(e){let t=await e.readFile(e.registryPath);return t?ea(e,t):{components:[],sourceFile:E(e,"")}}async function ea(e,t){let r=E(e,t);return ta(e,r)}async function ta(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let l=i.arguments;if(l.length<2)continue;let d=l[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=l[0];if(e.ts.isIdentifier(f)){let c=await na(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}async function na(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),p=s.find(l=>l.importClause&&l.importClause.name?.text===n.text);if(p){let l=p.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;a.filePath=await lr(e,l.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await lr(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=W(e,a,o),a.displayFilePath=A(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function lr(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function ue(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f,c]=await Promise.all([vn(e,p),cr(e),Mt(e),tt(e)]),u=l.map(P=>P.cmpInfo),h=d.components,m={components:ee(u,h),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await ke(e,m.components),m;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let R=l.find(B=>B.cmpInfo.id===S);if(!R)throw new Error(`Component ${S} not found`);return R}),I=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),T=await K(e,I);for(let S of P){let R=m.components.find(V=>V.id===S.cmpInfo.id),B=await _e(e,S,T);Z(R,B);let F=u.findIndex(V=>V.id===S.cmpInfo.id);u[F].inputs=B;let y=pe(S.cmpInfo.id,u,h,r,n,o,i),w=[...x.statements];if(y.addCmpToRegistry?(w.push(pr(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(w.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(w[y.nodeIndex]=$t(e,w[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){x=e.ts.factory.updateSourceFile(x,w),x=D(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let V=y.addCmpToRegistry||y.updateRegisteredCmp;if(V){let z=v(e,e.registryPath,V.filePath);V.exportType==="default"?x=D(e,x,{defaultImport:V.importName,importPath:z}):V.exportType==="named"&&(x=D(e,x,{namedImports:[V.importName],importPath:z}))}R?.acceptsChildren&&(x=D(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=y.components,h=y.components.filter(z=>z.isRegistered)}}}if(g&&a){x=se(e,x),x=ae(e,x);let P=N(e,x);P=H(P),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return m}async function ur(e){let t=[],r=await ia(e,t);if(await oa(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,ra(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function mr(e){return[]}function ra(e){let t=e.typescriptEnabled;return`
529
+ `,r+=");";let n=pt(e,r);return Kt(e,n,t)}function Kt(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=K(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function cr(e){let t=await e.readFile(e.registryPath);return t?ea(e,t):{components:[],sourceFile:E(e,"")}}async function ea(e,t){let r=E(e,t);return ta(e,r)}async function ta(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let l=i.arguments;if(l.length<2)continue;let d=l[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=l[0];if(e.ts.isIdentifier(f)){let c=await na(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}async function na(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),p=s.find(l=>l.importClause&&l.importClause.name?.text===n.text);if(p){let l=p.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;a.filePath=await lr(e,l.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await lr(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=W(e,a,o),a.displayFilePath=A(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function lr(e,t){return We(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function ue(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f,c]=await Promise.all([vn(e,p),cr(e),Mt(e),et(e)]),u=l.map(P=>P.cmpInfo),h=d.components,m={components:ee(u,h),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await ke(e,m.components),m;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let R=l.find(B=>B.cmpInfo.id===S);if(!R)throw new Error(`Component ${S} not found`);return R}),I=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),T=await $(e,I);for(let S of P){let R=m.components.find(V=>V.id===S.cmpInfo.id),B=await _e(e,S,T);Z(R,B);let F=u.findIndex(V=>V.id===S.cmpInfo.id);u[F].inputs=B;let y=pe(S.cmpInfo.id,u,h,r,n,o,i),w=[...x.statements];if(y.addCmpToRegistry?(w.push(pr(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(w.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(w[y.nodeIndex]=Kt(e,w[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){x=e.ts.factory.updateSourceFile(x,w),x=D(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let V=y.addCmpToRegistry||y.updateRegisteredCmp;if(V){let z=v(e,e.registryPath,V.filePath);V.exportType==="default"?x=D(e,x,{defaultImport:V.importName,importPath:z}):V.exportType==="named"&&(x=D(e,x,{namedImports:[V.importName],importPath:z}))}R?.acceptsChildren&&(x=D(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=y.components,h=y.components.filter(z=>z.isRegistered)}}}if(g&&a){x=se(e,x),x=ae(e,x);let P=N(e,x);P=H(P),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return m}async function ur(e){let t=[],r=await ia(e,t);if(await oa(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,ra(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function mr(e){return[]}function ra(e){let t=e.typescriptEnabled;return`
530
530
  import React from "react";
531
531
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
532
532
  import ${JSON.stringify(v(e,e.builderComponentPath,e.registryPath))};
533
533
 
534
534
  // Builder Public API Key set in .env file
535
- ${e.configType==="vite"?`builder.init(import.meta.env.${dt}${t?"!":""})`:`builder.init("${Kt}")`}
535
+ ${e.configType==="vite"?`builder.init(import.meta.env.${ft}${t?"!":""})`:`builder.init("${$t}")`}
536
536
 
537
537
  export default function BuilderPage() {
538
538
  const isPreviewingInBuilder = useIsPreviewing();
@@ -640,61 +640,59 @@ export default Counter;
640
640
  font-size: 42px;
641
641
  text-align: center;
642
642
  }
643
- `.trimStart();return{component:r,styles:n}}async function fr(e){let t=await sa(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>ur(t),ensureFigmaImportPage:()=>mr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ue(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ue(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ue(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ue(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ue(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ue(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tt(t),setPublicApiKey:n=>sr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function sa(e){let t=await pa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Mt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return a.sdkVersion=await Be(a),t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function Mt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function pa(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function nt(e){return await la(e,["environment.ts"],Ve)}async function dr(e,t){let r=await nt(e),n=await fa(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function la(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),"src","environments",o),a=await ca(e,i);if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=i,n}return n.file=e.join(e.getRootDir(),"src","environments",t[t.length-1]),n}async function ca(e,t){let r=await e.readFile(t);return r?ua(e,r):""}function ua(e,t){let r=E(e,t),n="",i=Le(e,r,"environment");if(i&&i.statement.declarationList.declarations.length>0){let s=i.statement.declarationList.declarations[0].initializer;s&&e.ts.isObjectLiteralExpression(s)&&s.properties.forEach(p=>{e.ts.isPropertyAssignment(p)&&e.ts.isIdentifier(p.name)&&p.name.text===Ve&&e.ts.isStringLiteral(p.initializer)&&(n=p.initializer.text)})}return n}async function ma(e,t,r,n){let o=E(e,t),a=Le(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,p=s.declarations[0],l=p.initializer;if(l&&e.ts.isObjectLiteralExpression(l)){let d=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),f=e.ts.factory.createNodeArray([...l.properties,d]),c=e.ts.factory.updateObjectLiteralExpression(l,f),u=e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,c),h=e.ts.factory.updateVariableDeclarationList(s,[u]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,h)}return null}return null}async function fa(e,t,r,n){let o=await e.readFile(t);if(o)if(o.includes(r))e.debug(`"${r}" already set in ${t}`);else{e.debug(`Add "${r}" to ${t}`);let i=await ma(e,o,r,n);if(i){let a=N(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
643
+ `.trimStart();return{component:r,styles:n}}async function fr(e){let t=await sa(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>ur(t),ensureFigmaImportPage:()=>mr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ue(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ue(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ue(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ue(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ue(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ue(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>et(t),setPublicApiKey:n=>sr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function sa(e){let t=await pa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Mt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return a.sdkVersion=await Be(a),t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function Mt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function pa(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function tt(e){return await la(e,["environment.ts"],dt)}async function dr(e,t){let r=await tt(e),n=await fa(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function la(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),"src","environments",o),a=await ca(e,i);if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=i,n}return n.file=e.join(e.getRootDir(),"src","environments",t[t.length-1]),n}async function ca(e,t){let r=await e.readFile(t);return r?ua(e,r):""}function ua(e,t){let r=E(e,t),n="",i=Le(e,r,"environment");if(i&&i.statement.declarationList.declarations.length>0){let s=i.statement.declarationList.declarations[0].initializer;s&&e.ts.isObjectLiteralExpression(s)&&s.properties.forEach(p=>{e.ts.isPropertyAssignment(p)&&e.ts.isIdentifier(p.name)&&p.name.text===dt&&e.ts.isStringLiteral(p.initializer)&&(n=p.initializer.text)})}return n}async function ma(e,t,r,n){let o=E(e,t),a=Le(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,p=s.declarations[0],l=p.initializer;if(l&&e.ts.isObjectLiteralExpression(l)){let d=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),f=e.ts.factory.createNodeArray([...l.properties,d]),c=e.ts.factory.updateObjectLiteralExpression(l,f),u=e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,c),h=e.ts.factory.updateVariableDeclarationList(s,[u]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,h)}return null}return null}async function fa(e,t,r,n){let o=await e.readFile(t);if(o)if(o.includes(r))e.debug(`"${r}" already set in ${t}`);else{e.debug(`Add "${r}" to ${t}`);let i=await ma(e,o,r,n);if(i){let a=N(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
644
644
  // https://www.builder.io/c/docs/using-your-api-key
645
645
  export const environment = {
646
646
  production: false,
647
647
  builderApiKey: "${n}",
648
648
  };
649
- `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var Ve="builderApiKey";async function gr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(xa(e,i.fileName)||a.startsWith(".")||a==="node_modules"||da.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await gt(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var da=new Set([]),ga=new Set(["node_modules"]);function xa(e,t){for(let r of ga)if(e.dirname(t).includes(r))return!0;return!1}async function xr(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return ha(e,t,n)}return null}function ha(e,t,r){let n=E(e,r);return gt(e,null,t,n)}async function gt(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(p=>e.ts.isClassDeclaration(p)&&ya(e,p)),a=await Sa(e,t,r,n),s=Da(e,n);return await Promise.all(i.map(async p=>{let l=await Ca(e,t,r,p,s);o.push(...l)})),o.push(...a),o}async function hr(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await gt(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return a.cmpInfo.inputs}return[]}async function Cr(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await K(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let l=(await gt(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}}return a}))}async function Ca(e,t,r,n,o){let i=[],a=e.relative(e.getRootDir(),r),s=k(e,r),p=n.name?.text;if(!p)return i;let l=!1;n.modifiers&&(l=n.modifiers.some(u=>u.kind===e.ts.SyntaxKind.DefaultKeyword));let d=l?"default":p,f=l?"default":"named",c=[];return n.members.forEach(u=>{if(e.ts.isPropertyDeclaration(u)){let h=e.ts.getDecorators(u);h&&h.forEach(m=>{if(Pa(e,m)&&e.ts.isIdentifier(u.name)){let g="any";if(u.type&&t){let C=t.getTypeAtLocation(u.type);g=t.typeToString(C)}else g=Ta(e,u.type);let x={name:u.name.text,type:o[g]?"string":g};o[g]&&(x.enum=o[g]),c.push(x)}})}}),i.push({cmpInfo:{id:await _(e,r,p),displayFilePath:A(e,r),name:j(p),inputs:c,exportName:d,exportType:f,importName:p,filePath:r,relFilePath:a,importPath:s},node:{name:p,fnNode:n,deps:void 0}}),i}async function Sa(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);for(let s of n.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let p of s.exportClause.elements){let l=p.name?.text;if(!l)continue;let d=l,f="named",c=[];if(t){let u=t.getSymbolAtLocation(p.name);if(u){let h=t.getDeclaredTypeOfSymbol(u);t.getPropertiesOfType(h).forEach(g=>{let x=g.getDeclarations();x&&x.forEach(C=>{if(e.ts.isPropertyDeclaration(C)){let P=t.getTypeAtLocation(C),I={name:g.getName(),type:Ea(e,t,P)};c.push(I)}})})}}o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:A(e,r),name:j(l),inputs:c,exportName:d,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a},node:{name:l,fnNode:p,deps:void 0}})}return o}function Pa(e,t){if(e.ts.isCallExpression(t.expression)){let r=t.expression;if(e.ts.isIdentifier(r.expression))return r.expression?.text==="Input"}return!1}function ya(e,t){return!!e.ts.getDecorators(t)?.some(o=>e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="Component")}function Ta(e,t){if(!t)return"any";let r="any";switch(t.kind){case e.ts.SyntaxKind.StringKeyword:r="string";break;case e.ts.SyntaxKind.NumberKeyword:r="number";break;case e.ts.SyntaxKind.BooleanKeyword:r="boolean";break;case e.ts.SyntaxKind.TypeReference:e.ts.isTypeReferenceNode(t);break}return r.includes("|")?"string":r}function Da(e,t){let r={};return e.ts.forEachChild(t,n=>{e.ts.isTypeAliasDeclaration(n)&&e.ts.isUnionTypeNode(n.type)&&n.type.types.every(o=>e.ts.isLiteralTypeNode(o)&&e.ts.isStringLiteral(o.literal))&&(r[n.name.text]=n.type.types.map(o=>o.literal.text))}),r}function Ea(e,t,r){let n=t.typeToString(r);if(n==="any"){let o=r.getSymbol();if(o){let i=o.getDeclarations();if(i&&i.length>0){let a=i[0];if(e.ts.isVariableDeclaration(a)){let s=a.type;s&&(n=t.typeToString(t.getTypeAtLocation(s)))}}}}return n}async function Pr(e){let t=e.typescriptEnabled?".ts":".js",r=`app.module${t}`,n=e.join(e.appDir,r),o=await e.readFile(n);if(!o){console.error(`Unable to read app.module.${t} at ${n}`);return}let i=await wa(e,n,o);if(!i){console.error(`Unable to update app.module.${t} at ${n}`);return}return await e.writeFile(n,i),n}async function wa(e,t,r){let o=e.typescriptEnabled?"ts":"js",i=r,a=E(e,r),s=v(e,t,e.builderPageComponentPath),p=e.join(e.componentsDir,`counter.component.${o}`);a=D(e,a,{namedImports:["BuilderPage"],importPath:s});let l=v(e,t,p);a=D(e,a,{namedImports:["Counter"],importPath:l}),a=D(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let d=[];for(let f of a.statements)if(e.ts.isClassDeclaration(f)&&f.name?.text==="AppModule"){let c=va(e,f);d.push(c)}else d.push(f);return a=e.ts.factory.updateSourceFile(a,d),i=N(e,a),i}function va(e,t){let r=e.ts.getDecorators(t);if(r){for(let n of r)if(e.ts.isCallExpression(n.expression)&&e.ts.isIdentifier(n.expression.expression)&&n.expression.expression.text==="NgModule"){let o=n.expression.arguments;if(o.length===1&&e.ts.isObjectLiteralExpression(o[0])){let i=Ut(e,o[0],"declarations","BuilderPage");if(i&&(i=Ut(e,i,"declarations","Counter"),i&&(i=Ut(e,i,"imports","Content"),i))){let a=e.ts.factory.updateDecorator(n,e.ts.factory.updateCallExpression(n.expression,n.expression.expression,n.expression.typeArguments,[i])),p=[...r.map(l=>l===n?a:l),...e.ts.getModifiers(t)||[]];return e.ts.factory.updateClassDeclaration(t,p,t.name,t.typeParameters,t.heritageClauses,t.members)}}}}return t}function Ut(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>b(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let p=Sr(e,s.initializer,n);if(p)return o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,p),e.ts.factory.updateObjectLiteralExpression(t,o)}return null}let a=Sr(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Sr(e,t,r){return t.elements.some(o=>e.ts.isIdentifier(o)?o.text===r:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(r)])}async function yr(e){let t=[],r=await Na(e,t);if(t.push(...await zt(e)),await ba(e,r),!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,Ia(e));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}let n=await Pr(e);return n&&t.push({filePath:n,modifiedType:"update"}),t}async function zt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ra(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Tr(e){return[]}async function ba(e,t){let n=(await me(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await me(e,n.id,!0,!1,null,null,!0,!1)}function Ia(e){let t=v(e,e.builderPageComponentPath,e.registryPath),r=e.join(e.getRootDir(),"src","environments","environment.ts"),n=v(e,e.builderPageComponentPath,r);return`
650
- import { Component, ChangeDetectorRef } from '@angular/core';
651
- import { _processContentResult, fetchOneEntry } from '@builder.io/sdk-angular';
652
- import { environment } from ${JSON.stringify(n)};
653
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(t)};
654
-
655
- ${e.typescriptEnabled?`
656
- interface BuilderProps {
657
- apiVersion: string;
658
- canTrack?: boolean;
659
- trustedHosts?: undefined;
660
- apiKey: string;
661
- model: string;
662
- content: any;
663
- }`:""}
649
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var dt="builderApiKey";async function gr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(xa(e,i.fileName)||a.startsWith(".")||a==="node_modules"||da.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await gt(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var da=new Set([]),ga=new Set(["node_modules"]);function xa(e,t){for(let r of ga)if(e.dirname(t).includes(r))return!0;return!1}async function xr(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return ha(e,t,n)}return null}function ha(e,t,r){let n=E(e,r);return gt(e,null,t,n)}async function gt(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(p=>e.ts.isClassDeclaration(p)&&ya(e,p)),a=await Sa(e,t,r,n),s=Da(e,n);return await Promise.all(i.map(async p=>{let l=await Ca(e,t,r,p,s);o.push(...l)})),o.push(...a),o}async function hr(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await gt(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return a.cmpInfo.inputs}return[]}async function Cr(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await $(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let l=(await gt(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}}return a}))}async function Ca(e,t,r,n,o){let i=[],a=e.relative(e.getRootDir(),r),s=k(e,r),p=n.name?.text;if(!p)return i;let l=!1;n.modifiers&&(l=n.modifiers.some(u=>u.kind===e.ts.SyntaxKind.DefaultKeyword));let d=l?"default":p,f=l?"default":"named",c=[];return n.members.forEach(u=>{if(e.ts.isPropertyDeclaration(u)){let h=e.ts.getDecorators(u);h&&h.forEach(m=>{if(Pa(e,m)&&e.ts.isIdentifier(u.name)){let g="any";if(u.type&&t){let C=t.getTypeAtLocation(u.type);g=t.typeToString(C)}else g=Ta(e,u.type);let x={name:u.name.text,type:o[g]?"string":g};o[g]&&(x.enum=o[g]),c.push(x)}})}}),i.push({cmpInfo:{id:await _(e,r,p),displayFilePath:A(e,r),name:j(p),inputs:c,exportName:d,exportType:f,importName:p,filePath:r,relFilePath:a,importPath:s},node:{name:p,fnNode:n,deps:void 0}}),i}async function Sa(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);for(let s of n.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let p of s.exportClause.elements){let l=p.name?.text;if(!l)continue;let d=l,f="named",c=[];if(t){let u=t.getSymbolAtLocation(p.name);if(u){let h=t.getDeclaredTypeOfSymbol(u);t.getPropertiesOfType(h).forEach(g=>{let x=g.getDeclarations();x&&x.forEach(C=>{if(e.ts.isPropertyDeclaration(C)){let P=t.getTypeAtLocation(C),I={name:g.getName(),type:Ea(e,t,P)};c.push(I)}})})}}o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:A(e,r),name:j(l),inputs:c,exportName:d,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a},node:{name:l,fnNode:p,deps:void 0}})}return o}function Pa(e,t){if(e.ts.isCallExpression(t.expression)){let r=t.expression;if(e.ts.isIdentifier(r.expression))return r.expression?.text==="Input"}return!1}function ya(e,t){return!!e.ts.getDecorators(t)?.some(o=>e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="Component")}function Ta(e,t){if(!t)return"any";let r="any";switch(t.kind){case e.ts.SyntaxKind.StringKeyword:r="string";break;case e.ts.SyntaxKind.NumberKeyword:r="number";break;case e.ts.SyntaxKind.BooleanKeyword:r="boolean";break;case e.ts.SyntaxKind.TypeReference:e.ts.isTypeReferenceNode(t);break}return r.includes("|")?"string":r}function Da(e,t){let r={};return e.ts.forEachChild(t,n=>{e.ts.isTypeAliasDeclaration(n)&&e.ts.isUnionTypeNode(n.type)&&n.type.types.every(o=>e.ts.isLiteralTypeNode(o)&&e.ts.isStringLiteral(o.literal))&&(r[n.name.text]=n.type.types.map(o=>o.literal.text))}),r}function Ea(e,t,r){let n=t.typeToString(r);if(n==="any"){let o=r.getSymbol();if(o){let i=o.getDeclarations();if(i&&i.length>0){let a=i[0];if(e.ts.isVariableDeclaration(a)){let s=a.type;s&&(n=t.typeToString(t.getTypeAtLocation(s)))}}}}return n}async function Pr(e){let t=e.typescriptEnabled?".ts":".js",r=`app.module${t}`,n=e.join(e.appDir,r),o=await e.readFile(n);if(!o){console.error(`Unable to read app.module.${t} at ${n}`);return}let i=await wa(e,n,o);if(!i){console.error(`Unable to update app.module.${t} at ${n}`);return}return await e.writeFile(n,i),n}async function wa(e,t,r){let o=e.typescriptEnabled?"ts":"js",i=r,a=E(e,r),s=v(e,t,e.builderPageComponentPath),p=e.join(e.componentsDir,`counter.component.${o}`);a=D(e,a,{namedImports:["BuilderPage"],importPath:s});let l=v(e,t,p);a=D(e,a,{namedImports:["Counter"],importPath:l}),a=D(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let d=[];for(let f of a.statements)if(e.ts.isClassDeclaration(f)&&f.name?.text==="AppModule"){let c=va(e,f);d.push(c)}else d.push(f);return a=e.ts.factory.updateSourceFile(a,d),i=N(e,a),i}function va(e,t){let r=e.ts.getDecorators(t);if(r){for(let n of r)if(e.ts.isCallExpression(n.expression)&&e.ts.isIdentifier(n.expression.expression)&&n.expression.expression.text==="NgModule"){let o=n.expression.arguments;if(o.length===1&&e.ts.isObjectLiteralExpression(o[0])){let i=Ut(e,o[0],"declarations","BuilderPage");if(i&&(i=Ut(e,i,"declarations","Counter"),i&&(i=Ut(e,i,"imports","Content"),i))){let a=e.ts.factory.updateDecorator(n,e.ts.factory.updateCallExpression(n.expression,n.expression.expression,n.expression.typeArguments,[i])),p=[...r.map(l=>l===n?a:l),...e.ts.getModifiers(t)||[]];return e.ts.factory.updateClassDeclaration(t,p,t.name,t.typeParameters,t.heritageClauses,t.members)}}}}return t}function Ut(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>b(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let p=Sr(e,s.initializer,n);if(p)return o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,p),e.ts.factory.updateObjectLiteralExpression(t,o)}return null}let a=Sr(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Sr(e,t,r){return t.elements.some(o=>e.ts.isIdentifier(o)?o.text===r:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(r)])}async function yr(e){let t=[],r=await Na(e,t);if(t.push(...await zt(e)),await ba(e,r),!await e.exists(e.builderPageComponentPath)){let n=await e.formatCode(e.builderPageComponentPath,Ia(e));await e.writeFile(e.builderPageComponentPath,n),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){let n=await Pr(e);n&&t.push({filePath:n,modifiedType:"update"})}return t}async function zt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ra(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Tr(e){let t=[];return await Fa(e,t),t}async function ba(e,t){let n=(await me(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await me(e,n.id,!0,!1,null,null,!0,!1)}function Ia(e){let t=!e.hasAppModule,r=v(e,e.builderPageComponentPath,e.registryPath),n=e.join(e.getRootDir(),"src","environments","environment.ts"),o=v(e,e.builderPageComponentPath,n);return`
650
+ import { Component, Input } from '@angular/core';
651
+ import { fetchOneEntry, type BuilderContent } from '@builder.io/sdk-angular';
652
+ ${t?"import { Content } from '@builder.io/sdk-angular';":""}
653
+ ${t?"import { CommonModule } from '@angular/common';":""}
654
+ import { environment } from ${JSON.stringify(o)};
655
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(r)};
664
656
 
665
657
  @Component({
666
658
  selector: 'app-builder-page',
659
+ ${t?"standalone: true,":""}
660
+ ${t?"imports: [Content, CommonModule],":""}
667
661
  template: \`
668
- <content
669
- [model]="model"
670
- [content]="content"
671
- [apiKey]="apiKey"
672
- [customComponents]="customComponents"
673
- ></content>
662
+ <ng-container *ngIf="content; else notFound">
663
+ <builder-content
664
+ [model]="model"
665
+ [content]="content"
666
+ [apiKey]="apiKey"
667
+ [customComponents]="customComponents"
668
+ ></builder-content>
669
+ </ng-container>
670
+
671
+ <ng-template #notFound>
672
+ <div>404 - Content not found</div>
673
+ </ng-template>
674
674
  \`,
675
675
  })
676
676
  export class BuilderPage {
677
677
  title = 'builder page';
678
+
679
+ @Input() model ${e.typescriptEnabled?": string":""} = 'page'; // Default model is 'page'
680
+
681
+ apiKey = environment.${dt};
678
682
  ${e.typescriptEnabled?`
679
- apiKey: BuilderProps['apiKey'] = environment.${Ve};
680
- model: BuilderProps['model'] = 'page';
681
- content: BuilderProps['content'];
683
+ content: BuilderContent | null = null;
682
684
  `:`
683
- apiKey = environment.${Ve};
684
- model = 'page';
685
685
  content = null;
686
686
  `}
687
687
 
688
688
  customComponents = CUSTOM_COMPONENTS;
689
689
 
690
- constructor(private cdr: ChangeDetectorRef) {}
691
-
692
690
  async ngOnInit() {
693
691
  const urlPath = window.location.pathname || '/';
694
692
 
695
693
  const builderContent = await fetchOneEntry({
696
- model: 'page',
697
- apiKey: environment.${Ve},
694
+ model: this.model,
695
+ apiKey: this.apiKey,
698
696
  userAttributes: {
699
697
  urlPath,
700
698
  },
@@ -705,8 +703,6 @@ export class BuilderPage {
705
703
  }
706
704
 
707
705
  this.content = builderContent;
708
-
709
- this.cdr.detectChanges();
710
706
  }
711
707
  }
712
708
 
@@ -715,11 +711,12 @@ export class BuilderPage {
715
711
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
716
712
  ];`:`export const CUSTOM_COMPONENTS = [
717
713
  ];
718
- `}async function Na(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=Aa();if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Aa(){return`
714
+ `}async function Na(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=Aa(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Aa(e){return`
719
715
  import { Component, Input } from '@angular/core';
720
716
 
721
717
  @Component({
722
718
  selector: 'app-counter',
719
+ ${e.hasAppModule?"":"standalone: true,"}
723
720
  template: \`
724
721
  <div class="counter">
725
722
  <button class="btn" (click)="decrement()">-</button>
@@ -782,17 +779,36 @@ export class Counter {
782
779
  }
783
780
  }
784
781
 
785
- `.trimStart()}async function Dr(e){await zt(e);let t=await e.readFile(e.registryPath);return t?Fa(e,t):{components:[],sourceFile:E(e,"")}}async function Fa(e,t){let r=E(e,t);return Oa(e,r)}async function Oa(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await qt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function qt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let d=s.arguments[0];e.ts.isIdentifier(d)&&(a=d.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ye(e,e.registryPath,t,a);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,n.importPath=k(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let l=await xr(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let d=l.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function me(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f]=await Promise.all([gr(e,p),Dr(e),nt(e)]),c=l.map(C=>C.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Cr(e,h.components),h;let m=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let S=l.find(R=>R.cmpInfo.id===T);if(!S)throw new Error(`Component ${T} not found`);return S}),P=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),I=await K(e,P);for(let T of C){let S=h.components.find(L=>L.id===T.cmpInfo.id),R=await hr(e,T,I);Z(S,R);let B=c.findIndex(L=>L.id===T.cmpInfo.id);c[B].inputs=R;let F=pe(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:w,statementIndex:V,statement:z,variableDeclaration:q}=await ka(e,g,T);if(F.addCmpToRegistry)y.push(La(e,F.addCmpToRegistry)),m=!0;else if(F.removeCmpFromRegistry)y.splice(w,1),m=!0;else if(F.updateRegisteredCmp){let L=$(e,y[w],F.updateRegisteredCmp);y[w]=e.ts.factory.updateObjectLiteralExpression(L,[Er(e,F.updateRegisteredCmp),...L.properties.slice(1)]),m=!0}if(m&&a){let L=[...g.statements];L[V]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(q,q.name,q.exclamationToken,q.type,e.ts.factory.createArrayLiteralExpression(De(e,y)))])),g=e.ts.factory.updateSourceFile(g,L),S.exportType==="named"?g=D(e,g,{namedImports:[S.importName],importPath:v(e,e.registryPath,S.filePath)}):g=D(e,g,{defaultImport:S.importName,importPath:v(e,e.registryPath,S.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=F.components,u=F.components.filter(fe=>fe.isRegistered)}}}if(m&&a){g=se(e,g),g=ae(e,g);let C=N(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Er(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function La(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([Er(e,t)],!0),t)}async function ka(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await qt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function wr(e){let t=await _a(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>yr(t),ensureFigmaImportPage:()=>Tr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>me(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await me(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>me(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>me(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>me(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>me(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>nt(t),setPublicApiKey:n=>dr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function _a(e){let t=await Ba(e),r=e.getRootDir(),n=e.join(r,"src"),o=await ja(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:""};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);return a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(a.appDir,"components"),a.registryPath=e.join(a.appDir,i),a.builderPageComponentPath=e.join(a.componentsDir,`builder-page.component.${o?"ts":"js"}`),a}function ja(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Ba(e){let t=e.join(e.getRootDir(),"angular.json");if(await e.exists(t))return t;throw new Error(`Could not find Angular config file. Searched for angular.json in "${e.getRootDir()}".`)}var yt=fo(Br(),1);async function Vr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:X(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:J(i.inputs)};return J(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,yt.compress)(n);return btoa(JSON.stringify(o))}async function Kr(e,t,r){if(typeof r!="string")throw new Error("Invalid registry to import");let n=await t.getRegistry(),o=JSON.parse(atob(r)),i=(0,yt.decompress)(o),a=J(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let p=X(e.normalize(s.filePath)),l=n.components.find(f=>X(f.filePath).endsWith(p)&&f.exportName===s.exportName);if(!l){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${l.id})`,l.filePath),await t.registerComponent({cmpId:l.id});for(let f of s.inputs)e.debug(`set input (${l.id})`),await t.setRegisteredComponentInput({cmpId:l.id,name:f.name,type:f.type,required:f.required,defaultValue:f.defaultValue,friendlyName:f.friendlyName,helperText:f.helperText});e.debug(`set input (${l.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:l.id,name:s.name,image:s.image,description:s.description});a=J(d)}return a}var te={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Nm={[te.react]:[{version:O.gen1,recommended:!0}],[te.remix]:[{version:O.gen1,recommended:!1}],[te.angular]:[{version:O.gen2,recommended:!0}],[te.next]:[{version:O.gen1,recommended:!0},{version:O.gen2,recommended:!1}],[te.qwik]:[{version:O.gen2,recommended:!0}]};var ps={"@builder.io/qwik-city":Xn,next:$n,"@remix-run/react":ar,react:fr,"@angular/core":wr},ls={"@builder.io/qwik-city":te.qwik,next:te.next,"@remix-run/react":te.remix,react:te.react,"@angular/core":te.angular};async function $r(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await Ce(e)),e.frameworks.length===0)throw new Error(`Supported Devtools framework for not found within ${e.getRootDir()}`);for(let t of e.frameworks){let r=ps[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Vr(e,n),importRegistry:i=>Kr(e,n,i),framework:ls[t.name]}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Mr(e){function t(f){if(typeof f!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(f))}function r(f,c){let u="",h=0,m=-1,g=0,x;for(let C=0;C<=f.length;++C){if(C<f.length)x=f.charCodeAt(C);else{if(x===47)break;x=47}if(x===47){if(!(m===C-1||g===1))if(m!==C-1&&g===2){if(u.length<2||h!==2||u.charCodeAt(u.length-1)!==46||u.charCodeAt(u.length-2)!==46){if(u.length>2){let P=u.lastIndexOf("/");if(P!==u.length-1){P===-1?(u="",h=0):(u=u.slice(0,P),h=u.length-1-u.lastIndexOf("/")),m=C,g=0;continue}}else if(u.length===2||u.length===1){u="",h=0,m=C,g=0;continue}}c&&(u.length>0?u+="/..":u="..",h=2)}else u.length>0?u+="/"+f.slice(m+1,C):u=f.slice(m+1,C),h=C-m-1;m=C,g=0}else x===46&&g!==-1?++g:g=-1}return u}let n=function(...c){let u="",h=!1;for(let m=c.length-1;m>=-1&&!h;m--){let g;m>=0?g=c[m]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(u=g+"/"+u,h=g.charCodeAt(0)===47)}return u=r(u,!h),h?u.length>0?"/"+u:"/":u.length>0?u:"."},o=function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0)===47,h=c.charCodeAt(c.length-1)===47;return c=r(c,!u),c.length===0&&!u&&(c="."),c.length>0&&h&&(c+="/"),u?"/"+c:c};return{relative:function(c,u){if(t(c),t(u),c===u||(c=n(c),u=n(u),c===u))return"";let h=1;for(;h<c.length&&c.charCodeAt(h)===47;++h);let m=c.length,g=m-h,x=1;for(;x<u.length&&u.charCodeAt(x)===47;++x);let P=u.length-x,I=g<P?g:P,T=-1,S=0;for(;S<=I;++S){if(S===I){if(P>I){if(u.charCodeAt(x+S)===47)return u.slice(x+S+1);if(S===0)return u.slice(x+S)}else g>I&&(c.charCodeAt(h+S)===47?T=S:S===0&&(T=0));break}let B=c.charCodeAt(h+S),F=u.charCodeAt(x+S);if(B!==F)break;B===47&&(T=S)}let R="";for(S=h+T+1;S<=m;++S)(S===m||c.charCodeAt(S)===47)&&(R.length===0?R+="..":R+="/..");return R.length>0?R+u.slice(x+T):(x+=T,u.charCodeAt(x)===47&&++x,u.slice(x))},resolve:n,join:function(...c){if(c.length===0)return".";let u;for(let h=0;h<c.length;++h){let m=c[h];t(m),m.length>0&&(u===void 0?u=m:u+="/"+m)}return u===void 0?".":o(u)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');t(c);let h=0,m=-1,g=!0,x;if(u!==void 0&&u.length>0&&u.length<=c.length){if(u.length===c.length&&u===c)return"";let C=u.length-1,P=-1;for(x=c.length-1;x>=0;--x){let I=c.charCodeAt(x);if(I===47){if(!g){h=x+1;break}}else P===-1&&(g=!1,P=x+1),C>=0&&(I===u.charCodeAt(C)?--C===-1&&(m=x):(C=-1,m=P))}return h===m?m=P:m===-1&&(m=c.length),c.slice(h,m)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!g){h=x+1;break}}else m===-1&&(g=!1,m=x+1);return m===-1?"":c.slice(h,m)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0),h=u===47,m=-1,g=!0;for(let x=c.length-1;x>=1;--x)if(u=c.charCodeAt(x),u===47){if(!g){m=x;break}}else g=!1;return m===-1?h?"/":".":h&&m===1?"//":c.slice(0,m)},extname:function(c){t(c);let u=-1,h=0,m=-1,g=!0,x=0;for(let C=c.length-1;C>=0;--C){let P=c.charCodeAt(C);if(P===47){if(!g){h=C+1;break}continue}m===-1&&(g=!1,m=C+1),P===46?u===-1?u=C:x!==1&&(x=1):u!==-1&&(x=-1)}return u===-1||m===-1||x===0||x===1&&u===m-1&&u===h+1?"":c.slice(u,m)}}}async function Ur(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Mr({cwd:r,...e}),o=new Map,i=m=>n.normalize(n.resolve(r(),m)),a=m=>{for(let[g]of o)if((g+"/").startsWith(m))return!0;return m===t()},s=m=>(m=i(m),o.has(m)?!0:a(m)),p=m=>{m=i(m);let g=m===t()?m:m+"/",x=g.split("/").length-1,C=[];for(let[P]of o)if(P.split("/").slice(0,x).join("/")+"/"===g){let S=P.split("/")[x];S&&!C.includes(S)&&C.push(S)}return C.sort()},l=m=>{m=i(m);let g=o.get(m);return typeof g=="string"?g:null},d=m=>(m=i(m),{isFile:()=>o.has(m),isDirectory:()=>!o.has(m)&&a(m)}),f=async m=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(m),P=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(P)).map(I=>I.toString(16).padStart(2,"0")).join("")}let g=0;for(let x=0;x<m.length;x++){let C=m.charCodeAt(x);g=(g<<5)-g+C,g|=0}return Number(Math.abs(g)).toString(36)},c=new Set,u={getRootDir:t,cwd:r,exists:async m=>s(m),existsSync:s,readdir:async m=>p(m),readdirSync:p,readFile:async m=>l(m),readFileSync:l,stat:async m=>d(m),statSync:d,writeFile:async(m,g)=>{m=i(m),o.set(m,g);let x={path:m,basename:n.basename(m),dirname:n.dirname(m),extname:n.extname(m)};for(let C of c)await C(x)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",formatCode:async(m,g)=>g,on:(m,g)=>{m==="change"&&c.add(g)},off:(m,g)=>{m==="change"&&c.delete(g)},debug:(...m)=>{console.debug("[builder-dev-tools]",...m)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null},h=await Ce(u);return u.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,u}async function zr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(qr(e,n))return o;let a=G(e,n,"cjs"),s=G(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=d.statement;if(!e.ts.isVariableStatement(f))throw new Error(`Expected an export assignment from ${t}`);let c=d.statement;if(e.ts.isVariableStatement(c)){let u=[...c.declarationList.declarations];if(u.length!==1)throw new Error("Expected a single variable declaration");let h=u[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let m=h.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let g="BuilderDevTools()",x=[...n.statements],C=x.indexOf(c);return x[C]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,x),n=D(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let p=a[0];if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let d=p.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=an(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=N(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let d=[...l.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=an(e,n);n=u.sourceFile;let h=[...n.statements],m=h.indexOf(l);return h[m]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(p.node)){let d=p.node,f=p.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let c=f.expression;if(!e.ts.isBinaryExpression(c))throw new Error("Expected a binary expression for the default export");let h=p.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let m=[...h.statements],g=m.findIndex(T=>e.ts.isReturnStatement(T));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=m[g],C=an(e,n);n=C.sourceFile,m[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[x.expression]));let P=[...n.statements],I=P.indexOf(f);return P[I]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(c,c.left,c.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(h,m)))),n=e.ts.factory.updateSourceFile(n,P),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function qr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/next"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function an(e,t){let r=qr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/next")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}async function Wr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Yr(e,n))return o;let a=G(e,n,"cjs"),s=G(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let p=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=d.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let c="builderDevTools()",u=cs(e,f.expression);if(!u)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[u]),m=[...n.statements],g=m.indexOf(f);return m[g]=e.ts.factory.updateExportAssignment(f,f.modifiers,h),n=e.ts.factory.updateSourceFile(n,m),n=D(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=N(e,n),o.hasContentUpdates=!0,o}}if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let d=p.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Qr(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=N(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let d=[...l.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=Qr(e,n);n=u.sourceFile;let h=[...n.statements],m=h.indexOf(l);return h[m]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Yr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Qr(e,t){let r=Yr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function cs(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Jr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Jr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Jr(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier('"@builder.io/react"')])}async function Hr(e,t,r){let n=E(e,r),o=G(e,n);if(o.length!==1)throw new Error(`Expected an export from ${t}`);let i=o[0];if(!i.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let a=i.statement;if(!e.ts.isExportAssignment(a))throw new Error(`Expected an export assignment from ${t}`);let s={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(e.ts.isCallExpression(i.node)&&e.ts.isIdentifier(i.node.expression)&&i.node.expression.text==="defineConfig"){let p=[...i.node.arguments];if(p.length===0)throw new Error("Expected an argument in defineConfig()");let l=p[0];if(e.ts.isArrowFunction(l)){let d=us(e,l);if(!d)return s;p[0]=e.ts.factory.updateArrowFunction(l,l.modifiers,l.typeParameters,l.parameters,l.type,l.equalsGreaterThanToken,d);let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,p)),n=e.ts.factory.updateSourceFile(n,f),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(l)){let d=sn(e,l);if(!d)return s;let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[d])),n=e.ts.factory.updateSourceFile(n,f),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let p=sn(e,a.expression);if(!p)return s;let l=[...n.statements],d=l.indexOf(a);return l[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,p),n=e.ts.factory.updateSourceFile(n,l),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function us(e,t){let r=t.body;if(!e.ts.isBlock(r))return null;let n=[...r.statements],o=n.findIndex(s=>e.ts.isReturnStatement(s));if(o===-1){let s=e.ts.factory.createReturnStatement(e.ts.factory.createObjectLiteralExpression());n.push(s),o=n.length-1}let i=n[o];if(!i.expression||!e.ts.isObjectLiteralExpression(i.expression))return null;let a=sn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function sn(e,t){if(ds(e)){let i=ms(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Gr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Gr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Gr(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="builderDevTools":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("builderDevTools"),void 0,[])])}function ms(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=fs(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=pn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o){let i=e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("noExternal",o)]);return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("ssr",i)])}return null}function fs(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=pn(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=pn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function pn(e,t){return t.elements.some(n=>e.ts.isStringLiteral(n)?n.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createStringLiteral("@builder.io/react")])}function ds(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Xr(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function eo(e,t,r){e.debug("Angular config updates are currently in progress...");try{await hs(e)}catch{console.error("Unable to update package.json.")}return await gs(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function gs(e){let t=e.getRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);let n=e.join(r,"main.ts"),o=await e.readFile(n);if(!o)throw new Error(`Unable to read main.ts at ${n}`);let i=await xs(e,o);await e.writeFile(n,i)}async function xs(e,t){let r=t,n=E(e,t),o=!1;for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isCallExpression(a.expression)&&e.ts.isPropertyAccessExpression(a.expression.expression)&&e.ts.isCallExpression(a.expression.expression.expression)&&e.ts.isIdentifier(a.expression.expression.expression.expression)&&a.expression.expression.expression.expression.text==="builderDevTools"){o=!0;break}n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
782
+ `.trimStart()}async function Fa(e,t){let r=`figma-imports.component.${e.typescriptEnabled?"ts":"js"}`,n=e.join(e.componentsDir,r);if(!await e.exists(n)){let o=await e.formatCode(n,Oa(e,n));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}}function Oa(e,t){let r=!e.hasAppModule,n=v(e,t,e.builderPageComponentPath);return`
783
+ import { Component } from '@angular/core';
784
+ ${r?"import { CommonModule } from '@angular/common';":""}
785
+
786
+ ${r?`import { BuilderPage } from ${JSON.stringify(n)};`:""}
787
+
788
+ @Component({
789
+ selector: 'app-figma-imports',
790
+ ${r?"standalone: true,":""}
791
+ ${r?"imports: [BuilderPage, CommonModule],":""}
792
+ template: \`
793
+ <app-builder-page [model]="'figma-imports'"></app-builder-page>
794
+ \`,
795
+ })
796
+ export class FigmaImportsPage {
797
+ title = 'figma imports';
798
+
799
+ }
800
+
801
+ `.trimStart()}async function Dr(e){await zt(e);let t=await e.readFile(e.registryPath);return t?La(e,t):{components:[],sourceFile:E(e,"")}}async function La(e,t){let r=E(e,t);return ka(e,r)}async function ka(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await qt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function qt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let d=s.arguments[0];e.ts.isIdentifier(d)&&(a=d.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ye(e,e.registryPath,t,a);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,n.importPath=k(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let l=await xr(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let d=l.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function me(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f]=await Promise.all([gr(e,p),Dr(e),tt(e)]),c=l.map(C=>C.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:A(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Cr(e,h.components),h;let m=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let S=l.find(R=>R.cmpInfo.id===T);if(!S)throw new Error(`Component ${T} not found`);return S}),P=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),I=await $(e,P);for(let T of C){let S=h.components.find(L=>L.id===T.cmpInfo.id),R=await hr(e,T,I);Z(S,R);let B=c.findIndex(L=>L.id===T.cmpInfo.id);c[B].inputs=R;let F=pe(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:w,statementIndex:V,statement:z,variableDeclaration:q}=await ja(e,g,T);if(F.addCmpToRegistry)y.push(_a(e,F.addCmpToRegistry)),m=!0;else if(F.removeCmpFromRegistry)y.splice(w,1),m=!0;else if(F.updateRegisteredCmp){let L=K(e,y[w],F.updateRegisteredCmp);y[w]=e.ts.factory.updateObjectLiteralExpression(L,[Er(e,F.updateRegisteredCmp),...L.properties.slice(1)]),m=!0}if(m&&a){let L=[...g.statements];L[V]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(q,q.name,q.exclamationToken,q.type,e.ts.factory.createArrayLiteralExpression(De(e,y)))])),g=e.ts.factory.updateSourceFile(g,L),S.exportType==="named"?g=D(e,g,{namedImports:[S.importName],importPath:v(e,e.registryPath,S.filePath)}):g=D(e,g,{defaultImport:S.importName,importPath:v(e,e.registryPath,S.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=F.components,u=F.components.filter(fe=>fe.isRegistered)}}}if(m&&a){g=se(e,g),g=ae(e,g);let C=N(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Er(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function _a(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([Er(e,t)],!0),t)}async function ja(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await qt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function wr(e){let t=await Ba(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>yr(t),ensureFigmaImportPage:()=>Tr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>me(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await me(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>me(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>me(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>me(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>me(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tt(t),setPublicApiKey:n=>dr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function Ba(e){let t=await $a(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Va(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:"",hasAppModule:!1};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(a.appDir,"components"),a.registryPath=e.join(a.appDir,i),a.builderPageComponentPath=e.join(a.componentsDir,`builder-page.component.${o?"ts":"js"}`);let s=`app.module.${o?"ts":"js"}`,p=e.join(a.appDir,s);return await e.exists(p)&&(a.hasAppModule=!0),a}function Va(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function $a(e){let t=e.join(e.getRootDir(),"angular.json");if(await e.exists(t))return t;throw new Error(`Could not find Angular config file. Searched for angular.json in "${e.getRootDir()}".`)}var yt=fo(Br(),1);async function Vr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:X(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:J(i.inputs)};return J(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,yt.compress)(n);return btoa(JSON.stringify(o))}async function $r(e,t,r){if(typeof r!="string")throw new Error("Invalid registry to import");let n=await t.getRegistry(),o=JSON.parse(atob(r)),i=(0,yt.decompress)(o),a=J(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let p=X(e.normalize(s.filePath)),l=n.components.find(f=>X(f.filePath).endsWith(p)&&f.exportName===s.exportName);if(!l){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${l.id})`,l.filePath),await t.registerComponent({cmpId:l.id});for(let f of s.inputs)e.debug(`set input (${l.id})`),await t.setRegisteredComponentInput({cmpId:l.id,name:f.name,type:f.type,required:f.required,defaultValue:f.defaultValue,friendlyName:f.friendlyName,helperText:f.helperText});e.debug(`set input (${l.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:l.id,name:s.name,image:s.image,description:s.description});a=J(d)}return a}var te={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Fm={[te.react]:[{version:O.gen1,recommended:!0}],[te.remix]:[{version:O.gen1,recommended:!1}],[te.angular]:[{version:O.gen2,recommended:!0}],[te.next]:[{version:O.gen1,recommended:!0},{version:O.gen2,recommended:!1}],[te.qwik]:[{version:O.gen2,recommended:!0}]};var cs={"@builder.io/qwik-city":Xn,next:Kn,"@remix-run/react":ar,react:fr,"@angular/core":wr},us={"@builder.io/qwik-city":te.qwik,next:te.next,"@remix-run/react":te.remix,react:te.react,"@angular/core":te.angular};async function Kr(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await Ce(e)),e.frameworks.length===0)throw new Error(`Supported Devtools framework for not found within ${e.getRootDir()}`);for(let t of e.frameworks){let r=cs[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Vr(e,n),importRegistry:i=>$r(e,n,i),framework:us[t.name]}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Mr(e){function t(f){if(typeof f!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(f))}function r(f,c){let u="",h=0,m=-1,g=0,x;for(let C=0;C<=f.length;++C){if(C<f.length)x=f.charCodeAt(C);else{if(x===47)break;x=47}if(x===47){if(!(m===C-1||g===1))if(m!==C-1&&g===2){if(u.length<2||h!==2||u.charCodeAt(u.length-1)!==46||u.charCodeAt(u.length-2)!==46){if(u.length>2){let P=u.lastIndexOf("/");if(P!==u.length-1){P===-1?(u="",h=0):(u=u.slice(0,P),h=u.length-1-u.lastIndexOf("/")),m=C,g=0;continue}}else if(u.length===2||u.length===1){u="",h=0,m=C,g=0;continue}}c&&(u.length>0?u+="/..":u="..",h=2)}else u.length>0?u+="/"+f.slice(m+1,C):u=f.slice(m+1,C),h=C-m-1;m=C,g=0}else x===46&&g!==-1?++g:g=-1}return u}let n=function(...c){let u="",h=!1;for(let m=c.length-1;m>=-1&&!h;m--){let g;m>=0?g=c[m]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(u=g+"/"+u,h=g.charCodeAt(0)===47)}return u=r(u,!h),h?u.length>0?"/"+u:"/":u.length>0?u:"."},o=function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0)===47,h=c.charCodeAt(c.length-1)===47;return c=r(c,!u),c.length===0&&!u&&(c="."),c.length>0&&h&&(c+="/"),u?"/"+c:c};return{relative:function(c,u){if(t(c),t(u),c===u||(c=n(c),u=n(u),c===u))return"";let h=1;for(;h<c.length&&c.charCodeAt(h)===47;++h);let m=c.length,g=m-h,x=1;for(;x<u.length&&u.charCodeAt(x)===47;++x);let P=u.length-x,I=g<P?g:P,T=-1,S=0;for(;S<=I;++S){if(S===I){if(P>I){if(u.charCodeAt(x+S)===47)return u.slice(x+S+1);if(S===0)return u.slice(x+S)}else g>I&&(c.charCodeAt(h+S)===47?T=S:S===0&&(T=0));break}let B=c.charCodeAt(h+S),F=u.charCodeAt(x+S);if(B!==F)break;B===47&&(T=S)}let R="";for(S=h+T+1;S<=m;++S)(S===m||c.charCodeAt(S)===47)&&(R.length===0?R+="..":R+="/..");return R.length>0?R+u.slice(x+T):(x+=T,u.charCodeAt(x)===47&&++x,u.slice(x))},resolve:n,join:function(...c){if(c.length===0)return".";let u;for(let h=0;h<c.length;++h){let m=c[h];t(m),m.length>0&&(u===void 0?u=m:u+="/"+m)}return u===void 0?".":o(u)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');t(c);let h=0,m=-1,g=!0,x;if(u!==void 0&&u.length>0&&u.length<=c.length){if(u.length===c.length&&u===c)return"";let C=u.length-1,P=-1;for(x=c.length-1;x>=0;--x){let I=c.charCodeAt(x);if(I===47){if(!g){h=x+1;break}}else P===-1&&(g=!1,P=x+1),C>=0&&(I===u.charCodeAt(C)?--C===-1&&(m=x):(C=-1,m=P))}return h===m?m=P:m===-1&&(m=c.length),c.slice(h,m)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!g){h=x+1;break}}else m===-1&&(g=!1,m=x+1);return m===-1?"":c.slice(h,m)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0),h=u===47,m=-1,g=!0;for(let x=c.length-1;x>=1;--x)if(u=c.charCodeAt(x),u===47){if(!g){m=x;break}}else g=!1;return m===-1?h?"/":".":h&&m===1?"//":c.slice(0,m)},extname:function(c){t(c);let u=-1,h=0,m=-1,g=!0,x=0;for(let C=c.length-1;C>=0;--C){let P=c.charCodeAt(C);if(P===47){if(!g){h=C+1;break}continue}m===-1&&(g=!1,m=C+1),P===46?u===-1?u=C:x!==1&&(x=1):u!==-1&&(x=-1)}return u===-1||m===-1||x===0||x===1&&u===m-1&&u===h+1?"":c.slice(u,m)}}}async function Ur(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Mr({cwd:r,...e}),o=new Map,i=m=>n.normalize(n.resolve(r(),m)),a=m=>{for(let[g]of o)if((g+"/").startsWith(m))return!0;return m===t()},s=m=>(m=i(m),o.has(m)?!0:a(m)),p=m=>{m=i(m);let g=m===t()?m:m+"/",x=g.split("/").length-1,C=[];for(let[P]of o)if(P.split("/").slice(0,x).join("/")+"/"===g){let S=P.split("/")[x];S&&!C.includes(S)&&C.push(S)}return C.sort()},l=m=>{m=i(m);let g=o.get(m);return typeof g=="string"?g:null},d=m=>(m=i(m),{isFile:()=>o.has(m),isDirectory:()=>!o.has(m)&&a(m)}),f=async m=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(m),P=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(P)).map(I=>I.toString(16).padStart(2,"0")).join("")}let g=0;for(let x=0;x<m.length;x++){let C=m.charCodeAt(x);g=(g<<5)-g+C,g|=0}return Number(Math.abs(g)).toString(36)},c=new Set,u={getRootDir:t,cwd:r,exists:async m=>s(m),existsSync:s,readdir:async m=>p(m),readdirSync:p,readFile:async m=>l(m),readFileSync:l,stat:async m=>d(m),statSync:d,writeFile:async(m,g)=>{m=i(m),o.set(m,g);let x={path:m,basename:n.basename(m),dirname:n.dirname(m),extname:n.extname(m)};for(let C of c)await C(x)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",formatCode:async(m,g)=>g,on:(m,g)=>{m==="change"&&c.add(g)},off:(m,g)=>{m==="change"&&c.delete(g)},debug:(...m)=>{console.debug("[builder-dev-tools]",...m)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null},h=await Ce(u);return u.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,u}async function zr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(qr(e,n))return o;let a=G(e,n,"cjs"),s=G(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=d.statement;if(!e.ts.isVariableStatement(f))throw new Error(`Expected an export assignment from ${t}`);let c=d.statement;if(e.ts.isVariableStatement(c)){let u=[...c.declarationList.declarations];if(u.length!==1)throw new Error("Expected a single variable declaration");let h=u[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let m=h.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let g="BuilderDevTools()",x=[...n.statements],C=x.indexOf(c);return x[C]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,x),n=D(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let p=a[0];if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let d=p.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=an(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=N(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let d=[...l.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=an(e,n);n=u.sourceFile;let h=[...n.statements],m=h.indexOf(l);return h[m]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(p.node)){let d=p.node,f=p.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let c=f.expression;if(!e.ts.isBinaryExpression(c))throw new Error("Expected a binary expression for the default export");let h=p.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let m=[...h.statements],g=m.findIndex(T=>e.ts.isReturnStatement(T));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=m[g],C=an(e,n);n=C.sourceFile,m[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[x.expression]));let P=[...n.statements],I=P.indexOf(f);return P[I]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(c,c.left,c.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(h,m)))),n=e.ts.factory.updateSourceFile(n,P),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function qr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/next"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function an(e,t){let r=qr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/next")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}async function Wr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Yr(e,n))return o;let a=G(e,n,"cjs"),s=G(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let p=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=d.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let c="builderDevTools()",u=ms(e,f.expression);if(!u)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[u]),m=[...n.statements],g=m.indexOf(f);return m[g]=e.ts.factory.updateExportAssignment(f,f.modifiers,h),n=e.ts.factory.updateSourceFile(n,m),n=D(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=N(e,n),o.hasContentUpdates=!0,o}}if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let d=p.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Qr(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=N(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let d=[...l.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=Qr(e,n);n=u.sourceFile;let h=[...n.statements],m=h.indexOf(l);return h[m]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Yr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Qr(e,t){let r=Yr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function ms(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Jr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Jr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Jr(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier('"@builder.io/react"')])}async function Hr(e,t,r){let n=E(e,r),o=G(e,n);if(o.length!==1)throw new Error(`Expected an export from ${t}`);let i=o[0];if(!i.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let a=i.statement;if(!e.ts.isExportAssignment(a))throw new Error(`Expected an export assignment from ${t}`);let s={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(e.ts.isCallExpression(i.node)&&e.ts.isIdentifier(i.node.expression)&&i.node.expression.text==="defineConfig"){let p=[...i.node.arguments];if(p.length===0)throw new Error("Expected an argument in defineConfig()");let l=p[0];if(e.ts.isArrowFunction(l)){let d=fs(e,l);if(!d)return s;p[0]=e.ts.factory.updateArrowFunction(l,l.modifiers,l.typeParameters,l.parameters,l.type,l.equalsGreaterThanToken,d);let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,p)),n=e.ts.factory.updateSourceFile(n,f),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(l)){let d=sn(e,l);if(!d)return s;let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[d])),n=e.ts.factory.updateSourceFile(n,f),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let p=sn(e,a.expression);if(!p)return s;let l=[...n.statements],d=l.indexOf(a);return l[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,p),n=e.ts.factory.updateSourceFile(n,l),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function fs(e,t){let r=t.body;if(!e.ts.isBlock(r))return null;let n=[...r.statements],o=n.findIndex(s=>e.ts.isReturnStatement(s));if(o===-1){let s=e.ts.factory.createReturnStatement(e.ts.factory.createObjectLiteralExpression());n.push(s),o=n.length-1}let i=n[o];if(!i.expression||!e.ts.isObjectLiteralExpression(i.expression))return null;let a=sn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function sn(e,t){if(xs(e)){let i=ds(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Gr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Gr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Gr(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="builderDevTools":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("builderDevTools"),void 0,[])])}function ds(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=gs(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=pn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o){let i=e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("noExternal",o)]);return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("ssr",i)])}return null}function gs(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=pn(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=pn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function pn(e,t){return t.elements.some(n=>e.ts.isStringLiteral(n)?n.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createStringLiteral("@builder.io/react")])}function xs(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Xr(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function eo(e,t,r){e.debug("Angular config updates are currently in progress...");try{await Ss(e)}catch{console.error("Unable to update package.json.")}return await hs(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function hs(e){let t=e.getRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);let n=e.join(r,"main.ts"),o=await e.readFile(n);if(!o)throw new Error(`Unable to read main.ts at ${n}`);let i=await Cs(e,o);await e.writeFile(n,i)}async function Cs(e,t){let r=t,n=E(e,t),o=!1;for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isCallExpression(a.expression)&&e.ts.isPropertyAccessExpression(a.expression.expression)&&e.ts.isCallExpression(a.expression.expression.expression)&&e.ts.isIdentifier(a.expression.expression.expression.expression)&&a.expression.expression.expression.expression.text==="builderDevTools"){o=!0;break}n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
786
802
  builderDevTools().catch((err: Error) =>
787
803
  console.error("Error starting dev tools:", err)
788
- );`;return r=N(e,n),o||(r+=i),r}async function hs(e){let t=e.getRootDir(),r=e.join(t,"package.json"),n=await e.readFile(r);if(!n)throw new Error(`Unable to read package.json at ${r}`);let o=Cs(n);o&&await e.writeFile(r,o)}function Cs(e){let t=JSON.parse(e);if(t.scripts=t.scripts||{},t.scripts[Zr])return;let r=t.scripts.start||t.scripts.dev||"ng serve";return t.scripts[Zr]=`concurrently "${r}" "${Ss}"`,JSON.stringify(t,null,2)+`
789
- `}var Zr="builder-dev",Ss="npx builder-dev-tools";var no=[{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:eo},{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:zr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Hr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Wr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Xr}];async function ln(e){let t=e.resolve("/");for(let n of no)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),p=e.readFileSync(s);if(typeof p=="string")return{id:n.id,filePath:s,content:p};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Ce(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,to),{id:"next",filePath:n,content:to}}return null}async function ro(e){let t=await ln(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await no.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=H(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var to=`
804
+ );`;return r=N(e,n),o||(r+=i),r}async function Ss(e){let t=e.getRootDir(),r=e.join(t,"package.json"),n=await e.readFile(r);if(!n)throw new Error(`Unable to read package.json at ${r}`);let o=Ps(n);o&&await e.writeFile(r,o)}function Ps(e){let t=JSON.parse(e);if(t.scripts=t.scripts||{},t.scripts[Zr])return;let r=t.scripts.start||t.scripts.dev||"ng serve";return t.scripts[Zr]=`concurrently "${r}" "${ys}"`,JSON.stringify(t,null,2)+`
805
+ `}var Zr="builder-dev",ys="npx builder-dev-tools";var no=[{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:eo},{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:zr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Hr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Wr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Xr}];async function ln(e){let t=e.resolve("/");for(let n of no)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),p=e.readFileSync(s);if(typeof p=="string")return{id:n.id,filePath:s,content:p};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Ce(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,to),{id:"next",filePath:n,content:to}}return null}async function ro(e){let t=await ln(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await no.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=H(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var to=`
790
806
  /** @type {import('next').NextConfig} */
791
807
  const nextConfig = {
792
808
  }
793
809
 
794
810
  module.exports = nextConfig
795
- `.trimStart();var oo="/~builder-dev-tools.js";function io(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(oo,e);t.searchParams.set("v",at);let r=JSON.stringify(at),n=`/* Builder Devtools v${at} */
811
+ `.trimStart();var oo="/~builder-dev-tools.js";function io(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(oo,e);t.searchParams.set("v",it);let r=JSON.stringify(it),n=`/* Builder Devtools v${it} */
796
812
  `;return n+=`(() => {
797
813
  `,n+=` if (typeof document !== "undefined") {
798
814
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -805,4 +821,4 @@ module.exports = nextConfig
805
821
  `,n+=` }
806
822
  `,n+=` }
807
823
  `,n+=`})();
808
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var at="1.1.12";
824
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var it="1.1.15";