@builder.io/dev-tools 1.0.11 → 1.0.13

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.mjs CHANGED
@@ -1,25 +1,25 @@
1
- var br=Object.create;var Ut=Object.defineProperty;var Ir=Object.getOwnPropertyDescriptor;var Nr=Object.getOwnPropertyNames;var Rr=Object.getPrototypeOf,Fr=Object.prototype.hasOwnProperty;var oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ar=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Nr(t))!Fr.call(e,o)&&o!==r&&Ut(e,o,{get:()=>t[o],enumerable:!(n=Ir(t,o))||n.enumerable});return e};var Lr=(e,t,r)=>(r=e!=null?br(Rr(e)):{},Ar(t||!e||!e.__esModule?Ut(r,"default",{value:e,enumerable:!0}):r,e));var bt=oe(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});function Gn(e){return Object.prototype.toString.call(e)}ot.getType=Gn;function yi(e){throw new TypeError("unsupported data type: "+Gn(e))}ot.throwUnknownDataType=yi});var At=oe(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});var te="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);te+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);te+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);te+=t}var be=te.length,Nt={};for(let e=0;e<be;e++){let t=te[e];Nt[t]=e}function Rt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Nt[o];i*=r,t+=i,r*=be}return t}ne.s_to_int=Rt;function Xn(e){let t=BigInt(0),r=BigInt(1),n=BigInt(be);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Nt[i]);a*=r,t+=a,r*=n}return t}ne.s_to_big_int=Xn;function Ft(e){if(e===0)return te[0];let t=[];for(;e!==0;){let r=e%be,n=te[r];t.push(n),e-=r,e/=be}return t.reverse().join("")}ne.int_to_s=Ft;function Zn(e){let t=BigInt(0),r=BigInt(be);if(e===t)return te[0];let n=[];for(;e!==t;){let o=e%r,i=te[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}ne.big_int_to_s=Zn;function at(e){return e.split("").reverse().join("")}function er(e){if(e<0)return"-"+er(-e);let[t,r]=e.toString().split(".");if(!r)return Ft(e);let n;r&&([r,n]=r.split("e")),t=it(t),r=at(r),r=it(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=at(n),n=it(n),o+=n}return o}ne.num_to_s=er;function it(e){let t=+e;return t.toString()===e?Ft(t):":"+Zn(BigInt(e))}ne.int_str_to_s=it;function It(e){return e[0]===":"?Xn(e.substring(1)).toString():Rt(e).toString()}function tr(e){if(e[0]==="-")return-tr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Rt(t);t=It(t),r=It(r),r=at(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=It(n),n=at(n),o+=i?-n:+n}return+o}ne.s_to_num=tr});var Ot=oe(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});var Lt=At();function Ei(e){return"n|"+Lt.num_to_s(e)}re.encodeNum=Ei;function wi(e){return e=e.replace("n|",""),Lt.s_to_num(e)}re.decodeNum=wi;function Di(e){return typeof e=="number"?e:Lt.s_to_int(e)}re.decodeKey=Di;function Pi(e){return e?"b|T":"b|F"}re.encodeBool=Pi;function vi(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}re.decodeBool=vi;function bi(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}re.encodeStr=bi;function Ii(e){return e[0]+e[1]==="s|"?e.substr(2):e}re.decodeStr=Ii});var nr=oe(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.config={sort_key:!1}});var _t=oe(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});var Ni=nr(),Ri=bt(),jt=Ot(),Fi=At();function Ai(e){return e.store.toArray()}ye.memToValues=Ai;function rr(){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=rr;function or(){let e=Object.create(null),t=Object.create(null);return{getValue(r){return e[r]},getSchema(r){return t[r]},forEachValue(r){for(let[n,o]of Object.entries(e))if(r(n,o)==="break")return},forEachSchema(r){for(let[n,o]of Object.entries(t))if(r(n,o)==="break")return},setValue(r,n){e[r]=n},setSchema(r,n){t[r]=n},hasValue(r){return r in e},hasSchema(r){return r in t}}}ye.makeInMemoryCache=or;function Li(){return{store:rr(),cache:or(),keyCount:0}}ye.makeInMemoryMemory=Li;function Te(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Fi.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function Oi(e,t){Ni.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Me(e,t,void 0);return e.cache.setSchema(r,n),n}function Me(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Me(e,null,r);break;case"object":if(t===null)return Te(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Me(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Te(e,n)}else{let n=Object.keys(t);if(n.length===0)return Te(e,"o|");let o="o",i=Oi(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Me(e,s,t);o+="|"+l}return Te(e,o)}case"boolean":return Te(e,jt.encodeBool(t));case"number":return Te(e,jt.encodeNum(t));case"string":return Te(e,jt.encodeStr(t))}return Ri.throwUnknownDataType(t)}ye.addValue=Me});var Vt=oe(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});var ki=bt(),st=Ot(),Bt=_t();function ji(e){let t=Bt.makeInMemoryMemory(),r=Bt.addValue(t,e,void 0);return[Bt.memToValues(t),r]}qe.compress=ji;function _i(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Qe(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=Qe(e,c),r[l]=c}return r}function Bi(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=Qe(e,a),o[i]=a}return o}function Qe(e,t){if(t===""||t==="_")return null;let r=st.decodeKey(t),n=e[r];if(n===null)return n;switch(typeof n){case"undefined":return n;case"number":return n;case"string":switch(n[0]+n[1]){case"b|":return st.decodeBool(n);case"o|":return _i(e,n);case"n|":return st.decodeNum(n);case"a|":return Bi(e,n);default:return st.decodeStr(n)}}return ki.throwUnknownDataType(n)}qe.decode=Qe;function Vi(e){let[t,r]=e;return Qe(t,r)}qe.decompress=Vi});var ar=oe(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});function $i(e){for(let t in e)e[t]===void 0&&delete e[t]}lt.trimUndefined=$i;function zi(e){ir(e,new Set)}lt.trimUndefinedRecursively=zi;function ir(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)&&ir(n,t)}}});var cr=oe(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var sr=Vt();ge.compress=sr.compress;ge.decompress=sr.decompress;var Ki=Vt();ge.decode=Ki.decode;var Ui=_t();ge.addValue=Ui.addValue;var lr=ar();ge.trimUndefined=lr.trimUndefined;ge.trimUndefinedRecursively=lr.trimUndefinedRecursively});async function Mt(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 Qt(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 Ie(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 Ie(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function he(e){let t=[],r=await Mt(e,e.getRootDir());if(r){let n=qt(r);t.push(...n)}return t}function qt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Or)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Or=["@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 kr(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 kr(e,t){let r=await e.readFile(t);return typeof r=="string"?Jt(r):null}function Jt(e){let t={},r=e.replace(/\r\n?/gm,`
2
- `),n;for(;(n=jr.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 jr=/(?:^|^)\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+=`
1
+ var Mr=Object.create;var Jt=Object.defineProperty;var Qr=Object.getOwnPropertyDescriptor;var qr=Object.getOwnPropertyNames;var Wr=Object.getPrototypeOf,Jr=Object.prototype.hasOwnProperty;var me=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Yr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of qr(t))!Jr.call(e,o)&&o!==r&&Jt(e,o,{get:()=>t[o],enumerable:!(n=Qr(t,o))||n.enumerable});return e};var Hr=(e,t,r)=>(r=e!=null?Mr(Wr(e)):{},Yr(t||!e||!e.__esModule?Jt(r,"default",{value:e,enumerable:!0}):r,e));var Ft=me(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});function dr(e){return Object.prototype.toString.call(e)}lt.getType=dr;function ia(e){throw new TypeError("unsupported data type: "+dr(e))}lt.throwUnknownDataType=ia});var _t=me(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});var ce="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);ce+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);ce+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);ce+=t}var Oe=ce.length,Ot={};for(let e=0;e<Oe;e++){let t=ce[e];Ot[t]=e}function kt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Ot[o];i*=r,t+=i,r*=Oe}return t}pe.s_to_int=kt;function gr(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Oe);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Ot[i]);a*=r,t+=a,r*=n}return t}pe.s_to_big_int=gr;function jt(e){if(e===0)return ce[0];let t=[];for(;e!==0;){let r=e%Oe,n=ce[r];t.push(n),e-=r,e/=Oe}return t.reverse().join("")}pe.int_to_s=jt;function xr(e){let t=BigInt(0),r=BigInt(Oe);if(e===t)return ce[0];let n=[];for(;e!==t;){let o=e%r,i=ce[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}pe.big_int_to_s=xr;function pt(e){return e.split("").reverse().join("")}function hr(e){if(e<0)return"-"+hr(-e);let[t,r]=e.toString().split(".");if(!r)return jt(e);let n;r&&([r,n]=r.split("e")),t=ct(t),r=pt(r),r=ct(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=pt(n),n=ct(n),o+=n}return o}pe.num_to_s=hr;function ct(e){let t=+e;return t.toString()===e?jt(t):":"+xr(BigInt(e))}pe.int_str_to_s=ct;function Lt(e){return e[0]===":"?gr(e.substring(1)).toString():kt(e).toString()}function Cr(e){if(e[0]==="-")return-Cr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return kt(t);t=Lt(t),r=Lt(r),r=pt(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Lt(n),n=pt(n),o+=i?-n:+n}return+o}pe.s_to_num=Cr});var Vt=me(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});var Bt=_t();function aa(e){return"n|"+Bt.num_to_s(e)}ue.encodeNum=aa;function sa(e){return e=e.replace("n|",""),Bt.s_to_num(e)}ue.decodeNum=sa;function la(e){return typeof e=="number"?e:Bt.s_to_int(e)}ue.decodeKey=la;function ca(e){return e?"b|T":"b|F"}ue.encodeBool=ca;function pa(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}ue.decodeBool=pa;function ua(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}ue.encodeStr=ua;function ma(e){return e[0]+e[1]==="s|"?e.substr(2):e}ue.decodeStr=ma});var Sr=me($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.config={sort_key:!1}});var Kt=me(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});var fa=Sr(),da=Ft(),zt=Vt(),ga=_t();function xa(e){return e.store.toArray()}Ee.memToValues=xa;function yr(){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}}}Ee.makeInMemoryStore=yr;function Tr(){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}}}Ee.makeInMemoryCache=Tr;function ha(){return{store:yr(),cache:Tr(),keyCount:0}}Ee.makeInMemoryMemory=ha;function De(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=ga.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function Ca(e,t){fa.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Ge(e,t,void 0);return e.cache.setSchema(r,n),n}function Ge(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Ge(e,null,r);break;case"object":if(t===null)return De(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Ge(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),De(e,n)}else{let n=Object.keys(t);if(n.length===0)return De(e,"o|");let o="o",i=Ca(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Ge(e,s,t);o+="|"+l}return De(e,o)}case"boolean":return De(e,zt.encodeBool(t));case"number":return De(e,zt.encodeNum(t));case"string":return De(e,zt.encodeStr(t))}return da.throwUnknownDataType(t)}Ee.addValue=Ge});var Mt=me(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});var Sa=Ft(),ut=Vt(),Ut=Kt();function ya(e){let t=Ut.makeInMemoryMemory(),r=Ut.addValue(t,e,void 0);return[Ut.memToValues(t),r]}Ze.compress=ya;function Ta(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Xe(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=Xe(e,c),r[l]=c}return r}function wa(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=Xe(e,a),o[i]=a}return o}function Xe(e,t){if(t===""||t==="_")return null;let r=ut.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 ut.decodeBool(n);case"o|":return Ta(e,n);case"n|":return ut.decodeNum(n);case"a|":return wa(e,n);default:return ut.decodeStr(n)}}return Sa.throwUnknownDataType(n)}Ze.decode=Xe;function Da(e){let[t,r]=e;return Xe(t,r)}Ze.decompress=Da});var Dr=me(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});function Ea(e){for(let t in e)e[t]===void 0&&delete e[t]}mt.trimUndefined=Ea;function Pa(e){wr(e,new Set)}mt.trimUndefinedRecursively=Pa;function wr(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)&&wr(n,t)}}});var vr=me(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});var Er=Mt();Ce.compress=Er.compress;Ce.decompress=Er.decompress;var va=Mt();Ce.decode=va.decode;var ba=Kt();Ce.addValue=ba.addValue;var Pr=Dr();Ce.trimUndefined=Pr.trimUndefined;Ce.trimUndefinedRecursively=Pr.trimUndefinedRecursively});async function Yt(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 Ht(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 ke(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 ke(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function Se(e){let t=[],r=await Yt(e,e.getRootDir());if(r){let n=Gt(r);t.push(...n)}return t}function Gt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Gr)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Gr=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function Z(e){let t=Xt(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function ee(e,t){t=typeof t=="object"&&t!=null?t:{};let r=Xt(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Xt(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function fe(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await Xr(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 Xr(e,t){let r=await e.readFile(t);return typeof r=="string"?Zt(r):null}function Zt(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 de(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 Ne(e){return await se(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ce)}async function Yt(e,t){let r=await Ne(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ce="NEXT_PUBLIC_BUILDER_API_KEY";function v(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function We(e,t=""){let r=v(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()+`
9
+ `),await e.writeFile(t,i),"create";return null}async function je(e){return await fe(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],ye)}async function en(e,t){let r=await je(e),n=await de(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ye="NEXT_PUBLIC_BUILDER_API_KEY";function D(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function et(e,t=""){let r=D(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=U(t),r=U(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=U(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function U(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ee(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 j(e).replace(/ /g,"")}function M(e,t){let r=e.extname(t),n=U(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function _(e,t){let r=U(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 j(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function k(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 Re(e){return typeof e=="number"}function we(e){return typeof e=="boolean"}function B(e){return typeof e=="string"}function Fe(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function Le(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=_r(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,Ae(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Ae(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function _r(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Oe(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Vr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Br(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 Br(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]=Oe(e,n.initializer))}}return r}function Vr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Oe(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 Ae(e,t){return ut(e,t,new WeakSet)}function ut(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)?$r(e,t,r):typeof t=="object"?zr(e,t,r):e.ts.factory.createIdentifier(t)}function $r(e,t,r){let n=t.map(o=>ut(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function zr(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,ut(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function ke(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let l=a.heritageClauses?.find(c=>c.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(l){for(let c of l)if(t.getSymbolAtLocation(c.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(c)){let p=c.typeArguments;if(p){let u=p[0];o=t.getTypeFromTypeNode(u).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let l=s[0].getParameters();l.length>0&&(o=t.getTypeOfSymbolAtLocation(l[0],r).getProperties())}}}if(o)for(let i of o){let a=Kr(e,t,i);a&&n.push(a)}return n=n.filter(Xt),n.length>0?n:Ur(e,r)}function Kr(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=mt(c);d.knownType?i=d.builderType:Qr(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=Yr(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Wr)?s.enum=l.map(Jr):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Ur(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 Mr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Qr(e){return typeof e!="string"?!1:!!Mr.some(t=>e.includes(t))}function mt(e){return typeof e=="string"&&(e=e.trim(),qr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var qr=[{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 Wr(e){return/^['"].*['"]$/.test(e)}function Jr(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Yr=(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},Hr=(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=Hr(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!Gr.has(t.toLowerCase())}var Gr=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 X(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=Xr(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Oe(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function Xr(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(Zr(e,n));return r}function Zr(e,t){let r=Oe(e,t),n=ao(r);return n.isRegistered=!0,n}function q(e,t,r){let n=to(r);return t=Le(e,t,"name",n.name,!1),t=Le(e,t,"description",n.description),t=Le(e,t,"image",n.image),t=eo(e,t,n),so(e,t)}function eo(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 Le(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=ro(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 to(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(no)}}function no(e){let t={name:e.name,type:e.type};return(B(e.defaultValue)||Re(e.defaultValue)||we(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 ro(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=oo(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 oo(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=io(e,n,r,i);return n=lo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function io(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,Ae(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Ae(e,r[n]))),t}function Z(e,t){for(let r of t){let n=e.inputs.findIndex(o=>o.name===r.name);n>-1?(r.isRegistered||!e.inputs[n].isRegistered)&&(e.inputs[n]=r):e.inputs.push(r)}e.acceptsChildren=ft(e)}function ao(e){let t=mt(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)||Re(e.defaultValue)||we(e.defaultValue))&&(r.defaultValue=e.defaultValue),B(e.helperText)&&(r.helperText=e.helperText),we(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),dt(r)}function ft(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 dt(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 so(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 lo(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(
11
+ `}return""}function L(e,t,r){t=J(t),r=J(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=J(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function J(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Pe(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return tn(o==="index"?e.basename(e.dirname(t)):o)}function tn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=J(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function _(e,t){let r=J(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 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 M(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function k(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 _e(e){return typeof e=="number"}function ve(e){return typeof e=="boolean"}function z(e){return typeof e=="string"}function Be(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function K(e){return JSON.parse(JSON.stringify(e))}function $e(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=eo(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,Ve(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Ve(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function eo(e,t,r){return t.properties.findIndex(n=>R(e,n)===r)}function ze(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return no(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return to(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 to(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=R(e,n);o&&(r[o]=ze(e,n.initializer))}}return r}function no(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>ze(e,r)):[]}function R(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 Ve(e,t){return xt(e,t,new WeakSet)}function xt(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)?ro(e,t,r):typeof t=="object"?oo(e,t,r):e.ts.factory.createIdentifier(t)}function ro(e,t,r){let n=t.map(o=>xt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function oo(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,xt(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function ge(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let l=a.heritageClauses?.find(c=>c.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(l){for(let c of l)if(t.getSymbolAtLocation(c.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(c)){let m=c.typeArguments;if(m){let u=m[0];o=t.getTypeFromTypeNode(u).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let l=s[0].getParameters();l.length>0&&(o=t.getTypeOfSymbolAtLocation(l[0],r).getProperties())}}}if(o)for(let i of o){let a=io(e,t,i);a&&n.push(a)}return n=n.filter(rn),n.length>0?n:ao(e,r)}function io(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=ht(c);d.knownType?i=d.builderType:lo(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(m=>m.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(m=>m.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=mo(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(po)?s.enum=l.map(uo):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function ao(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 m=c.typeExpression;if(!m)continue;let u="";switch(m.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(rn)}var so=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function lo(e){return typeof e!="string"?!1:!!so.some(t=>e.includes(t))}function ht(e){return typeof e=="string"&&(e=e.trim(),co.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var co=[{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 po(e){return/^['"].*['"]$/.test(e)}function uo(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var mo=(e,t,r)=>{let n=new Set;nn(e,t,r,n);let o=n.delete("true"),i=n.delete("false");(o||i)&&n.add("boolean");let a=Array.from(n.keys()).sort();if(a.length>1&&(a=a.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(a.length>20))return a},fo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},nn=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{nn(e,t,o,n)});else if(r.isLiteral()){let o=fo(e,t,r);n.add(o)}};function rn(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!go.has(t.toLowerCase())}var go=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 H(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=R(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=xo(e,n.initializer);G(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=ze(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function xo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ho(e,n));return r}function ho(e,t){let r=ze(e,t),n=Eo(r);return n.isRegistered=!0,n}function U(e,t,r){let n=So(r);return t=$e(e,t,"name",n.name,!1),t=$e(e,t,"description",n.description),t=$e(e,t,"image",n.image),t=Co(e,t,n),Po(e,t)}function Co(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 $e(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=To(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 So(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(yo)}}function yo(e){let t={name:e.name,type:e.type};return(z(e.defaultValue)||_e(e.defaultValue)||ve(e.defaultValue))&&(t.defaultValue=e.defaultValue),z(e.friendlyName)&&(t.friendlyName=e.friendlyName),z(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 To(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>R(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=wo(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(u=>R(e,u)==="name"),s=i.properties.find(u=>R(e,u)==="name"),l=a?.initializer,c=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",m=c&&e.ts.isStringLiteral(c)?c.text:"zz";return d.toLowerCase().localeCompare(m.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function wo(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=R(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=on(e,t[n],r);else{let o=on(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function on(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=Do(e,n,r,i);return n=vo(e,n.filter(i=>{let a=R(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Do(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,Ve(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Ve(e,r[n]))),t}function G(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=Ct(e)}function Eo(e){let t=ht(e.type),r={name:e.name.trim(),type:t.builderType};return z(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(z(e.defaultValue)||_e(e.defaultValue)||ve(e.defaultValue))&&(r.defaultValue=e.defaultValue),z(e.helperText)&&(r.helperText=e.helperText),ve(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),St(r)}function Ct(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 St(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 Po(e,t){let r=[...t.properties].sort((n,o)=>{let i=R(e,n)||"zz",a=R(e,o)||"zz";if(i==="inputs")return 1;let s=an.indexOf(i),l=an.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 an=["component","name","description"];function vo(e,t){return[...t].sort((n,o)=>{let i=R(e,n)||"zz",a=R(e,o)||"zz",s=sn.indexOf(i),l=sn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var sn=["name","type"];function ln(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=L(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=We(e,r);return gt(e,n,t)}function gt(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 Qt(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=je.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}je.set(a,s)}return s.exists}return o.has(a)||o.set(a,e.existsSync(a)),o.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
22
- `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=je.get(a);if(l)return v(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?je.set(a,{exists:!0,content:s}):je.set(a,{exists:!1})),v(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return co(e,i,t)}catch(a){if(a instanceof Ye){await po(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function co(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 po(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Je.has(t)||Je.set(t,fetch(r).then(n=>n.text()).then(n=>{on.set(t,n)})),await Je.get(t),Je.delete(t)}var on=new Map,Je=new Map,je=new Map,rn=new Map;function w(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=uo(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=mo(e,t,r.defaultImport,r.importPath,n)),t}function uo(e,t,r,n,o,i){return i==="cjs"?sn(e,t,null,r,n):an(e,t,null,r,n,o)}function mo(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 m=0;m<a.length;m++){let h=a[m];if(!e.ts.isImportDeclaration(h)||(s=m,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let f=[],x=h.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&f.push(...x.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 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[m]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,g,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 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 m=u.expression;if(!e.ts.isIdentifier(m)||m.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 f=[...p.name.elements];return f.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(f.push(e.ts.factory.createBindingElement(void 0,void 0,n)),f.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(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 K(e,t,r="esm"){return r==="cjs"?go(e,t):fo(e,t)}function fo(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let 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 go(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let 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 xo(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=xo(e,r,n);if(o){let i=await _e(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 ht(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=ht(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(ho(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Xe(e,n)&&(r=!0)}),r)return!0}return!1}function ho(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 _e(e,t){let r=e.extname(t).toLowerCase();if(r===""||!xt.includes(r)){for(let n of xt){let o=t+n;if(await e.exists(o))return o}for(let n of xt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var xt=[".tsx",".jsx",".ts",".js"];function Be(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=Co(e,i);return a?[{name:a}]:void 0}function Co(e,t){if(typeof t=="string"){t=e.normalize(U(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 De(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=ke(e,o,c.node.fnNode))}}return a}))}async function Pe(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 ke(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 So(e,t,n)}return null}function So(e,t,r){let n=v(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=K(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await To(e,t,r,a);o.push(...s)})),o}async function To(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=_(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Fe(s.name.text))continue;let l=Ve(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 k(e,r,d),displayFilePath:R(e,r),name:j(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=Ve(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 k(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:Ee(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&&!Fe(s))return o;let l=Ve(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 k(e,r,d),displayFilePath:R(e,r),name:c,inputs:[],exportName:d,exportType:p,importName:l.name||Ee(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}if(e.ts.isExportSpecifier(n.node)&&Fe(n.node.getText())){let s=Ve(e,t,n.node);if(s){let l=s.name||M(e,r),c=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named",p=!1;e.ts.isExportDeclaration(n.statement)&&n.statement.moduleSpecifier&&(a=n.statement.moduleSpecifier.getText().replace(/['"]/g,""),p=!0);let u={id:await k(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:s.name||Ee(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps};p&&(u.meta={importPath:a}),o.push({cmpInfo:u,node:s})}return o}return o}function Ve(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Xe(e,r.body)?{name:"",fnNode:r,deps:Be(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:Be(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:Ve(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)||!Fe(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Be(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Be(e,t,n)}}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(Eo(e,i.fileName)||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))}var yo=new Set(["node_modules","dist"]);function Eo(e,t){for(let r of yo)if(e.dirname(t).includes(r))return!0;return!1}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&&wo.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await ue(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var wo=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,[...Ct(e,r),...Ct(e,n),...Ct(e,o),...i])}function W(e){let t=e.split(`
21
+ `,r+=");";let n=et(e,r);return yt(e,n,t)}function yt(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]=U(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function V(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await Ht(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=Ke.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Ke.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=Ke.get(a);if(l)return D(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=pn.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new nt(l)}return a.includes("node_modules")&&(s?Ke.set(a,{exists:!0,content:s}):Ke.set(a,{exists:!1})),D(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return bo(e,i,t)}catch(a){if(a instanceof nt){await Io(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function bo(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=cn.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,cn.set(o,i))}i&&(n.options=K(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 be(e,t,r){r||(r=await V(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 nt=class{constructor(t){this.libName=t}};async function Io(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;tt.has(t)||tt.set(t,fetch(r).then(n=>n.text()).then(n=>{pn.set(t,n)})),await tt.get(t),tt.delete(t)}var pn=new Map,tt=new Map,Ke=new Map,cn=new Map;function E(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"?mn(e,t,null,r,n):un(e,t,null,r,n,o)}function Ro(e,t,r,n,o){return o==="cjs"?mn(e,t,r,null,n):un(e,t,r,null,n,!1)}function un(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,c=!1;for(let p=0;p<a.length;p++){let h=a[p];if(!e.ts.isImportDeclaration(h)||(s=p,!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,y)=>C.name.text.localeCompare(y.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),c=!0}if(l||c)return a[p]=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,m;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(m=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,m),e.ts.factory.createStringLiteral(o));return a.splice(s,0,u),e.ts.factory.updateSourceFile(t,a)}function mn(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],m=d[c],u=m.initializer;if(!u||!e.ts.isCallExpression(u))continue;let p=u.expression;if(!e.ts.isIdentifier(p)||p.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(m.name)&&typeof r=="string")return m.name.text===r?t:(d[c]=e.ts.factory.updateVariableDeclaration(m,e.ts.factory.createIdentifier(r),m.exclamationToken,m.type,m.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(m.name)&&typeof n=="string"){let f=[...m.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[c]=e.ts.factory.updateVariableDeclaration(m,e.ts.factory.createObjectBindingPattern(f),m.exclamationToken,m.type,m.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 Q(e,t,r="esm"){return r==="cjs"?Fo(e,t):Ao(e,t)}function Ao(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let 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 Fo(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 Lo(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 Ie(e,t,r,n){let o=Lo(e,r,n);if(o){let i=await Ue(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 Ne(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 q(e,t,r){let n=Ne(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 rt(e,t){if(t){if(Oo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{rt(e,n)&&(r=!0)}),r)return!0}return!1}function Oo(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 Ue(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Tt.includes(r)){for(let n of Tt){let o=t+n;if(await e.exists(o))return o}for(let n of Tt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Tt=[".tsx",".jsx",".ts",".js"];function Me(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=ko(e,i);return a?[{name:a}]:void 0}function ko(e,t){if(typeof t=="string"){t=e.normalize(J(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 te(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 Re(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await V(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 xe(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=ge(e,o,c.node.fnNode))}}return a}))}async function Ae(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await be(e,t.cmpInfo.filePath,r),a=(await xe(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 ge(e,o,a.node.fnNode)}return[]}async function fn(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 jo(e,t,n)}return null}function jo(e,t,r){let n=D(e,r);return xe(e,null,t,n)}async function xe(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=Q(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await _o(e,t,r,a);o.push(...s)})),o}async function _o(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=_(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Be(s.name.text))continue;let l=Qe(e,t,s.initializer);if(l){let c=l.name||s.name.text,d=n.isDefaultExport?"default":c,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,d),displayFilePath:N(e,r),name:j(c),inputs:[],exportName:d,exportType:m,importName:c,filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}}return o}if(e.ts.isArrowFunction(n.node)){let s=Qe(e,t,n.node);if(s){let l=Y(e,r),c=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,c),displayFilePath:N(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:Pe(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&&!Be(s))return o;let l=Qe(e,t,n.node);if(l){let c=l.name||Y(e,r),d=n.isDefaultExport||!l.name?"default":l.name,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,d),displayFilePath:N(e,r),name:c,inputs:[],exportName:d,exportType:m,importName:l.name||Pe(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}if(e.ts.isExportSpecifier(n.node)&&Be(n.node.getText())){let s=Qe(e,t,n.node);if(s){let l=s.name||Y(e,r),c=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,c),displayFilePath:N(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:s.name||Pe(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}return o}function Qe(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return rt(e,r.body)?{name:"",fnNode:r,deps:Me(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return rt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Me(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:Qe(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)||!Be(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Me(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Me(e,t,n)}}return null}async function dn(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(Vo(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await xe(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Bo=new Set(["node_modules","dist"]);function Vo(e,t){for(let r of Bo)if(e.dirname(t).includes(r))return!0;return!1}async function gn(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&&$o.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await xe(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var $o=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 ne(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,[...wt(e,r),...wt(e,n),...wt(e,o),...i])}function W(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 Ct(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 Ze(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?Do(e,t):{components:[],sourceFile:v(e,"")}}async function Do(e,t){let r=v(e,t);return Po(e,r)}async function Po(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 f=await gn(e,n,h,d,!0);f&&r.push(f)}else{let f=p.arguments[0];if(e.ts.isIdentifier(f)){let x=await xn(e,t,n,f,d,!0);x&&r.push(x)}}continue}let m=await gn(e,n,p,d,!1);m&&r.push(m);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 et(e,p),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=_(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 m=p.arguments[0];if(!e.ts.isStringLiteral(m)||!e.ts.isIdentifier(l.name))return null;let h=m.text;i.filePath=await et(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=_(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=X(e,i,n),i.displayFilePath=R(e,i.filePath),i.filePath&&i.exportName&&(i.id=await k(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 et(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(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 et(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=X(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await k(e,a.filePath,a.exportName)),a}function et(e,t){return _e(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 m=u.expression;if(!e.ts.isIdentifier(m)||m.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(Ce)),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(m=>m.id===e),u=r.find(m=>m.id===e);if(n)u||(s={...V(p),inputs:V(p.inputs).map(m=>(m.isRegistered=!0,m))},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(m=>m.id!==e);else if(i!=null)vo(u,i),d=u.nodeIndex,c=u;else if(a!=null){let m=u.inputs.find(h=>h.name===a.name);m&&(a.registerInput===!1?m.isRegistered=!1:(bo(m,a),m.isRegistered=!0),c=u,d=u.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:c,nodeIndex:d,components:ee(t,r)}}function ee(e,t){let r=Q([...t.map(n=>(n.isRegistered=!0,n)),...e.filter(n=>!t.some(o=>o.id===n.id)).map(n=>(n.isRegistered=!1,n))]);return r.forEach(n=>{n.inputs=n.inputs.map(dt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=ft(n))}),r}function vo(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 bo(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)||Re(t.defaultValue)||we(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 ve(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 J(e,t,r,n,o,i,a,s){let l=await ve(e),[c,d,p,u]=await Promise.all([pn(e,l),hn(e),St(e),Ne(e)]),m=c.map(S=>S.cmpInfo),h=d.components,f={components:ee(m,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await De(e,f.components),f;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(T=>{let D=c.find(L=>L.cmpInfo.id===T);if(!D)throw new Error(`Component ${T} not found`);return D}),I=Array.from(new Set(S.map(T=>T.cmpInfo.filePath))),E=await $(e,I);for(let T of S){let D=f.components.find(P=>P.id===T.cmpInfo.id),L=await Pe(e,T,E);Z(D,L);let O=m.findIndex(P=>P.id===T.cmpInfo.id);m[O].inputs=L;let y=de(T.cmpInfo.id,m,h,r,n,o,i),N=[...g.statements];if(y.addCmpToRegistry?(N.push(nn(e,y.addCmpToRegistry)),x=!0):y.removeCmpFromRegistry?(N.splice(y.nodeIndex,1),x=!0):y.updateRegisteredCmp&&(N[y.nodeIndex]=gt(e,N[y.nodeIndex],y.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 P=y.addCmpToRegistry||y.updateRegisteredCmp;if(P){let z=A(e,e.registryPath,P.filePath),xe=P.meta||{};xe.importPath&&(z=xe.importPath),P.exportType==="default"?g=w(e,g,{defaultImport:P.importName,importPath:z}):P.exportType==="named"&&(g=w(e,g,{namedImports:[P.importName],importPath:z}))}}else g=w(e,g,{defaultImport:"dynamic",importPath:"next/dynamic"});D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(P=>P.isRegistered)}}}if(x&&a){g=fe(e,g),g=me(e,g),e.appDir&&(g=dn(e,g));let S=F(e,g);S=W(S),e.appDir&&(S=fn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return f}async function Tn(e){let t=[],r=await Lo(e,t);return await ko(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await No(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Fo(e,e.pagesDir,t)),t}async function yn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Io(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Ao(e,e.pagesDir,t)),t}async function Io(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 No(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,Ro(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Ro(e){let t=e.typescriptEnabled;return`
31
+ `}function wt(e,t){return t.sort((r,n)=>{let o=xn(e,r),i=xn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function xn(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 Cn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
+ ${e}`),e}function Sn(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 Fe(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=hn(e,r),i=hn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function hn(e,t){let r=t.properties.find(n=>R(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function wn(e){let t=await e.readFile(e.registryPath);return t?zo(e,t):{components:[],sourceFile:D(e,"")}}async function zo(e,t){let r=D(e,t);return Ko(e,r)}async function Ko(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 m=c[0];if(e.ts.isCallExpression(m)){if((e.ts.isIdentifier(m.expression)&&m.expression.text)==="withChildren"){let h=m.arguments[0];if(e.ts.isCallExpression(h)){let f=await yn(e,n,h,d,!0);f&&r.push(f)}else{let f=m.arguments[0];if(e.ts.isIdentifier(f)){let g=await Tn(e,t,n,f,d,!0);g&&r.push(g)}}continue}let p=await yn(e,n,m,d,!1);p&&r.push(p);continue}if(e.ts.isIdentifier(m)){let u=await Tn(e,t,n,m,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:M(r)}}async function yn(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 m=d.text;i.filePath=await ot(e,m),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=_(e,i.filePath),i.name=Y(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 m=d.expression;if(!e.ts.isCallExpression(m)||m.expression.kind!==e.ts.SyntaxKind.ImportKeyword||m.arguments.length!==1)return null;let p=m.arguments[0];if(!e.ts.isStringLiteral(p)||!e.ts.isIdentifier(l.name))return null;let h=p.text;i.filePath=await ot(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=_(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=H(e,i,n),i.displayFilePath=N(e,i.filePath),i.filePath&&i.exportName&&(i.id=await k(e,i.filePath,i.exportName)),i}async function Tn(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 ot(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(m=>!m.importClause||!m.importClause.namedBindings||!e.ts.isNamedImports(m.importClause.namedBindings)?!1:m.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 ot(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=H(e,a,o),a.displayFilePath=N(e,a.filePath),a.filePath&&a.exportName&&(a.id=await k(e,a.filePath,a.exportName)),a}function ot(e,t){return Ue(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Dn(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 m=d.expression;if(!e.ts.isCallExpression(m))continue;let u=m.expression;if(!e.ts.isPropertyAccessExpression(u))continue;let p=u.expression;if(!e.ts.isIdentifier(p)||p.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(ye)),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 re(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 m=d.name;if(m&&e.ts.isIdentifier(m)){let u=m.text;En(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;En(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function En(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 oe(e,t,r,n,o,i,a){let s=null,l=null,c=null,d=-1;t=K(t),r=K(r);let m=t.find(p=>p.id===e),u=r.find(p=>p.id===e);if(n)u||(s={...K(m),inputs:K(m.inputs).map(p=>(p.isRegistered=!0,p))},d=r.length,r.push(s));else if(typeof u?.nodeIndex=="number"&&u.nodeIndex>-1){if(o)d=u.nodeIndex,l=K(u),r=r.filter(p=>p.id!==e);else if(i!=null)Uo(u,i),d=u.nodeIndex,c=u;else if(a!=null){let p=u.inputs.find(h=>h.name===a.name);p&&(a.registerInput===!1?p.isRegistered=!1:(Mo(p,a),p.isRegistered=!0),c=u,d=u.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:c,nodeIndex:d,components:X(t,r)}}function X(e,t){let r=M([...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(St),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=Ct(n))}),r}function Uo(e,t){z(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),z(t.description)?e.description=t.description:t.description===null&&delete e.description,z(t.image)?e.image=t.image:t.image===null&&delete e.image}function Mo(e,t){z(t.type)&&(e.type=t.type),z(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,z(t.defaultValue)||_e(t.defaultValue)||ve(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,z(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 he(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 V(e,[...t])}async function ie(e,t,r,n,o,i,a,s){let l=await he(e),[c,d,m,u]=await Promise.all([gn(e,l),wn(e),Dt(e),je(e)]),p=c.map(y=>y.cmpInfo),h=d.components,f={components:X(p,h),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(p),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await Re(e,f.components),f;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let y=C.map(S=>{let P=c.find(O=>O.cmpInfo.id===S);if(!P)throw new Error(`Component ${S} not found`);return P}),A=Array.from(new Set(y.map(S=>S.cmpInfo.filePath))),w=await V(e,A);for(let S of y){let P=f.components.find(I=>I.id===S.cmpInfo.id),O=await Ae(e,S,w);G(P,O);let v=p.findIndex(I=>I.id===S.cmpInfo.id);p[v].inputs=O;let T=oe(S.cmpInfo.id,p,h,r,n,o,i),b=[...x.statements];if(T.addCmpToRegistry?(b.push(ln(e,T.addCmpToRegistry)),g=!0):T.removeCmpFromRegistry?(b.splice(T.nodeIndex,1),g=!0):T.updateRegisteredCmp&&(b[T.nodeIndex]=yt(e,b[T.nodeIndex],T.updateRegisteredCmp),g=!0),g&&a){if(x=e.ts.factory.updateSourceFile(x,b),x=E(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=Dn(e,x,m),e.appDir){let I=T.addCmpToRegistry||T.updateRegisteredCmp;if(I){let $=L(e,e.registryPath,I.filePath);I.exportType==="default"?x=E(e,x,{defaultImport:I.importName,importPath:$}):I.exportType==="named"&&(x=E(e,x,{namedImports:[I.importName],importPath:$}))}}else x=E(e,x,{defaultImport:"dynamic",importPath:"next/dynamic"});P?.acceptsChildren&&(x=E(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=T.components,h=T.components.filter(I=>I.isRegistered)}}}if(g&&a){x=re(e,x),x=ne(e,x),e.appDir&&(x=Sn(e,x));let y=F(e,x);y=W(y),e.appDir&&(y=Cn(y)),y=await e.formatCode(e.registryPath,y),await e.writeFile(e.registryPath,y)}return f}async function Pn(e){let t=[],r=await Ho(e,t);return await Xo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await qo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Jo(e,e.pagesDir,t)),t}async function vn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Qo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Yo(e,e.pagesDir,t)),t}async function Qo(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,bn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function qo(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,bn({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,Wo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Wo(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(L(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.${Ce}${t?"!":""});
43
+ builder.init(process.env.${ye}${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 En({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=A(e,t,e.builderComponentPath);return`
59
+ `.trimStart()}function bn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=L(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.${Ce}${n?"!":""});
64
+ builder.init(process.env.${ye}${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 Fo(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 Ao(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`
93
+ `.trimStart()}async function Jo(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,In({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Yo(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,In({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function In({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(L(e,t,e.registryPath))};
102
102
 
103
- builder.init(process.env.${Ce}${n?"!":""});
103
+ builder.init(process.env.${ye}${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 Lo(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}=Oo(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 Oo(e){let t=e.typescriptEnabled,r=`
167
+ `.trimStart()}async function Ho(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}=Go(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 Go(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 ko(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await J(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await J(e,o.id,!0,!1,null,null,!0,!1)}async function Dn(e){let t=await jo(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Tn(t),ensureFigmaImportPage:()=>yn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>J(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await J(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>J(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>J(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>J(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>J(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ne(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 jo(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await _o(e),o=await St(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 St(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 $e(e){return await se(e,[".env"],vn)}async function Pn(e,t){Bo(t);let r=await $e(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Bo(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(`
230
+ `.trimStart();return{component:r,styles:n}}async function Xo(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await ie(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await ie(e,o.id,!0,!1,null,null,!0,!1)}async function Nn(e){let t=await Zo(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Pn(t),ensureFigmaImportPage:()=>vn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ie(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ie(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ie(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ie(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ie(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>je(t),setPublicApiKey:n=>en(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Z(t),setCache:n=>ee(t,n)}}async function Zo(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await ei(e),o=await Dt(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 Dt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function ei(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 qe(e){return await fe(e,[".env"],An)}async function Rn(e,t){ti(t);let r=await qe(e),n=await de(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function ti(e){typeof process<"u"&&(process.env[An]=e)}var An="PUBLIC_BUILDER_API_KEY";function Fn(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 tt(e,t,r){return ht(e,t,r.variableName)?t:Vo(e,t,r)}function Vo(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(".")||Ko.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await nt(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 $o(e,t,n)}return null}function $o(e,t,r){let n=v(e,r);return nt(e,null,t,n)}async function nt(e,t,r,n){r=e.normalize(r);let o=[],i=K(e,n);return await Promise.all(i.map(async a=>{let s=await zo(e,t,r,a);s&&o.push(s)})),o}async function zo(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=_(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 k(e,r,l),displayFilePath:R(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=In(e,n.node);if(a)return{cmpInfo:{id:await k(e,r,"default"),displayFilePath:R(e,r),name:M(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ee(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 Ko=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 nt(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 ke(e,i,r)}return[]}async function An(e){return Tt(e)}async function Tt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Uo),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Uo=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
232
+ `)}function Le(e,t,r){return Ne(e,t,r.variableName)?t:ni(e,t,r)}function ni(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 On(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(".")||ii.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await it(e,o,s,i);r.push(...l)})),r}async function kn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return ri(e,t,n)}return null}function ri(e,t,r){let n=D(e,r);return it(e,null,t,n)}async function it(e,t,r,n){r=e.normalize(r);let o=[],i=Q(e,n);return await Promise.all(i.map(async a=>{let s=await oi(e,t,r,a);s&&o.push(s)})),o}async function oi(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=_(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Ln(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await k(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=Ln(e,n.node);if(a)return{cmpInfo:{id:await k(e,r,"default"),displayFilePath:N(e,r),name:Y(e,r),inputs:[],exportName:"default",exportType:"default",importName:Pe(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function Ln(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 ii=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function jn(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 be(e,t.cmpInfo.filePath,null);if(!(await it(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 ge(e,i,r)}return[]}async function _n(e){return Et(e)}async function Et(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ai),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var ai=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
233
233
 
234
234
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
235
235
  ];
236
- `;async function Ln(e){await Tt(e);let t=await e.readFile(e.registryPath);return t?Mo(e,t):{components:[],sourceFile:v(e,"")}}async function Mo(e,t){let r=v(e,t);return Qo(e,r)}async function Qo(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 yt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function yt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=j(a)),n.importName=a;let s=await Ge(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=_(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=X(e,n,r),n.filePath&&n.exportName&&(n.id=await k(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 Se(e,t,r,n,o,i,a,s){let l=await On(e),[c,d,p]=await Promise.all([Nn(e,l),Ln(e),$e(e)]),u=c.map(f=>f.cmpInfo),m=d.components,h={components:ee(u,m),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 f=c.find(y=>y.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let x=d.sourceFile,g=h.components.find(y=>y.id===t),C=await Fn(e,f);Z(g,C),t=Array.isArray(t)?t[0]:t;let S=de(t,u,m,r,n,o,i),{elements:I,elmIndex:E,statementIndex:T,statement:D,variableDeclaration:L}=await Wo(e,x,f),O=!1;if(S.addCmpToRegistry?(I.push(qo(e,S.addCmpToRegistry)),O=!0):S.removeCmpFromRegistry?(I.splice(E,1),O=!0):S.updateRegisteredCmp&&(I[E]=q(e,I[E],S.updateRegisteredCmp),O=!0),O&&a){let y=[...x.statements];y[T]=e.ts.factory.updateVariableStatement(D,D.modifiers,e.ts.factory.updateVariableDeclarationList(D.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(Ze(e,I)))])),x=e.ts.factory.updateSourceFile(x,y),g.exportType==="named"?x=w(e,x,{namedImports:[g.importName],importPath:A(e,e.registryPath,g.filePath)}):x=w(e,x,{defaultImport:g.importName,importPath:A(e,e.registryPath,g.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),x=tt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x=fe(e,x),x=me(e,x);let N=F(e,x);N=W(N),N=bn(N,Jo,"CUSTOM_COMPONENTS"),N=await e.formatCode(e.registryPath,N),await e.writeFile(e.registryPath,N)}h.components=S.components}return h}function qo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Wo(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 yt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Jo=["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 Yo(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>An(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Se(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Se(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Se(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Se(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Se(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Se(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>$e(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 Yo(e){let t=await Ie(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function ze(e){return await se(e,[".env"],Ke)}async function jn(e,t){let r=await ze(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ke="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"||Ho.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 Ho=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Bn(e){await wt(e);let t=await e.readFile(e.registryPath);return t?Go(e,t):{components:[],sourceFile:v(e,"")}}async function Go(e,t){let r=v(e,t);return Xo(e,r)}async function Xo(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 Et(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Et(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=j(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=_(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=X(e,n,r),n.filePath&&n.exportName&&(n.id=await k(e,n.filePath,n.exportName)),n}async function Y(e,t,r,n,o,i,a,s){let l=await ve(e),[c,d,p]=await Promise.all([_n(e,l),Bn(e),ze(e)]),u=c.map(C=>C.cmpInfo),m=d.components,h={components:ee(u,m),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 De(e,h.components),h;let f=!1,x=d.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let C=g.map(E=>{let T=c.find(D=>D.cmpInfo.id===E);if(!T)throw new Error(`Component ${E} not found`);return T}),S=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),I=await $(e,S);for(let E of C){let T=h.components.find(G=>G.id===E.cmpInfo.id),D=await Pe(e,E,I);Z(T,D);let L=u.findIndex(G=>G.id===E.cmpInfo.id);u[L].inputs=D;let O=de(E.cmpInfo.id,u,m,r,n,o,i),{elements:y,elmIndex:N,statementIndex:P,statement:z,variableDeclaration:xe}=await ei(e,x,E);if(O.addCmpToRegistry)y.push(Zo(e,O.addCmpToRegistry)),f=!0;else if(O.removeCmpFromRegistry)y.splice(N,1),f=!0;else if(O.updateRegisteredCmp){let G=q(e,y[N],O.updateRegisteredCmp);y[N]=e.ts.factory.updateObjectLiteralExpression(G,[Vn(e,O.updateRegisteredCmp),...G.properties.slice(1)]),f=!0}if(f&&a){let G=[...x.statements];G[P]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(xe,xe.name,xe.exclamationToken,xe.type,e.ts.factory.createArrayLiteralExpression(Ze(e,y)))])),x=e.ts.factory.updateSourceFile(x,G),T.exportType==="named"?x=w(e,x,{namedImports:[T.importName],importPath:A(e,e.registryPath,T.filePath)}):x=w(e,x,{defaultImport:T.importName,importPath:A(e,e.registryPath,T.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),T.acceptsChildren&&(x=w(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=tt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=O.components,m=O.components.filter(vr=>vr.isRegistered)}}}if(f&&a){x=fe(e,x),x=me(e,x);let C=F(e,x);C=W(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 Zo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([Vn(e,t)],!0),t)}async function ei(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 Et(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 ri(e,t);return t.push(...await wt(e)),await ii(e,r),await ni(e,t),t}async function zn(e){let t=[];return await ti(e,t),t}async function ti(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,Kn({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function ni(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,Kn({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Kn({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.${Ke}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Ke}`),n&&(s+="!"),`
236
+ `;async function Bn(e){await Et(e);let t=await e.readFile(e.registryPath);return t?si(e,t):{components:[],sourceFile:D(e,"")}}async function si(e,t){let r=D(e,t);return li(e,r)}async function li(e,t){let r=[],n=q(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Pt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:M(r)}}async function Pt(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(R(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 Ie(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=_(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await kn(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=H(e,n,r),n.filePath&&n.exportName&&(n.id=await k(e,n.filePath,n.exportName)),n}async function Vn(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 V(e,[...t])}async function Te(e,t,r,n,o,i,a,s){let l=await Vn(e),[c,d,m]=await Promise.all([On(e,l),Bn(e),qe(e)]),u=c.map(f=>f.cmpInfo),p=d.components,h={components:X(u,p),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(u),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let f=c.find(T=>T.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(T=>T.id===t),C=await jn(e,f);G(x,C),t=Array.isArray(t)?t[0]:t;let y=oe(t,u,p,r,n,o,i),{elements:A,elmIndex:w,statementIndex:S,statement:P,variableDeclaration:O}=await pi(e,g,f),v=!1;if(y.addCmpToRegistry?(A.push(ci(e,y.addCmpToRegistry)),v=!0):y.removeCmpFromRegistry?(A.splice(w,1),v=!0):y.updateRegisteredCmp&&(A[w]=U(e,A[w],y.updateRegisteredCmp),v=!0),v&&a){let T=[...g.statements];T[S]=e.ts.factory.updateVariableStatement(P,P.modifiers,e.ts.factory.updateVariableDeclarationList(P.declarationList,[e.ts.factory.updateVariableDeclaration(O,O.name,O.exclamationToken,O.type,e.ts.factory.createArrayLiteralExpression(Fe(e,A)))])),g=e.ts.factory.updateSourceFile(g,T),x.exportType==="named"?g=E(e,g,{namedImports:[x.importName],importPath:L(e,e.registryPath,x.filePath)}):g=E(e,g,{defaultImport:x.importName,importPath:L(e,e.registryPath,x.filePath)}),g=E(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=Le(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=re(e,g),g=ne(e,g);let b=F(e,g);b=W(b),b=Fn(b,ui,"CUSTOM_COMPONENTS"),b=await e.formatCode(e.registryPath,b),await e.writeFile(e.registryPath,b)}h.components=y.components}return h}function ci(e,t){return U(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function pi(e,t,r){let n=q(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 Pt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var ui=["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 $n(e){let t=await mi(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>_n(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Te(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Te(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Te(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Te(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Te(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Te(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>qe(t),setPublicApiKey:n=>Rn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Z(t),setCache:n=>ee(t,n)}}async function mi(e){let t=await ke(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 We(e){return await fe(e,[".env"],Je)}async function zn(e,t){let r=await We(e),n=await de(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Je="PUBLIC_BUILDER_KEY";async function Kn(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"||fi.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let c=await xe(e,o,l,a);r.push(...c)})),r}var fi=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Un(e){await bt(e);let t=await e.readFile(e.registryPath);return t?di(e,t):{components:[],sourceFile:D(e,"")}}async function di(e,t){let r=D(e,t);return gi(e,r)}async function gi(e,t){let r=[],n=q(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await vt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:M(r)}}async function vt(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(R(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 m=s.arguments[0];e.ts.isIdentifier(m)&&(a=m.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let l=await Ie(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=_(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await fn(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(m=>m.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=H(e,n,r),n.filePath&&n.exportName&&(n.id=await k(e,n.filePath,n.exportName)),n}async function ae(e,t,r,n,o,i,a,s){let l=await he(e),[c,d,m]=await Promise.all([Kn(e,l),Un(e),We(e)]),u=c.map(C=>C.cmpInfo),p=d.components,h={components:X(u,p),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(u),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Re(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(w=>{let S=c.find(P=>P.cmpInfo.id===w);if(!S)throw new Error(`Component ${w} not found`);return S}),y=Array.from(new Set(C.map(w=>w.cmpInfo.filePath))),A=await V(e,y);for(let w of C){let S=h.components.find(B=>B.id===w.cmpInfo.id),P=await Ae(e,w,A);G(S,P);let O=u.findIndex(B=>B.id===w.cmpInfo.id);u[O].inputs=P;let v=oe(w.cmpInfo.id,u,p,r,n,o,i),{elements:T,elmIndex:b,statementIndex:I,statement:$,variableDeclaration:le}=await hi(e,g,w);if(v.addCmpToRegistry)T.push(xi(e,v.addCmpToRegistry)),f=!0;else if(v.removeCmpFromRegistry)T.splice(b,1),f=!0;else if(v.updateRegisteredCmp){let B=U(e,T[b],v.updateRegisteredCmp);T[b]=e.ts.factory.updateObjectLiteralExpression(B,[Mn(e,v.updateRegisteredCmp),...B.properties.slice(1)]),f=!0}if(f&&a){let B=[...g.statements];B[I]=e.ts.factory.updateVariableStatement($,$.modifiers,e.ts.factory.updateVariableDeclarationList($.declarationList,[e.ts.factory.updateVariableDeclaration(le,le.name,le.exclamationToken,le.type,e.ts.factory.createArrayLiteralExpression(Fe(e,T)))])),g=e.ts.factory.updateSourceFile(g,B),S.exportType==="named"?g=E(e,g,{namedImports:[S.importName],importPath:L(e,e.registryPath,S.filePath)}):g=E(e,g,{defaultImport:S.importName,importPath:L(e,e.registryPath,S.filePath)}),g=E(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(g=E(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=Le(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=v.components,p=v.components.filter(gt=>gt.isRegistered)}}}if(f&&a){g=re(e,g),g=ne(e,g);let C=F(e,g);C=W(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Mn(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 xi(e,t){return U(e,e.ts.factory.createObjectLiteralExpression([Mn(e,t)],!0),t)}async function hi(e,t,r){let n=q(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 vt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Qn(e){let t=[],r=await yi(e,t);return t.push(...await bt(e)),await wi(e,r),await Si(e,t),t}async function qn(e){let t=[];return await Ci(e,t),t}async function Ci(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,Wn({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Si(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,Wn({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Wn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=L(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Je}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Je}`),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
- ${Ke}: string;
293
+ ${Je}: string;
294
294
  }
295
295
  }
296
296
  `:""}
297
- `}async function ri(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}=oi(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 oi(e){let t=e.typescriptEnabled,r=`
297
+ `}async function yi(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}=Ti(e),c=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${c}`),!c){let m=await e.formatCode(i,s);await e.writeFile(i,m),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 Ti(e){let t=e.typescriptEnabled,r=`
298
298
  import { useState } from "react";
299
299
  import styles from "./styles.module.css";
300
300
  ${t?`
@@ -357,23 +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 ii(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 wt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ai(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function ai(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
360
+ `.trimStart();return{component:r,styles:n}}async function wi(e,t){let n=(await ae(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await ae(e,n.id,!0,!1,null,null,!0,!1)}async function bt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Di(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Di(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 Un(e){let t=await si(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:()=>ze(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 si(e){let t=await pi(e),r=await ui(e),n=e.dirname(r),o=e.join(n,"components"),i=await li(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 ci(e,r)}}function li(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function ci(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function pi(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 ui(e){let t=await Ie(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 Ue(e){let t=[".env"],r=e.configType==="vite"?rt:Dt;return await se(e,t,r)}async function Mn(e,t){let r=await Ue(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var rt="VITE_PUBLIC_BUILDER_KEY",Dt="YOUR_PUBLIC_BUILDER_KEY";function Qn(e,t){let r=`Builder.registerComponent(
365
+ `}async function Jn(e){let t=await Ei(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:()=>Qn(t),ensureFigmaImportPage:()=>qn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ae(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ae(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ae(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ae(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ae(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ae(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>We(t),setPublicApiKey:n=>zn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Z(t),setCache:n=>ee(t,n)}}async function Ei(e){let t=await bi(e),r=await Ii(e),n=e.dirname(r),o=e.join(n,"components"),i=await Pi(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 vi(e,r)}}function Pi(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function vi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function bi(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 Ii(e){let t=await ke(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 Ye(e){let t=[".env"],r=e.configType==="vite"?at:It;return await fe(e,t,r)}async function Yn(e,t){let r=await Ye(e),n=await de(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var at="VITE_PUBLIC_BUILDER_KEY",It="YOUR_PUBLIC_BUILDER_KEY";function Hn(e,t){let r=`Builder.registerComponent(
366
366
  `;r+=` ${t.importName},
367
367
  `,r+=` {
368
368
  name: "${t.name}",
369
369
  }
370
- `,r+=");";let n=We(e,r);return Pt(e,n,t)}function Pt(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?mi(e,t):{components:[],sourceFile:v(e,"")}}async function mi(e,t){let r=v(e,t);return fi(e,r)}async function fi(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 di(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function di(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 qn(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(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 qn(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=X(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await k(e,a.filePath,a.exportName)),a}function qn(e,t){return _e(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function H(e,t,r,n,o,i,a,s){let l=await ve(e),[c,d,p,u]=await Promise.all([cn(e,l),Wn(e),vt(e),Ue(e)]),m=c.map(S=>S.cmpInfo),h=d.components,f={components:ee(m,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await De(e,f.components),f;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(T=>{let D=c.find(L=>L.cmpInfo.id===T);if(!D)throw new Error(`Component ${T} not found`);return D}),I=Array.from(new Set(S.map(T=>T.cmpInfo.filePath))),E=await $(e,I);for(let T of S){let D=f.components.find(P=>P.id===T.cmpInfo.id),L=await Pe(e,T,E);Z(D,L);let O=m.findIndex(P=>P.id===T.cmpInfo.id);m[O].inputs=L;let y=de(T.cmpInfo.id,m,h,r,n,o,i),N=[...g.statements];if(y.addCmpToRegistry?(N.push(Qn(e,y.addCmpToRegistry)),x=!0):y.removeCmpFromRegistry?(N.splice(y.nodeIndex,1),x=!0):y.updateRegisteredCmp&&(N[y.nodeIndex]=Pt(e,N[y.nodeIndex],y.updateRegisteredCmp),x=!0),x&&a){g=e.ts.factory.updateSourceFile(g,N),g=w(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let P=y.addCmpToRegistry||y.updateRegisteredCmp;if(P){let z=A(e,e.registryPath,P.filePath);P.exportType==="default"?g=w(e,g,{defaultImport:P.importName,importPath:z}):P.exportType==="named"&&(g=w(e,g,{namedImports:[P.importName],importPath:z}))}D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(z=>z.isRegistered)}}}if(x&&a){g=fe(e,g),g=me(e,g);let S=F(e,g);S=W(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return f}async function Jn(e){let t=[],r=await hi(e,t);if(await xi(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,gi(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function Yn(e){return[]}function gi(e){let t=e.typescriptEnabled;return`
370
+ `,r+=");";let n=et(e,r);return Nt(e,n,t)}function Nt(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]=U(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function Xn(e){let t=await e.readFile(e.registryPath);return t?Ni(e,t):{components:[],sourceFile:D(e,"")}}async function Ni(e,t){let r=D(e,t);return Ri(e,r)}async function Ri(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 m=c[0];if(e.ts.isIdentifier(m)){let u=await Ai(e,t,n,m,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:M(r)}}async function Ai(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 Gn(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(m=>!m.importClause||!m.importClause.namedBindings||!e.ts.isNamedImports(m.importClause.namedBindings)?!1:m.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 Gn(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=_(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=H(e,a,o),a.displayFilePath=N(e,a.filePath),a.filePath&&a.exportName&&(a.id=await k(e,a.filePath,a.exportName)),a}function Gn(e,t){return Ue(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function se(e,t,r,n,o,i,a,s){let l=await he(e),[c,d,m,u]=await Promise.all([dn(e,l),Xn(e),Rt(e),Ye(e)]),p=c.map(y=>y.cmpInfo),h=d.components,f={components:X(p,h),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(p),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await Re(e,f.components),f;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let y=C.map(S=>{let P=c.find(O=>O.cmpInfo.id===S);if(!P)throw new Error(`Component ${S} not found`);return P}),A=Array.from(new Set(y.map(S=>S.cmpInfo.filePath))),w=await V(e,A);for(let S of y){let P=f.components.find(I=>I.id===S.cmpInfo.id),O=await Ae(e,S,w);G(P,O);let v=p.findIndex(I=>I.id===S.cmpInfo.id);p[v].inputs=O;let T=oe(S.cmpInfo.id,p,h,r,n,o,i),b=[...x.statements];if(T.addCmpToRegistry?(b.push(Hn(e,T.addCmpToRegistry)),g=!0):T.removeCmpFromRegistry?(b.splice(T.nodeIndex,1),g=!0):T.updateRegisteredCmp&&(b[T.nodeIndex]=Nt(e,b[T.nodeIndex],T.updateRegisteredCmp),g=!0),g&&a){x=e.ts.factory.updateSourceFile(x,b),x=E(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let I=T.addCmpToRegistry||T.updateRegisteredCmp;if(I){let $=L(e,e.registryPath,I.filePath);I.exportType==="default"?x=E(e,x,{defaultImport:I.importName,importPath:$}):I.exportType==="named"&&(x=E(e,x,{namedImports:[I.importName],importPath:$}))}P?.acceptsChildren&&(x=E(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=T.components,h=T.components.filter($=>$.isRegistered)}}}if(g&&a){x=re(e,x),x=ne(e,x);let y=F(e,x);y=W(y),y=await e.formatCode(e.registryPath,y),await e.writeFile(e.registryPath,y)}return f}async function Zn(e){let t=[],r=await Oi(e,t);if(await Li(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,Fi(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function er(e){return[]}function Fi(e){let t=e.typescriptEnabled;return`
371
371
  import React from "react";
372
372
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
373
- import ${JSON.stringify(A(e,e.builderComponentPath,e.registryPath))};
373
+ import ${JSON.stringify(L(e,e.builderComponentPath,e.registryPath))};
374
374
 
375
375
  // Builder Public API Key set in .env file
376
- ${e.configType==="vite"?`builder.init(import.meta.env.${rt}${t?"!":""})`:`builder.init("${Dt}")`}
376
+ ${e.configType==="vite"?`builder.init(import.meta.env.${at}${t?"!":""})`:`builder.init("${It}")`}
377
377
 
378
378
  export default function BuilderPage() {
379
379
  const isPreviewingInBuilder = useIsPreviewing();
@@ -418,7 +418,7 @@ export default function BuilderPage() {
418
418
  </>
419
419
  );
420
420
  }
421
- `.trimStart()}async function xi(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await H(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await H(e,o.id,!0,!1,null,null,!0,!1)}async function hi(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}=Ci(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 Ci(e){let t=e.typescriptEnabled,r=`
421
+ `.trimStart()}async function Li(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await se(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await se(e,o.id,!0,!1,null,null,!0,!1)}async function Oi(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}=ki(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 ki(e){let t=e.typescriptEnabled,r=`
422
422
  "use client"
423
423
  import React, { useState } from "react";
424
424
  import styles from "./styles.module.css";
@@ -481,13 +481,24 @@ export default Counter;
481
481
  font-size: 42px;
482
482
  text-align: center;
483
483
  }
484
- `.trimStart();return{component:r,styles:n}}async function Hn(e){let t=await Si(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Jn(t),ensureFigmaImportPage:()=>Yn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>H(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await H(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>H(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>H(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>H(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>H(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ue(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 Si(e){let t=await Ti(e),r=e.getRootDir(),n=e.join(r,"src"),o=await vt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function vt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Ti(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}var ct=Lr(cr(),1);async function pr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:U(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,ct.compress)(n);return btoa(JSON.stringify(o))}async function ur(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,ct.decompress)(o),a=V(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=U(e.normalize(s.filePath)),c=n.components.find(p=>U(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 Mi={"@builder.io/qwik-city":kn,next:Dn,"@remix-run/react":Un,react:Hn};async function Qi(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 he(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=Mi[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>pr(e,n),importRegistry:i=>ur(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function mr(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 m="",h=0,f=-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(!(f===C-1||x===1))if(f!==C-1&&x===2){if(m.length<2||h!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){let S=m.lastIndexOf("/");if(S!==m.length-1){S===-1?(m="",h=0):(m=m.slice(0,S),h=m.length-1-m.lastIndexOf("/")),f=C,x=0;continue}}else if(m.length===2||m.length===1){m="",h=0,f=C,x=0;continue}}u&&(m.length>0?m+="/..":m="..",h=2)}else m.length>0?m+="/"+p.slice(f+1,C):m=p.slice(f+1,C),h=C-f-1;f=C,x=0}else g===46&&x!==-1?++x:x=-1}return m}let n=function(...u){let m="",h=!1;for(let f=u.length-1;f>=-1&&!h;f--){let x;f>=0?x=u[f]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(m=x+"/"+m,h=x.charCodeAt(0)===47)}return m=r(m,!h),h?m.length>0?"/"+m:"/":m.length>0?m:"."},o=function(u){if(t(u),u.length===0)return".";let m=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!m),u.length===0&&!m&&(u="."),u.length>0&&h&&(u+="/"),m?"/"+u:u};return{relative:function(u,m){if(t(u),t(m),u===m||(u=n(u),m=n(m),u===m))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let f=u.length,x=f-h,g=1;for(;g<m.length&&m.charCodeAt(g)===47;++g);let S=m.length-g,I=x<S?x:S,E=-1,T=0;for(;T<=I;++T){if(T===I){if(S>I){if(m.charCodeAt(g+T)===47)return m.slice(g+T+1);if(T===0)return m.slice(g+T)}else x>I&&(u.charCodeAt(h+T)===47?E=T:T===0&&(E=0));break}let L=u.charCodeAt(h+T),O=m.charCodeAt(g+T);if(L!==O)break;L===47&&(E=T)}let D="";for(T=h+E+1;T<=f;++T)(T===f||u.charCodeAt(T)===47)&&(D.length===0?D+="..":D+="/..");return D.length>0?D+m.slice(g+E):(g+=E,m.charCodeAt(g)===47&&++g,m.slice(g))},resolve:n,join:function(...u){if(u.length===0)return".";let m;for(let h=0;h<u.length;++h){let f=u[h];t(f),f.length>0&&(m===void 0?m=f:m+="/"+f)}return m===void 0?".":o(m)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,m){if(m!==void 0&&typeof m!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,f=-1,x=!0,g;if(m!==void 0&&m.length>0&&m.length<=u.length){if(m.length===u.length&&m===u)return"";let C=m.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===m.charCodeAt(C)?--C===-1&&(f=g):(C=-1,f=S))}return h===f?f=S:f===-1&&(f=u.length),u.slice(h,f)}else{for(g=u.length-1;g>=0;--g)if(u.charCodeAt(g)===47){if(!x){h=g+1;break}}else f===-1&&(x=!1,f=g+1);return f===-1?"":u.slice(h,f)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let m=u.charCodeAt(0),h=m===47,f=-1,x=!0;for(let g=u.length-1;g>=1;--g)if(m=u.charCodeAt(g),m===47){if(!x){f=g;break}}else x=!1;return f===-1?h?"/":".":h&&f===1?"//":u.slice(0,f)},extname:function(u){t(u);let m=-1,h=0,f=-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}f===-1&&(x=!1,f=C+1),S===46?m===-1?m=C:g!==1&&(g=1):m!==-1&&(g=-1)}return m===-1||f===-1||g===0||g===1&&m===f-1&&m===h+1?"":u.slice(m,f)}}}async function qi(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=mr({cwd:r,...e}),o=new Map,i=f=>n.normalize(n.resolve(r(),f)),a=f=>{for(let[x]of o)if((x+"/").startsWith(f))return!0;return f===t()},s=f=>(f=i(f),o.has(f)?!0:a(f)),l=f=>{f=i(f);let x=f===t()?f:f+"/",g=x.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,g).join("/")+"/"===x){let T=S.split("/")[g];T&&!C.includes(T)&&C.push(T)}return C.sort()},c=f=>{f=i(f);let x=o.get(f);return typeof x=="string"?x: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(I=>I.toString(16).padStart(2,"0")).join("")}let x=0;for(let g=0;g<f.length;g++){let C=f.charCodeAt(g);x=(x<<5)-x+C,x|=0}return Number(Math.abs(x)).toString(36)},u=new Set,m={getRootDir:t,cwd:r,exists:async f=>s(f),existsSync:s,readdir:async f=>l(f),readdirSync:l,readFile:async f=>c(f),readFileSync:c,stat:async f=>d(f),statSync:d,writeFile:async(f,x)=>{f=i(f),o.set(f,x);let g={path:f,basename:n.basename(f),dirname:n.dirname(f),extname:n.extname(f)};for(let C of u)await C(g)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(f,x)=>x,on:(f,x)=>{f==="change"&&u.add(x)},off:(f,x)=>{f==="change"&&u.delete(x)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await he(m);return m.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,m}async function fr(e,t,r){let n=v(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(dr(e,n))return o;let a=K(e,n,"cjs"),s=K(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 m=[...u.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let h=m[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 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,[f]))])),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=$t(e,n);n=u.sourceFile;let m=[...n.statements],h=m.indexOf(d);return m[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,m),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 m=$t(e,n);n=m.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=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(m.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 f=[...h.statements],x=f.findIndex(E=>e.ts.isReturnStatement(E));if(x===-1)throw new Error("Expected a return statement on the next config function");let g=f[x],C=$t(e,n);n=C.sourceFile,f[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,f)))),n=e.ts.factory.updateSourceFile(n,S),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function dr(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 $t(e,t){let r=dr(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 hr(e,t,r){let n=v(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Cr(e,n))return o;let a=K(e,n,"cjs"),s=K(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()",m=Wi(e,p.expression);if(!m)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[m]),f=[...n.statements],x=f.indexOf(p);return f[x]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,f),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=gr(e,n);n=u.sourceFile;let m=[...n.statements],h=m.indexOf(d);return m[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,m),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 m=gr(e,n);n=m.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=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(m.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 Cr(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 gr(e,t){let r=Cr(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 Wi(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=xr(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=xr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function xr(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 Tr(e,t,r){let n=v(e,r),o=K(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=Ji(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=zt(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=zt(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 Ji(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=zt(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function zt(e,t){if(Gi(e)){let i=Yi(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=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("plugins",o)]):null}function Sr(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 Yi(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=Hi(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 Hi(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 Gi(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function yr(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}var wr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:fr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Tr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:hr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:yr}];async function Dr(e){let t=e.resolve("/");for(let n of wr)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 he(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,Er),{id:"next",filePath:n,content:Er}}return null}async function Xi(e){let t=await Dr(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await wr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=W(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var Er=`
484
+ `.trimStart();return{component:r,styles:n}}async function tr(e){let t=await ji(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Zn(t),ensureFigmaImportPage:()=>er(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>se(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await se(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>se(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>se(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>se(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>se(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ye(t),setPublicApiKey:n=>Yn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Z(t),setCache:n=>ee(t,n)}}async function ji(e){let t=await _i(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Rt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function Rt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function _i(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function He(e){return await Bi(e,["environment.ts"],rr)}async function nr(e,t){let r=await He(e),n=await Ki(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function Bi(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),"environments",o),a=await Vi(e,i);if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=i,n}return n.file=e.join(e.getRootDir(),t[t.length-1]),n}async function Vi(e,t){let r=await e.readFile(t);return r?$i(e,r):""}function $i(e,t){let r=D(e,t),n="",i=Ne(e,r,"environment");if(i&&i.statement.declarationList.declarations.length>0){let s=i.statement.declarationList.declarations[0].initializer;s&&e.ts.isObjectLiteralExpression(s)&&s.properties.forEach(l=>{e.ts.isPropertyAssignment(l)&&e.ts.isIdentifier(l.name)&&l.name.text===rr&&e.ts.isStringLiteral(l.initializer)&&(n=l.initializer.text)})}return n}async function zi(e,t,r,n){let o=D(e,t),a=Ne(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,l=s.declarations[0],c=l.initializer;if(c&&e.ts.isObjectLiteralExpression(c)){let d=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),m=e.ts.factory.createNodeArray([...c.properties,d]),u=e.ts.factory.updateObjectLiteralExpression(c,m),p=e.ts.factory.updateVariableDeclaration(l,l.name,l.exclamationToken,l.type,u),h=e.ts.factory.updateVariableDeclarationList(s,[p]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,h)}return null}return null}async function Ki(e,t,r,n){let o=await e.readFile(t);if(o)if(o.includes(r))e.debug(`"${r}" already set in ${t}`);else{e.debug(`Add "${r}" to ${t}`);let i=await zi(e,o,r,n);if(i){let a=F(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
485
+ // https://www.builder.io/c/docs/using-your-api-key
486
+ export const environment = {
487
+ production: false,
488
+ builderApiKey: "${n}",
489
+ };
490
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var rr="builderApiKey";async function or(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(Qi(e,i.fileName)||a.startsWith(".")||a==="node_modules"||Ui.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await st(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ui=new Set([]),Mi=new Set(["node_modules"]);function Qi(e,t){for(let r of Mi)if(e.dirname(t).includes(r))return!0;return!1}async function ir(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 qi(e,t,n)}return null}function qi(e,t,r){let n=D(e,r);return st(e,null,t,n)}async function st(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(s=>e.ts.isClassDeclaration(s)),a=Hi(e,n);return await Promise.all(i.map(async s=>{let l=await Wi(e,t,r,s,a);o.push(...l)})),o}async function ar(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await be(e,t.cmpInfo.filePath,r),a=(await st(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return ge(e,o,a.node.fnNode)}return[]}async function sr(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await V(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 st(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=ge(e,o,c.node.fnNode))}}return a}))}async function Wi(e,t,r,n,o){let i=[],a=e.relative(e.getRootDir(),r),s=_(e,r),l=n.name?.text;if(!l)return i;let c=!1;n.modifiers&&(c=n.modifiers.some(p=>p.kind===e.ts.SyntaxKind.DefaultKeyword));let d=c?"default":l,m=c?"default":"named",u=[];return n.members.forEach(p=>{if(e.ts.isPropertyDeclaration(p)){let h=e.ts.getDecorators(p);h&&h.forEach(f=>{if(Ji(e,f)&&e.ts.isIdentifier(p.name)){let g="any";if(p.type&&t){let C=t.getTypeAtLocation(p.type);g=t.typeToString(C)}else g=Yi(e,p.type);let x={name:p.name.text,type:o[g]?"string":g};o[g]&&(x.enum=o[g]),u.push(x)}})}}),i.push({cmpInfo:{id:await k(e,r,l),displayFilePath:N(e,r),name:j(l),inputs:u,exportName:d,exportType:m,importName:l,filePath:r,relFilePath:a,importPath:s},node:{name:l,fnNode:n,deps:void 0}}),i}function Ji(e,t){if(e.ts.isCallExpression(t.expression)){let r=t.expression;if(e.ts.isIdentifier(r.expression))return r.expression?.text==="Input"}return!1}function Yi(e,t){if(!t)return"any";let r="any";switch(t.kind){case e.ts.SyntaxKind.StringKeyword:r="string";break;case e.ts.SyntaxKind.NumberKeyword:r="number";break;case e.ts.SyntaxKind.BooleanKeyword:r="boolean";break;case e.ts.SyntaxKind.TypeReference:e.ts.isTypeReferenceNode(t);break}return r.includes("|")?"string":r}function Hi(e,t){let r={};return e.ts.forEachChild(t,n=>{e.ts.isTypeAliasDeclaration(n)&&e.ts.isUnionTypeNode(n.type)&&n.type.types.every(o=>e.ts.isLiteralTypeNode(o)&&e.ts.isStringLiteral(o.literal))&&(r[n.name.text]=n.type.types.map(o=>o.literal.text))}),r}async function lr(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Gi(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function cr(e){return[]}async function pr(e){return[]}function Gi(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
491
+
492
+ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
493
+ ];`:`export const CUSTOM_COMPONENTS = [
494
+ ];
495
+ `}async function ur(e){await lr(e);let t=await e.readFile(e.registryPath);return t?Xi(e,t):{components:[],sourceFile:D(e,"")}}async function Xi(e,t){let r=D(e,t);return Zi(e,r)}async function Zi(e,t){let r=[],n=q(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await At(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:M(r)}}async function At(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(R(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let d=s.arguments[0];e.ts.isIdentifier(d)&&(a=d.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let l=await Ie(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=_(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await ir(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(m=>m.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=H(e,n,r),n.filePath&&n.exportName&&(n.id=await k(e,n.filePath,n.exportName)),n}async function we(e,t,r,n,o,i,a,s){let l=await he(e),[c,d,m]=await Promise.all([or(e,l),ur(e),He(e)]),u=c.map(C=>C.cmpInfo),p=d.components,h={components:X(u,p),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(u),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await sr(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(w=>{let S=c.find(P=>P.cmpInfo.id===w);if(!S)throw new Error(`Component ${w} not found`);return S}),y=Array.from(new Set(C.map(w=>w.cmpInfo.filePath))),A=await V(e,y);for(let w of C){let S=h.components.find(B=>B.id===w.cmpInfo.id),P=await ar(e,w,A);G(S,P);let O=u.findIndex(B=>B.id===w.cmpInfo.id);u[O].inputs=P;let v=oe(w.cmpInfo.id,u,p,r,n,o,i),{elements:T,elmIndex:b,statementIndex:I,statement:$,variableDeclaration:le}=await ta(e,g,w);if(v.addCmpToRegistry)T.push(ea(e,v.addCmpToRegistry)),f=!0;else if(v.removeCmpFromRegistry)T.splice(b,1),f=!0;else if(v.updateRegisteredCmp){let B=U(e,T[b],v.updateRegisteredCmp);T[b]=e.ts.factory.updateObjectLiteralExpression(B,[mr(e,v.updateRegisteredCmp),...B.properties.slice(1)]),f=!0}if(f&&a){let B=[...g.statements];B[I]=e.ts.factory.updateVariableStatement($,$.modifiers,e.ts.factory.updateVariableDeclarationList($.declarationList,[e.ts.factory.updateVariableDeclaration(le,le.name,le.exclamationToken,le.type,e.ts.factory.createArrayLiteralExpression(Fe(e,T)))])),g=e.ts.factory.updateSourceFile(g,B),S.exportType==="named"?g=E(e,g,{namedImports:[S.importName],importPath:L(e,e.registryPath,S.filePath)}):g=E(e,g,{defaultImport:S.importName,importPath:L(e,e.registryPath,S.filePath)}),g=E(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),g=Le(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=v.components,p=v.components.filter(gt=>gt.isRegistered)}}}if(f&&a){g=re(e,g),g=ne(e,g);let C=F(e,g);C=W(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function mr(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function ea(e,t){return U(e,e.ts.factory.createObjectLiteralExpression([mr(e,t)],!0),t)}async function ta(e,t,r){let n=q(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 At(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function fr(e){let t=await na(e);return{builderPageOptions:async()=>({templateContentId:"",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>cr(t),ensureFigmaImportPage:()=>pr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>we(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await we(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>we(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>we(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>we(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>we(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>He(t),setPublicApiKey:n=>nr(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"}],getDevRunCommand:()=>"start",getCache:()=>Z(t),setCache:n=>ee(t,n)}}async function na(e){let t=await oa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await ra(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);return a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(n,"components"),a.registryPath=e.join(a.appDir,i),a}function ra(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function oa(e){let t=e.join(e.getRootDir(),"angular.json");if(await e.exists(t))return t;throw new Error(`Could not find Angular config file. Searched for angular.json in "${e.getRootDir()}".`)}var ft=Hr(vr(),1);async function br(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:J(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:K(i.inputs)};return K(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,ft.compress)(n);return btoa(JSON.stringify(o))}async function Ir(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,ft.decompress)(o),a=K(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=J(e.normalize(s.filePath)),c=n.components.find(m=>J(m.filePath).endsWith(l)&&m.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 m of s.inputs)e.debug(`set input (${c.id})`),await t.setRegisteredComponentInput({cmpId:c.id,name:m.name,type:m.type,required:m.required,defaultValue:m.defaultValue,friendlyName:m.friendlyName,helperText:m.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=K(d)}return a}var Ia={"@builder.io/qwik-city":$n,next:Nn,"@remix-run/react":Jn,react:tr,"@angular/core":fr};async function Na(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 Se(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=Ia[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>br(e,n),importRegistry:i=>Ir(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Nr(e){function t(m){if(typeof m!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(m))}function r(m,u){let p="",h=0,f=-1,g=0,x;for(let C=0;C<=m.length;++C){if(C<m.length)x=m.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(p.length<2||h!==2||p.charCodeAt(p.length-1)!==46||p.charCodeAt(p.length-2)!==46){if(p.length>2){let y=p.lastIndexOf("/");if(y!==p.length-1){y===-1?(p="",h=0):(p=p.slice(0,y),h=p.length-1-p.lastIndexOf("/")),f=C,g=0;continue}}else if(p.length===2||p.length===1){p="",h=0,f=C,g=0;continue}}u&&(p.length>0?p+="/..":p="..",h=2)}else p.length>0?p+="/"+m.slice(f+1,C):p=m.slice(f+1,C),h=C-f-1;f=C,g=0}else x===46&&g!==-1?++g:g=-1}return p}let n=function(...u){let p="",h=!1;for(let f=u.length-1;f>=-1&&!h;f--){let g;f>=0?g=u[f]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(p=g+"/"+p,h=g.charCodeAt(0)===47)}return p=r(p,!h),h?p.length>0?"/"+p:"/":p.length>0?p:"."},o=function(u){if(t(u),u.length===0)return".";let p=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!p),u.length===0&&!p&&(u="."),u.length>0&&h&&(u+="/"),p?"/"+u:u};return{relative:function(u,p){if(t(u),t(p),u===p||(u=n(u),p=n(p),u===p))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let f=u.length,g=f-h,x=1;for(;x<p.length&&p.charCodeAt(x)===47;++x);let y=p.length-x,A=g<y?g:y,w=-1,S=0;for(;S<=A;++S){if(S===A){if(y>A){if(p.charCodeAt(x+S)===47)return p.slice(x+S+1);if(S===0)return p.slice(x+S)}else g>A&&(u.charCodeAt(h+S)===47?w=S:S===0&&(w=0));break}let O=u.charCodeAt(h+S),v=p.charCodeAt(x+S);if(O!==v)break;O===47&&(w=S)}let P="";for(S=h+w+1;S<=f;++S)(S===f||u.charCodeAt(S)===47)&&(P.length===0?P+="..":P+="/..");return P.length>0?P+p.slice(x+w):(x+=w,p.charCodeAt(x)===47&&++x,p.slice(x))},resolve:n,join:function(...u){if(u.length===0)return".";let p;for(let h=0;h<u.length;++h){let f=u[h];t(f),f.length>0&&(p===void 0?p=f:p+="/"+f)}return p===void 0?".":o(p)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,p){if(p!==void 0&&typeof p!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,f=-1,g=!0,x;if(p!==void 0&&p.length>0&&p.length<=u.length){if(p.length===u.length&&p===u)return"";let C=p.length-1,y=-1;for(x=u.length-1;x>=0;--x){let A=u.charCodeAt(x);if(A===47){if(!g){h=x+1;break}}else y===-1&&(g=!1,y=x+1),C>=0&&(A===p.charCodeAt(C)?--C===-1&&(f=x):(C=-1,f=y))}return h===f?f=y:f===-1&&(f=u.length),u.slice(h,f)}else{for(x=u.length-1;x>=0;--x)if(u.charCodeAt(x)===47){if(!g){h=x+1;break}}else f===-1&&(g=!1,f=x+1);return f===-1?"":u.slice(h,f)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let p=u.charCodeAt(0),h=p===47,f=-1,g=!0;for(let x=u.length-1;x>=1;--x)if(p=u.charCodeAt(x),p===47){if(!g){f=x;break}}else g=!1;return f===-1?h?"/":".":h&&f===1?"//":u.slice(0,f)},extname:function(u){t(u);let p=-1,h=0,f=-1,g=!0,x=0;for(let C=u.length-1;C>=0;--C){let y=u.charCodeAt(C);if(y===47){if(!g){h=C+1;break}continue}f===-1&&(g=!1,f=C+1),y===46?p===-1?p=C:x!==1&&(x=1):p!==-1&&(x=-1)}return p===-1||f===-1||x===0||x===1&&p===f-1&&p===h+1?"":u.slice(p,f)}}}async function Ra(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Nr({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[y]of o)if(y.split("/").slice(0,x).join("/")+"/"===g){let S=y.split("/")[x];S&&!C.includes(S)&&C.push(S)}return C.sort()},c=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)}),m=async f=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(f),y=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(y)).map(A=>A.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)},u=new Set,p={getRootDir:t,cwd:r,exists:async f=>s(f),existsSync:s,readdir:async f=>l(f),readdirSync:l,readFile:async f=>c(f),readFileSync:c,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 u)await C(x)},hash:m,getDeviceId:async()=>typeof navigator<"u"?m(navigator.userAgent):"",formatCode:async(f,g)=>g,on:(f,g)=>{f==="change"&&u.add(g)},off:(f,g)=>{f==="change"&&u.delete(g)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await Se(p);return p.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,p}async function Rr(e,t,r){let n=D(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Ar(e,n))return o;let a=Q(e,n,"cjs"),s=Q(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 m=d.statement;if(!e.ts.isVariableStatement(m))throw new Error(`Expected an export assignment from ${t}`);let u=d.statement;if(e.ts.isVariableStatement(u)){let p=[...u.declarationList.declarations];if(p.length!==1)throw new Error("Expected a single variable declaration");let h=p[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(u);return x[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(g),void 0,[f]))])),n=e.ts.factory.updateSourceFile(n,x),n=E(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 m=d.expression;if(!e.ts.isBinaryExpression(m))throw new Error("Expected a binary expression for the default export");let u=Qt(e,n);n=u.sourceFile;let p=[...n.statements],h=p.indexOf(d);return p[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(m,m.left,m.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[m.right]))),n=e.ts.factory.updateSourceFile(n,p),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 m=d[0];if(!m.initializer)throw new Error("Expected an initializer on the declaration");let u=m.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let p=Qt(e,n);n=p.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(m,m.name,m.exclamationToken,m.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(p.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,m=l.statement;if(!e.ts.isExpressionStatement(m))throw new Error("Expected an expression statement for the default export");let u=m.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 f=[...h.statements],g=f.findIndex(w=>e.ts.isReturnStatement(w));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=f[g],C=Qt(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 y=[...n.statements],A=y.indexOf(m);return y[A]=e.ts.factory.updateExpressionStatement(m,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,f)))),n=e.ts.factory.updateSourceFile(n,y),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Ar(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 Qt(e,t){let r=Ar(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 Or(e,t,r){let n=D(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(kr(e,n))return o;let a=Q(e,n,"cjs"),s=Q(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 m=d.statement;if(!e.ts.isExportAssignment(m))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(m.expression)){let u="builderDevTools()",p=Aa(e,m.expression);if(!p)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[p]),f=[...n.statements],g=f.indexOf(m);return f[g]=e.ts.factory.updateExportAssignment(m,m.modifiers,h),n=e.ts.factory.updateSourceFile(n,f),n=E(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 m=d.expression;if(!e.ts.isBinaryExpression(m))throw new Error("Expected a binary expression for the default export");let u=Fr(e,n);n=u.sourceFile;let p=[...n.statements],h=p.indexOf(d);return p[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(m,m.left,m.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[m.right]))),n=e.ts.factory.updateSourceFile(n,p),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 m=d[0];if(!m.initializer)throw new Error("Expected an initializer on the declaration");let u=m.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let p=Fr(e,n);n=p.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(m,m.name,m.exclamationToken,m.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(p.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 kr(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 Fr(e,t){let r=kr(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 Aa(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="serverDependenciesToBundle");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("serverDependenciesToBundle",o)]):null}function Lr(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 _r(e,t,r){let n=D(e,r),o=Q(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=Fa(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 m=[...n.statements],u=m.indexOf(a);return m[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,m),n=E(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=qt(e,c);if(!d)return s;let m=[...n.statements],u=m.indexOf(a);return m[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,m),n=E(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=qt(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=E(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 Fa(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=qt(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function qt(e,t){if(ka(e)){let i=La(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=jr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=jr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function jr(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 La(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Oa(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=Wt(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 Oa(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Wt(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=Wt(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Wt(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 ka(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Br(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function Vr(e,t,r){return e.debug("Angular config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}var zr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Rr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:_r},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Or},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Br},{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:Vr}];async function Kr(e){let t=e.resolve("/");for(let n of zr)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 Se(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,$r),{id:"next",filePath:n,content:$r}}return null}async function ja(e){let t=await Kr(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await zr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=W(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var $r=`
485
496
  /** @type {import('next').NextConfig} */
486
497
  const nextConfig = {
487
498
  }
488
499
 
489
500
  module.exports = nextConfig
490
- `.trimStart();var Pr="/~builder-dev-tools.js";function Zi(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Pr,e);t.searchParams.set("v",pt);let r=JSON.stringify(pt),n=`/* Builder Devtools v${pt} */
501
+ `.trimStart();var Ur="/~builder-dev-tools.js";function _a(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Ur,e);t.searchParams.set("v",dt);let r=JSON.stringify(dt),n=`/* Builder Devtools v${dt} */
491
502
  `;return n+=`(() => {
492
503
  `,n+=` if (typeof document !== "undefined") {
493
504
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -500,4 +511,4 @@ module.exports = nextConfig
500
511
  `,n+=` }
501
512
  `,n+=` }
502
513
  `,n+=`})();
503
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var pt="1.0.11";export{Qi as createDevTools,qi as createDevToolsSys,he as detectFrameworks,qt as detectFrameworksFromPackageJson,Xi as ensureConfigPlugin,Dr as findBuildToolConfig,Zi as getClientScript,Jt as parseDotEnvContent,pt as version};
514
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var dt="1.0.13";export{Na as createDevTools,Ra as createDevToolsSys,Se as detectFrameworks,Gt as detectFrameworksFromPackageJson,ja as ensureConfigPlugin,Kr as findBuildToolConfig,_a as getClientScript,Zt as parseDotEnvContent,dt as version};