@builder.io/dev-tools 1.0.0 → 1.0.2

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,25 +1,25 @@
1
- "use strict";var hr=Object.create;var Ve=Object.defineProperty;var Cr=Object.getOwnPropertyDescriptor;var Sr=Object.getOwnPropertyNames;var wr=Object.getPrototypeOf,Tr=Object.prototype.hasOwnProperty;var H=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yr=(e,t)=>{for(var r in t)Ve(e,r,{get:t[r],enumerable:!0})},Vt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Sr(t))!Tr.call(e,o)&&o!==r&&Ve(e,o,{get:()=>t[o],enumerable:!(n=Cr(t,o))||n.enumerable});return e};var Er=(e,t,r)=>(r=e!=null?hr(wr(e)):{},Vt(t||!e||!e.__esModule?Ve(r,"default",{value:e,enumerable:!0}):r,e)),Dr=e=>Vt(Ve({},"__esModule",{value:!0}),e);var Et=H(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});function Bn(e){return Object.prototype.toString.call(e)}tt.getType=Bn;function ti(e){throw new TypeError("unsupported data type: "+Bn(e))}tt.throwUnknownDataType=ti});var It=H(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});var q="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);q+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);q+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);q+=t}var Te=q.length,vt={};for(let e=0;e<Te;e++){let t=q[e];vt[t]=e}function Pt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=vt[o];i*=r,t+=i,r*=Te}return t}J.s_to_int=Pt;function Vn(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Te);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(vt[i]);a*=r,t+=a,r*=n}return t}J.s_to_big_int=Vn;function bt(e){if(e===0)return q[0];let t=[];for(;e!==0;){let r=e%Te,n=q[r];t.push(n),e-=r,e/=Te}return t.reverse().join("")}J.int_to_s=bt;function $n(e){let t=BigInt(0),r=BigInt(Te);if(e===t)return q[0];let n=[];for(;e!==t;){let o=e%r,i=q[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}J.big_int_to_s=$n;function rt(e){return e.split("").reverse().join("")}function zn(e){if(e<0)return"-"+zn(-e);let[t,r]=e.toString().split(".");if(!r)return bt(e);let n;r&&([r,n]=r.split("e")),t=nt(t),r=rt(r),r=nt(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=rt(n),n=nt(n),o+=n}return o}J.num_to_s=zn;function nt(e){let t=+e;return t.toString()===e?bt(t):":"+$n(BigInt(e))}J.int_str_to_s=nt;function Dt(e){return e[0]===":"?Vn(e.substring(1)).toString():Pt(e).toString()}function Un(e){if(e[0]==="-")return-Un(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Pt(t);t=Dt(t),r=Dt(r),r=rt(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Dt(n),n=rt(n),o+=i?-n:+n}return+o}J.s_to_num=Un});var Rt=H(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});var Nt=It();function ni(e){return"n|"+Nt.num_to_s(e)}W.encodeNum=ni;function ri(e){return e=e.replace("n|",""),Nt.s_to_num(e)}W.decodeNum=ri;function oi(e){return typeof e=="number"?e:Nt.s_to_int(e)}W.decodeKey=oi;function ii(e){return e?"b|T":"b|F"}W.encodeBool=ii;function ai(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}W.decodeBool=ai;function si(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}W.encodeStr=si;function li(e){return e[0]+e[1]==="s|"?e.substr(2):e}W.decodeStr=li});var Mn=H(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.config={sort_key:!1}});var Lt=H(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});var ci=Mn(),pi=Et(),At=Rt(),ui=It();function fi(e){return e.store.toArray()}pe.memToValues=fi;function Kn(){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}}}pe.makeInMemoryStore=Kn;function Qn(){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}}}pe.makeInMemoryCache=Qn;function mi(){return{store:Kn(),cache:Qn(),keyCount:0}}pe.makeInMemoryMemory=mi;function ce(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=ui.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function di(e,t){ci.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Oe(e,t,void 0);return e.cache.setSchema(r,n),n}function Oe(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Oe(e,null,r);break;case"object":if(t===null)return ce(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Oe(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),ce(e,n)}else{let n=Object.keys(t);if(n.length===0)return ce(e,"o|");let o="o",i=di(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Oe(e,s,t);o+="|"+l}return ce(e,o)}case"boolean":return ce(e,At.encodeBool(t));case"number":return ce(e,At.encodeNum(t));case"string":return ce(e,At.encodeStr(t))}return pi.throwUnknownDataType(t)}pe.addValue=Oe});var kt=H(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});var gi=Et(),ot=Rt(),Ot=Lt();function xi(e){let t=Ot.makeInMemoryMemory(),r=Ot.addValue(t,e,void 0);return[Ot.memToValues(t),r]}je.compress=xi;function hi(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ke(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let l=i[s-2],m=n[s];m=ke(e,m),r[l]=m}return r}function Ci(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=ke(e,a),o[i]=a}return o}function ke(e,t){if(t===""||t==="_")return null;let r=ot.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 ot.decodeBool(n);case"o|":return hi(e,n);case"n|":return ot.decodeNum(n);case"a|":return Ci(e,n);default:return ot.decodeStr(n)}}return gi.throwUnknownDataType(n)}je.decode=ke;function Si(e){let[t,r]=e;return ke(t,r)}je.decompress=Si});var Jn=H(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});function wi(e){for(let t in e)e[t]===void 0&&delete e[t]}it.trimUndefined=wi;function Ti(e){qn(e,new Set)}it.trimUndefinedRecursively=Ti;function qn(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)&&qn(n,t)}}});var Yn=H(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});var Wn=kt();ne.compress=Wn.compress;ne.decompress=Wn.decompress;var yi=kt();ne.decode=yi.decode;var Ei=Lt();ne.addValue=Ei.addValue;var Hn=Jn();ne.trimUndefined=Hn.trimUndefined;ne.trimUndefinedRecursively=Hn.trimUndefinedRecursively});var bi={};yr(bi,{createDevTools:()=>Zn,createDevToolsSys:()=>tr,detectFrameworks:()=>Y,detectFrameworksFromPackageJson:()=>st,ensureConfigPlugin:()=>mr,findBuildToolConfig:()=>Bt,getClientScript:()=>gr,parseDotEnvContent:()=>lt,version:()=>_e});module.exports=Dr(bi);async function $t(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 zt(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 ye(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 l=await ye(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function Y(e){let t=[],r=await $t(e,e.getRootDir());if(r){let n=st(r);t.push(...n)}return t}function st(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of vr)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var vr=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","angular","react","solid-js","svelte","vue"];async function fe(e){let t=Ut(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function me(e,t){t=typeof t=="object"&&t!=null?t:{};let r=Ut(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Ut(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function de(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await Pr(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 Pr(e,t){let r=await e.readFile(t);return typeof r=="string"?lt(r):null}function lt(e){let t={},r=e.replace(/\r\n?/gm,`
2
- `),n;for(;(n=br.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
- `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var br=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function ge(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+=`
1
+ "use strict";var Fr=Object.create;var Qe=Object.defineProperty;var Ar=Object.getOwnPropertyDescriptor;var Lr=Object.getOwnPropertyNames;var Or=Object.getPrototypeOf,kr=Object.prototype.hasOwnProperty;var re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jr=(e,t)=>{for(var r in t)Qe(e,r,{get:t[r],enumerable:!0})},Qt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lr(t))!kr.call(e,o)&&o!==r&&Qe(e,o,{get:()=>t[o],enumerable:!(n=Ar(t,o))||n.enumerable});return e};var _r=(e,t,r)=>(r=e!=null?Fr(Or(e)):{},Qt(t||!e||!e.__esModule?Qe(r,"default",{value:e,enumerable:!0}):r,e)),Br=e=>Qt(Qe({},"__esModule",{value:!0}),e);var It=re(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});function Xn(e){return Object.prototype.toString.call(e)}it.getType=Xn;function yi(e){throw new TypeError("unsupported data type: "+Xn(e))}it.throwUnknownDataType=yi});var Lt=re(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});var ee="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);ee+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);ee+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);ee+=t}var Pe=ee.length,Rt={};for(let e=0;e<Pe;e++){let t=ee[e];Rt[t]=e}function Ft(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Rt[o];i*=r,t+=i,r*=Pe}return t}te.s_to_int=Ft;function Zn(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Pe);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Rt[i]);a*=r,t+=a,r*=n}return t}te.s_to_big_int=Zn;function At(e){if(e===0)return ee[0];let t=[];for(;e!==0;){let r=e%Pe,n=ee[r];t.push(n),e-=r,e/=Pe}return t.reverse().join("")}te.int_to_s=At;function er(e){let t=BigInt(0),r=BigInt(Pe);if(e===t)return ee[0];let n=[];for(;e!==t;){let o=e%r,i=ee[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}te.big_int_to_s=er;function st(e){return e.split("").reverse().join("")}function tr(e){if(e<0)return"-"+tr(-e);let[t,r]=e.toString().split(".");if(!r)return At(e);let n;r&&([r,n]=r.split("e")),t=at(t),r=st(r),r=at(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=st(n),n=at(n),o+=n}return o}te.num_to_s=tr;function at(e){let t=+e;return t.toString()===e?At(t):":"+er(BigInt(e))}te.int_str_to_s=at;function Nt(e){return e[0]===":"?Zn(e.substring(1)).toString():Ft(e).toString()}function nr(e){if(e[0]==="-")return-nr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Ft(t);t=Nt(t),r=Nt(r),r=st(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Nt(n),n=st(n),o+=i?-n:+n}return+o}te.s_to_num=nr});var kt=re(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});var Ot=Lt();function Ti(e){return"n|"+Ot.num_to_s(e)}ne.encodeNum=Ti;function Ei(e){return e=e.replace("n|",""),Ot.s_to_num(e)}ne.decodeNum=Ei;function wi(e){return typeof e=="number"?e:Ot.s_to_int(e)}ne.decodeKey=wi;function Di(e){return e?"b|T":"b|F"}ne.encodeBool=Di;function Pi(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}ne.decodeBool=Pi;function vi(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}ne.encodeStr=vi;function bi(e){return e[0]+e[1]==="s|"?e.substr(2):e}ne.decodeStr=bi});var rr=re(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.config={sort_key:!1}});var Bt=re(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});var Ii=rr(),Ni=It(),_t=kt(),Ri=Lt();function Fi(e){return e.store.toArray()}ye.memToValues=Fi;function or(){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}}}ye.makeInMemoryStore=or;function ir(){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}}}ye.makeInMemoryCache=ir;function Ai(){return{store:or(),cache:ir(),keyCount:0}}ye.makeInMemoryMemory=Ai;function Se(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Ri.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function Li(e,t){Ii.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=$e(e,t,void 0);return e.cache.setSchema(r,n),n}function $e(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return $e(e,null,r);break;case"object":if(t===null)return Se(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":$e(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Se(e,n)}else{let n=Object.keys(t);if(n.length===0)return Se(e,"o|");let o="o",i=Li(e,n);o+="|"+i;for(let a of n){let s=t[a],l=$e(e,s,t);o+="|"+l}return Se(e,o)}case"boolean":return Se(e,_t.encodeBool(t));case"number":return Se(e,_t.encodeNum(t));case"string":return Se(e,_t.encodeStr(t))}return Ni.throwUnknownDataType(t)}ye.addValue=$e});var $t=re(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});var Oi=It(),lt=kt(),Vt=Bt();function ki(e){let t=Vt.makeInMemoryMemory(),r=Vt.addValue(t,e,void 0);return[Vt.memToValues(t),r]}Ue.compress=ki;function ji(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ze(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let l=i[s-2],c=n[s];c=ze(e,c),r[l]=c}return r}function _i(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=ze(e,a),o[i]=a}return o}function ze(e,t){if(t===""||t==="_")return null;let r=lt.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 lt.decodeBool(n);case"o|":return ji(e,n);case"n|":return lt.decodeNum(n);case"a|":return _i(e,n);default:return lt.decodeStr(n)}}return Oi.throwUnknownDataType(n)}Ue.decode=ze;function Bi(e){let[t,r]=e;return ze(t,r)}Ue.decompress=Bi});var sr=re(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});function Vi(e){for(let t in e)e[t]===void 0&&delete e[t]}ct.trimUndefined=Vi;function $i(e){ar(e,new Set)}ct.trimUndefinedRecursively=$i;function ar(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)&&ar(n,t)}}});var pr=re(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var lr=$t();ge.compress=lr.compress;ge.decompress=lr.decompress;var zi=$t();ge.decode=zi.decode;var Ui=Bt();ge.addValue=Ui.addValue;var cr=sr();ge.trimUndefined=cr.trimUndefined;ge.trimUndefinedRecursively=cr.trimUndefinedRecursively});var Yi={};jr(Yi,{createDevTools:()=>fr,createDevToolsSys:()=>gr,detectFrameworks:()=>oe,detectFrameworksFromPackageJson:()=>ut,ensureConfigPlugin:()=>br,findBuildToolConfig:()=>Mt,getClientScript:()=>Nr,parseDotEnvContent:()=>mt,version:()=>Ke});module.exports=Br(Yi);async function qt(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 Jt(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 ve(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 l=await ve(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function oe(e){let t=[],r=await qt(e,e.getRootDir());if(r){let n=ut(r);t.push(...n)}return t}function ut(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Vr)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Vr=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","angular","react","solid-js","svelte","vue"];async function ie(e){let t=Wt(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function ae(e,t){t=typeof t=="object"&&t!=null?t:{};let r=Wt(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Wt(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 $r(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 $r(e,t){let r=await e.readFile(t);return typeof r=="string"?mt(r):null}function mt(e){let t={},r=e.replace(/\r\n?/gm,`
2
+ `),n;for(;(n=zr.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
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var zr=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function le(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
 
5
5
  ${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 Ee(e){return await de(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],re)}async function Mt(e,t){let r=await Ee(e),n=await ge(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var re="NEXT_PUBLIC_BUILDER_API_KEY";function E(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function Kt(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 I(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 be(e){return await se(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],xe)}async function Yt(e,t){let r=await be(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var xe="NEXT_PUBLIC_BUILDER_API_KEY";function P(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function qe(e,t=""){let r=P(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function F(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 A(e,t,r){t=z(t),r=z(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=z(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function z(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function De(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Qt(o==="index"?e.basename(e.dirname(t)):o)}function Qt(e){return j(e).replace(/ /g,"")}function G(e,t){let r=e.extname(t),n=z(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function B(e,t){let r=z(e.relative(e.getRootDir(),t));return 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)),e.getFrameworks().some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function N(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 X(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 ve(e){return typeof e=="number"}function xe(e){return typeof e=="boolean"}function L(e){return typeof e=="string"}function $e(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function be(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ir(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,l)=>l!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,Pe(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Pe(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ir(e,t,r){return t.properties.findIndex(n=>D(e,n)===r)}function Ie(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Rr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Nr(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 Nr(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=D(e,n);o&&(r[o]=Ie(e,n.initializer))}}return r}function Rr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Ie(e,r)):[]}function D(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 Pe(e,t){return ct(e,t,new WeakSet)}function ct(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)?Fr(e,t,r):typeof t=="object"?Ar(e,t,r):e.ts.factory.createIdentifier(t)}function Fr(e,t,r){let n=t.map(o=>ct(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Ar(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,ct(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ne(e,t,r){let n=[];if(!r)return n;let o=[];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 a=t.getTypeAtLocation(r).getCallSignatures();if(a.length>0){let s=a[0].getParameters();s.length>0&&(o=t.getTypeOfSymbolAtLocation(s[0],r).getProperties())}}for(let i of o){let a=Lr(e,t,i);a&&n.push(a)}return n=n.filter(Jt),n.length>0?n:Or(e,r)}function Lr(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 l=t.getTypeFromTypeNode(n.type),m=t.typeToString(l),d=pt(m);d.knownType?i=d.builderType:jr(m)||l.flags&e.ts.TypeFlags.StringLike?i="string":l.flags&e.ts.TypeFlags.NumberLike?i="number":l.flags&e.ts.TypeFlags.IndexedAccess?i="list":l.flags&e.ts.TypeFlags.Object||l.isUnion()&&l.types.every(p=>p.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(p=>p.flags&e.ts.TypeFlags.Object)?i="object":i="string",m!==i&&(a=m)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let l=$r(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Br)?s.enum=l.map(Vr):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Or(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 l=s.jsDocPropertyTags;if(l)for(let m of l){if(!e.ts.isJSDocPropertyLikeTag(m))continue;let d=m.name;if(!e.ts.isQualifiedName(d))continue;let p=m.typeExpression;if(!p)continue;let c="";switch(p.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(Jt)}var kr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function jr(e){return typeof e!="string"?!1:!!kr.some(t=>e.includes(t))}function pt(e){return typeof e=="string"&&(e=e.trim(),_r.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var _r=[{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 Br(e){return/^['"].*['"]$/.test(e)}function Vr(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var $r=(e,t,r)=>{let n=new Set;qt(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},zr=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},qt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{qt(e,t,o,n)});else if(r.isLiteral()){let o=zr(e,t,r);n.add(o)}};function Jt(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!Ur.has(t.toLowerCase())}var Ur=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 oe(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=D(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=Mr(e,n.initializer);ie(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Ie(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function Mr(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(Kr(e,n));return r}function Kr(e,t){let r=Ie(e,t),n=Gr(r);return n.isRegistered=!0,n}function Z(e,t,r){let n=qr(r);return t=be(e,t,"name",n.name,!1),t=be(e,t,"description",n.description),t=be(e,t,"image",n.image),t=Qr(e,t,n),Xr(e,t)}function Qr(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 be(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=Wr(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 qr(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Jr)}}function Jr(e){let t={name:e.name,type:e.type};return(L(e.defaultValue)||ve(e.defaultValue)||xe(e.defaultValue))&&(t.defaultValue=e.defaultValue),L(e.friendlyName)&&(t.friendlyName=e.friendlyName),L(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 Wr(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>D(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=Hr(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>D(e,c)==="name"),s=i.properties.find(c=>D(e,c)==="name"),l=a?.initializer,m=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",p=m&&e.ts.isStringLiteral(m)?m.text:"zz";return d.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Hr(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=D(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=Wt(e,t[n],r);else{let o=Wt(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Wt(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=Yr(e,n,r,i);return n=Zr(e,n.filter(i=>{let a=D(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Yr(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,Pe(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Pe(e,r[n]))),t}function ie(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=ut(e)}function Gr(e){let t=pt(e.type),r={name:e.name.trim(),type:t.builderType};return L(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(L(e.defaultValue)||ve(e.defaultValue)||xe(e.defaultValue))&&(r.defaultValue=e.defaultValue),L(e.helperText)&&(r.helperText=e.helperText),xe(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),ft(r)}function ut(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 ft(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 Xr(e,t){let r=[...t.properties].sort((n,o)=>{let i=D(e,n)||"zz",a=D(e,o)||"zz";if(i==="inputs")return 1;let s=Ht.indexOf(i),l=Ht.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var Ht=["component","name","description"];function Zr(e,t){return[...t].sort((n,o)=>{let i=D(e,n)||"zz",a=D(e,o)||"zz",s=Yt.indexOf(i),l=Yt.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var Yt=["name","type"];function Gt(e,t){let r=`Builder.registerComponent(
11
+ `}return""}function O(e,t,r){t=K(t),r=K(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=K(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function K(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ie(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Ht(o==="index"?e.basename(e.dirname(t)):o)}function Ht(e){return k(e).replace(/ /g,"")}function M(e,t){let r=e.extname(t),n=K(e.basename(t,r)).split("/").pop();return k(n==="index"?e.basename(e.dirname(t)):n)}function j(e,t){let r=K(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 R(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 k(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 Ne(e){return typeof e=="number"}function Te(e){return typeof e=="boolean"}function B(e){return typeof e=="string"}function Je(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function Fe(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ur(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,l)=>l!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,Re(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Re(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ur(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Ae(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Mr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Kr(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 Kr(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]=Ae(e,n.initializer))}}return r}function Mr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Ae(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 Re(e,t){return ft(e,t,new WeakSet)}function ft(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)?Qr(e,t,r):typeof t=="object"?qr(e,t,r):e.ts.factory.createIdentifier(t)}function Qr(e,t,r){let n=t.map(o=>ft(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function qr(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,ft(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Le(e,t,r){let n=[];if(!r)return n;let o=[];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 a=t.getTypeAtLocation(r).getCallSignatures();if(a.length>0){let s=a[0].getParameters();s.length>0&&(o=t.getTypeOfSymbolAtLocation(s[0],r).getProperties())}}for(let i of o){let a=Jr(e,t,i);a&&n.push(a)}return n=n.filter(Xt),n.length>0?n:Wr(e,r)}function Jr(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 l=t.getTypeFromTypeNode(n.type),c=t.typeToString(l),d=dt(c);d.knownType?i=d.builderType:Hr(c)||l.flags&e.ts.TypeFlags.StringLike?i="string":l.flags&e.ts.TypeFlags.NumberLike?i="number":l.flags&e.ts.TypeFlags.IndexedAccess?i="list":l.flags&e.ts.TypeFlags.Object||l.isUnion()&&l.types.every(p=>p.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(p=>p.flags&e.ts.TypeFlags.Object)?i="object":i="string",c!==i&&(a=c)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let l=eo(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Xr)?s.enum=l.map(Zr):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Wr(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 l=s.jsDocPropertyTags;if(l)for(let c of l){if(!e.ts.isJSDocPropertyLikeTag(c))continue;let d=c.name;if(!e.ts.isQualifiedName(d))continue;let p=c.typeExpression;if(!p)continue;let u="";switch(p.type.kind){case e.ts.SyntaxKind.StringKeyword:{u="string";break}case e.ts.SyntaxKind.NumberKeyword:{u="number";break}case e.ts.SyntaxKind.BooleanKeyword:{u="boolean";break}default:continue}let h={name:d.right.text,type:u,isRegistered:!1};r.push(h)}}return r.filter(Xt)}var Yr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Hr(e){return typeof e!="string"?!1:!!Yr.some(t=>e.includes(t))}function dt(e){return typeof e=="string"&&(e=e.trim(),Gr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Gr=[{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 Xr(e){return/^['"].*['"]$/.test(e)}function Zr(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var eo=(e,t,r)=>{let n=new Set;Gt(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},to=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Gt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Gt(e,t,o,n)});else if(r.isLiteral()){let o=to(e,t,r);n.add(o)}};function Xt(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!no.has(t.toLowerCase())}var no=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 G(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=ro(e,n.initializer);X(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Ae(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function ro(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(oo(e,n));return r}function oo(e,t){let r=Ae(e,t),n=uo(r);return n.isRegistered=!0,n}function q(e,t,r){let n=ao(r);return t=Fe(e,t,"name",n.name,!1),t=Fe(e,t,"description",n.description),t=Fe(e,t,"image",n.image),t=io(e,t,n),mo(e,t)}function io(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 Fe(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=lo(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 ao(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(so)}}function so(e){let t={name:e.name,type:e.type};return(B(e.defaultValue)||Ne(e.defaultValue)||Te(e.defaultValue))&&(t.defaultValue=e.defaultValue),B(e.friendlyName)&&(t.friendlyName=e.friendlyName),B(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 lo(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=co(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(u=>b(e,u)==="name"),s=i.properties.find(u=>b(e,u)==="name"),l=a?.initializer,c=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",p=c&&e.ts.isStringLiteral(c)?c.text:"zz";return d.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function co(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]=Zt(e,t[n],r);else{let o=Zt(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Zt(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=po(e,n,r,i);return n=fo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function po(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,Re(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Re(e,r[n]))),t}function X(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=gt(e)}function uo(e){let t=dt(e.type),r={name:e.name.trim(),type:t.builderType};return B(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(B(e.defaultValue)||Ne(e.defaultValue)||Te(e.defaultValue))&&(r.defaultValue=e.defaultValue),B(e.helperText)&&(r.helperText=e.helperText),Te(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),xt(r)}function gt(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 xt(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 mo(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=en.indexOf(i),l=en.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var en=["component","name","description"];function fo(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=tn.indexOf(i),l=tn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var tn=["name","type"];function nn(e,t){let r=`Builder.registerComponent(
12
12
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
13
13
  `:r+=` ${t.importName},
14
- `;else{let o=A(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
14
+ `;else{let o=O(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
15
15
  `:r+=` dynamic(() => import(${JSON.stringify(o)})),
16
16
  `:t.acceptsChildren?r+=` withChildren(dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName})),
17
17
  `:r+=` dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName}),
18
18
  `}r+=` {
19
19
  name: "${t.name}",
20
20
  }
21
- `,r+=");";let n=Kt(e,r);return mt(e,n,t)}function mt(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]=Z(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function U(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await zt(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=Re.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Re.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 l=Re.get(a);if(l)return E(e,l.content)}let s=e.readFileSync(a);if(s==null){let l=e.basename(a),m=e.extname(l).toLowerCase();if(a.startsWith(n)&&m===".ts"&&(s=Zt.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ue(l)}return a.includes("node_modules")&&(s?Re.set(a,{exists:!0,content:s}):Re.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 eo(e,i,t)}catch(a){if(a instanceof Ue){await to(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function eo(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=Xt.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let l=e.readFileSync(s);return typeof l=="string"?l:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,m)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(o),void 0,o).options,Xt.set(o,i))}i&&(n.options=V(i))}return n.options.moduleResolution=e.ts.ModuleResolutionKind.Node16,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 Me(e,t,r){r||(r=await U(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 Ue=class{constructor(t){this.libName=t}};async function to(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;ze.has(t)||ze.set(t,fetch(r).then(n=>n.text()).then(n=>{Zt.set(t,n)})),await ze.get(t),ze.delete(t)}var Zt=new Map,ze=new Map,Re=new Map,Xt=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=no(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=ro(e,t,r.defaultImport,r.importPath,n)),t}function no(e,t,r,n,o,i){return i==="cjs"?tn(e,t,null,r,n):en(e,t,null,r,n,o)}function ro(e,t,r,n,o){return o==="cjs"?tn(e,t,r,null,n):en(e,t,r,null,n,!1)}function en(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,m=!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 f=[],g=h.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&f.push(...g.elements),typeof n=="string"){if(f.some(C=>C.name.text===n))return t;f.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),f.sort((C,S)=>C.name.text.localeCompare(S.name.text)),l=!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),m=!0}if(l||m)return a[u]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,e.ts.factory.createNamedImports(f)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,p;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(p=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,p),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function tn(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let l=i[s];if(e.ts.isVariableStatement(l))for(let m=0;m<l.declarationList.declarations.length;m++){let d=[...l.declarationList.declarations],p=d[m],c=p.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(p.name)&&typeof r=="string")return p.name.text===r?t:(d[m]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createIdentifier(r),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(p.name)&&typeof n=="string"){let f=[...p.name.elements];return f.some(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(f.push(e.ts.factory.createBindingElement(void 0,void 0,n)),f.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[m]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createObjectBindingPattern(f),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.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 $(e,t,r="esm"){return r==="cjs"?io(e,t):oo(e,t)}function oo(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(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 l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.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 io(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 l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.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 ao(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 Ke(e,t,r,n){let o=ao(e,r,n);if(o){let i=await xt(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:N(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function gt(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 ee(e,t,r){let n=gt(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 Qe(e,t){if(t){if(so(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Qe(e,n)&&(r=!0)}),r)return!0}return!1}function so(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 xt(e,t){let r=e.extname(t).toLowerCase();if(r===""||!dt.includes(r)){for(let n of dt){let o=t+n;if(await e.exists(o))return o}for(let n of dt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var dt=[".tsx",".jsx",".ts",".js"];function qe(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=lo(e,i);return a?[{name:a}]:void 0}function lo(e,t){if(typeof t=="string"){t=e.normalize(z(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 he(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 We(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await U(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 m=(await ae(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);m&&(a.inputs=Ne(e,o,m.node.fnNode))}}return a}))}async function He(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Me(e,t.cmpInfo.filePath,r),a=(await ae(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 Ne(e,o,a.node.fnNode)}return[]}async function nn(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 co(e,t,n)}return null}function co(e,t,r){let n=E(e,r);return ae(e,null,t,n)}async function ae(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=$(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await po(e,t,r,a);o.push(...s)})),o}async function po(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=B(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!$e(s.name.text))continue;let l=Je(e,t,s.initializer);if(l){let m=l.name||s.name.text,d=n.isDefaultExport?"default":m,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:N(e,r),name:j(m),inputs:[],exportName:d,exportType:p,importName:m,filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}}return o}if(e.ts.isArrowFunction(n.node)){let s=Je(e,t,n.node);if(s){let l=G(e,r),m=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,m),displayFilePath:N(e,r),name:l,inputs:[],exportName:m,exportType:d,importName:De(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&&!$e(s))return o;let l=Je(e,t,n.node);if(l){let m=l.name||G(e,r),d=n.isDefaultExport||!l.name?"default":l.name,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:N(e,r),name:m,inputs:[],exportName:d,exportType:p,importName:l.name||De(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}return o}function Je(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Qe(e,r.body)?{name:"",fnNode:r,deps:qe(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Qe(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:qe(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:Je(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)||!$e(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:qe(e,t,o)}}return null}async function rn(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&&uo.has(a))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await ae(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var uo=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 Ce(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 l=a.moduleSpecifier.text;if(!l.startsWith(".")&&!l.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,[...ht(e,r),...ht(e,n),...ht(e,o),...i])}function te(e){let t=e.split(`
21
+ `,r+=");";let n=qe(e,r);return ht(e,n,t)}function ht(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]=q(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 Jt(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=Oe.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Oe.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 l=Oe.get(a);if(l)return P(e,l.content)}let s=e.readFileSync(a);if(s==null){let l=e.basename(a),c=e.extname(l).toLowerCase();if(a.startsWith(n)&&c===".ts"&&(s=on.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ye(l)}return a.includes("node_modules")&&(s?Oe.set(a,{exists:!0,content:s}):Oe.set(a,{exists:!1})),P(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return go(e,i,t)}catch(a){if(a instanceof Ye){await xo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function go(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=rn.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let l=e.readFileSync(s);return typeof l=="string"?l:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,c)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(o),void 0,o).options,rn.set(o,i))}i&&(n.options=V(i))}return n.options.moduleResolution=e.ts.ModuleResolutionKind.Node16,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 He(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 Ye=class{constructor(t){this.libName=t}};async function xo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;We.has(t)||We.set(t,fetch(r).then(n=>n.text()).then(n=>{on.set(t,n)})),await We.get(t),We.delete(t)}var on=new Map,We=new Map,Oe=new Map,rn=new Map;function w(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=ho(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Co(e,t,r.defaultImport,r.importPath,n)),t}function ho(e,t,r,n,o,i){return i==="cjs"?sn(e,t,null,r,n):an(e,t,null,r,n,o)}function Co(e,t,r,n,o){return o==="cjs"?sn(e,t,r,null,n):an(e,t,r,null,n,!1)}function an(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,c=!1;for(let f=0;f<a.length;f++){let h=a[f];if(!e.ts.isImportDeclaration(h)||(s=f,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let m=[],x=h.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&m.push(...x.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,S)=>C.name.text.localeCompare(S.name.text)),l=!0}let g=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(g&&g.text===r)return t;g=e.ts.factory.createIdentifier(r),c=!0}if(l||c)return a[f]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,g,e.ts.factory.createNamedImports(m)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,p;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(p=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let u=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,p),e.ts.factory.createStringLiteral(o));return a.splice(s,0,u),e.ts.factory.updateSourceFile(t,a)}function sn(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let l=i[s];if(e.ts.isVariableStatement(l))for(let c=0;c<l.declarationList.declarations.length;c++){let d=[...l.declarationList.declarations],p=d[c],u=p.initializer;if(!u||!e.ts.isCallExpression(u))continue;let f=u.expression;if(!e.ts.isIdentifier(f)||f.text!=="require"||u.arguments.length!==1)continue;let h=u.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(p.name)&&typeof r=="string")return p.name.text===r?t:(d[c]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createIdentifier(r),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(p.name)&&typeof n=="string"){let m=[...p.name.elements];return m.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(m.push(e.ts.factory.createBindingElement(void 0,void 0,n)),m.sort((g,C)=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:g.name.text.localeCompare(C.name.text)),d[c]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createObjectBindingPattern(m),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.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 z(e,t,r="esm"){return r==="cjs"?yo(e,t):So(e,t)}function So(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(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 l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.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 yo(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 l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.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 To(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 Ge(e,t,r,n){let o=To(e,r,n);if(o){let i=await ke(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:R(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function St(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 ce(e,t,r){let n=St(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 Xe(e,t){if(t){if(Eo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Xe(e,n)&&(r=!0)}),r)return!0}return!1}function Eo(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 ke(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Ct.includes(r)){for(let n of Ct){let o=t+n;if(await e.exists(o))return o}for(let n of Ct){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Ct=[".tsx",".jsx",".ts",".js"];function Ze(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=wo(e,i);return a?[{name:a}]:void 0}function wo(e,t){if(typeof t=="string"){t=e.normalize(K(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 pe(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 Ee(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 c=(await ue(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=Le(e,o,c.node.fnNode))}}return a}))}async function we(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await He(e,t.cmpInfo.filePath,r),a=(await ue(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 Le(e,o,a.node.fnNode)}return[]}async function ln(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 Do(e,t,n)}return null}function Do(e,t,r){let n=P(e,r);return ue(e,null,t,n)}async function ue(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=z(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await Po(e,t,r,a);o.push(...s)})),o}async function Po(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=j(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Je(s.name.text))continue;let l=et(e,t,s.initializer);if(l){let c=l.name||s.name.text,d=n.isDefaultExport?"default":c,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:R(e,r),name:k(c),inputs:[],exportName:d,exportType:p,importName:c,filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}}return o}if(e.ts.isArrowFunction(n.node)){let s=et(e,t,n.node);if(s){let l=M(e,r),c=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:Ie(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&&!Je(s))return o;let l=et(e,t,n.node);if(l){let c=l.name||M(e,r),d=n.isDefaultExport||!l.name?"default":l.name,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:R(e,r),name:c,inputs:[],exportName:d,exportType:p,importName:l.name||Ie(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}return o}function et(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Xe(e,r.body)?{name:"",fnNode:r,deps:Ze(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Xe(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ze(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:et(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)||!Je(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ze(e,t,o)}}return null}async function cn(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(a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await ue(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}async function pn(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&&vo.has(a))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await ue(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var vo=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 me(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 l=a.moduleSpecifier.text;if(!l.startsWith(".")&&!l.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,[...yt(e,r),...yt(e,n),...yt(e,o),...i])}function J(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=`
@@ -28,19 +28,19 @@ ${r}=${n}
28
28
  `+o),o.trim().startsWith("export ")&&(o=`
29
29
  `+o)),e=o+`
30
30
  `+e}return e.trim()+`
31
- `}function ht(e,t){return t.sort((r,n)=>{let o=on(e,r),i=on(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function on(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 sn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
- ${e}`),e}function ln(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 Ye(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=an(e,r),i=an(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function an(e,t){let r=t.properties.find(n=>D(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function un(e){let t=await e.readFile(e.registryPath);return t?fo(e,t):{components:[],sourceFile:E(e,"")}}async function fo(e,t){let r=E(e,t);return mo(e,r)}async function mo(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 m=i.arguments;if(m.length<2)continue;let d=m[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=m[0];if(e.ts.isCallExpression(p)){if((e.ts.isIdentifier(p.expression)&&p.expression.text)==="withChildren"){let h=p.arguments[0];if(e.ts.isCallExpression(h)){let f=await cn(e,n,h,d,!0);f&&r.push(f)}else{let f=p.arguments[0];if(e.ts.isIdentifier(f)){let g=await pn(e,t,n,f,d,!0);g&&r.push(g)}}continue}let u=await cn(e,n,p,d,!1);u&&r.push(u);continue}if(e.ts.isIdentifier(p)){let c=await pn(e,t,n,p,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:X(r)}}async function cn(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 l=s.body;if(e.ts.isCallExpression(l)){if(l.expression.kind!==e.ts.SyntaxKind.ImportKeyword||l.arguments.length!==1)return null;let d=l.arguments[0];if(!e.ts.isStringLiteral(d))return null;let p=d.text;i.filePath=await Ge(e,p),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=B(e,i.filePath),i.name=G(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let m=l.expression;if(!e.ts.isParenthesizedExpression(m))return null;let d=m.expression;if(!e.ts.isAwaitExpression(d))return null;let p=d.expression;if(!e.ts.isCallExpression(p)||p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let u=p.arguments[0];if(!e.ts.isStringLiteral(u)||!e.ts.isIdentifier(l.name))return null;let h=u.text;i.filePath=await Ge(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=B(e,i.filePath),i.name=j(l.name.text),i.importName=l.name.text,i.exportName=l.name.text,i.exportType="named"}else return null;return i=oe(e,i,n),i.displayFilePath=N(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function pn(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(m=>e.ts.isImportDeclaration(m)),l=s.find(m=>m.importClause&&m.importClause.name?.text===n.text);if(l){let m=l.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;a.filePath=await Ge(e,m.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=B(e,a.filePath),a.name=G(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let m=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!m)return null;let d=m.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await Ge(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=B(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=oe(e,a,o),a.displayFilePath=N(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function Ge(e,t){return xt(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function fn(e,t,r){let n=!1,o=0,i=[...t.statements];for(let m=0;m<i.length;m++){let d=i[m];if(e.ts.isImportDeclaration(d)){o=m;continue}if(!e.ts.isExpressionStatement(d))continue;let p=d.expression;if(!e.ts.isCallExpression(p))continue;let c=p.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(re)),s=r?e.ts.factory.createNonNullExpression(a):a,l=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,l),e.ts.factory.updateSourceFile(t,i)}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 l=[...s.elements];for(let m=l.length-1;m>=0;m--){let d=l[m];if(e.ts.isImportSpecifier(d)){let p=d.name;if(p&&e.ts.isIdentifier(p)){let c=p.text;mn(e,t,c)||l.splice(m,1)}}}if(l.length===0)a=!0;else if(s.elements.length!==l.length){let m=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(l)),d=e.ts.factory.updateImportDeclaration(i,void 0,m,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let l=i.importClause.name.text;mn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function mn(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 we(e,t,r,n,o,i,a){let s=null,l=null,m=null,d=-1;t=V(t),r=V(r);let p=t.find(u=>u.id===e),c=r.find(u=>u.id===e);if(n)c||(s={...V(p),inputs:V(p.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,l=V(c),r=r.filter(u=>u.id!==e);else if(i!=null)go(c,i),d=c.nodeIndex,m=c;else if(a!=null){let u=c.inputs.find(h=>h.name===a.name);u&&(a.registerInput===!1?u.isRegistered=!1:(xo(u,a),u.isRegistered=!0),m=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:m,nodeIndex:d,components:se(t,r)}}function se(e,t){let r=X([...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(ft),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=ut(n))}),r}function go(e,t){L(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),L(t.description)?e.description=t.description:t.description===null&&delete e.description,L(t.image)?e.image=t.image:t.image===null&&delete e.image}function xo(e,t){L(t.type)&&(e.type=t.type),L(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,L(t.defaultValue)||ve(t.defaultValue)||xe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,L(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 Xe(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),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".jsx"||l===".ts"||l===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await U(e,[...t])}async function M(e,t,r,n,o,i,a,s){let l=await Xe(e),[m,d,p,c]=await Promise.all([rn(e,l),un(e),Ct(e),Ee(e)]),u=m.map(S=>S.cmpInfo),h=d.components,f={components:se(u,h),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:he(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await We(e,f.components),f;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(w=>{let b=m.find(O=>O.cmpInfo.id===w);if(!b)throw new Error(`Component ${w} not found`);return b}),P=Array.from(new Set(S.map(w=>w.cmpInfo.filePath))),T=await U(e,P);for(let w of S){let b=f.components.find(k=>k.id===w.cmpInfo.id),O=await He(e,w,T);ie(b,O);let R=u.findIndex(k=>k.id===w.cmpInfo.id);u[R].inputs=O;let y=we(w.cmpInfo.id,u,h,r,n,o,i),F=[...x.statements];if(y.addCmpToRegistry?(F.push(Gt(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(F.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(F[y.nodeIndex]=mt(e,F[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){if(x=e.ts.factory.updateSourceFile(x,F),x=v(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=fn(e,x,p),e.appDir){let k=y.addCmpToRegistry||y.updateRegisteredCmp;if(k){let ue=A(e,e.registryPath,k.filePath);k.exportType==="default"?x=v(e,x,{defaultImport:k.importName,importPath:ue}):k.exportType==="named"&&(x=v(e,x,{namedImports:[k.importName],importPath:ue}))}}else x=v(e,x,{defaultImport:"dynamic",importPath:"next/dynamic"});b?.acceptsChildren&&(x=v(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(k=>k.isRegistered)}}}if(g&&a){x=Se(e,x),x=Ce(e,x),e.appDir&&(x=ln(e,x));let S=I(e,x);S=te(S),e.appDir&&(S=sn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return f}async function dn(e){let t=[],r=await yo(e,t);return await Do(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Co(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await wo(e,e.pagesDir,t)),t}async function gn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await ho(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await To(e,e.pagesDir,t)),t}async function ho(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,xn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Co(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,xn({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,So(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function So(e){let t=e.typescriptEnabled;return`
31
+ `}function yt(e,t){return t.sort((r,n)=>{let o=un(e,r),i=un(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function un(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 fn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
+ ${e}`),e}function dn(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 tt(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=mn(e,r),i=mn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function mn(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 hn(e){let t=await e.readFile(e.registryPath);return t?bo(e,t):{components:[],sourceFile:P(e,"")}}async function bo(e,t){let r=P(e,t);return Io(e,r)}async function Io(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 c=i.arguments;if(c.length<2)continue;let d=c[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=c[0];if(e.ts.isCallExpression(p)){if((e.ts.isIdentifier(p.expression)&&p.expression.text)==="withChildren"){let h=p.arguments[0];if(e.ts.isCallExpression(h)){let m=await gn(e,n,h,d,!0);m&&r.push(m)}else{let m=p.arguments[0];if(e.ts.isIdentifier(m)){let x=await xn(e,t,n,m,d,!0);x&&r.push(x)}}continue}let f=await gn(e,n,p,d,!1);f&&r.push(f);continue}if(e.ts.isIdentifier(p)){let u=await xn(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function gn(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 l=s.body;if(e.ts.isCallExpression(l)){if(l.expression.kind!==e.ts.SyntaxKind.ImportKeyword||l.arguments.length!==1)return null;let d=l.arguments[0];if(!e.ts.isStringLiteral(d))return null;let p=d.text;i.filePath=await nt(e,p),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=j(e,i.filePath),i.name=M(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let c=l.expression;if(!e.ts.isParenthesizedExpression(c))return null;let d=c.expression;if(!e.ts.isAwaitExpression(d))return null;let p=d.expression;if(!e.ts.isCallExpression(p)||p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let f=p.arguments[0];if(!e.ts.isStringLiteral(f)||!e.ts.isIdentifier(l.name))return null;let h=f.text;i.filePath=await nt(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=j(e,i.filePath),i.name=k(l.name.text),i.importName=l.name.text,i.exportName=l.name.text,i.exportType="named"}else return null;return i=G(e,i,n),i.displayFilePath=R(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function xn(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(c=>e.ts.isImportDeclaration(c)),l=s.find(c=>c.importClause&&c.importClause.name?.text===n.text);if(l){let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;a.filePath=await nt(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=M(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(u=>u.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await nt(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=k(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=G(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function nt(e,t){return ke(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Cn(e,t,r){let n=!1,o=0,i=[...t.statements];for(let c=0;c<i.length;c++){let d=i[c];if(e.ts.isImportDeclaration(d)){o=c;continue}if(!e.ts.isExpressionStatement(d))continue;let p=d.expression;if(!e.ts.isCallExpression(p))continue;let u=p.expression;if(!e.ts.isPropertyAccessExpression(u))continue;let f=u.expression;if(!e.ts.isIdentifier(f)||f.text!=="builder")continue;if(u.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(xe)),s=r?e.ts.factory.createNonNullExpression(a):a,l=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,l),e.ts.factory.updateSourceFile(t,i)}function fe(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 l=[...s.elements];for(let c=l.length-1;c>=0;c--){let d=l[c];if(e.ts.isImportSpecifier(d)){let p=d.name;if(p&&e.ts.isIdentifier(p)){let u=p.text;Sn(e,t,u)||l.splice(c,1)}}}if(l.length===0)a=!0;else if(s.elements.length!==l.length){let c=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(l)),d=e.ts.factory.updateImportDeclaration(i,void 0,c,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let l=i.importClause.name.text;Sn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Sn(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 de(e,t,r,n,o,i,a){let s=null,l=null,c=null,d=-1;t=V(t),r=V(r);let p=t.find(f=>f.id===e),u=r.find(f=>f.id===e);if(n)u||(s={...V(p),inputs:V(p.inputs).map(f=>(f.isRegistered=!0,f))},d=r.length,r.push(s));else if(typeof u?.nodeIndex=="number"&&u.nodeIndex>-1){if(o)d=u.nodeIndex,l=V(u),r=r.filter(f=>f.id!==e);else if(i!=null)No(u,i),d=u.nodeIndex,c=u;else if(a!=null){let f=u.inputs.find(h=>h.name===a.name);f&&(a.registerInput===!1?f.isRegistered=!1:(Ro(f,a),f.isRegistered=!0),c=u,d=u.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:c,nodeIndex:d,components:Z(t,r)}}function Z(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(xt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=gt(n))}),r}function No(e,t){B(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),B(t.description)?e.description=t.description:t.description===null&&delete e.description,B(t.image)?e.image=t.image:t.image===null&&delete e.image}function Ro(e,t){B(t.type)&&(e.type=t.type),B(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,B(t.defaultValue)||Ne(t.defaultValue)||Te(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,B(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 De(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),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".jsx"||l===".ts"||l===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await $(e,[...t])}async function W(e,t,r,n,o,i,a,s){let l=await De(e),[c,d,p,u]=await Promise.all([pn(e,l),hn(e),Tt(e),be(e)]),f=c.map(S=>S.cmpInfo),h=d.components,m={components:Z(f,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(f),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await Ee(e,m.components),m;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(y=>{let D=c.find(A=>A.cmpInfo.id===y);if(!D)throw new Error(`Component ${y} not found`);return D}),I=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),E=await $(e,I);for(let y of S){let D=m.components.find(v=>v.id===y.cmpInfo.id),A=await we(e,y,E);X(D,A);let L=f.findIndex(v=>v.id===y.cmpInfo.id);f[L].inputs=A;let T=de(y.cmpInfo.id,f,h,r,n,o,i),N=[...g.statements];if(T.addCmpToRegistry?(N.push(nn(e,T.addCmpToRegistry)),x=!0):T.removeCmpFromRegistry?(N.splice(T.nodeIndex,1),x=!0):T.updateRegisteredCmp&&(N[T.nodeIndex]=ht(e,N[T.nodeIndex],T.updateRegisteredCmp),x=!0),x&&a){if(g=e.ts.factory.updateSourceFile(g,N),g=w(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),g=Cn(e,g,p),e.appDir){let v=T.addCmpToRegistry||T.updateRegisteredCmp;if(v){let U=O(e,e.registryPath,v.filePath);v.exportType==="default"?g=w(e,g,{defaultImport:v.importName,importPath:U}):v.exportType==="named"&&(g=w(e,g,{namedImports:[v.importName],importPath:U}))}}else g=w(e,g,{defaultImport:"dynamic",importPath:"next/dynamic"});D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=T.components,h=T.components.filter(v=>v.isRegistered)}}}if(x&&a){g=fe(e,g),g=me(e,g),e.appDir&&(g=dn(e,g));let S=F(e,g);S=J(S),e.appDir&&(S=fn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return m}async function yn(e){let t=[],r=await jo(e,t);return await Bo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Ao(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Oo(e,e.pagesDir,t)),t}async function Tn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Fo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await ko(e,e.pagesDir,t)),t}async function Fo(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,En({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Ao(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,En({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,Lo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Lo(e){let t=e.typescriptEnabled;return`
33
33
  "use client";
34
34
  ${t?'import { ComponentProps } from "react";':""}
35
35
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
36
36
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
37
37
  import DefaultErrorPage from "next/error";
38
- import ${JSON.stringify(A(e,e.builderComponentPath,e.registryPath))};
38
+ import ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
39
39
  ${t?`
40
40
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
41
41
 
42
42
  // Builder Public API Key set in .env file
43
- builder.init(process.env.${re}${t?"!":""});
43
+ builder.init(process.env.${xe}${t?"!":""});
44
44
 
45
45
  export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
46
46
  // Call the useIsPreviewing hook to determine if
@@ -56,12 +56,12 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
56
56
  // DefaultErrorPage with a 404.
57
57
  return <DefaultErrorPage statusCode={404} />;
58
58
  }
59
- `.trimStart()}function xn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=A(e,t,e.builderComponentPath);return`
59
+ `.trimStart()}function En({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.builderComponentPath);return`
60
60
  import { builder } from "@builder.io/sdk";
61
61
  import { RenderBuilderContent } from ${JSON.stringify(o)};
62
62
 
63
63
  // Builder Public API Key set in .env file
64
- builder.init(process.env.${re}${n?"!":""});
64
+ builder.init(process.env.${xe}${n?"!":""});
65
65
  ${n?`
66
66
  interface PageProps {
67
67
  params: {
@@ -90,7 +90,7 @@ export default async function Page(props${n?": PageProps":""}) {
90
90
  </>
91
91
  );
92
92
  }
93
- `.trimStart()}async function wo(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,hn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function To(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,hn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function hn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return`
93
+ `.trimStart()}async function Oo(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,wn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ko(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,wn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function wn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return`
94
94
  import React from "react";
95
95
  import { useRouter } from "next/router";
96
96
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
@@ -98,9 +98,9 @@ import DefaultErrorPage from "next/error";
98
98
  import Head from "next/head";${n?`
99
99
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
100
100
  import { GetStaticProps } from "next";`:""}
101
- import ${JSON.stringify(A(e,t,e.registryPath))};
101
+ import ${JSON.stringify(O(e,t,e.registryPath))};
102
102
 
103
- builder.init(process.env.${re}${n?"!":""});
103
+ builder.init(process.env.${xe}${n?"!":""});
104
104
 
105
105
  // Define a function that fetches the Builder
106
106
  // content for a given page
@@ -164,7 +164,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
164
164
  </>
165
165
  );
166
166
  }
167
- `.trimStart()}async function yo(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=Eo(e);if(!await e.exists(i)){let m=await e.formatCode(i,s);await e.writeFile(i,m),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function Eo(e){let t=e.typescriptEnabled,r=`
167
+ `.trimStart()}async function jo(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=_o(e);if(!await e.exists(i)){let c=await e.formatCode(i,s);await e.writeFile(i,c),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function _o(e){let t=e.typescriptEnabled,r=`
168
168
  "use client"
169
169
  import React, { useState } from "react";
170
170
  import styles from "./styles.module.css";
@@ -227,13 +227,13 @@ export default Counter;
227
227
  font-size: 42px;
228
228
  text-align: center;
229
229
  }
230
- `.trimStart();return{component:r,styles:n}}async function Do(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await M(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await M(e,o.id,!0,!1,null,null,!0,!1)}async function Cn(e){let t=await vo(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>dn(t),ensureFigmaImportPage:()=>gn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>M(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await M(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>M(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>M(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>M(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>M(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ee(t),setPublicApiKey:n=>Mt(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>fe(t),setCache:n=>me(t,n)}}async function vo(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await Po(e),o=await Ct(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(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 l=e.join(r,"pages");await e.exists(l)&&(a.pagesDir=l),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 Ct(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Po(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 Fe(e){return await de(e,[".env"],wn)}async function Sn(e,t){bo(t);let r=await Fe(e),n=await ge(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function bo(e){typeof process<"u"&&(process.env[wn]=e)}var wn="PUBLIC_BUILDER_API_KEY";function Tn(e,t,r){if(r.length===0)return e;let n=e.split(`
230
+ `.trimStart();return{component:r,styles:n}}async function Bo(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await W(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await W(e,o.id,!0,!1,null,null,!0,!1)}async function Dn(e){let t=await Vo(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>yn(t),ensureFigmaImportPage:()=>Tn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>W(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await W(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>W(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>W(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>W(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>W(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>be(t),setPublicApiKey:n=>Yt(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function Vo(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await $o(e),o=await Tt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(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 l=e.join(r,"pages");await e.exists(l)&&(a.pagesDir=l),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 Tt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function $o(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 je(e){return await se(e,[".env"],vn)}async function Pn(e,t){zo(t);let r=await je(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function zo(e){typeof process<"u"&&(process.env[vn]=e)}var vn="PUBLIC_BUILDER_API_KEY";function bn(e,t,r){if(r.length===0)return e;let n=e.split(`
231
231
  `),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(`
232
- `)}function Ze(e,t,r){return gt(e,t,r.variableName)?t:Io(e,t,r)}function Io(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),l=e.ts.factory.createVariableStatement([s],a),m=[...t.statements,l];return e.ts.factory.updateSourceFile(t,m)}async function En(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(".")||Fo.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await et(e,o,s,i);r.push(...l)})),r}async function Dn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return No(e,t,n)}return null}function No(e,t,r){let n=E(e,r);return et(e,null,t,n)}async function et(e,t,r,n){r=e.normalize(r);let o=[],i=$(e,n);return await Promise.all(i.map(async a=>{let s=await Ro(e,t,r,a);s&&o.push(s)})),o}async function Ro(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=B(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=yn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await _(e,r,l),displayFilePath:N(e,r),name:j(l),inputs:[],exportName:n.isDefaultExport?"default":l,exportType:n.isDefaultExport?"default":"named",importName:l,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=yn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:N(e,r),name:G(e,r),inputs:[],exportName:"default",exportType:"default",importName:De(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function yn(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 Fo=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function vn(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 Me(e,t.cmpInfo.filePath,null);if(!(await et(e,i,t.cmpInfo.filePath,o)).find(l=>l.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ne(e,i,r)}return[]}async function Pn(e){return St(e)}async function St(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ao),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Ao=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
232
+ `)}function rt(e,t,r){return St(e,t,r.variableName)?t:Uo(e,t,r)}function Uo(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),l=e.ts.factory.createVariableStatement([s],a),c=[...t.statements,l];return e.ts.factory.updateSourceFile(t,c)}async function Nn(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(".")||Qo.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await ot(e,o,s,i);r.push(...l)})),r}async function Rn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ko(e,t,n)}return null}function Ko(e,t,r){let n=P(e,r);return ot(e,null,t,n)}async function ot(e,t,r,n){r=e.normalize(r);let o=[],i=z(e,n);return await Promise.all(i.map(async a=>{let s=await Mo(e,t,r,a);s&&o.push(s)})),o}async function Mo(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=j(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=In(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await _(e,r,l),displayFilePath:R(e,r),name:k(l),inputs:[],exportName:n.isDefaultExport?"default":l,exportType:n.isDefaultExport?"default":"named",importName:l,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=In(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:R(e,r),name:M(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ie(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function In(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 Qo=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Fn(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 He(e,t.cmpInfo.filePath,null);if(!(await ot(e,i,t.cmpInfo.filePath,o)).find(l=>l.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Le(e,i,r)}return[]}async function An(e){return Et(e)}async function Et(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,qo),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var qo=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
233
233
 
234
234
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
235
235
  ];
236
- `;async function bn(e){await St(e);let t=await e.readFile(e.registryPath);return t?Lo(e,t):{components:[],sourceFile:E(e,"")}}async function Lo(e,t){let r=E(e,t);return Oo(e,r)}async function Oo(e,t){let r=[],n=ee(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await wt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:X(r)}}async function wt(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(D(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 Ke(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=B(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await Dn(e,s.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let m=l.find(d=>d.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}continue}}return n=oe(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function In(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),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await U(e,[...t])}async function le(e,t,r,n,o,i,a,s){let l=await In(e),[m,d,p]=await Promise.all([En(e,l),bn(e),Fe(e)]),c=m.map(f=>f.cmpInfo),u=d.components,h={components:se(c,u),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:he(c),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let f=m.find(y=>y.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(y=>y.id===t),C=await vn(e,f);ie(x,C),t=Array.isArray(t)?t[0]:t;let S=we(t,c,u,r,n,o,i),{elements:P,elmIndex:T,statementIndex:w,statement:b,variableDeclaration:O}=await jo(e,g,f),R=!1;if(S.addCmpToRegistry?(P.push(ko(e,S.addCmpToRegistry)),R=!0):S.removeCmpFromRegistry?(P.splice(T,1),R=!0):S.updateRegisteredCmp&&(P[T]=Z(e,P[T],S.updateRegisteredCmp),R=!0),R&&a){let y=[...g.statements];y[w]=e.ts.factory.updateVariableStatement(b,b.modifiers,e.ts.factory.updateVariableDeclarationList(b.declarationList,[e.ts.factory.updateVariableDeclaration(O,O.name,O.exclamationToken,O.type,e.ts.factory.createArrayLiteralExpression(Ye(e,P)))])),g=e.ts.factory.updateSourceFile(g,y),x.exportType==="named"?g=v(e,g,{namedImports:[x.importName],importPath:A(e,e.registryPath,x.filePath)}):g=v(e,g,{defaultImport:x.importName,importPath:A(e,e.registryPath,x.filePath)}),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=Ze(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=Se(e,g),g=Ce(e,g);let F=I(e,g);F=te(F),F=Tn(F,_o,"CUSTOM_COMPONENTS"),F=await e.formatCode(e.registryPath,F),await e.writeFile(e.registryPath,F)}h.components=S.components}return h}function ko(e,t){return Z(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function jo(e,t,r){let n=ee(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 wt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var _o=["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 Nn(e){let t=await Bo(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Pn(t),ensureFigmaImportPage:async()=>[],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:()=>Fe(t),setPublicApiKey:n=>Sn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>fe(t),setCache:n=>me(t,n)}}async function Bo(e){let t=await ye(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 Ae(e){return await de(e,[".env"],Le)}async function Rn(e,t){let r=await Ae(e),n=await ge(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Le="PUBLIC_BUILDER_KEY";async function Fn(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"||Vo.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let m=await ae(e,o,l,a);r.push(...m)})),r}var Vo=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function An(e){await yt(e);let t=await e.readFile(e.registryPath);return t?$o(e,t):{components:[],sourceFile:E(e,"")}}async function $o(e,t){let r=E(e,t);return zo(e,r)}async function zo(e,t){let r=[],n=ee(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Tt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:X(r)}}async function Tt(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(D(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 p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let l=await Ke(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=B(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let m=await nn(e,l.filePath);if(m&&m.length>0)if(m.length===1)n.exportName=m[0].cmpInfo.exportName;else{let d=m.find(p=>p.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=oe(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function K(e,t,r,n,o,i,a,s){let l=await Xe(e),[m,d,p]=await Promise.all([Fn(e,l),An(e),Ae(e)]),c=m.map(C=>C.cmpInfo),u=d.components,h={components:se(c,u),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:he(c),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await We(e,h.components),h;let f=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let w=m.find(b=>b.cmpInfo.id===T);if(!w)throw new Error(`Component ${T} not found`);return w}),S=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),P=await U(e,S);for(let T of C){let w=h.components.find(Q=>Q.id===T.cmpInfo.id),b=await He(e,T,P);ie(w,b);let O=c.findIndex(Q=>Q.id===T.cmpInfo.id);c[O].inputs=b;let R=we(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:F,statementIndex:k,statement:ue,variableDeclaration:Be}=await Mo(e,g,T);if(R.addCmpToRegistry)y.push(Uo(e,R.addCmpToRegistry)),f=!0;else if(R.removeCmpFromRegistry)y.splice(F,1),f=!0;else if(R.updateRegisteredCmp){let Q=Z(e,y[F],R.updateRegisteredCmp);y[F]=e.ts.factory.updateObjectLiteralExpression(Q,[Ln(e,R.updateRegisteredCmp),...Q.properties.slice(1)]),f=!0}if(f&&a){let Q=[...g.statements];Q[k]=e.ts.factory.updateVariableStatement(ue,ue.modifiers,e.ts.factory.updateVariableDeclarationList(ue.declarationList,[e.ts.factory.updateVariableDeclaration(Be,Be.name,Be.exclamationToken,Be.type,e.ts.factory.createArrayLiteralExpression(Ye(e,y)))])),g=e.ts.factory.updateSourceFile(g,Q),w.exportType==="named"?g=v(e,g,{namedImports:[w.importName],importPath:A(e,e.registryPath,w.filePath)}):g=v(e,g,{defaultImport:w.importName,importPath:A(e,e.registryPath,w.filePath)}),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),w.acceptsChildren&&(g=v(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=Ze(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=R.components,u=R.components.filter(xr=>xr.isRegistered)}}}if(f&&a){g=Se(e,g),g=Ce(e,g);let C=I(e,g);C=te(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Ln(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 Uo(e,t){return Z(e,e.ts.factory.createObjectLiteralExpression([Ln(e,t)],!0),t)}async function Mo(e,t,r){let n=ee(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 Tt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function On(e){let t=[],r=await qo(e,t);return t.push(...await yt(e)),await Wo(e,r),await Qo(e,t),t}async function kn(e){let t=[];return await Ko(e,t),t}async function Ko(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,jn({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Qo(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,jn({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function jn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=A(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Le}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Le}`),n&&(s+="!"),`
236
+ `;async function Ln(e){await Et(e);let t=await e.readFile(e.registryPath);return t?Jo(e,t):{components:[],sourceFile:P(e,"")}}async function Jo(e,t){let r=P(e,t);return Wo(e,r)}async function Wo(e,t){let r=[],n=ce(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await wt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function wt(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=k(a)),n.importName=a;let s=await Ge(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=j(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await Rn(e,s.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let c=l.find(d=>d.cmpInfo.exportName===a);c&&(n.exportName=c.cmpInfo.exportName)}continue}}return n=G(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function On(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),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await $(e,[...t])}async function he(e,t,r,n,o,i,a,s){let l=await On(e),[c,d,p]=await Promise.all([Nn(e,l),Ln(e),je(e)]),u=c.map(m=>m.cmpInfo),f=d.components,h={components:Z(u,f),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(u),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let m=c.find(T=>T.cmpInfo.id===t);if(!m)throw new Error(`Component ${t} not found`);let x=d.sourceFile,g=h.components.find(T=>T.id===t),C=await Fn(e,m);X(g,C),t=Array.isArray(t)?t[0]:t;let S=de(t,u,f,r,n,o,i),{elements:I,elmIndex:E,statementIndex:y,statement:D,variableDeclaration:A}=await Ho(e,x,m),L=!1;if(S.addCmpToRegistry?(I.push(Yo(e,S.addCmpToRegistry)),L=!0):S.removeCmpFromRegistry?(I.splice(E,1),L=!0):S.updateRegisteredCmp&&(I[E]=q(e,I[E],S.updateRegisteredCmp),L=!0),L&&a){let T=[...x.statements];T[y]=e.ts.factory.updateVariableStatement(D,D.modifiers,e.ts.factory.updateVariableDeclarationList(D.declarationList,[e.ts.factory.updateVariableDeclaration(A,A.name,A.exclamationToken,A.type,e.ts.factory.createArrayLiteralExpression(tt(e,I)))])),x=e.ts.factory.updateSourceFile(x,T),g.exportType==="named"?x=w(e,x,{namedImports:[g.importName],importPath:O(e,e.registryPath,g.filePath)}):x=w(e,x,{defaultImport:g.importName,importPath:O(e,e.registryPath,g.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x=fe(e,x),x=me(e,x);let N=F(e,x);N=J(N),N=bn(N,Go,"CUSTOM_COMPONENTS"),N=await e.formatCode(e.registryPath,N),await e.writeFile(e.registryPath,N)}h.components=S.components}return h}function Yo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Ho(e,t,r){let n=ce(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 wt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Go=["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 kn(e){let t=await Xo(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>An(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>he(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await he(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>he(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>he(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>he(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>he(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>je(t),setPublicApiKey:n=>Pn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function Xo(e){let t=await ve(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 _e(e){return await se(e,[".env"],Be)}async function jn(e,t){let r=await _e(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Be="PUBLIC_BUILDER_KEY";async function _n(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"||Zo.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let c=await ue(e,o,l,a);r.push(...c)})),r}var Zo=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Bn(e){await Pt(e);let t=await e.readFile(e.registryPath);return t?ei(e,t):{components:[],sourceFile:P(e,"")}}async function ei(e,t){let r=P(e,t);return ti(e,r)}async function ti(e,t){let r=[],n=ce(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Dt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Dt(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 p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=k(a)),n.importName=a;let l=await Ge(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=j(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await ln(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(p=>p.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=G(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Y(e,t,r,n,o,i,a,s){let l=await De(e),[c,d,p]=await Promise.all([_n(e,l),Bn(e),_e(e)]),u=c.map(C=>C.cmpInfo),f=d.components,h={components:Z(u,f),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(u),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Ee(e,h.components),h;let m=!1,x=d.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let C=g.map(E=>{let y=c.find(D=>D.cmpInfo.id===E);if(!y)throw new Error(`Component ${E} not found`);return y}),S=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),I=await $(e,S);for(let E of C){let y=h.components.find(H=>H.id===E.cmpInfo.id),D=await we(e,E,I);X(y,D);let A=u.findIndex(H=>H.id===E.cmpInfo.id);u[A].inputs=D;let L=de(E.cmpInfo.id,u,f,r,n,o,i),{elements:T,elmIndex:N,statementIndex:v,statement:U,variableDeclaration:Me}=await ri(e,x,E);if(L.addCmpToRegistry)T.push(ni(e,L.addCmpToRegistry)),m=!0;else if(L.removeCmpFromRegistry)T.splice(N,1),m=!0;else if(L.updateRegisteredCmp){let H=q(e,T[N],L.updateRegisteredCmp);T[N]=e.ts.factory.updateObjectLiteralExpression(H,[Vn(e,L.updateRegisteredCmp),...H.properties.slice(1)]),m=!0}if(m&&a){let H=[...x.statements];H[v]=e.ts.factory.updateVariableStatement(U,U.modifiers,e.ts.factory.updateVariableDeclarationList(U.declarationList,[e.ts.factory.updateVariableDeclaration(Me,Me.name,Me.exclamationToken,Me.type,e.ts.factory.createArrayLiteralExpression(tt(e,T)))])),x=e.ts.factory.updateSourceFile(x,H),y.exportType==="named"?x=w(e,x,{namedImports:[y.importName],importPath:O(e,e.registryPath,y.filePath)}):x=w(e,x,{defaultImport:y.importName,importPath:O(e,e.registryPath,y.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),y.acceptsChildren&&(x=w(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=L.components,f=L.components.filter(Rr=>Rr.isRegistered)}}}if(m&&a){x=fe(e,x),x=me(e,x);let C=F(e,x);C=J(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Vn(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 ni(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([Vn(e,t)],!0),t)}async function ri(e,t,r){let n=ce(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 Dt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function $n(e){let t=[],r=await ai(e,t);return t.push(...await Pt(e)),await li(e,r),await ii(e,t),t}async function zn(e){let t=[];return await oi(e,t),t}async function oi(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,Un({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function ii(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,Un({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Un({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Be}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Be}`),n&&(s+="!"),`
237
237
  import { BuilderComponent, builder } from "@builder.io/react";
238
238
  import { useLoaderData } from "@remix-run/react";
239
239
  import { CUSTOM_COMPONENTS } from ${JSON.stringify(o)};
@@ -290,11 +290,11 @@ export default function Page() {
290
290
  ${n?`
291
291
  declare global {
292
292
  interface Env {
293
- ${Le}: string;
293
+ ${Be}: string;
294
294
  }
295
295
  }
296
296
  `:""}
297
- `}async function qo(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=Jo(e),m=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${m}`),!m){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}let d=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${d}`),d||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function Jo(e){let t=e.typescriptEnabled,r=`
297
+ `}async function ai(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=si(e),c=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${c}`),!c){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}let d=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${d}`),d||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function si(e){let t=e.typescriptEnabled,r=`
298
298
  import { useState } from "react";
299
299
  import styles from "./styles.module.css";
300
300
  ${t?`
@@ -357,18 +357,23 @@ export default Counter;
357
357
  font-size: 42px;
358
358
  text-align: center;
359
359
  }
360
- `.trimStart();return{component:r,styles:n}}async function Wo(e,t){let n=(await K(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await K(e,n.id,!0,!1,null,null,!0,!1)}async function yt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ho(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Ho(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
360
+ `.trimStart();return{component:r,styles:n}}async function li(e,t){let n=(await Y(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Y(e,n.id,!0,!1,null,null,!0,!1)}async function Pt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ci(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function ci(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
361
361
 
362
362
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
363
363
  ];`:`export const CUSTOM_COMPONENTS = [
364
364
  ];
365
- `}async function _n(e){let t=await Yo(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:()=>On(t),ensureFigmaImportPage:()=>kn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>K(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await K(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>K(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>K(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>K(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>K(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ae(t),setPublicApiKey:n=>Rn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>fe(t),setCache:n=>me(t,n)}}async function Yo(e){let t=await Zo(e),r=await ei(e),n=e.dirname(r),o=e.join(n,"components"),i=await Go(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a);return{...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await Xo(e,r)}}function Go(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Xo(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function Zo(e){let t=["remix.config.ts","remix.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 ei(e){let t=await ye(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.`)}var at=Er(Yn(),1);async function Gn(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:z(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:V(i.inputs)};return V(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,at.compress)(n);return btoa(JSON.stringify(o))}async function Xn(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,at.decompress)(o),a=V(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=z(e.normalize(s.filePath)),m=n.components.find(p=>z(p.filePath).endsWith(l)&&p.exportName===s.exportName);if(!m){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${m.id})`,m.filePath),await t.registerComponent({cmpId:m.id});for(let p of s.inputs)e.debug(`set input (${m.id})`),await t.setRegisteredComponentInput({cmpId:m.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${m.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:m.id,name:s.name,image:s.image,description:s.description});a=V(d)}return a}var Di={"@builder.io/qwik-city":Nn,next:Cn,"@remix-run/react":_n};async function Zn(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 Y(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=Di[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Gn(e,n),importRegistry:i=>Xn(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function er(e){function t(p){if(typeof p!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(p))}function r(p,c){let u="",h=0,f=-1,g=0,x;for(let C=0;C<=p.length;++C){if(C<p.length)x=p.charCodeAt(C);else{if(x===47)break;x=47}if(x===47){if(!(f===C-1||g===1))if(f!==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 S=u.lastIndexOf("/");if(S!==u.length-1){S===-1?(u="",h=0):(u=u.slice(0,S),h=u.length-1-u.lastIndexOf("/")),f=C,g=0;continue}}else if(u.length===2||u.length===1){u="",h=0,f=C,g=0;continue}}c&&(u.length>0?u+="/..":u="..",h=2)}else u.length>0?u+="/"+p.slice(f+1,C):u=p.slice(f+1,C),h=C-f-1;f=C,g=0}else x===46&&g!==-1?++g:g=-1}return u}let n=function(...c){let u="",h=!1;for(let f=c.length-1;f>=-1&&!h;f--){let g;f>=0?g=c[f]: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 f=c.length,g=f-h,x=1;for(;x<u.length&&u.charCodeAt(x)===47;++x);let S=u.length-x,P=g<S?g:S,T=-1,w=0;for(;w<=P;++w){if(w===P){if(S>P){if(u.charCodeAt(x+w)===47)return u.slice(x+w+1);if(w===0)return u.slice(x+w)}else g>P&&(c.charCodeAt(h+w)===47?T=w:w===0&&(T=0));break}let O=c.charCodeAt(h+w),R=u.charCodeAt(x+w);if(O!==R)break;O===47&&(T=w)}let b="";for(w=h+T+1;w<=f;++w)(w===f||c.charCodeAt(w)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+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 f=c[h];t(f),f.length>0&&(u===void 0?u=f:u+="/"+f)}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,f=-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,S=-1;for(x=c.length-1;x>=0;--x){let P=c.charCodeAt(x);if(P===47){if(!g){h=x+1;break}}else S===-1&&(g=!1,S=x+1),C>=0&&(P===u.charCodeAt(C)?--C===-1&&(f=x):(C=-1,f=S))}return h===f?f=S:f===-1&&(f=c.length),c.slice(h,f)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!g){h=x+1;break}}else f===-1&&(g=!1,f=x+1);return f===-1?"":c.slice(h,f)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0),h=u===47,f=-1,g=!0;for(let x=c.length-1;x>=1;--x)if(u=c.charCodeAt(x),u===47){if(!g){f=x;break}}else g=!1;return f===-1?h?"/":".":h&&f===1?"//":c.slice(0,f)},extname:function(c){t(c);let u=-1,h=0,f=-1,g=!0,x=0;for(let C=c.length-1;C>=0;--C){let S=c.charCodeAt(C);if(S===47){if(!g){h=C+1;break}continue}f===-1&&(g=!1,f=C+1),S===46?u===-1?u=C:x!==1&&(x=1):u!==-1&&(x=-1)}return u===-1||f===-1||x===0||x===1&&u===f-1&&u===h+1?"":c.slice(u,f)}}}async function tr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=er({cwd:r,...e}),o=new Map,i=f=>n.normalize(n.resolve(r(),f)),a=f=>{for(let[g]of o)if((g+"/").startsWith(f))return!0;return f===t()},s=f=>(f=i(f),o.has(f)?!0:a(f)),l=f=>{f=i(f);let g=f===t()?f:f+"/",x=g.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,x).join("/")+"/"===g){let w=S.split("/")[x];w&&!C.includes(w)&&C.push(w)}return C.sort()},m=f=>{f=i(f);let g=o.get(f);return typeof g=="string"?g:null},d=f=>(f=i(f),{isFile:()=>o.has(f),isDirectory:()=>!o.has(f)&&a(f)}),p=async f=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(f),S=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(S)).map(P=>P.toString(16).padStart(2,"0")).join("")}let g=0;for(let x=0;x<f.length;x++){let C=f.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 f=>s(f),existsSync:s,readdir:async f=>l(f),readdirSync:l,readFile:async f=>m(f),readFileSync:m,stat:async f=>d(f),statSync:d,writeFile:async(f,g)=>{f=i(f),o.set(f,g);let x={path:f,basename:n.basename(f),dirname:n.dirname(f),extname:n.extname(f)};for(let C of c)await C(x)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(f,g)=>g,on:(f,g)=>{f==="change"&&c.add(g)},off:(f,g)=>{f==="change"&&c.delete(g)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await Y(u);return u.getFrameworks=()=>h,u}async function nr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(rr(e,n))return o;let a=$(e,n,"cjs"),s=$(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 p=d.statement;if(!e.ts.isVariableStatement(p))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 f=h.initializer;if(e.ts.isObjectLiteralExpression(f)||e.ts.isCallExpression(f)){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,[f]))])),n=e.ts.factory.updateSourceFile(n,x),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let l=a[0];if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let c=jt(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(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=I(e,n),o.hasContentUpdates=!0,o}let m=l.statement;if(e.ts.isVariableStatement(m)){let d=[...m.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let c=p.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=jt(e,n);n=u.sourceFile;let h=[...n.statements],f=h.indexOf(m);return h[f]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(l.node)){let d=l.node,p=l.statement;if(!e.ts.isExpressionStatement(p))throw new Error("Expected an expression statement for the default export");let c=p.expression;if(!e.ts.isBinaryExpression(c))throw new Error("Expected a binary expression for the default export");let h=l.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let f=[...h.statements],g=f.findIndex(T=>e.ts.isReturnStatement(T));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=f[g],C=jt(e,n);n=C.sourceFile,f[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[x.expression]));let S=[...n.statements],P=S.indexOf(p);return S[P]=e.ts.factory.updateExpressionStatement(p,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,f)))),n=e.ts.factory.updateSourceFile(n,S),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function rr(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 jt(e,t){let r=rr(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 ar(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(sr(e,n))return o;let a=$(e,n,"cjs"),s=$(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let l=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let p=d.statement;if(!e.ts.isExportAssignment(p))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(p.expression)){let c="builderDevTools()",u=vi(e,p.expression);if(!u)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[u]),f=[...n.statements],g=f.indexOf(p);return f[g]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=I(e,n),o.hasContentUpdates=!0,o}}if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let c=or(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(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=I(e,n),o.hasContentUpdates=!0,o}let m=l.statement;if(e.ts.isVariableStatement(m)){let d=[...m.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let c=p.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=or(e,n);n=u.sourceFile;let h=[...n.statements],f=h.indexOf(m);return h[f]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function sr(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 or(e,t){let r=sr(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 vi(e,t){let r=[...t.properties],n=r.findIndex(i=>D(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=ir(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=ir(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function ir(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 cr(e,t,r){let n=E(e,r),o=$(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 l=[...i.node.arguments];if(l.length===0)throw new Error("Expected an argument in defineConfig()");let m=l[0];if(e.ts.isArrowFunction(m)){let d=Pi(e,m);if(!d)return s;l[0]=e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,d);let p=[...n.statements],c=p.indexOf(a);return p[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,l)),n=e.ts.factory.updateSourceFile(n,p),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(m)){let d=_t(e,m);if(!d)return s;let p=[...n.statements],c=p.indexOf(a);return p[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,p),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=_t(e,a.expression);if(!l)return s;let m=[...n.statements],d=m.indexOf(a);return m[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,l),n=e.ts.factory.updateSourceFile(n,m),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Pi(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=_t(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function _t(e,t){let r=[...t.properties],n=r.findIndex(i=>D(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=lr(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=lr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function lr(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,[])])}async function pr(e,t,r){throw new Error("Webpack config updates not implemented")}var fr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:nr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:ar},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:cr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:pr}];async function Bt(e){let t=e.resolve("/");for(let n of fr)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),l=e.readFileSync(s);if(typeof l=="string")return{id:n.id,filePath:s,content:l};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Y(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,ur),{id:"next",filePath:n,content:ur}}return null}async function mr(e){let t=await Bt(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await fr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=te(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ur=`
365
+ `}async function Kn(e){let t=await pi(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:()=>$n(t),ensureFigmaImportPage:()=>zn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Y(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Y(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Y(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Y(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Y(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Y(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>_e(t),setPublicApiKey:n=>jn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function pi(e){let t=await fi(e),r=await di(e),n=e.dirname(r),o=e.join(n,"components"),i=await ui(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a);return{...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await mi(e,r)}}function ui(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function mi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function fi(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 di(e){let t=await ve(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 Ve(e){return await se(e,[".env"],Qn)}async function Mn(e,t){let r=await Ve(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Qn="PUBLIC_BUILDER_KEY";function qn(e,t){let r=`Builder.registerComponent(
366
+ `;r+=` ${t.importName},
367
+ `,r+=` {
368
+ name: "${t.name}",
369
+ }
370
+ `,r+=");";let n=qe(e,r);return vt(e,n,t)}function vt(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]=q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function Wn(e){let t=await e.readFile(e.registryPath);return t?gi(e,t):{components:[],sourceFile:P(e,"")}}async function gi(e,t){let r=P(e,t);return xi(e,r)}async function xi(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 c=i.arguments;if(c.length<2)continue;let d=c[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=c[0];if(e.ts.isIdentifier(p)){let u=await hi(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function hi(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(c=>e.ts.isImportDeclaration(c)),l=s.find(c=>c.importClause&&c.importClause.name?.text===n.text);if(l){let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;a.filePath=await Jn(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=M(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(u=>u.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await Jn(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=k(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=G(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function Jn(e,t){return ke(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function Ce(e,t,r,n,o,i,a,s){let l=await De(e),[c,d,p,u]=await Promise.all([cn(e,l),Wn(e),bt(e),Ve(e)]),f=c.map(S=>S.cmpInfo),h=d.components,m={components:Z(f,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(f),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await Ee(e,m.components),m;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(y=>{let D=c.find(A=>A.cmpInfo.id===y);if(!D)throw new Error(`Component ${y} not found`);return D}),I=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),E=await $(e,I);for(let y of S){let D=m.components.find(v=>v.id===y.cmpInfo.id),A=await we(e,y,E);X(D,A);let L=f.findIndex(v=>v.id===y.cmpInfo.id);f[L].inputs=A;let T=de(y.cmpInfo.id,f,h,r,n,o,i),N=[...g.statements];if(T.addCmpToRegistry?(N.push(qn(e,T.addCmpToRegistry)),x=!0):T.removeCmpFromRegistry?(N.splice(T.nodeIndex,1),x=!0):T.updateRegisteredCmp&&(N[T.nodeIndex]=vt(e,N[T.nodeIndex],T.updateRegisteredCmp),x=!0),x&&a){g=e.ts.factory.updateSourceFile(g,N),g=w(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let v=T.addCmpToRegistry||T.updateRegisteredCmp;if(v){let U=O(e,e.registryPath,v.filePath);v.exportType==="default"?g=w(e,g,{defaultImport:v.importName,importPath:U}):v.exportType==="named"&&(g=w(e,g,{namedImports:[v.importName],importPath:U}))}D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=T.components,h=T.components.filter(U=>U.isRegistered)}}}if(x&&a){g=fe(e,g),g=me(e,g);let S=F(e,g);S=J(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return m}async function Yn(e){return[]}async function Hn(e){return[]}async function Gn(e){let t=await Ci(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Yn(t),ensureFigmaImportPage:()=>Hn(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:()=>Ve(t),setPublicApiKey:n=>Mn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function Ci(e){let t=await Si(e),r=e.getRootDir(),n=e.join(r,"src"),o=await bt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o};return await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i)),a}function bt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Si(e){let t=["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 React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}var pt=_r(pr(),1);async function ur(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:K(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:V(i.inputs)};return V(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,pt.compress)(n);return btoa(JSON.stringify(o))}async function mr(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,pt.decompress)(o),a=V(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=K(e.normalize(s.filePath)),c=n.components.find(p=>K(p.filePath).endsWith(l)&&p.exportName===s.exportName);if(!c){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${c.id})`,c.filePath),await t.registerComponent({cmpId:c.id});for(let p of s.inputs)e.debug(`set input (${c.id})`),await t.setRegisteredComponentInput({cmpId:c.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${c.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:c.id,name:s.name,image:s.image,description:s.description});a=V(d)}return a}var Ki={"@builder.io/qwik-city":kn,next:Dn,"@remix-run/react":Kn,react:Gn};async function fr(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 oe(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=Ki[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>ur(e,n),importRegistry:i=>mr(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function dr(e){function t(p){if(typeof p!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(p))}function r(p,u){let f="",h=0,m=-1,x=0,g;for(let C=0;C<=p.length;++C){if(C<p.length)g=p.charCodeAt(C);else{if(g===47)break;g=47}if(g===47){if(!(m===C-1||x===1))if(m!==C-1&&x===2){if(f.length<2||h!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){let S=f.lastIndexOf("/");if(S!==f.length-1){S===-1?(f="",h=0):(f=f.slice(0,S),h=f.length-1-f.lastIndexOf("/")),m=C,x=0;continue}}else if(f.length===2||f.length===1){f="",h=0,m=C,x=0;continue}}u&&(f.length>0?f+="/..":f="..",h=2)}else f.length>0?f+="/"+p.slice(m+1,C):f=p.slice(m+1,C),h=C-m-1;m=C,x=0}else g===46&&x!==-1?++x:x=-1}return f}let n=function(...u){let f="",h=!1;for(let m=u.length-1;m>=-1&&!h;m--){let x;m>=0?x=u[m]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(f=x+"/"+f,h=x.charCodeAt(0)===47)}return f=r(f,!h),h?f.length>0?"/"+f:"/":f.length>0?f:"."},o=function(u){if(t(u),u.length===0)return".";let f=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!f),u.length===0&&!f&&(u="."),u.length>0&&h&&(u+="/"),f?"/"+u:u};return{relative:function(u,f){if(t(u),t(f),u===f||(u=n(u),f=n(f),u===f))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let m=u.length,x=m-h,g=1;for(;g<f.length&&f.charCodeAt(g)===47;++g);let S=f.length-g,I=x<S?x:S,E=-1,y=0;for(;y<=I;++y){if(y===I){if(S>I){if(f.charCodeAt(g+y)===47)return f.slice(g+y+1);if(y===0)return f.slice(g+y)}else x>I&&(u.charCodeAt(h+y)===47?E=y:y===0&&(E=0));break}let A=u.charCodeAt(h+y),L=f.charCodeAt(g+y);if(A!==L)break;A===47&&(E=y)}let D="";for(y=h+E+1;y<=m;++y)(y===m||u.charCodeAt(y)===47)&&(D.length===0?D+="..":D+="/..");return D.length>0?D+f.slice(g+E):(g+=E,f.charCodeAt(g)===47&&++g,f.slice(g))},resolve:n,join:function(...u){if(u.length===0)return".";let f;for(let h=0;h<u.length;++h){let m=u[h];t(m),m.length>0&&(f===void 0?f=m:f+="/"+m)}return f===void 0?".":o(f)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,f){if(f!==void 0&&typeof f!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,m=-1,x=!0,g;if(f!==void 0&&f.length>0&&f.length<=u.length){if(f.length===u.length&&f===u)return"";let C=f.length-1,S=-1;for(g=u.length-1;g>=0;--g){let I=u.charCodeAt(g);if(I===47){if(!x){h=g+1;break}}else S===-1&&(x=!1,S=g+1),C>=0&&(I===f.charCodeAt(C)?--C===-1&&(m=g):(C=-1,m=S))}return h===m?m=S:m===-1&&(m=u.length),u.slice(h,m)}else{for(g=u.length-1;g>=0;--g)if(u.charCodeAt(g)===47){if(!x){h=g+1;break}}else m===-1&&(x=!1,m=g+1);return m===-1?"":u.slice(h,m)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let f=u.charCodeAt(0),h=f===47,m=-1,x=!0;for(let g=u.length-1;g>=1;--g)if(f=u.charCodeAt(g),f===47){if(!x){m=g;break}}else x=!1;return m===-1?h?"/":".":h&&m===1?"//":u.slice(0,m)},extname:function(u){t(u);let f=-1,h=0,m=-1,x=!0,g=0;for(let C=u.length-1;C>=0;--C){let S=u.charCodeAt(C);if(S===47){if(!x){h=C+1;break}continue}m===-1&&(x=!1,m=C+1),S===46?f===-1?f=C:g!==1&&(g=1):f!==-1&&(g=-1)}return f===-1||m===-1||g===0||g===1&&f===m-1&&f===h+1?"":u.slice(f,m)}}}async function gr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=dr({cwd:r,...e}),o=new Map,i=m=>n.normalize(n.resolve(r(),m)),a=m=>{for(let[x]of o)if((x+"/").startsWith(m))return!0;return m===t()},s=m=>(m=i(m),o.has(m)?!0:a(m)),l=m=>{m=i(m);let x=m===t()?m:m+"/",g=x.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,g).join("/")+"/"===x){let y=S.split("/")[g];y&&!C.includes(y)&&C.push(y)}return C.sort()},c=m=>{m=i(m);let x=o.get(m);return typeof x=="string"?x:null},d=m=>(m=i(m),{isFile:()=>o.has(m),isDirectory:()=>!o.has(m)&&a(m)}),p=async m=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(m),S=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(S)).map(I=>I.toString(16).padStart(2,"0")).join("")}let x=0;for(let g=0;g<m.length;g++){let C=m.charCodeAt(g);x=(x<<5)-x+C,x|=0}return Number(Math.abs(x)).toString(36)},u=new Set,f={getRootDir:t,cwd:r,exists:async m=>s(m),existsSync:s,readdir:async m=>l(m),readdirSync:l,readFile:async m=>c(m),readFileSync:c,stat:async m=>d(m),statSync:d,writeFile:async(m,x)=>{m=i(m),o.set(m,x);let g={path:m,basename:n.basename(m),dirname:n.dirname(m),extname:n.extname(m)};for(let C of u)await C(g)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(m,x)=>x,on:(m,x)=>{m==="change"&&u.add(x)},off:(m,x)=>{m==="change"&&u.delete(x)},debug:(...m)=>{console.debug("[builder-dev-tools]",...m)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await oe(f);return f.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,f}async function xr(e,t,r){let n=P(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(hr(e,n))return o;let a=z(e,n,"cjs"),s=z(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 p=d.statement;if(!e.ts.isVariableStatement(p))throw new Error(`Expected an export assignment from ${t}`);let u=d.statement;if(e.ts.isVariableStatement(u)){let f=[...u.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let h=f[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 x="BuilderDevTools()",g=[...n.statements],C=g.indexOf(u);return g[C]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(x),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,g),n=w(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let l=a[0];if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let u=zt(e,n);n=u.sourceFile;let f=[...n.statements],h=f.indexOf(d);return f[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,f),o.content=F(e,n),o.hasContentUpdates=!0,o}let c=l.statement;if(e.ts.isVariableStatement(c)){let d=[...c.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let u=p.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let f=zt(e,n);n=f.sourceFile;let h=[...n.statements],m=h.indexOf(c);return h[m]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(f.withFnVariableName),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(l.node)){let d=l.node,p=l.statement;if(!e.ts.isExpressionStatement(p))throw new Error("Expected an expression statement for the default export");let u=p.expression;if(!e.ts.isBinaryExpression(u))throw new Error("Expected a binary expression for the default export");let h=l.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let m=[...h.statements],x=m.findIndex(E=>e.ts.isReturnStatement(E));if(x===-1)throw new Error("Expected a return statement on the next config function");let g=m[x],C=zt(e,n);n=C.sourceFile,m[x]=e.ts.factory.updateReturnStatement(g,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[g.expression]));let S=[...n.statements],I=S.indexOf(p);return S[I]=e.ts.factory.updateExpressionStatement(p,e.ts.factory.updateBinaryExpression(u,u.left,u.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,S),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function hr(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 zt(e,t){let r=hr(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 yr(e,t,r){let n=P(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Tr(e,n))return o;let a=z(e,n,"cjs"),s=z(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let l=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let p=d.statement;if(!e.ts.isExportAssignment(p))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(p.expression)){let u="builderDevTools()",f=Mi(e,p.expression);if(!f)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[f]),m=[...n.statements],x=m.indexOf(p);return m[x]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,m),n=w(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=F(e,n),o.hasContentUpdates=!0,o}}if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let u=Cr(e,n);n=u.sourceFile;let f=[...n.statements],h=f.indexOf(d);return f[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,f),o.content=F(e,n),o.hasContentUpdates=!0,o}let c=l.statement;if(e.ts.isVariableStatement(c)){let d=[...c.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let u=p.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let f=Cr(e,n);n=f.sourceFile;let h=[...n.statements],m=h.indexOf(c);return h[m]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(f.withFnVariableName),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Tr(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 Cr(e,t){let r=Tr(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 Mi(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=Sr(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=Sr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Sr(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 wr(e,t,r){let n=P(e,r),o=z(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 l=[...i.node.arguments];if(l.length===0)throw new Error("Expected an argument in defineConfig()");let c=l[0];if(e.ts.isArrowFunction(c)){let d=Qi(e,c);if(!d)return s;l[0]=e.ts.factory.updateArrowFunction(c,c.modifiers,c.typeParameters,c.parameters,c.type,c.equalsGreaterThanToken,d);let p=[...n.statements],u=p.indexOf(a);return p[u]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,l)),n=e.ts.factory.updateSourceFile(n,p),n=w(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(c)){let d=Ut(e,c);if(!d)return s;let p=[...n.statements],u=p.indexOf(a);return p[u]=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,p),n=w(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=Ut(e,a.expression);if(!l)return s;let c=[...n.statements],d=c.indexOf(a);return c[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,l),n=e.ts.factory.updateSourceFile(n,c),n=w(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Qi(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=Ut(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Ut(e,t){if(Wi(e)){let i=qi(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=Er(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=Er(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Er(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 qi(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=Ji(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=Kt(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 Ji(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=Kt(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=Kt(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Kt(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 Wi(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Dr(e,t,r){throw new Error("Webpack config updates not implemented")}var vr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:xr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:wr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:yr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Dr}];async function Mt(e){let t=e.resolve("/");for(let n of vr)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),l=e.readFileSync(s);if(typeof l=="string")return{id:n.id,filePath:s,content:l};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await oe(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,Pr),{id:"next",filePath:n,content:Pr}}return null}async function br(e){let t=await Mt(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await vr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=J(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var Pr=`
366
371
  /** @type {import('next').NextConfig} */
367
372
  const nextConfig = {
368
373
  }
369
374
 
370
375
  module.exports = nextConfig
371
- `.trimStart();var dr="/~builder-dev-tools.js";function gr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(dr,e);t.searchParams.set("v",_e);let r=JSON.stringify(_e),n=`/* Builder Devtools v${_e} */
376
+ `.trimStart();var Ir="/~builder-dev-tools.js";function Nr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Ir,e);t.searchParams.set("v",Ke);let r=JSON.stringify(Ke),n=`/* Builder Devtools v${Ke} */
372
377
  `;return n+=`(() => {
373
378
  `,n+=` if (typeof document !== "undefined") {
374
379
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -381,4 +386,4 @@ module.exports = nextConfig
381
386
  `,n+=` }
382
387
  `,n+=` }
383
388
  `,n+=`})();
384
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var _e="1.0.0";
389
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Ke="1.0.2";