@builder.io/dev-tools 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/index.cjs CHANGED
@@ -1,25 +1,25 @@
1
- "use strict";var eo=Object.create;var nt=Object.defineProperty;var to=Object.getOwnPropertyDescriptor;var no=Object.getOwnPropertyNames;var ro=Object.getPrototypeOf,oo=Object.prototype.hasOwnProperty;var fe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),io=(e,t)=>{for(var r in t)nt(e,r,{get:t[r],enumerable:!0})},on=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of no(t))!oo.call(e,o)&&o!==r&&nt(e,o,{get:()=>t[o],enumerable:!(n=to(t,o))||n.enumerable});return e};var ao=(e,t,r)=>(r=e!=null?eo(ro(e)):{},on(t||!e||!e.__esModule?nt(r,"default",{value:e,enumerable:!0}):r,e)),so=e=>on(nt({},"__esModule",{value:!0}),e);var zt=fe(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});function Tr(e){return Object.prototype.toString.call(e)}ut.getType=Tr;function Da(e){throw new TypeError("unsupported data type: "+Tr(e))}ut.throwUnknownDataType=Da});var qt=fe(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});var pe="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);pe+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);pe+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);pe+=t}var ke=pe.length,Ut={};for(let e=0;e<ke;e++){let t=pe[e];Ut[t]=e}function Mt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Ut[o];i*=r,t+=i,r*=ke}return t}ue.s_to_int=Mt;function yr(e){let t=BigInt(0),r=BigInt(1),n=BigInt(ke);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Ut[i]);a*=r,t+=a,r*=n}return t}ue.s_to_big_int=yr;function Qt(e){if(e===0)return pe[0];let t=[];for(;e!==0;){let r=e%ke,n=pe[r];t.push(n),e-=r,e/=ke}return t.reverse().join("")}ue.int_to_s=Qt;function wr(e){let t=BigInt(0),r=BigInt(ke);if(e===t)return pe[0];let n=[];for(;e!==t;){let o=e%r,i=pe[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}ue.big_int_to_s=wr;function ft(e){return e.split("").reverse().join("")}function Dr(e){if(e<0)return"-"+Dr(-e);let[t,r]=e.toString().split(".");if(!r)return Qt(e);let n;r&&([r,n]=r.split("e")),t=mt(t),r=ft(r),r=mt(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=ft(n),n=mt(n),o+=n}return o}ue.num_to_s=Dr;function mt(e){let t=+e;return t.toString()===e?Qt(t):":"+wr(BigInt(e))}ue.int_str_to_s=mt;function Kt(e){return e[0]===":"?yr(e.substring(1)).toString():Mt(e).toString()}function Pr(e){if(e[0]==="-")return-Pr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Mt(t);t=Kt(t),r=Kt(r),r=ft(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Kt(n),n=ft(n),o+=i?-n:+n}return+o}ue.s_to_num=Pr});var Wt=fe(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});var Jt=qt();function Pa(e){return"n|"+Jt.num_to_s(e)}me.encodeNum=Pa;function Ea(e){return e=e.replace("n|",""),Jt.s_to_num(e)}me.decodeNum=Ea;function va(e){return typeof e=="number"?e:Jt.s_to_int(e)}me.decodeKey=va;function ba(e){return e?"b|T":"b|F"}me.encodeBool=ba;function Ia(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}me.decodeBool=Ia;function Na(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}me.encodeStr=Na;function Ra(e){return e[0]+e[1]==="s|"?e.substr(2):e}me.decodeStr=Ra});var Er=fe(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.config={sort_key:!1}});var Gt=fe(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});var Aa=Er(),Fa=zt(),Ht=Wt(),La=qt();function Oa(e){return e.store.toArray()}Pe.memToValues=Oa;function vr(){let e=[];return{forEach(t){for(let r=0;r<e.length;r++)if(t(e[r])==="break")return},add(t){e.push(t)},toArray(){return e}}}Pe.makeInMemoryStore=vr;function br(){let e=Object.create(null),t=Object.create(null);return{getValue(r){return e[r]},getSchema(r){return t[r]},forEachValue(r){for(let[n,o]of Object.entries(e))if(r(n,o)==="break")return},forEachSchema(r){for(let[n,o]of Object.entries(t))if(r(n,o)==="break")return},setValue(r,n){e[r]=n},setSchema(r,n){t[r]=n},hasValue(r){return r in e},hasSchema(r){return r in t}}}Pe.makeInMemoryCache=br;function ka(){return{store:vr(),cache:br(),keyCount:0}}Pe.makeInMemoryMemory=ka;function De(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=La.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function ja(e,t){Aa.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Xe(e,t,void 0);return e.cache.setSchema(r,n),n}function Xe(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Xe(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?"_":Xe(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=ja(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Xe(e,s,t);o+="|"+l}return De(e,o)}case"boolean":return De(e,Ht.encodeBool(t));case"number":return De(e,Ht.encodeNum(t));case"string":return De(e,Ht.encodeStr(t))}return Fa.throwUnknownDataType(t)}Pe.addValue=Xe});var Zt=fe(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});var _a=zt(),dt=Wt(),Xt=Gt();function Ba(e){let t=Xt.makeInMemoryMemory(),r=Xt.addValue(t,e,void 0);return[Xt.memToValues(t),r]}et.compress=Ba;function $a(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Ze(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let l=i[s-2],c=n[s];c=Ze(e,c),r[l]=c}return r}function Va(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=Ze(e,a),o[i]=a}return o}function Ze(e,t){if(t===""||t==="_")return null;let r=dt.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 dt.decodeBool(n);case"o|":return $a(e,n);case"n|":return dt.decodeNum(n);case"a|":return Va(e,n);default:return dt.decodeStr(n)}}return _a.throwUnknownDataType(n)}et.decode=Ze;function za(e){let[t,r]=e;return Ze(t,r)}et.decompress=za});var Nr=fe(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});function Ka(e){for(let t in e)e[t]===void 0&&delete e[t]}gt.trimUndefined=Ka;function Ua(e){Ir(e,new Set)}gt.trimUndefinedRecursively=Ua;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 Fr=fe(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var Rr=Zt();Se.compress=Rr.compress;Se.decompress=Rr.decompress;var Ma=Zt();Se.decode=Ma.decode;var Qa=Gt();Se.addValue=Qa.addValue;var Ar=Nr();Se.trimUndefined=Ar.trimUndefined;Se.trimUndefinedRecursively=Ar.trimUndefinedRecursively});var rs={};io(rs,{createDevTools:()=>kr,createDevToolsSys:()=>_r,detectFrameworks:()=>de,detectFrameworksFromPackageJson:()=>Ct,ensureConfigPlugin:()=>Gr,findBuildToolConfig:()=>rn,getClientScript:()=>Zr,parseDotEnvContent:()=>St,version:()=>tt});module.exports=so(rs);async function an(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 sn(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 je(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 je(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function de(e){let t=[],r=await an(e,e.getRootDir());if(r){let n=Ct(r);t.push(...n)}return t}function Ct(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of lo)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var lo=["@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=ln(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=ln(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function ln(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function ge(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await co(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 co(e,t){let r=await e.readFile(t);return typeof r=="string"?St(r):null}function St(e){let t={},r=e.replace(/\r\n?/gm,`
2
- `),n;for(;(n=po.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 po=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function xe(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
1
+ "use strict";var so=Object.create;var st=Object.defineProperty;var po=Object.getOwnPropertyDescriptor;var lo=Object.getOwnPropertyNames;var co=Object.getPrototypeOf,uo=Object.prototype.hasOwnProperty;var he=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mo=(e,t)=>{for(var r in t)st(e,r,{get:t[r],enumerable:!0})},cn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lo(t))!uo.call(e,o)&&o!==r&&st(e,o,{get:()=>t[o],enumerable:!(n=po(t,o))||n.enumerable});return e};var fo=(e,t,r)=>(r=e!=null?so(co(e)):{},cn(t||!e||!e.__esModule?st(r,"default",{value:e,enumerable:!0}):r,e)),go=e=>cn(st({},"__esModule",{value:!0}),e);var Qt=he(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});function vr(e){return Object.prototype.toString.call(e)}xt.getType=vr;function ja(e){throw new TypeError("unsupported data type: "+vr(e))}xt.throwUnknownDataType=ja});var Ht=he(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var de="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);de+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);de+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);de+=t}var Ke=de.length,Wt={};for(let e=0;e<Ke;e++){let t=de[e];Wt[t]=e}function Yt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Wt[o];i*=r,t+=i,r*=Ke}return t}ge.s_to_int=Yt;function br(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Ke);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Wt[i]);a*=r,t+=a,r*=n}return t}ge.s_to_big_int=br;function Gt(e){if(e===0)return de[0];let t=[];for(;e!==0;){let r=e%Ke,n=de[r];t.push(n),e-=r,e/=Ke}return t.reverse().join("")}ge.int_to_s=Gt;function Ir(e){let t=BigInt(0),r=BigInt(Ke);if(e===t)return de[0];let n=[];for(;e!==t;){let o=e%r,i=de[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}ge.big_int_to_s=Ir;function Ct(e){return e.split("").reverse().join("")}function Rr(e){if(e<0)return"-"+Rr(-e);let[t,r]=e.toString().split(".");if(!r)return Gt(e);let n;r&&([r,n]=r.split("e")),t=ht(t),r=Ct(r),r=ht(r);let o=t+"."+r;if(n){switch(o+=".",n[0]){case"+":n=n.slice(1);break;case"-":o+="-",n=n.slice(1);break}n=Ct(n),n=ht(n),o+=n}return o}ge.num_to_s=Rr;function ht(e){let t=+e;return t.toString()===e?Gt(t):":"+Ir(BigInt(e))}ge.int_str_to_s=ht;function Jt(e){return e[0]===":"?br(e.substring(1)).toString():Yt(e).toString()}function Nr(e){if(e[0]==="-")return-Nr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Yt(t);t=Jt(t),r=Jt(r),r=Ct(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Jt(n),n=Ct(n),o+=i?-n:+n}return+o}ge.s_to_num=Nr});var Zt=he(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});var Xt=Ht();function Ba(e){return"n|"+Xt.num_to_s(e)}xe.encodeNum=Ba;function Va(e){return e=e.replace("n|",""),Xt.s_to_num(e)}xe.decodeNum=Va;function Ka(e){return typeof e=="number"?e:Xt.s_to_int(e)}xe.decodeKey=Ka;function $a(e){return e?"b|T":"b|F"}xe.encodeBool=$a;function Ma(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}xe.decodeBool=Ma;function Ua(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}xe.encodeStr=Ua;function za(e){return e[0]+e[1]==="s|"?e.substr(2):e}xe.decodeStr=za});var Ar=he(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.config={sort_key:!1}});var nn=he(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});var qa=Ar(),Qa=Qt(),tn=Zt(),Ja=Ht();function Wa(e){return e.store.toArray()}Ne.memToValues=Wa;function Fr(){let e=[];return{forEach(t){for(let r=0;r<e.length;r++)if(t(e[r])==="break")return},add(t){e.push(t)},toArray(){return e}}}Ne.makeInMemoryStore=Fr;function Or(){let e=Object.create(null),t=Object.create(null);return{getValue(r){return e[r]},getSchema(r){return t[r]},forEachValue(r){for(let[n,o]of Object.entries(e))if(r(n,o)==="break")return},forEachSchema(r){for(let[n,o]of Object.entries(t))if(r(n,o)==="break")return},setValue(r,n){e[r]=n},setSchema(r,n){t[r]=n},hasValue(r){return r in e},hasSchema(r){return r in t}}}Ne.makeInMemoryCache=Or;function Ya(){return{store:Fr(),cache:Or(),keyCount:0}}Ne.makeInMemoryMemory=Ya;function Re(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Ja.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function Ga(e,t){qa.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=rt(e,t,void 0);return e.cache.setSchema(r,n),n}function rt(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return rt(e,null,r);break;case"object":if(t===null)return Re(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":rt(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Re(e,n)}else{let n=Object.keys(t);if(n.length===0)return Re(e,"o|");let o="o",i=Ga(e,n);o+="|"+i;for(let a of n){let s=t[a],p=rt(e,s,t);o+="|"+p}return Re(e,o)}case"boolean":return Re(e,tn.encodeBool(t));case"number":return Re(e,tn.encodeNum(t));case"string":return Re(e,tn.encodeStr(t))}return Qa.throwUnknownDataType(t)}Ne.addValue=rt});var on=he(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});var Ha=Qt(),St=Zt(),rn=nn();function Xa(e){let t=rn.makeInMemoryMemory(),r=rn.addValue(t,e,void 0);return[rn.memToValues(t),r]}it.compress=Xa;function Za(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ot(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let p=i[s-2],l=n[s];l=ot(e,l),r[p]=l}return r}function es(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=ot(e,a),o[i]=a}return o}function ot(e,t){if(t===""||t==="_")return null;let r=St.decodeKey(t),n=e[r];if(n===null)return n;switch(typeof n){case"undefined":return n;case"number":return n;case"string":switch(n[0]+n[1]){case"b|":return St.decodeBool(n);case"o|":return Za(e,n);case"n|":return St.decodeNum(n);case"a|":return es(e,n);default:return St.decodeStr(n)}}return Ha.throwUnknownDataType(n)}it.decode=ot;function ts(e){let[t,r]=e;return ot(t,r)}it.decompress=ts});var kr=he(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});function ns(e){for(let t in e)e[t]===void 0&&delete e[t]}Pt.trimUndefined=ns;function rs(e){Lr(e,new Set)}Pt.trimUndefinedRecursively=rs;function Lr(e,t){t.add(e);for(let r in e)if(e[r]===void 0)delete e[r];else{let n=e[r];n&&typeof n=="object"&&!t.has(n)&&Lr(n,t)}}});var Br=he(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});var _r=on();ve.compress=_r.compress;ve.decompress=_r.decompress;var os=on();ve.decode=os.decode;var is=nn();ve.addValue=is.addValue;var jr=kr();ve.trimUndefined=jr.trimUndefined;ve.trimUndefinedRecursively=jr.trimUndefinedRecursively});var Cs={};mo(Cs,{createDevTools:()=>$r,createDevToolsSys:()=>Ur,detectFrameworks:()=>Ce,detectFrameworksFromPackageJson:()=>Tt,ensureConfigPlugin:()=>ro,findBuildToolConfig:()=>ln,getClientScript:()=>io,parseDotEnvContent:()=>Dt,version:()=>at});module.exports=go(Cs);async function pt(e,t){let r=e.resolve("/");for(let n=0;n<20;n++){let o=e.join(t,"package.json"),i=await e.readFile(o);if(i)return JSON.parse(i);if(t===r)break;t=e.dirname(t)}return null}async function un(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function $e(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let p=await $e(e,a,r);if(p)return p}}))).find(i=>typeof i=="string")}async function Ce(e){let t=[],r=await pt(e,e.getRootDir());if(r){let n=Tt(r);t.push(...n)}return t}function Tt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of xo)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var xo=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function ne(e){let t=mn(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function re(e,t){t=typeof t=="object"&&t!=null?t:{};let r=mn(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function mn(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function Se(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await ho(e,i);if(a){let s=a[r];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return n.envValue=s,n.file=i,n}}return n.file=e.join(e.getRootDir(),t[t.length-1]),n}async function ho(e,t){let r=await e.readFile(t);return typeof r=="string"?Dt(r):null}function Dt(e){let t={},r=e.replace(/\r\n?/gm,`
2
+ `),n;for(;(n=Co.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
3
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Co=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Pe(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
4
4
 
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 _e(e){return await ge(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Te)}async function cn(e,t){let r=await _e(e),n=await xe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Te="NEXT_PUBLIC_BUILDER_API_KEY";function D(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function rt(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 v(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 Me(e){return await Se(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],oe)}async function fn(e,t){let r=await Me(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var oe="NEXT_PUBLIC_BUILDER_API_KEY";var O={gen1:"Gen 1",gen2:"Gen 2"};function E(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function lt(e,t=""){let r=E(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function N(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
10
10
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
11
- `}return""}function b(e,t,r){t=W(t),r=W(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=W(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function W(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 pn(o==="index"?e.basename(e.dirname(t)):o)}function pn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=W(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function _(e,t){let r=W(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 F(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 Be(e){return typeof e=="number"}function ve(e){return typeof e=="boolean"}function z(e){return typeof e=="string"}function $e(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function K(e){return JSON.parse(JSON.stringify(e))}function ze(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=uo(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 uo(e,t,r){return t.properties.findIndex(n=>I(e,n)===r)}function Ke(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return fo(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return mo(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 mo(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=I(e,n);o&&(r[o]=Ke(e,n.initializer))}}return r}function fo(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Ke(e,r)):[]}function I(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 Tt(e,t,new WeakSet)}function Tt(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)?go(e,t,r):typeof t=="object"?xo(e,t,r):e.ts.factory.createIdentifier(t)}function go(e,t,r){let n=t.map(o=>Tt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function xo(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,Tt(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function ye(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 u=c.typeArguments;if(u){let m=u[0];o=t.getTypeFromTypeNode(m).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=ho(e,t,i);a&&n.push(a)}return n=n.filter(mn),n.length>0?n:Co(e,r)}function ho(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=yt(c);d.knownType?i=d.builderType:To(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(u=>u.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(u=>u.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=Po(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(wo)?s.enum=l.map(Do):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Co(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 u=c.typeExpression;if(!u)continue;let m="";switch(u.type.kind){case e.ts.SyntaxKind.StringKeyword:{m="string";break}case e.ts.SyntaxKind.NumberKeyword:{m="number";break}case e.ts.SyntaxKind.BooleanKeyword:{m="boolean";break}default:continue}let x={name:d.right.text,type:m,isRegistered:!1};r.push(x)}}return r.filter(mn)}var So=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function To(e){return typeof e!="string"?!1:!!So.some(t=>e.includes(t))}function yt(e){return typeof e=="string"&&(e=e.trim(),yo.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var yo=[{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 wo(e){return/^['"].*['"]$/.test(e)}function Do(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Po=(e,t,r)=>{let n=new Set;un(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},Eo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},un=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{un(e,t,o,n)});else if(r.isLiteral()){let o=Eo(e,t,r);n.add(o)}};function mn(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!vo.has(t.toLowerCase())}var vo=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=I(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=bo(e,n.initializer);G(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Ke(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function bo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(Io(e,n));return r}function Io(e,t){let r=Ke(e,t),n=ko(r);return n.isRegistered=!0,n}function U(e,t,r){let n=Ro(r);return t=ze(e,t,"name",n.name,!1),t=ze(e,t,"description",n.description),t=ze(e,t,"image",n.image),t=No(e,t,n),jo(e,t)}function No(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 ze(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=Fo(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 Ro(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Ao)}}function Ao(e){let t={name:e.name,type:e.type};return(z(e.defaultValue)||Be(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 Fo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>I(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=Lo(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(m=>I(e,m)==="name"),s=i.properties.find(m=>I(e,m)==="name"),l=a?.initializer,c=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",u=c&&e.ts.isStringLiteral(c)?c.text:"zz";return d.toLowerCase().localeCompare(u.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Lo(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=I(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=fn(e,t[n],r);else{let o=fn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function fn(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=Oo(e,n,r,i);return n=_o(e,n.filter(i=>{let a=I(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Oo(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=wt(e)}function ko(e){let t=yt(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)||Be(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),Dt(r)}function wt(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 jo(e,t){let r=[...t.properties].sort((n,o)=>{let i=I(e,n)||"zz",a=I(e,o)||"zz";if(i==="inputs")return 1;let s=dn.indexOf(i),l=dn.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 dn=["component","name","description"];function _o(e,t){return[...t].sort((n,o)=>{let i=I(e,n)||"zz",a=I(e,o)||"zz",s=gn.indexOf(i),l=gn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var gn=["name","type"];function xn(e,t){let r=`Builder.registerComponent(
11
+ `}return""}function v(e,t,r){t=X(t),r=X(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let o;return n==="index"?o=e.relative(t,r):o=e.relative(t,e.join(r,n)),o=X(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function X(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ae(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return dn(o==="index"?e.basename(e.dirname(t)):o)}function dn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=X(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function k(e,t){let r=X(e.relative(e.getRootDir(),t));r=r.split("/").filter(o=>o!=="."&&o!==".."&&o!=="").join("/"),r.endsWith(".tsx")||r.endsWith(".jsx")?r=r.slice(0,-4):(r.endsWith(".ts")||r.endsWith(".js"))&&(r=r.slice(0,-3));let n=e.getFrameworks();return r.startsWith("src/")&&(r=r.slice(4)),n.some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function F(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function j(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function Ue(e){return typeof e=="number"}function Fe(e){return typeof e=="boolean"}function U(e){return typeof e=="string"}function ze(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function J(e){return JSON.parse(JSON.stringify(e))}function Qe(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=So(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,p)=>p!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,qe(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,qe(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function So(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Je(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return yo(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Po(e,t);case e.ts.SyntaxKind.StringLiteral:return t.text;case e.ts.SyntaxKind.NumericLiteral:return Number(t.text);case e.ts.SyntaxKind.NoSubstitutionTemplateLiteral:return t.text;case e.ts.SyntaxKind.TrueKeyword:return!0;case e.ts.SyntaxKind.FalseKeyword:return!1;case e.ts.SyntaxKind.Identifier:switch(t.escapedText){case"undefined":return;case"null":return null;case"String":return String;case"Number":return Number;case"Boolean":return Boolean;case"NaN":return NaN}}}function Po(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=b(e,n);o&&(r[o]=Je(e,n.initializer))}}return r}function yo(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Je(e,r)):[]}function b(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function qe(e,t){return Et(e,t,new WeakSet)}function Et(e,t,r){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?To(e,t,r):typeof t=="object"?Do(e,t,r):e.ts.factory.createIdentifier(t)}function To(e,t,r){let n=t.map(o=>Et(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Do(e,t,r){if(r.has(t))return e.ts.factory.createIdentifier("undefined");r.add(t);let n=Object.keys(t).map(o=>e.ts.factory.createPropertyAssignment(o,Et(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function be(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let p=a.heritageClauses?.find(l=>l.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(p){for(let l of p)if(t.getSymbolAtLocation(l.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(l)){let f=l.typeArguments;if(f){let c=f[0];o=t.getTypeFromTypeNode(c).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let p=s[0].getParameters();p.length>0&&(o=t.getTypeOfSymbolAtLocation(p[0],r).getProperties())}}}if(o)for(let i of o){let a=Eo(e,t,i);a&&n.push(a)}return n=n.filter(xn),n.length>0?n:wo(e,r)}function Eo(e,t,r){let n=r.valueDeclaration,o=r.getName();if(n||(n=r.getDeclarations()?.[0]),n&&e.ts.isPropertySignature(n)){if(o!=="children"&&n.getSourceFile().fileName.includes("node_modules/@types/"))return null;let i="string",a;if(n?.type){let p=t.getTypeFromTypeNode(n.type),l=t.typeToString(p),d=wt(l);d.knownType?i=d.builderType:bo(l)||p.flags&e.ts.TypeFlags.StringLike?i="string":p.flags&e.ts.TypeFlags.NumberLike?i="number":p.flags&e.ts.TypeFlags.IndexedAccess?i="list":p.flags&e.ts.TypeFlags.Object||p.isUnion()&&p.types.every(f=>f.flags&e.ts.TypeFlags.Object)||p.isIntersection()&&p.types.some(f=>f.flags&e.ts.TypeFlags.Object)?i="object":i="string",l!==i&&(a=l)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let p=Ao(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},p&&p.length>0&&s.type==="string"&&p.every(Ro)?s.enum=p.map(No):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function wo(e,t){let r=[],n=e.ts.getJSDocCommentsAndTags(t);for(let o of n)if(!(!e.ts.isJSDoc(o)||!o.tags))for(let i of o.tags){if(!e.ts.isJSDocParameterTag(i)||i.tagName.text!=="param")continue;let s=i.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let p=s.jsDocPropertyTags;if(p)for(let l of p){if(!e.ts.isJSDocPropertyLikeTag(l))continue;let d=l.name;if(!e.ts.isQualifiedName(d))continue;let f=l.typeExpression;if(!f)continue;let c="";switch(f.type.kind){case e.ts.SyntaxKind.StringKeyword:{c="string";break}case e.ts.SyntaxKind.NumberKeyword:{c="number";break}case e.ts.SyntaxKind.BooleanKeyword:{c="boolean";break}default:continue}let h={name:d.right.text,type:c,isRegistered:!1};r.push(h)}}return r.filter(xn)}var vo=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function bo(e){return typeof e!="string"?!1:!!vo.some(t=>e.includes(t))}function wt(e){return typeof e=="string"&&(e=e.trim(),Io.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Io=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}];function Ro(e){return/^['"].*['"]$/.test(e)}function No(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Ao=(e,t,r)=>{let n=new Set;gn(e,t,r,n);let o=n.delete("true"),i=n.delete("false");(o||i)&&n.add("boolean");let a=Array.from(n.keys()).sort();if(a.length>1&&(a=a.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(a.length>20))return a},Fo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},gn=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{gn(e,t,o,n)});else if(r.isLiteral()){let o=Fo(e,t,r);n.add(o)}};function xn(e){let t=e?.name;if(typeof t!="string"||t===""||t.startsWith("aria")||t.startsWith("data-"))return!1;if(t.startsWith("on")&&t.length>2){let r=t.charAt(2);if(r.toUpperCase()===r)return!1}return!Oo.has(t.toLowerCase())}var Oo=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(e=>e.toLowerCase()));function W(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=b(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=Lo(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Je(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function Lo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ko(e,n));return r}function ko(e,t){let r=Je(e,t),n=Mo(r);return n.isRegistered=!0,n}function $(e,t,r){let n=jo(r);return t=Qe(e,t,"name",n.name,!1),t=Qe(e,t,"description",n.description),t=Qe(e,t,"image",n.image),t=_o(e,t,n),Uo(e,t)}function _o(e,t,r){let n=null,o=t.properties.filter(s=>e.ts.isPropertyAssignment(s)&&e.ts.isIdentifier(s.name)),i=o.findIndex(s=>e.ts.isIdentifier(s.name)&&s.name.text==="inputs"),a=[...r.inputs??[]];if(i>-1){if(a.length===0)return Qe(e,t,"inputs",null);let s=o[i];e.ts.isPropertyAssignment(s)&&e.ts.isArrayLiteralExpression(s.initializer)&&(n=s.initializer)}return a.length===0?t:(n=Vo(e,n||e.ts.factory.createArrayLiteralExpression(),a),i>-1?o[i]=e.ts.factory.updatePropertyAssignment(o[i],o[i].name,n):o.push(e.ts.factory.createPropertyAssignment("inputs",n)),e.ts.factory.updateObjectLiteralExpression(t,o))}function jo(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Bo)}}function Bo(e){let t={name:e.name,type:e.type};return(U(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(t.defaultValue=e.defaultValue),U(e.friendlyName)&&(t.friendlyName=e.friendlyName),U(e.helperText)&&(t.helperText=e.helperText),e.required===!0&&(t.required=!0),Array.isArray(e.enum)&&(t.enum=e.enum),e.hideFromUI===!0&&(t.hideFromUI=!0),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(t.meta=e.meta),t}function Vo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>b(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=Ko(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>b(e,c)==="name"),s=i.properties.find(c=>b(e,c)==="name"),p=a?.initializer,l=s?.initializer,d=p&&e.ts.isStringLiteral(p)?p.text:"zz",f=l&&e.ts.isStringLiteral(l)?l.text:"zz";return d.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Ko(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=b(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=hn(e,t[n],r);else{let o=hn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function hn(e,t,r){let n=t.properties.filter(i=>e.ts.isPropertyAssignment(i)),o=Object.keys(r).filter(i=>i!=="isRegistered");for(let i of o)n=$o(e,n,r,i);return n=zo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function $o(e,t,r,n){let o=t.findIndex(i=>e.ts.isIdentifier(i.name)&&i.name.text===n);return o>-1?t[o]=e.ts.factory.updatePropertyAssignment(t[o],t[o].name,qe(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,qe(e,r[n]))),t}function Z(e,t){for(let r of t){let n=e.inputs.findIndex(o=>o.name===r.name);n>-1?(r.isRegistered||!e.inputs[n].isRegistered)&&(e.inputs[n]=r):e.inputs.push(r)}e.acceptsChildren=vt(e)}function Mo(e){let t=wt(e.type),r={name:e.name.trim(),type:t.builderType};return U(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(U(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(r.defaultValue=e.defaultValue),U(e.helperText)&&(r.helperText=e.helperText),Fe(e.required)&&(r.required=e.required),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(r.meta=e.meta),Array.isArray(e.enum)&&e.enum.length>0&&(r.enum=e.enum),e.hideFromUI===!0&&(r.hideFromUI=!0),bt(r)}function vt(e){let t=e.inputs.some(n=>n.name==="children"),r=e.inputs.some(n=>n.meta?.ts==="ReactNode");return!!(t||r||e.acceptsChildren===!0)}function bt(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function Uo(e,t){let r=[...t.properties].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz";if(i==="inputs")return 1;let s=Cn.indexOf(i),p=Cn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var Cn=["component","name","description"];function zo(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=Sn.indexOf(i),p=Sn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)})}var Sn=["name","type"];function Pn(e,t){let r=`Builder.registerComponent(
12
12
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
13
13
  `:r+=` ${t.importName},
14
- `;else{let o=b(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
14
+ `;else{let o=v(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=rt(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;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 $(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await sn(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=Ue.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Ue.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=Ue.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=Cn.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new it(l)}return a.includes("node_modules")&&(s?Ue.set(a,{exists:!0,content:s}):Ue.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 it){await $o(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=hn.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,hn.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 $(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 it=class{constructor(t){this.libName=t}};async function $o(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;ot.has(t)||ot.set(t,fetch(r).then(n=>n.text()).then(n=>{Cn.set(t,n)})),await ot.get(t),ot.delete(t)}var Cn=new Map,ot=new Map,Ue=new Map,hn=new Map;function P(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Vo(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=zo(e,t,r.defaultImport,r.importPath,n)),t}function Vo(e,t,r,n,o,i){return i==="cjs"?Tn(e,t,null,r,n):Sn(e,t,null,r,n,o)}function zo(e,t,r,n,o){return o==="cjs"?Tn(e,t,r,null,n):Sn(e,t,r,null,n,!1)}function Sn(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 x=a[p];if(!e.ts.isImportDeclaration(x)||(s=p,!x.moduleSpecifier||!e.ts.isStringLiteral(x.moduleSpecifier))||x.moduleSpecifier.text!==o||!!x.importClause?.isTypeOnly!==i)continue;let f=[],g=x.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,T)=>C.name.text.localeCompare(T.name.text)),l=!0}let h=x.importClause?x.importClause.name:void 0;if(typeof r=="string"){if(h&&h.text===r)return t;h=e.ts.factory.createIdentifier(r),c=!0}if(l||c)return a[p]=e.ts.factory.updateImportDeclaration(x,void 0,e.ts.factory.createImportClause(i,h,e.ts.factory.createNamedImports(f)),x.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,u;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(u=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let m=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,u),e.ts.factory.createStringLiteral(o));return a.splice(s,0,m),e.ts.factory.updateSourceFile(t,a)}function Tn(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let l=i[s];if(e.ts.isVariableStatement(l))for(let c=0;c<l.declarationList.declarations.length;c++){let d=[...l.declarationList.declarations],u=d[c],m=u.initializer;if(!m||!e.ts.isCallExpression(m))continue;let p=m.expression;if(!e.ts.isIdentifier(p)||p.text!=="require"||m.arguments.length!==1)continue;let x=m.arguments[0];if(e.ts.isStringLiteral(x)&&(a=s,x.text===o)){if(e.ts.isIdentifier(u.name)&&typeof r=="string")return u.name.text===r?t:(d[c]=e.ts.factory.updateVariableDeclaration(u,e.ts.factory.createIdentifier(r),u.exclamationToken,u.type,u.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(u.name)&&typeof n=="string"){let f=[...u.name.elements];return f.some(h=>!e.ts.isBindingElement(h)||!e.ts.isIdentifier(h.name)?!1:h.name.text===n)?t:(f.push(e.ts.factory.createBindingElement(void 0,void 0,n)),f.sort((h,C)=>!e.ts.isBindingElement(h)||!e.ts.isIdentifier(h.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:h.name.text.localeCompare(C.name.text)),d[c]=e.ts.factory.updateVariableDeclaration(u,e.ts.factory.createObjectBindingPattern(f),u.exclamationToken,u.type,u.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"?Uo(e,t):Ko(e,t)}function Ko(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 Uo(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 Mo(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=Mo(e,r,n);if(o){let i=await Me(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:F(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 at(e,t){if(t){if(Qo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{at(e,n)&&(r=!0)}),r)return!0}return!1}function Qo(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 Me(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Et.includes(r)){for(let n of Et){let o=t+n;if(await e.exists(o))return o}for(let n of Et){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Et=[".tsx",".jsx",".ts",".js"];function Qe(e,t,r){if(!r||!t)return;let n=t.getSymbolAtLocation(r);if(!n)return;let o=n.valueDeclaration;if(!o)return;let i=o.getSourceFile().fileName,a=qo(e,i);return a?[{name:a}]:void 0}function qo(e,t){if(typeof t=="string"){t=e.normalize(W(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 $(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{let s=n.getSourceFile(a.filePath);if(s){let c=(await he(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=ye(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 he(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 ye(e,o,a.node.fnNode)}return[]}async function yn(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 he(e,null,t,n)}async function he(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 Wo(e,t,r,a);o.push(...s)})),o}async function Wo(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)||!$e(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,u=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,d),displayFilePath:F(e,r),name:j(c),inputs:[],exportName:d,exportType:u,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:F(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&&!$e(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,u=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,d),displayFilePath:F(e,r),name:c,inputs:[],exportName:d,exportType:u,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)&&$e(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:F(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:s.name||Ee(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 at(e,r.body)?{name:"",fnNode:r,deps:Qe(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return at(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Qe(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(!e.ts.isPropertyAccessExpression(n))return null;let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null: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)||!$e(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Qe(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Qe(e,t,n)}}return null}async function wn(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(Ho(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await he(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 Ho(e,t){for(let r of Yo)if(e.dirname(t).includes(r))return!0;return!1}async function Dn(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&&Go.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 he(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Go=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,[...vt(e,r),...vt(e,n),...vt(e,o),...i])}function J(e){let t=e.split(`
21
+ `,r+=");";let n=lt(e,r);return It(e,n,t)}function It(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=$(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function K(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await un(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=We.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}We.set(a,s)}return s.exists}return o.has(a)||o.set(a,e.existsSync(a)),o.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
22
+ `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let p=We.get(a);if(p)return E(e,p.content)}let s=e.readFileSync(a);if(s==null){let p=e.basename(a),l=e.extname(p).toLowerCase();if(a.startsWith(n)&&l===".ts"&&(s=Tn.get(p),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new ut(p)}return a.includes("node_modules")&&(s?We.set(a,{exists:!0,content:s}):We.set(a,{exists:!1})),E(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return qo(e,i,t)}catch(a){if(a instanceof ut){await Qo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function qo(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=yn.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let p=e.readFileSync(s);return typeof p=="string"?p:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(p,l)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(o),void 0,o).options,yn.set(o,i))}i&&(n.options=J(i))}return n.options.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 Oe(e,t,r){r||(r=await K(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var ut=class{constructor(t){this.libName=t}};async function Qo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;ct.has(t)||ct.set(t,fetch(r).then(n=>n.text()).then(n=>{Tn.set(t,n)})),await ct.get(t),ct.delete(t)}var Tn=new Map,ct=new Map,We=new Map,yn=new Map;function D(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Jo(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Wo(e,t,r.defaultImport,r.importPath,n)),t}function Jo(e,t,r,n,o,i){return i==="cjs"?En(e,t,null,r,n):Dn(e,t,null,r,n,o)}function Wo(e,t,r,n,o){return o==="cjs"?En(e,t,r,null,n):Dn(e,t,r,null,n,!1)}function Dn(e,t,r,n,o,i){let a=[...t.statements],s=0,p=!1,l=!1;for(let u=0;u<a.length;u++){let h=a[u];if(!e.ts.isImportDeclaration(h)||(s=u,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let m=[],g=h.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&m.push(...g.elements),typeof n=="string"){if(m.some(C=>C.name.text===n))return t;m.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),m.sort((C,P)=>C.name.text.localeCompare(P.name.text)),p=!0}let x=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(x&&x.text===r)return t;x=e.ts.factory.createIdentifier(r),l=!0}if(p||l)return a[u]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,e.ts.factory.createNamedImports(m)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,f;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(f=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let c=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function En(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let p=i[s];if(e.ts.isVariableStatement(p))for(let l=0;l<p.declarationList.declarations.length;l++){let d=[...p.declarationList.declarations],f=d[l],c=f.initializer;if(!c||!e.ts.isCallExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="require"||c.arguments.length!==1)continue;let h=c.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(f.name)&&typeof r=="string")return f.name.text===r?t:(d[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createIdentifier(r),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(f.name)&&typeof n=="string"){let m=[...f.name.elements];return m.some(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(m.push(e.ts.factory.createBindingElement(void 0,void 0,n)),m.sort((x,C)=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:x.name.text.localeCompare(C.name.text)),d[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(m),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,d)),e.ts.factory.updateSourceFile(t,i))}}}}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,n)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}return t}function G(e,t,r="esm"){return r==="cjs"?Go(e,t):Yo(e,t)}function Yo(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let p of s.declarationList.declarations)e.ts.isIdentifier(p.name)&&p.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function Go(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let p of s.declarationList.declarations)e.ts.isIdentifier(p.name)&&p.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s})}else r.push({isDefaultExport:!0,statement:n,node:i});continue}}return r}function Ho(e,t,r){for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&n.importClause){if(n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings)){for(let o of n.importClause.namedBindings.elements)if(e.ts.isIdentifier(o.name)&&o.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"named"}}if(n.importClause.name&&n.importClause.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"default"}}return null}async function ye(e,t,r,n){let o=Ho(e,r,n);if(o){let i=await Ye(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:F(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function Le(e,t,r){for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(e.ts.isVariableStatement(o)){for(let i of o.declarationList.declarations)if(e.ts.isIdentifier(i.name)&&i.name.text===r)return{statement:o,statementIndex:n}}}return null}function M(e,t,r){let n=Le(e,t,r);if(n&&n.statement.declarationList.declarations.length>0){let o=n.statement.declarationList.declarations[0];if(o.initializer&&e.ts.isArrayLiteralExpression(o.initializer))return{statement:n.statement,statementIndex:n.statementIndex,variableDeclaration:o,arrayLiteralExp:o.initializer}}return null}function mt(e,t){if(t){if(Xo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{mt(e,n)&&(r=!0)}),r)return!0}return!1}function Xo(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function Ye(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Rt.includes(r)){for(let n of Rt){let o=t+n;if(await e.exists(o))return o}for(let n of Rt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Rt=[".tsx",".jsx",".ts",".js"];function Ge(e,t,r){if(!r||!t)return;let n=t.getSymbolAtLocation(r);if(!n)return;let o=n.valueDeclaration;if(!o)return;let i=o.getSourceFile().fileName,a=Zo(e,i);return a?[{name:a}]:void 0}function Zo(e,t){if(typeof t=="string"){t=e.normalize(X(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function ie(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}async function ke(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await K(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{let s=n.getSourceFile(a.filePath);if(s){let l=(await Te(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}return a}))}async function _e(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await Te(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return be(e,o,a.node.fnNode)}return[]}async function wn(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return ei(e,t,n)}return null}function ei(e,t,r){let n=E(e,r);return Te(e,null,t,n)}async function Te(e,t,r,n){let o=[];for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isStringLiteral(a.expression)&&a.expression.text==="use server")return o;let i=G(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await ti(e,t,r,a);o.push(...s)})),o}async function ti(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!ze(s.name.text))continue;let p=He(e,t,s.initializer);if(p){let l=p.name||s.name.text,d=n.isDefaultExport?"default":l,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:F(e,r),name:j(l),inputs:[],exportName:d,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a,dependencies:p.deps},node:p})}}return o}if(e.ts.isArrowFunction(n.node)){let s=He(e,t,n.node);if(s){let p=Y(e,r),l=n.isDefaultExport?"default":p,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:F(e,r),name:p,inputs:[],exportName:l,exportType:d,importName:Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!ze(s))return o;let p=He(e,t,n.node);if(p){let l=p.name||Y(e,r),d=n.isDefaultExport||!p.name?"default":p.name,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:F(e,r),name:l,inputs:[],exportName:d,exportType:f,importName:p.name||Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:p.deps},node:p})}return o}if(e.ts.isExportSpecifier(n.node)&&ze(n.node.getText())){let s=He(e,t,n.node);if(s){let p=s.name||Y(e,r),l=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:F(e,r),name:p,inputs:[],exportName:l,exportType:d,importName:s.name||Ae(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}return o}function He(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return mt(e,r.body)?{name:"",fnNode:r,deps:Ge(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return mt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ge(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(!e.ts.isPropertyAccessExpression(n))return null;let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null:He(e,t,o[0])}if(!t)return null;if(e.ts.isPropertyAccessExpression(r)){let n=r.expression,o=r.name;if(!e.ts.isIdentifier(n)||!e.ts.isIdentifier(o)||!ze(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ge(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Ge(e,t,n)}}return null}async function vn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.normalize(i.fileName);if(ri(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await Te(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ni=new Set(["node_modules","dist"]);function ri(e,t){for(let r of ni)if(e.dirname(t).includes(r))return!0;return!1}async function bn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(e.appDir&&oi.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let p=await Te(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var oi=new Set(["default.tsx","default.ts","default.jsx","default.js","error.tsx","error.ts","error.jsx","error.js","layout.tsx","layout.ts","layout.jsx","layout.js","loading.tsx","loading.ts","loading.jsx","loading.js","not-found.tsx","not-found.ts","not-found.jsx","not-found.js","page.tsx","page.ts","page.jsx","page.js","route.tsx","route.ts","route.jsx","route.js","template.tsx","template.ts","template.jsx","template.js"]);function ae(e,t){let r=[],n=[],o=[],i=[];for(let a of t.statements){if(e.ts.isImportDeclaration(a)){if(e.ts.isStringLiteral(a.moduleSpecifier)){let p=a.moduleSpecifier.text;if(!p.startsWith(".")&&!p.startsWith("/")){r.push(a);continue}}let s=a.importClause;if(s){if(s.namedBindings){n.push(a);continue}if(s.name){n.push(a);continue}}o.push(a);continue}i.push(a)}return e.ts.factory.updateSourceFile(t,[...Nt(e,r),...Nt(e,n),...Nt(e,o),...i])}function H(e){let t=e.split(`
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,51 @@ ${r}=${n}
28
28
  `+o),o.trim().startsWith("export ")&&(o=`
29
29
  `+o)),e=o+`
30
30
  `+e}return e.trim()+`
31
- `}function vt(e,t){return t.sort((r,n)=>{let o=Pn(e,r),i=Pn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Pn(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 vn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
- ${e}`),e}function bn(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=En(e,r),i=En(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function En(e,t){let r=t.properties.find(n=>I(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function In(e){let t=await e.readFile(e.registryPath);return t?Xo(e,t):{components:[],sourceFile:D(e,"")}}async function Xo(e,t){let r=D(e,t);return Zo(e,r)}async function Zo(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 u=c[0];if(e.ts.isCallExpression(u)){let m=e.ts.isIdentifier(u.expression)&&u.expression.text;if(m==="withChildren"){let x=Nt(e,u.arguments[0]);if(e.ts.isCallExpression(x)){let f=await bt(e,n,x,d,!0);f&&r.push(f)}else{let f=x;if(e.ts.isIdentifier(f)){let g=await It(e,t,n,f,d,!0);g&&r.push(g)}}continue}if(m==="dynamic"){let x=await bt(e,n,u,d,!1);x&&r.push(x);continue}let p=Nt(e,u.arguments[0]);if(e.ts.isCallExpression(p)&&e.ts.isIdentifier(p.expression)&&p.expression.text==="dynamic"){let x=await bt(e,n,p,d,!1);x&&r.push(x);continue}if(e.ts.isIdentifier(p)){let x=await It(e,t,n,p,d,!1);x&&r.push(x);continue}continue}if(e.ts.isIdentifier(u)){let m=await It(e,t,n,u,d,!1);m&&r.push(m);continue}}return{sourceFile:t,components:M(r)}}function Nt(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:Nt(e,t.arguments[0]):t}async function bt(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 u=d.text;i.filePath=await st(e,u),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 u=d.expression;if(!e.ts.isCallExpression(u)||u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let p=u.arguments[0];if(!e.ts.isStringLiteral(p)||!e.ts.isIdentifier(l.name))return null;let x=p.text;i.filePath=await st(e,x),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=F(e,i.filePath),i.filePath&&i.exportName&&(i.id=await k(e,i.filePath,i.exportName)),i}async function It(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 st(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(u=>!u.importClause||!u.importClause.namedBindings||!e.ts.isNamedImports(u.importClause.namedBindings)?!1:u.importClause.namedBindings.elements.some(m=>m.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await st(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=F(e,a.filePath),a.filePath&&a.exportName&&(a.id=await k(e,a.filePath,a.exportName)),a}function st(e,t){return Me(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Nn(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 u=d.expression;if(!e.ts.isCallExpression(u))continue;let m=u.expression;if(!e.ts.isPropertyAccessExpression(m))continue;let p=m.expression;if(!e.ts.isIdentifier(p)||p.text!=="builder")continue;if(m.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(Te)),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 u=d.name;if(u&&e.ts.isIdentifier(u)){let m=u.text;Rn(e,t,m)||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;Rn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Rn(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 u=t.find(p=>p.id===e),m=r.find(p=>p.id===e);if(n)m||(s={...K(u),inputs:K(u.inputs).map(p=>(p.isRegistered=!0,p))},d=r.length,r.push(s));else if(typeof m?.nodeIndex=="number"&&m.nodeIndex>-1){if(o)d=m.nodeIndex,l=K(m),r=r.filter(p=>p.id!==e);else if(i!=null)ei(m,i),d=m.nodeIndex,c=m;else if(a!=null){let p=m.inputs.find(x=>x.name===a.name);p&&(a.registerInput===!1?p.isRegistered=!1:(ti(p,a),p.isRegistered=!0),c=m,d=m.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(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=wt(n))}),r}function ei(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 ti(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)||Be(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 Ce(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 ie(e,t,r,n,o,i,a,s){let l=await Ce(e),[c,d,u,m]=await Promise.all([Dn(e,l),In(e),Rt(e),_e(e)]),p=c.map(T=>T.cmpInfo),x=d.components,f={components:X(p,x),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(p),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await Re(e,f.components),f;let g=!1,h=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let T=C.map(S=>{let E=c.find(O=>O.cmpInfo.id===S);if(!E)throw new Error(`Component ${S} not found`);return E}),L=Array.from(new Set(T.map(S=>S.cmpInfo.filePath))),w=await $(e,L);for(let S of T){let E=f.components.find(A=>A.id===S.cmpInfo.id),O=await Ae(e,S,w);G(E,O);let N=p.findIndex(A=>A.id===S.cmpInfo.id);p[N].inputs=O;let y=oe(S.cmpInfo.id,p,x,r,n,o,i),R=[...h.statements];if(y.addCmpToRegistry?(R.push(xn(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(R.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(R[y.nodeIndex]=Pt(e,R[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){if(h=e.ts.factory.updateSourceFile(h,R),h=P(e,h,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),h=Nn(e,h,u),e.appDir){let A=y.addCmpToRegistry||y.updateRegisteredCmp;if(A){let V=b(e,e.registryPath,A.filePath);A.exportType==="default"?h=P(e,h,{defaultImport:A.importName,importPath:V}):A.exportType==="named"&&(h=P(e,h,{namedImports:[A.importName],importPath:V}))}}else h=P(e,h,{defaultImport:"dynamic",importPath:"next/dynamic"});E?.acceptsChildren&&(h=P(e,h,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,x=y.components.filter(A=>A.isRegistered)}}}if(g&&a){h=re(e,h),h=ne(e,h),e.appDir&&(h=bn(e,h));let T=v(e,h);T=J(T),e.appDir&&(T=vn(T)),T=await e.formatCode(e.registryPath,T),await e.writeFile(e.registryPath,T)}return f}async function An(e){let t=[],r=await si(e,t);return await ci(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await ri(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await ii(e,e.pagesDir,t)),t}async function Fn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await ni(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await ai(e,e.pagesDir,t)),t}async function ni(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,Ln({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ri(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,Ln({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,oi(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function oi(e){let t=e.typescriptEnabled;return`
31
+ `}function Nt(e,t){return t.sort((r,n)=>{let o=In(e,r),i=In(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function In(e,t){let r=t.importClause;if(r){let n=r.namedBindings;if(n&&e.ts.isNamedImports(n)&&n.elements.length>0)return n.elements[0].name.text;if(r.name)return r.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function Nn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
+ ${e}`),e}function An(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function De(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Rn(e,r),i=Rn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Rn(e,t){let r=t.properties.find(n=>b(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Fn(e){let t=await e.readFile(e.registryPath);return t?ii(e,t):{components:[],sourceFile:E(e,"")}}async function ii(e,t){let r=E(e,t);return e.sdkVersion===O.gen2?si(e,r):ai(e,r)}async function ai(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let l=i.arguments;if(l.length<2)continue;let d=l[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=l[0];if(e.ts.isCallExpression(f)){let c=e.ts.isIdentifier(f.expression)&&f.expression.text;if(c==="withChildren"){let h=Ot(e,f.arguments[0]);if(e.ts.isCallExpression(h)){let m=await At(e,n,h,d,!0);m&&r.push(m)}else{let m=h;if(e.ts.isIdentifier(m)){let g=await Ft(e,t,n,m,d,!0);g&&r.push(g)}}continue}if(c==="dynamic"){let h=await At(e,n,f,d,!1);h&&r.push(h);continue}let u=Ot(e,f.arguments[0]);if(e.ts.isCallExpression(u)&&e.ts.isIdentifier(u.expression)&&u.expression.text==="dynamic"){let h=await At(e,n,u,d,!1);h&&r.push(h);continue}if(e.ts.isIdentifier(u)){let h=await Ft(e,t,n,u,d,!1);h&&r.push(h);continue}continue}if(e.ts.isIdentifier(f)){let c=await Ft(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}function Ot(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:Ot(e,t.arguments[0]):t}async function At(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let p=s.body;if(e.ts.isCallExpression(p)){if(p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let d=p.arguments[0];if(!e.ts.isStringLiteral(d))return null;let f=d.text;i.filePath=await je(e,f),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=k(e,i.filePath),i.name=Y(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(p)){let l=p.expression;if(!e.ts.isParenthesizedExpression(l))return null;let d=l.expression;if(!e.ts.isAwaitExpression(d))return null;let f=d.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let u=f.arguments[0];if(!e.ts.isStringLiteral(u)||!e.ts.isIdentifier(p.name))return null;let h=u.text;i.filePath=await je(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=k(e,i.filePath),i.name=j(p.name.text),i.importName=p.name.text,i.exportName=p.name.text,i.exportType="named"}else return null;return i=W(e,i,n),i.displayFilePath=F(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function Ft(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),p=s.find(l=>l.importClause&&l.importClause.name?.text===n.text);if(p){let l=p.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;a.filePath=await je(e,l.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await je(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=W(e,a,o),a.displayFilePath=F(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function je(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function On(e,t,r){let n=!1,o=0,i=[...t.statements];for(let l=0;l<i.length;l++){let d=i[l];if(e.ts.isImportDeclaration(d)){o=l;continue}if(!e.ts.isExpressionStatement(d))continue;let f=d.expression;if(!e.ts.isCallExpression(f))continue;let c=f.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="builder")continue;if(c.name.text=="init"){n=!0;break}else continue}if(n)return t;let a=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(oe)),s=r?e.ts.factory.createNonNullExpression(a):a,p=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return i.splice(o+1,0,p),e.ts.factory.updateSourceFile(t,i)}async function si(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Lt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Lt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};pi(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(b(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isCallExpression(p)&&(e.ts.isIdentifier(p.expression)&&p.expression.text)==="dynamic"){let u=p.arguments;if(u.length===0)return null;let h=u[0];if(!e.ts.isArrowFunction(h))return null;let m=h.body;if(e.ts.isCallExpression(m)){if(m.expression.kind!==e.ts.SyntaxKind.ImportKeyword||m.arguments.length!==1)return null;let x=m.arguments[0];if(!e.ts.isStringLiteral(x))return null;let C=x.text;n.filePath=await je(e,C),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=Y(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(m)){let g=m.expression;if(!e.ts.isParenthesizedExpression(g))return null;let x=g.expression;if(!e.ts.isAwaitExpression(x))return null;let C=x.expression;if(!e.ts.isCallExpression(C)||C.expression.kind!==e.ts.SyntaxKind.ImportKeyword||C.arguments.length!==1)return null;let R=C.arguments[0];if(!e.ts.isStringLiteral(R)||!e.ts.isIdentifier(m.name))return null;let T=R.text;n.filePath=await je(e,T),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=j(m.name.text),n.importName=m.name.text,n.exportName=m.name.text,n.exportType="named"}else return null;return n=W(e,n,r),n.displayFilePath=F(e,n.filePath),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}if(e.ts.isIdentifier(p)&&(s=p.text),!s)continue;n.name===""&&(n.name=j(s)),n.importName=s;let l=await ye(e,e.registryPath,t,s);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=k(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let d=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=d.find(c=>c.importClause&&c.importClause.name?.text===s);if(f){let c=f.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;n.exportName="default"}else{let c=d.find(h=>!h.importClause||!h.importClause.namedBindings||!e.ts.isNamedImports(h.importClause.namedBindings)?!1:h.importClause.namedBindings.elements.some(m=>m.name.text===s));if(!c)return null;let u=c.moduleSpecifier;if(!e.ts.isStringLiteral(u))return null;n.exportName=s}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}function pi(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(b(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function se(e,t){let r=[...t.statements],n=!1;for(let o=t.statements.length-1;o>=0;o--){let i=t.statements[o];if(e.ts.isImportDeclaration(i)&&i.importClause){let a=!1,s=i.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let p=[...s.elements];for(let l=p.length-1;l>=0;l--){let d=p[l];if(e.ts.isImportSpecifier(d)){let f=d.name;if(f&&e.ts.isIdentifier(f)){let c=f.text;Ln(e,t,c)||p.splice(l,1)}}}if(p.length===0)a=!0;else if(s.elements.length!==p.length){let l=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(p)),d=e.ts.factory.updateImportDeclaration(i,void 0,l,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let p=i.importClause.name.text;Ln(e,t,p)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Ln(e,t,r){let n=!1;function o(i){if(!e.ts.isImportDeclaration(i)){if(e.ts.isIdentifier(i)&&i.text===r){n=!0;return}e.ts.forEachChild(i,o)}}return e.ts.forEachChild(t,o),n}function pe(e,t,r,n,o,i,a){let s=null,p=null,l=null,d=-1;t=J(t),r=J(r);let f=t.find(u=>u.id===e),c=r.find(u=>u.id===e);if(n)c||(s={...J(f),inputs:J(f.inputs).map(u=>(u.isRegistered=!0,u))},d=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)d=c.nodeIndex,p=J(c),r=r.filter(u=>u.id!==e);else if(i!=null)li(c,i),d=c.nodeIndex,l=c;else if(a!=null){let u=c.inputs.find(h=>h.name===a.name);u&&(a.registerInput===!1?u.isRegistered=!1:(ci(u,a),u.isRegistered=!0),l=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:p,updateRegisteredCmp:l,nodeIndex:d,components:ee(t,r)}}function ee(e,t){let r=Q([...t.map(n=>(n.isRegistered=!0,n)),...e.filter(n=>!t.some(o=>o.id===n.id)).map(n=>(n.isRegistered=!1,n))]);return r.forEach(n=>{n.inputs=n.inputs.map(bt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=vt(n))}),r}function li(e,t){U(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),U(t.description)?e.description=t.description:t.description===null&&delete e.description,U(t.image)?e.image=t.image:t.image===null&&delete e.image}function ci(e,t){U(t.type)&&(e.type=t.type),U(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,U(t.defaultValue)||Ue(t.defaultValue)||Fe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,U(t.helperText)?e.helperText=t.helperText:t.helperText===null&&delete e.helperText,t.required===!0?e.required=t.required:(t.required===null||t.required===!1)&&delete e.required}async function Ee(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),p=e.extname(a).toLowerCase();if(p===".tsx"||p===".jsx"||p===".ts"||p===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await K(e,[...t])}function we(e,t,r){return Le(e,t,r.variableName)?t:ui(e,t,r)}function ui(e,t,r){let n=typeof r.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(r.arrayType,void 0)):void 0,o=e.ts.factory.createArrayLiteralExpression([]),i=e.ts.factory.createVariableDeclaration(r.variableName,void 0,n,o),a=e.ts.factory.createVariableDeclarationList([i],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),p=e.ts.factory.createVariableStatement([s],a),l=[...t.statements,p];return e.ts.factory.updateSourceFile(t,l)}async function le(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f,c]=await Promise.all([bn(e,p),Fn(e),kt(e),Me(e)]),u=l.map(P=>P.cmpInfo),h=d.components,m={components:ee(u,h),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await ke(e,m.components),m;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let I=l.find(B=>B.cmpInfo.id===S);if(!I)throw new Error(`Component ${S} not found`);return I}),R=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),T=await K(e,R);for(let S of P){let I=m.components.find(w=>w.id===S.cmpInfo.id),B=await _e(e,S,T);Z(I,B);let A=u.findIndex(w=>w.id===S.cmpInfo.id);u[A].inputs=B;let y=pe(S.cmpInfo.id,u,h,r,n,o,i);if(e.sdkVersion===O.gen2){let{elements:w,elmIndex:V,statementIndex:z,statement:q,variableDeclaration:L}=await di(e,x,S);if(y.addCmpToRegistry)w.push(fi(e,y.addCmpToRegistry)),g=!0;else if(y.removeCmpFromRegistry)w.splice(V,1),g=!0;else if(y.updateRegisteredCmp){let fe=$(e,w[V],y.updateRegisteredCmp);w[V]=e.ts.factory.updateObjectLiteralExpression(fe,[_n(e,y.updateRegisteredCmp),...fe.properties.slice(1)]),g=!0}if(g&&a){let fe=[...x.statements];fe[z]=e.ts.factory.updateVariableStatement(q,q.modifiers,e.ts.factory.updateVariableDeclarationList(q.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(De(e,w)))])),x=e.ts.factory.updateSourceFile(x,fe),x=kn(e,y,x),x=D(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),x=we(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),m.components=y.components,h=y.components.filter(ao=>ao.isRegistered)}}else{let w=[...x.statements];y.addCmpToRegistry?(w.push(Pn(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(w.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(w[y.nodeIndex]=It(e,w[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a&&(x=e.ts.factory.updateSourceFile(x,w),x=D(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=On(e,x,f),x=kn(e,y,x),I?.acceptsChildren&&(x=D(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=y.components,h=y.components.filter(V=>V.isRegistered))}}}if(g&&a){x=se(e,x),x=ae(e,x),e.appDir&&(x=An(e,x));let P=N(e,x);P=H(P),e.appDir&&(P=Nn(P)),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return m}function _n(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",gi(e,t))}function mi(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function fi(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([_n(e,t),...t.acceptsChildren?[mi(e)]:[]],!0),t)}async function di(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Lt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function kn(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=v(e,e.registryPath,n.filePath);n.exportType==="default"?r=D(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=D(e,r,{namedImports:[n.importName],importPath:o}))}}else r=D(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function gi(e,t){let r=v(e,e.registryPath,t.filePath),n=t.exportName!=="default",o;n?o=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createAwaitExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)])),e.ts.factory.createIdentifier(t.exportName)):o=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)]);let i=e.ts.factory.createArrowFunction(n?[e.ts.factory.createModifier(e.ts.SyntaxKind.AsyncKeyword)]:void 0,void 0,[],void 0,e.ts.factory.createToken(e.ts.SyntaxKind.EqualsGreaterThanToken),o);return e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("dynamic"),void 0,[i])}async function jn(e){let t=[],r=await yi(e,t);return await Di(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await hi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Si(e,e.pagesDir,t)),t}async function Bn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await xi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Pi(e,e.pagesDir,t)),t}async function xi(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"figma-imports",n);if(!await e.exists(o)){let i=await e.formatCode(o,Vn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function hi(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"[...page]",n);if(!await e.exists(o)){let i=await e.formatCode(o,Vn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let i=await e.formatCode(e.builderComponentPath,Ci(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Ci(e){let t=e.typescriptEnabled;return e.sdkVersion===O.gen2?`
33
+ "use client";
34
+ import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
35
+ import DefaultErrorPage from "next/error";
36
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(v(e,e.builderComponentPath,e.registryPath))};
37
+ ${t?`
38
+ interface BuilderPageProps {
39
+ content: BuilderContent | null;
40
+ model: string;
41
+ }`:""}
42
+
43
+ // Builder Public API Key set in .env file
44
+ const builderApiKey = process.env.${oe}${t?"!":""};
45
+
46
+ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
47
+ // Call the isPreviewing hook to determine if
48
+ // the page is being previewed in Builder
49
+ // If "content" has a value or the page is being previewed in Builder,
50
+ // render the BuilderComponent with the specified content and model props.
51
+ if (content || isPreviewing()) {
52
+ return <Content
53
+ content={content}
54
+ apiKey={builderApiKey}
55
+ model={model}
56
+ customComponents={CUSTOM_COMPONENTS}
57
+ />;
58
+ }
59
+ // If the "content" is falsy and the page is
60
+ // not being previewed in Builder, render the
61
+ // DefaultErrorPage with a 404.
62
+ return <DefaultErrorPage statusCode={404} />;
63
+ }
64
+ `.trimStart():`
33
65
  "use client";
34
66
  ${t?'import { ComponentProps } from "react";':""}
35
67
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
36
68
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
37
69
  import DefaultErrorPage from "next/error";
38
- import ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
70
+ import ${JSON.stringify(v(e,e.builderComponentPath,e.registryPath))};
39
71
  ${t?`
40
72
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
41
73
 
42
74
  // Builder Public API Key set in .env file
43
- builder.init(process.env.${Te}${t?"!":""});
75
+ builder.init(process.env.${oe}${t?"!":""});
44
76
 
45
77
  export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
46
78
  // Call the useIsPreviewing hook to determine if
@@ -56,12 +88,46 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
56
88
  // DefaultErrorPage with a 404.
57
89
  return <DefaultErrorPage statusCode={404} />;
58
90
  }
59
- `.trimStart()}function Ln({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=b(e,t,e.builderComponentPath);return`
91
+ `.trimStart()}function Vn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=v(e,t,e.builderComponentPath);return e.sdkVersion===O.gen2?`
92
+ import { fetchOneEntry } from "@builder.io/sdk-react";
93
+ import { RenderBuilderContent } from ${JSON.stringify(o)};
94
+
95
+ // Builder Public API Key set in .env file
96
+ const PUBLIC_API_KEY = process.env.${oe}${n?"!":""};
97
+
98
+ ${n?`
99
+ interface PageProps {
100
+ params: {
101
+ page: string[];
102
+ };
103
+ }`:""}
104
+
105
+ export default async function Page(props${n?": PageProps":""}) {
106
+ const builderModelName = "${r}";
107
+
108
+ // Use the page path specified in the URL to fetch the content
109
+ const urlPath = "/" + (props.params?.page?.join("/") || "");
110
+
111
+ const content = await fetchOneEntry({
112
+ // Get the page content from Builder with the specified options
113
+ apiKey: PUBLIC_API_KEY,
114
+ model: builderModelName,
115
+ userAttributes: { urlPath },
116
+ });
117
+
118
+ return (
119
+ <>
120
+ {/* Render the Builder page */}
121
+ <RenderBuilderContent content={content} model={builderModelName} />
122
+ </>
123
+ );
124
+ }
125
+ `.trimStart():`
60
126
  import { builder } from "@builder.io/sdk";
61
127
  import { RenderBuilderContent } from ${JSON.stringify(o)};
62
128
 
63
129
  // Builder Public API Key set in .env file
64
- builder.init(process.env.${Te}${n?"!":""});
130
+ builder.init(process.env.${oe}${n?"!":""});
65
131
  ${n?`
66
132
  interface PageProps {
67
133
  params: {
@@ -90,7 +156,95 @@ export default async function Page(props${n?": PageProps":""}) {
90
156
  </>
91
157
  );
92
158
  }
93
- `.trimStart()}async function ii(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,On({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ai(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,On({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function On({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return`
159
+ `.trimStart()}async function Si(e,t,r){let n=`[...page].${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,Kn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Pi(e,t,r){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,Kn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Kn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===O.gen2?`
160
+ import React from "react";
161
+ import { useRouter } from "next/router";
162
+ ${n?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
163
+ import {
164
+ Content,
165
+ fetchEntries,
166
+ fetchOneEntry,
167
+ isPreviewing,
168
+ } from "@builder.io/sdk-react";
169
+ import DefaultErrorPage from "next/error";
170
+ import Head from "next/head";
171
+ ${n?'import { GetStaticProps } from "next";':""}
172
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(v(e,e.builderComponentPath,e.registryPath))};
173
+
174
+ const BUILDER_API_KEY = process.env.${oe}${n?"!":""};
175
+
176
+ // Define a function that fetches the Builder
177
+ // content for a given page
178
+ export const getStaticProps${n?": GetStaticProps":""} = async ({ params }) => {
179
+ const urlPath =
180
+ "/" +
181
+ (Array.isArray(params?.page) ? params.page.join("/") : params?.page || "");
182
+
183
+ // Fetch the builder content for the given page
184
+ const page = await fetchOneEntry({
185
+ apiKey: BUILDER_API_KEY,
186
+ model: "${r}",
187
+ userAttributes: { urlPath },
188
+ });
189
+
190
+ return {
191
+ // Return the page content as props
192
+ props: { page },
193
+ // Revalidate the content every 5 seconds
194
+ revalidate: 5,
195
+ };
196
+ };
197
+
198
+ ${r==="page"?`
199
+ // Define a function that generates the
200
+ // static paths for all pages in Builder
201
+ export async function getStaticPaths() {
202
+ // Get a list of all pages in Builder
203
+ const pages = await fetchEntries({
204
+ apiKey: BUILDER_API_KEY,
205
+ model: "page",
206
+ // We only need the URL field
207
+ fields: "data.url",
208
+ options: { noTargeting: true },
209
+ });
210
+ // Generate the static paths for all pages in Builder
211
+ return {
212
+ paths: pages.map((page) => \`\${page.data?.url}\`),
213
+ fallback: "blocking",
214
+ };
215
+ }
216
+ `:""}
217
+
218
+ // Define the Page component
219
+ export default function Page(props${n?": { page: BuilderContent | null }":""}) {
220
+ const router = useRouter();
221
+ const canShowContent = props.page || isPreviewing(router.asPath);
222
+
223
+ // If the page content is not available
224
+ // and not in preview/editing mode, show a 404 error page
225
+ if (!canShowContent) {
226
+ return <DefaultErrorPage statusCode={404} />;
227
+ }
228
+
229
+ // If the page content is available, render
230
+ // the BuilderComponent with the page content
231
+ return (
232
+ <>
233
+ <Head>
234
+ <title>{props.page?.data?.title}</title>
235
+ </Head>
236
+ {/* Render the Builder page */}
237
+ <Content
238
+ model="${r}"
239
+ content={props.page}
240
+ apiKey={BUILDER_API_KEY}
241
+ customComponents={CUSTOM_COMPONENTS}
242
+ />
243
+ </>
244
+ );
245
+ }
246
+
247
+ `:`
94
248
  import React from "react";
95
249
  import { useRouter } from "next/router";
96
250
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
@@ -98,9 +252,9 @@ import DefaultErrorPage from "next/error";
98
252
  import Head from "next/head";${n?`
99
253
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
100
254
  import { GetStaticProps } from "next";`:""}
101
- import ${JSON.stringify(b(e,t,e.registryPath))};
255
+ import ${JSON.stringify(v(e,t,e.registryPath))};
102
256
 
103
- builder.init(process.env.${Te}${n?"!":""});
257
+ builder.init(process.env.${oe}${n?"!":""});
104
258
 
105
259
  // Define a function that fetches the Builder
106
260
  // content for a given page
@@ -164,7 +318,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
164
318
  </>
165
319
  );
166
320
  }
167
- `.trimStart()}async function si(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}=li(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 li(e){let t=e.typescriptEnabled,r=`
321
+ `.trimStart()}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:p}=Ti(e);if(!await e.exists(i)){let l=await e.formatCode(i,s);await e.writeFile(i,l),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,p),t.push({filePath:a,modifiedType:"create"})),i}function Ti(e){let t=e.typescriptEnabled,r=`
168
322
  "use client"
169
323
  import React, { useState } from "react";
170
324
  import styles from "./styles.module.css";
@@ -227,13 +381,18 @@ export default Counter;
227
381
  font-size: 42px;
228
382
  text-align: center;
229
383
  }
230
- `.trimStart();return{component:r,styles:n}}async function ci(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 kn(e){let t=await pi(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>An(t),ensureFigmaImportPage:()=>Fn(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:()=>_e(t),setPublicApiKey:n=>cn(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 pi(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await ui(e),o=await Rt(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 Rt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function ui(e){let t=e.join(e.getRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getRootDir()}".`)}async function Je(e){return await ge(e,[".env"],_n)}async function jn(e,t){mi(t);let r=await Je(e),n=await xe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function mi(e){typeof process<"u"&&(process.env[_n]=e)}var _n="PUBLIC_BUILDER_API_KEY";function Bn(e,t,r){if(r.length===0)return e;let n=e.split(`
384
+ `.trimStart();return{component:r,styles:n}}async function Di(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===O.gen2){let i=Ei(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");r.push({filePath:e.registryPath,modifiedType:"create"})}let o=(await le(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await le(e,o.id,!0,!1,null,null,!0,!1)}function Ei(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
385
+
386
+ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
387
+ ];`:`export const CUSTOM_COMPONENTS = [
388
+ ];
389
+ `}async function Be(e){let t=await pt(e,e.getRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return O.gen2;if(r.has("@builder.io/react"))return O.gen1}return null}async function $n(e){let t=await wi(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>jn(t),ensureFigmaImportPage:()=>Bn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>le(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await le(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>le(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>le(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>le(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>le(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Me(t),setPublicApiKey:n=>fn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function wi(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await vi(e),o=await kt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(e.sdkVersion?a.sdkVersion=e.sdkVersion:a.sdkVersion=await Be(a),await e.exists(r)){a.srcDir=r,a.componentsDir=e.join(r,"components");let s=e.join(r,"app");await e.exists(s)&&(a.appDir=s);let p=e.join(r,"pages");await e.exists(p)&&(a.pagesDir=p),a.registryPath=e.join(r,i)}else a.componentsDir=e.join(t,"components"),a.registryPath=e.join(t,i);if(a.builderComponentPath=e.join(a.componentsDir,`builder.${o?"tsx":"jsx"}`),!a.appDir){let s=e.join(t,"app");await e.exists(s)&&(a.appDir=s)}if(!a.pagesDir){let s=e.join(t,"pages");await e.exists(s)&&(a.pagesDir=s)}if(!a.appDir&&!a.pagesDir)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return a}function kt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function vi(e){let t=e.join(e.getRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getRootDir()}".`)}async function Xe(e){return await Se(e,[".env"],Un)}async function Mn(e,t){bi(t);let r=await Xe(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function bi(e){typeof process<"u"&&(process.env[Un]=e)}var Un="PUBLIC_BUILDER_API_KEY";function zn(e,t,r){if(r.length===0)return e;let n=e.split(`
231
390
  `),o=n.findIndex(s=>s.includes(r));if(o===-1||n.some(s=>s.includes(t[0])))return e;let a=["/**",...t.map(s=>` * ${s.trim()}`)," */"];return n.splice(o,0,...a),n.join(`
232
- `)}function Le(e,t,r){return Ne(e,t,r.variableName)?t:fi(e,t,r)}function fi(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 Vn(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(".")||xi.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await lt(e,o,s,i);r.push(...l)})),r}async function zn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return di(e,t,n)}return null}function di(e,t,r){let n=D(e,r);return lt(e,null,t,n)}async function lt(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 gi(e,t,r,a);s&&o.push(s)})),o}async function gi(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=$n(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await k(e,r,l),displayFilePath:F(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=$n(e,n.node);if(a)return{cmpInfo:{id:await k(e,r,"default"),displayFilePath:F(e,r),name:Y(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ee(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function $n(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 xi=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Kn(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 lt(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 ye(e,i,r)}return[]}async function Un(e){return At(e)}async function At(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,hi),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var hi=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
391
+ `)}async function Qn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||Ni.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await ft(e,o,s,i);r.push(...p)})),r}async function Jn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ii(e,t,n)}return null}function Ii(e,t,r){let n=E(e,r);return ft(e,null,t,n)}async function ft(e,t,r,n){r=e.normalize(r);let o=[],i=G(e,n);return await Promise.all(i.map(async a=>{let s=await Ri(e,t,r,a);s&&o.push(s)})),o}async function Ri(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=k(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=qn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let p=a.name.text;return{cmpInfo:{id:await _(e,r,p),displayFilePath:F(e,r),name:j(p),inputs:[],exportName:n.isDefaultExport?"default":p,exportType:n.isDefaultExport?"default":"named",importName:p,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=qn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:F(e,r),name:Y(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ae(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function qn(e,t){if(t&&e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)&&t.expression.text==="component$"&&t.arguments.length>0){let r=t.arguments[0];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))return{callExpression:t,fnNode:r}}return null}var Ni=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Wn(e,t){let r=t.node.fnNode;if((e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))&&r.parameters.length>0){let{sourceFile:o,typeChecker:i}=await Oe(e,t.cmpInfo.filePath,null);if(!(await ft(e,i,t.cmpInfo.filePath,o)).find(p=>p.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return be(e,i,r)}return[]}async function Yn(e){return _t(e)}async function _t(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ai),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Ai=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
233
392
 
234
393
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
235
394
  ];
236
- `;async function Mn(e){await At(e);let t=await e.readFile(e.registryPath);return t?Ci(e,t):{components:[],sourceFile:D(e,"")}}async function Ci(e,t){let r=D(e,t);return Si(e,r)}async function Si(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 Ft(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:M(r)}}async function Ft(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(I(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 zn(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 Qn(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 we(e,t,r,n,o,i,a,s){let l=await Qn(e),[c,d,u]=await Promise.all([Vn(e,l),Mn(e),Je(e)]),m=c.map(f=>f.cmpInfo),p=d.components,x={components:X(m,p),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return x;if(t!=null){let f=c.find(y=>y.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let g=d.sourceFile,h=x.components.find(y=>y.id===t),C=await Kn(e,f);G(h,C),t=Array.isArray(t)?t[0]:t;let T=oe(t,m,p,r,n,o,i),{elements:L,elmIndex:w,statementIndex:S,statement:E,variableDeclaration:O}=await yi(e,g,f),N=!1;if(T.addCmpToRegistry?(L.push(Ti(e,T.addCmpToRegistry)),N=!0):T.removeCmpFromRegistry?(L.splice(w,1),N=!0):T.updateRegisteredCmp&&(L[w]=U(e,L[w],T.updateRegisteredCmp),N=!0),N&&a){let y=[...g.statements];y[S]=e.ts.factory.updateVariableStatement(E,E.modifiers,e.ts.factory.updateVariableDeclarationList(E.declarationList,[e.ts.factory.updateVariableDeclaration(O,O.name,O.exclamationToken,O.type,e.ts.factory.createArrayLiteralExpression(Fe(e,L)))])),g=e.ts.factory.updateSourceFile(g,y),h.exportType==="named"?g=P(e,g,{namedImports:[h.importName],importPath:b(e,e.registryPath,h.filePath)}):g=P(e,g,{defaultImport:h.importName,importPath:b(e,e.registryPath,h.filePath)}),g=P(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 R=v(e,g);R=J(R),R=Bn(R,wi,"CUSTOM_COMPONENTS"),R=await e.formatCode(e.registryPath,R),await e.writeFile(e.registryPath,R)}x.components=T.components}return x}function Ti(e,t){return U(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function yi(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 Ft(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var wi=["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 qn(e){let t=await Di(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Un(t),ensureFigmaImportPage:async()=>[],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:()=>Je(t),setPublicApiKey:n=>jn(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 Di(e){let t=await je(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 ge(e,[".env"],Ye)}async function Jn(e,t){let r=await We(e),n=await xe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ye="PUBLIC_BUILDER_KEY";async function Wn(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"||Pi.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let c=await he(e,o,l,a);r.push(...c)})),r}var Pi=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Yn(e){await Ot(e);let t=await e.readFile(e.registryPath);return t?Ei(e,t):{components:[],sourceFile:D(e,"")}}async function Ei(e,t){let r=D(e,t);return vi(e,r)}async function vi(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 Lt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:M(r)}}async function Lt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(I(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 u=s.arguments[0];e.ts.isIdentifier(u)&&(a=u.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 yn(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(u=>u.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 Ce(e),[c,d,u]=await Promise.all([Wn(e,l),Yn(e),We(e)]),m=c.map(C=>C.cmpInfo),p=d.components,x={components:X(m,p),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return x.components=await Re(e,x.components),x;let f=!1,g=d.sourceFile,h=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(h.length>0){let C=h.map(w=>{let S=c.find(E=>E.cmpInfo.id===w);if(!S)throw new Error(`Component ${w} not found`);return S}),T=Array.from(new Set(C.map(w=>w.cmpInfo.filePath))),L=await $(e,T);for(let w of C){let S=x.components.find(B=>B.id===w.cmpInfo.id),E=await Ae(e,w,L);G(S,E);let O=m.findIndex(B=>B.id===w.cmpInfo.id);m[O].inputs=E;let N=oe(w.cmpInfo.id,m,p,r,n,o,i),{elements:y,elmIndex:R,statementIndex:A,statement:V,variableDeclaration:ce}=await Ii(e,g,w);if(N.addCmpToRegistry)y.push(bi(e,N.addCmpToRegistry)),f=!0;else if(N.removeCmpFromRegistry)y.splice(R,1),f=!0;else if(N.updateRegisteredCmp){let B=U(e,y[R],N.updateRegisteredCmp);y[R]=e.ts.factory.updateObjectLiteralExpression(B,[Hn(e,N.updateRegisteredCmp),...B.properties.slice(1)]),f=!0}if(f&&a){let B=[...g.statements];B[A]=e.ts.factory.updateVariableStatement(V,V.modifiers,e.ts.factory.updateVariableDeclarationList(V.declarationList,[e.ts.factory.updateVariableDeclaration(ce,ce.name,ce.exclamationToken,ce.type,e.ts.factory.createArrayLiteralExpression(Fe(e,y)))])),g=e.ts.factory.updateSourceFile(g,B),S.exportType==="named"?g=P(e,g,{namedImports:[S.importName],importPath:b(e,e.registryPath,S.filePath)}):g=P(e,g,{defaultImport:S.importName,importPath:b(e,e.registryPath,S.filePath)}),g=P(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(g=P(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=Le(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x.components=N.components,p=N.components.filter(ht=>ht.isRegistered)}}}if(f&&a){g=re(e,g),g=ne(e,g);let C=v(e,g);C=J(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return x}function Hn(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 bi(e,t){return U(e,e.ts.factory.createObjectLiteralExpression([Hn(e,t)],!0),t)}async function Ii(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 Lt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Gn(e){let t=[],r=await Ai(e,t);return t.push(...await Ot(e)),await Li(e,r),await Ri(e,t),t}async function Xn(e){let t=[];return await Ni(e,t),t}async function Ni(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,Zn({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Ri(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,Zn({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Zn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=b(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Ye}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Ye}`),n&&(s+="!"),`
395
+ `;async function Gn(e){await _t(e);let t=await e.readFile(e.registryPath);return t?Fi(e,t):{components:[],sourceFile:E(e,"")}}async function Fi(e,t){let r=E(e,t);return Oi(e,r)}async function Oi(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await jt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function jt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=j(a)),n.importName=a;let s=await ye(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=k(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let p=await Jn(e,s.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let l=p.find(d=>d.cmpInfo.exportName===a);l&&(n.exportName=l.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Hn(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),p=e.extname(a).toLowerCase();if(p===".tsx"||p===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await K(e,[...t])}async function Ie(e,t,r,n,o,i,a,s){let p=await Hn(e),[l,d,f]=await Promise.all([Qn(e,p),Gn(e),Xe(e)]),c=l.map(m=>m.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let m=l.find(y=>y.cmpInfo.id===t);if(!m)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(y=>y.id===t),C=await Wn(e,m);Z(x,C),t=Array.isArray(t)?t[0]:t;let P=pe(t,c,u,r,n,o,i),{elements:R,elmIndex:T,statementIndex:S,statement:I,variableDeclaration:B}=await ki(e,g,m),A=!1;if(P.addCmpToRegistry?(R.push(Li(e,P.addCmpToRegistry)),A=!0):P.removeCmpFromRegistry?(R.splice(T,1),A=!0):P.updateRegisteredCmp&&(R[T]=$(e,R[T],P.updateRegisteredCmp),A=!0),A&&a){let y=[...g.statements];y[S]=e.ts.factory.updateVariableStatement(I,I.modifiers,e.ts.factory.updateVariableDeclarationList(I.declarationList,[e.ts.factory.updateVariableDeclaration(B,B.name,B.exclamationToken,B.type,e.ts.factory.createArrayLiteralExpression(De(e,R)))])),g=e.ts.factory.updateSourceFile(g,y),x.exportType==="named"?g=D(e,g,{namedImports:[x.importName],importPath:v(e,e.registryPath,x.filePath)}):g=D(e,g,{defaultImport:x.importName,importPath:v(e,e.registryPath,x.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=se(e,g),g=ae(e,g);let w=N(e,g);w=H(w),w=zn(w,_i,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}h.components=P.components}return h}function Li(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function ki(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await jt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var _i=["This array is used to integrate custom components within Builder.","https://www.builder.io/c/docs/custom-components-intro","",'These components will be found the "Custom Components"',"section of Builder's visual editor.",'You can also turn on "components only mode" to limit',"editing to only these components.","https://www.builder.io/c/docs/guides/components-only-mode"];async function Xn(e){let t=await ji(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Yn(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Ie(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ie(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ie(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ie(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ie(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Xe(t),setPublicApiKey:n=>Mn(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function ji(e){let t=await $e(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ze(e){return await Se(e,[".env"],et)}async function Zn(e,t){let r=await Ze(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var et="PUBLIC_BUILDER_KEY";async function er(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Bi.has(s)||s.includes("$."))return;let p=e.normalize(a.fileName);if(p===e.remixConfigPath||p===e.registryPath||p===i)return;let l=await Te(e,o,p,a);r.push(...l)})),r}var Bi=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function tr(e){await Vt(e);let t=await e.readFile(e.registryPath);return t?Vi(e,t):{components:[],sourceFile:E(e,"")}}async function Vi(e,t){let r=E(e,t);return Ki(e,r)}async function Ki(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Bt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Bt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let f=s.arguments[0];e.ts.isIdentifier(f)&&(a=f.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ye(e,e.registryPath,t,a);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,n.importPath=k(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let l=await wn(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let d=l.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function ce(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f]=await Promise.all([er(e,p),tr(e),Ze(e)]),c=l.map(C=>C.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await ke(e,h.components),h;let m=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let S=l.find(I=>I.cmpInfo.id===T);if(!S)throw new Error(`Component ${T} not found`);return S}),P=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),R=await K(e,P);for(let T of C){let S=h.components.find(L=>L.id===T.cmpInfo.id),I=await _e(e,T,R);Z(S,I);let B=c.findIndex(L=>L.id===T.cmpInfo.id);c[B].inputs=I;let A=pe(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:w,statementIndex:V,statement:z,variableDeclaration:q}=await Mi(e,g,T);if(A.addCmpToRegistry)y.push($i(e,A.addCmpToRegistry)),m=!0;else if(A.removeCmpFromRegistry)y.splice(w,1),m=!0;else if(A.updateRegisteredCmp){let L=$(e,y[w],A.updateRegisteredCmp);y[w]=e.ts.factory.updateObjectLiteralExpression(L,[nr(e,A.updateRegisteredCmp),...L.properties.slice(1)]),m=!0}if(m&&a){let L=[...g.statements];L[V]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(q,q.name,q.exclamationToken,q.type,e.ts.factory.createArrayLiteralExpression(De(e,y)))])),g=e.ts.factory.updateSourceFile(g,L),S.exportType==="named"?g=D(e,g,{namedImports:[S.importName],importPath:v(e,e.registryPath,S.filePath)}):g=D(e,g,{defaultImport:S.importName,importPath:v(e,e.registryPath,S.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(g=D(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=A.components,u=A.components.filter(fe=>fe.isRegistered)}}}if(m&&a){g=se(e,g),g=ae(e,g);let C=N(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function nr(e,t){let r=e.ts.factory.createIdentifier(t.importName),n=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[r]):r;return e.ts.factory.createPropertyAssignment("component",n)}function $i(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([nr(e,t)],!0),t)}async function Mi(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Bt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function rr(e){let t=[],r=await qi(e,t);return t.push(...await Vt(e)),await Ji(e,r),await zi(e,t),t}async function or(e){let t=[];return await Ui(e,t),t}async function Ui(e,t){let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureFigmaImportRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureFigmaImportRoute, hasRoute: ${o}`);let i=await e.formatCode(n,ir({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function zi(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,ir({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function ir({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=v(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${et}`;return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${et}`),n&&(s+="!"),`
237
396
  import { BuilderComponent, builder } from "@builder.io/react";
238
397
  import { useLoaderData } from "@remix-run/react";
239
398
  import { CUSTOM_COMPONENTS } from ${JSON.stringify(o)};
@@ -290,11 +449,11 @@ export default function Page() {
290
449
  ${n?`
291
450
  declare global {
292
451
  interface Env {
293
- ${Ye}: string;
452
+ ${et}: string;
294
453
  }
295
454
  }
296
455
  `:""}
297
- `}async function Ai(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=Fi(e),c=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${c}`),!c){let u=await e.formatCode(i,s);await e.writeFile(i,u),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 Fi(e){let t=e.typescriptEnabled,r=`
456
+ `}async function qi(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:p}=Qi(e),l=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${l}`),!l){let f=await e.formatCode(i,s);await e.writeFile(i,f),t.push({filePath:i,modifiedType:"create"})}let d=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${d}`),d||(await e.writeFile(a,p),t.push({filePath:a,modifiedType:"create"})),i}function Qi(e){let t=e.typescriptEnabled,r=`
298
457
  import { useState } from "react";
299
458
  import styles from "./styles.module.css";
300
459
  ${t?`
@@ -357,23 +516,23 @@ export default Counter;
357
516
  font-size: 42px;
358
517
  text-align: center;
359
518
  }
360
- `.trimStart();return{component:r,styles:n}}async function Li(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 Ot(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Oi(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Oi(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
519
+ `.trimStart();return{component:r,styles:n}}async function Ji(e,t){let n=(await ce(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await ce(e,n.id,!0,!1,null,null,!0,!1)}async function Vt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Wi(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Wi(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
361
520
 
362
521
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
363
522
  ];`:`export const CUSTOM_COMPONENTS = [
364
523
  ];
365
- `}async function er(e){let t=await ki(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:()=>Gn(t),ensureFigmaImportPage:()=>Xn(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=>Jn(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 ki(e){let t=await Bi(e),r=await $i(e),n=e.dirname(r),o=e.join(n,"components"),i=await ji(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 _i(e,r)}}function ji(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function _i(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 $i(e){let t=await je(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 He(e){let t=[".env"],r=e.configType==="vite"?ct:kt;return await ge(e,t,r)}async function tr(e,t){let r=await He(e),n=await xe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ct="VITE_PUBLIC_BUILDER_KEY",kt="YOUR_PUBLIC_BUILDER_KEY";function nr(e,t){let r=`Builder.registerComponent(
524
+ `}async function ar(e){let t=await Yi(e);return{builderPageOptions:async()=>{let n="/builder-demo",o=t.hasLocaleParam?`/en-us${n}`:void 0;return{templateContentId:"a5c9eef7909d4fc99554264a17de22c9",pathname:n,localePathname:o,title:"Builder + Remix Demo Page"}},ensureBuilderSetup:()=>rr(t),ensureFigmaImportPage:()=>or(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ce(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ce(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ce(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ce(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ce(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ce(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ze(t),setPublicApiKey:n=>Zn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function Yi(e){let t=await Xi(e),r=await Zi(e),n=e.dirname(r),o=e.join(n,"components"),i=await Gi(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a),p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await Hi(e,r)};return p.sdkVersion=await Be(p),p}function Gi(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Hi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function Xi(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function Zi(e){let t=await $e(e,e.getRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function tt(e){let t=[".env"],r=e.configType==="vite"?dt:Kt;return await Se(e,t,r)}async function sr(e,t){let r=await tt(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var dt="VITE_PUBLIC_BUILDER_KEY",Kt="YOUR_PUBLIC_BUILDER_KEY";function pr(e,t){let r=`Builder.registerComponent(
366
525
  `;r+=` ${t.importName},
367
526
  `,r+=` {
368
527
  name: "${t.name}",
369
528
  }
370
- `,r+=");";let n=rt(e,r);return jt(e,n,t)}function jt(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 or(e){let t=await e.readFile(e.registryPath);return t?Vi(e,t):{components:[],sourceFile:D(e,"")}}async function Vi(e,t){let r=D(e,t);return zi(e,r)}async function zi(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 u=c[0];if(e.ts.isIdentifier(u)){let m=await Ki(e,t,n,u,d,!1);m&&r.push(m);continue}}return{sourceFile:t,components:M(r)}}async function Ki(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 rr(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(u=>!u.importClause||!u.importClause.namedBindings||!e.ts.isNamedImports(u.importClause.namedBindings)?!1:u.importClause.namedBindings.elements.some(m=>m.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await rr(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=F(e,a.filePath),a.filePath&&a.exportName&&(a.id=await k(e,a.filePath,a.exportName)),a}function rr(e,t){return Me(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function se(e,t,r,n,o,i,a,s){let l=await Ce(e),[c,d,u,m]=await Promise.all([wn(e,l),or(e),_t(e),He(e)]),p=c.map(T=>T.cmpInfo),x=d.components,f={components:X(p,x),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(p),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await Re(e,f.components),f;let g=!1,h=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let T=C.map(S=>{let E=c.find(O=>O.cmpInfo.id===S);if(!E)throw new Error(`Component ${S} not found`);return E}),L=Array.from(new Set(T.map(S=>S.cmpInfo.filePath))),w=await $(e,L);for(let S of T){let E=f.components.find(A=>A.id===S.cmpInfo.id),O=await Ae(e,S,w);G(E,O);let N=p.findIndex(A=>A.id===S.cmpInfo.id);p[N].inputs=O;let y=oe(S.cmpInfo.id,p,x,r,n,o,i),R=[...h.statements];if(y.addCmpToRegistry?(R.push(nr(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(R.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(R[y.nodeIndex]=jt(e,R[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){h=e.ts.factory.updateSourceFile(h,R),h=P(e,h,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let A=y.addCmpToRegistry||y.updateRegisteredCmp;if(A){let V=b(e,e.registryPath,A.filePath);A.exportType==="default"?h=P(e,h,{defaultImport:A.importName,importPath:V}):A.exportType==="named"&&(h=P(e,h,{namedImports:[A.importName],importPath:V}))}E?.acceptsChildren&&(h=P(e,h,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,x=y.components.filter(V=>V.isRegistered)}}}if(g&&a){h=re(e,h),h=ne(e,h);let T=v(e,h);T=J(T),T=await e.formatCode(e.registryPath,T),await e.writeFile(e.registryPath,T)}return f}async function ir(e){let t=[],r=await Qi(e,t);if(await Mi(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,Ui(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function ar(e){return[]}function Ui(e){let t=e.typescriptEnabled;return`
529
+ `,r+=");";let n=lt(e,r);return $t(e,n,t)}function $t(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=$(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function cr(e){let t=await e.readFile(e.registryPath);return t?ea(e,t):{components:[],sourceFile:E(e,"")}}async function ea(e,t){let r=E(e,t);return ta(e,r)}async function ta(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let l=i.arguments;if(l.length<2)continue;let d=l[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=l[0];if(e.ts.isIdentifier(f)){let c=await na(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}async function na(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),p=s.find(l=>l.importClause&&l.importClause.name?.text===n.text);if(p){let l=p.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;a.filePath=await lr(e,l.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await lr(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=k(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=W(e,a,o),a.displayFilePath=F(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function lr(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function ue(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f,c]=await Promise.all([vn(e,p),cr(e),Mt(e),tt(e)]),u=l.map(P=>P.cmpInfo),h=d.components,m={components:ee(u,h),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await ke(e,m.components),m;let g=!1,x=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let I=l.find(B=>B.cmpInfo.id===S);if(!I)throw new Error(`Component ${S} not found`);return I}),R=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),T=await K(e,R);for(let S of P){let I=m.components.find(V=>V.id===S.cmpInfo.id),B=await _e(e,S,T);Z(I,B);let A=u.findIndex(V=>V.id===S.cmpInfo.id);u[A].inputs=B;let y=pe(S.cmpInfo.id,u,h,r,n,o,i),w=[...x.statements];if(y.addCmpToRegistry?(w.push(pr(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(w.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(w[y.nodeIndex]=$t(e,w[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){x=e.ts.factory.updateSourceFile(x,w),x=D(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let V=y.addCmpToRegistry||y.updateRegisteredCmp;if(V){let z=v(e,e.registryPath,V.filePath);V.exportType==="default"?x=D(e,x,{defaultImport:V.importName,importPath:z}):V.exportType==="named"&&(x=D(e,x,{namedImports:[V.importName],importPath:z}))}I?.acceptsChildren&&(x=D(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=y.components,h=y.components.filter(z=>z.isRegistered)}}}if(g&&a){x=se(e,x),x=ae(e,x);let P=N(e,x);P=H(P),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return m}async function ur(e){let t=[],r=await ia(e,t);if(await oa(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,ra(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function mr(e){return[]}function ra(e){let t=e.typescriptEnabled;return`
371
530
  import React from "react";
372
531
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
373
- import ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
532
+ import ${JSON.stringify(v(e,e.builderComponentPath,e.registryPath))};
374
533
 
375
534
  // Builder Public API Key set in .env file
376
- ${e.configType==="vite"?`builder.init(import.meta.env.${ct}${t?"!":""})`:`builder.init("${kt}")`}
535
+ ${e.configType==="vite"?`builder.init(import.meta.env.${dt}${t?"!":""})`:`builder.init("${Kt}")`}
377
536
 
378
537
  export default function BuilderPage() {
379
538
  const isPreviewingInBuilder = useIsPreviewing();
@@ -418,7 +577,7 @@ export default function BuilderPage() {
418
577
  </>
419
578
  );
420
579
  }
421
- `.trimStart()}async function Mi(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 Qi(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}=qi(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 qi(e){let t=e.typescriptEnabled,r=`
580
+ `.trimStart()}async function oa(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await ue(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await ue(e,o.id,!0,!1,null,null,!0,!1)}async function ia(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:p}=aa(e);if(!await e.exists(i)){let l=await e.formatCode(i,s);await e.writeFile(i,l),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,p),t.push({filePath:a,modifiedType:"create"})),i}function aa(e){let t=e.typescriptEnabled,r=`
422
581
  "use client"
423
582
  import React, { useState } from "react";
424
583
  import styles from "./styles.module.css";
@@ -481,13 +640,13 @@ export default Counter;
481
640
  font-size: 42px;
482
641
  text-align: center;
483
642
  }
484
- `.trimStart();return{component:r,styles:n}}async function sr(e){let t=await Ji(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>ir(t),ensureFigmaImportPage:()=>ar(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:()=>He(t),setPublicApiKey:n=>tr(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 Wi(e),r=e.getRootDir(),n=e.join(r,"src"),o=await _t(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 _t(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Wi(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 Ge(e){return await Yi(e,["environment.ts"],Oe)}async function lr(e,t){let r=await Ge(e),n=await Zi(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function Yi(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),"src","environments",o),a=await Hi(e,i);if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=i,n}return n.file=e.join(e.getRootDir(),"src","environments",t[t.length-1]),n}async function Hi(e,t){let r=await e.readFile(t);return r?Gi(e,r):""}function Gi(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===Oe&&e.ts.isStringLiteral(l.initializer)&&(n=l.initializer.text)})}return n}async function Xi(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)),u=e.ts.factory.createNodeArray([...c.properties,d]),m=e.ts.factory.updateObjectLiteralExpression(c,u),p=e.ts.factory.updateVariableDeclaration(l,l.name,l.exclamationToken,l.type,m),x=e.ts.factory.updateVariableDeclarationList(s,[p]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,x)}return null}return null}async function Zi(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 Xi(e,o,r,n);if(i){let a=v(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
643
+ `.trimStart();return{component:r,styles:n}}async function fr(e){let t=await sa(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>ur(t),ensureFigmaImportPage:()=>mr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ue(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ue(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ue(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ue(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ue(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ue(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tt(t),setPublicApiKey:n=>sr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===O.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function sa(e){let t=await pa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Mt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return a.sdkVersion=await Be(a),t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function Mt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function pa(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function nt(e){return await la(e,["environment.ts"],Ve)}async function dr(e,t){let r=await nt(e),n=await fa(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function la(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),"src","environments",o),a=await ca(e,i);if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=i,n}return n.file=e.join(e.getRootDir(),"src","environments",t[t.length-1]),n}async function ca(e,t){let r=await e.readFile(t);return r?ua(e,r):""}function ua(e,t){let r=E(e,t),n="",i=Le(e,r,"environment");if(i&&i.statement.declarationList.declarations.length>0){let s=i.statement.declarationList.declarations[0].initializer;s&&e.ts.isObjectLiteralExpression(s)&&s.properties.forEach(p=>{e.ts.isPropertyAssignment(p)&&e.ts.isIdentifier(p.name)&&p.name.text===Ve&&e.ts.isStringLiteral(p.initializer)&&(n=p.initializer.text)})}return n}async function ma(e,t,r,n){let o=E(e,t),a=Le(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,p=s.declarations[0],l=p.initializer;if(l&&e.ts.isObjectLiteralExpression(l)){let d=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),f=e.ts.factory.createNodeArray([...l.properties,d]),c=e.ts.factory.updateObjectLiteralExpression(l,f),u=e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,c),h=e.ts.factory.updateVariableDeclarationList(s,[u]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,h)}return null}return null}async function fa(e,t,r,n){let o=await e.readFile(t);if(o)if(o.includes(r))e.debug(`"${r}" already set in ${t}`);else{e.debug(`Add "${r}" to ${t}`);let i=await ma(e,o,r,n);if(i){let a=N(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
485
644
  // https://www.builder.io/c/docs/using-your-api-key
486
645
  export const environment = {
487
646
  production: false,
488
647
  builderApiKey: "${n}",
489
648
  };
490
- `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var Oe="builderApiKey";async function cr(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(na(e,i.fileName)||a.startsWith(".")||a==="node_modules"||ea.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await pt(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ea=new Set([]),ta=new Set(["node_modules"]);function na(e,t){for(let r of ta)if(e.dirname(t).includes(r))return!0;return!1}async function pr(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 ra(e,t,n)}return null}function ra(e,t,r){let n=D(e,r);return pt(e,null,t,n)}async function pt(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(s=>e.ts.isClassDeclaration(s)&&aa(e,s)),a=la(e,n);return await Promise.all(i.map(async s=>{let l=await oa(e,t,r,s,a);o.push(...l)})),o}async function ur(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await be(e,t.cmpInfo.filePath,r),a=(await pt(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return a.cmpInfo.inputs}return[]}async function mr(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 pt(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=ye(e,o,c.node.fnNode))}}return a}))}async function oa(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,u=c?"default":"named",m=[];return n.members.forEach(p=>{if(e.ts.isPropertyDeclaration(p)){let x=e.ts.getDecorators(p);x&&x.forEach(f=>{if(ia(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=sa(e,p.type);let h={name:p.name.text,type:o[g]?"string":g};o[g]&&(h.enum=o[g]),m.push(h)}})}}),i.push({cmpInfo:{id:await k(e,r,l),displayFilePath:F(e,r),name:j(l),inputs:m,exportName:d,exportType:u,importName:l,filePath:r,relFilePath:a,importPath:s},node:{name:l,fnNode:n,deps:void 0}}),i}function ia(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 aa(e,t){return!!e.ts.getDecorators(t)?.some(o=>e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="Component")}function sa(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 la(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 dr(e){let t=e.typescriptEnabled?".ts":".js",r=`app.module${t}`,n=e.join(e.appDir,r),o=await e.readFile(n);if(!o){console.error(`Unable to read app.module.${t} at ${n}`);return}let i=await ca(e,n,o);if(!i){console.error(`Unable to update app.module.${t} at ${n}`);return}return await e.writeFile(n,i),n}async function ca(e,t,r){let o=e.typescriptEnabled?"ts":"js",i=r,a=D(e,r),s=b(e,t,e.builderPageComponentPath),l=e.join(e.componentsDir,`counter.component.${o}`);a=P(e,a,{namedImports:["BuilderPage"],importPath:s});let c=b(e,t,l);a=P(e,a,{namedImports:["Counter"],importPath:c}),a=P(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let d=[];for(let u of a.statements)if(e.ts.isClassDeclaration(u)&&u.name?.text==="AppModule"){let m=pa(e,u);d.push(m)}else d.push(u);return a=e.ts.factory.updateSourceFile(a,d),i=v(e,a),i}function pa(e,t){let r=e.ts.getDecorators(t);if(r){for(let n of r)if(e.ts.isCallExpression(n.expression)&&e.ts.isIdentifier(n.expression.expression)&&n.expression.expression.text==="NgModule"){let o=n.expression.arguments;if(o.length===1&&e.ts.isObjectLiteralExpression(o[0])){let i=Bt(e,o[0],"declarations","BuilderPage");if(i&&(i=Bt(e,i,"declarations","Counter"),i&&(i=Bt(e,i,"imports","Content"),i))){let a=e.ts.factory.updateDecorator(n,e.ts.factory.updateCallExpression(n.expression,n.expression.expression,n.expression.typeArguments,[i])),l=[...r.map(c=>c===n?a:c),...e.ts.getModifiers(t)||[]];return e.ts.factory.updateClassDeclaration(t,l,t.name,t.typeParameters,t.heritageClauses,t.members)}}}}return t}function Bt(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>I(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let l=fr(e,s.initializer,n);if(l)return o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,l),e.ts.factory.updateObjectLiteralExpression(t,o)}return null}let a=fr(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function fr(e,t,r){return t.elements.some(o=>e.ts.isIdentifier(o)?o.text===r:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(r)])}async function gr(e){let t=[],r=await da(e,t);if(t.push(...await $t(e)),await ua(e,r),!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,ma(e));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}let n=await dr(e);return n&&t.push({filePath:n,modifiedType:"update"}),t}async function $t(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,fa(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function xr(e){return[]}async function ua(e,t){let n=(await le(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await le(e,n.id,!0,!1,null,null,!0,!1)}function ma(e){let t=b(e,e.builderPageComponentPath,e.registryPath),r=e.join(e.getRootDir(),"src","environments","environment.ts"),n=b(e,e.builderPageComponentPath,r);return`
649
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var Ve="builderApiKey";async function gr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(xa(e,i.fileName)||a.startsWith(".")||a==="node_modules"||da.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await gt(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var da=new Set([]),ga=new Set(["node_modules"]);function xa(e,t){for(let r of ga)if(e.dirname(t).includes(r))return!0;return!1}async function xr(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return ha(e,t,n)}return null}function ha(e,t,r){let n=E(e,r);return gt(e,null,t,n)}async function gt(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(s=>e.ts.isClassDeclaration(s)&&Pa(e,s)),a=Ta(e,n);return await Promise.all(i.map(async s=>{let p=await Ca(e,t,r,s,a);o.push(...p)})),o}async function hr(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await gt(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return a.cmpInfo.inputs}return[]}async function Cr(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await K(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let l=(await gt(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}}return a}))}async function Ca(e,t,r,n,o){let i=[],a=e.relative(e.getRootDir(),r),s=k(e,r),p=n.name?.text;if(!p)return i;let l=!1;n.modifiers&&(l=n.modifiers.some(u=>u.kind===e.ts.SyntaxKind.DefaultKeyword));let d=l?"default":p,f=l?"default":"named",c=[];return n.members.forEach(u=>{if(e.ts.isPropertyDeclaration(u)){let h=e.ts.getDecorators(u);h&&h.forEach(m=>{if(Sa(e,m)&&e.ts.isIdentifier(u.name)){let g="any";if(u.type&&t){let C=t.getTypeAtLocation(u.type);g=t.typeToString(C)}else g=ya(e,u.type);let x={name:u.name.text,type:o[g]?"string":g};o[g]&&(x.enum=o[g]),c.push(x)}})}}),i.push({cmpInfo:{id:await _(e,r,p),displayFilePath:F(e,r),name:j(p),inputs:c,exportName:d,exportType:f,importName:p,filePath:r,relFilePath:a,importPath:s},node:{name:p,fnNode:n,deps:void 0}}),i}function Sa(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 Pa(e,t){return!!e.ts.getDecorators(t)?.some(o=>e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="Component")}function ya(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 Ta(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 Pr(e){let t=e.typescriptEnabled?".ts":".js",r=`app.module${t}`,n=e.join(e.appDir,r),o=await e.readFile(n);if(!o){console.error(`Unable to read app.module.${t} at ${n}`);return}let i=await Da(e,n,o);if(!i){console.error(`Unable to update app.module.${t} at ${n}`);return}return await e.writeFile(n,i),n}async function Da(e,t,r){let o=e.typescriptEnabled?"ts":"js",i=r,a=E(e,r),s=v(e,t,e.builderPageComponentPath),p=e.join(e.componentsDir,`counter.component.${o}`);a=D(e,a,{namedImports:["BuilderPage"],importPath:s});let l=v(e,t,p);a=D(e,a,{namedImports:["Counter"],importPath:l}),a=D(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let d=[];for(let f of a.statements)if(e.ts.isClassDeclaration(f)&&f.name?.text==="AppModule"){let c=Ea(e,f);d.push(c)}else d.push(f);return a=e.ts.factory.updateSourceFile(a,d),i=N(e,a),i}function Ea(e,t){let r=e.ts.getDecorators(t);if(r){for(let n of r)if(e.ts.isCallExpression(n.expression)&&e.ts.isIdentifier(n.expression.expression)&&n.expression.expression.text==="NgModule"){let o=n.expression.arguments;if(o.length===1&&e.ts.isObjectLiteralExpression(o[0])){let i=Ut(e,o[0],"declarations","BuilderPage");if(i&&(i=Ut(e,i,"declarations","Counter"),i&&(i=Ut(e,i,"imports","Content"),i))){let a=e.ts.factory.updateDecorator(n,e.ts.factory.updateCallExpression(n.expression,n.expression.expression,n.expression.typeArguments,[i])),p=[...r.map(l=>l===n?a:l),...e.ts.getModifiers(t)||[]];return e.ts.factory.updateClassDeclaration(t,p,t.name,t.typeParameters,t.heritageClauses,t.members)}}}}return t}function Ut(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>b(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let p=Sr(e,s.initializer,n);if(p)return o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,p),e.ts.factory.updateObjectLiteralExpression(t,o)}return null}let a=Sr(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Sr(e,t,r){return t.elements.some(o=>e.ts.isIdentifier(o)?o.text===r:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(r)])}async function yr(e){let t=[],r=await Ia(e,t);if(t.push(...await zt(e)),await wa(e,r),!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,va(e));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}let n=await Pr(e);return n&&t.push({filePath:n,modifiedType:"update"}),t}async function zt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ba(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Tr(e){return[]}async function wa(e,t){let n=(await me(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await me(e,n.id,!0,!1,null,null,!0,!1)}function va(e){let t=v(e,e.builderPageComponentPath,e.registryPath),r=e.join(e.getRootDir(),"src","environments","environment.ts"),n=v(e,e.builderPageComponentPath,r);return`
491
650
  import { Component, ChangeDetectorRef } from '@angular/core';
492
651
  import { _processContentResult, fetchOneEntry } from '@builder.io/sdk-angular';
493
652
  import { environment } from ${JSON.stringify(n)};
@@ -517,11 +676,11 @@ interface BuilderProps {
517
676
  export class BuilderPage {
518
677
  title = 'builder page';
519
678
  ${e.typescriptEnabled?`
520
- apiKey: BuilderProps['apiKey'] = environment.${Oe};
679
+ apiKey: BuilderProps['apiKey'] = environment.${Ve};
521
680
  model: BuilderProps['model'] = 'page';
522
681
  content: BuilderProps['content'];
523
682
  `:`
524
- apiKey = environment.${Oe};
683
+ apiKey = environment.${Ve};
525
684
  model = 'page';
526
685
  content = null;
527
686
  `}
@@ -535,7 +694,7 @@ export class BuilderPage {
535
694
 
536
695
  const builderContent = await fetchOneEntry({
537
696
  model: 'page',
538
- apiKey: environment.${Oe},
697
+ apiKey: environment.${Ve},
539
698
  userAttributes: {
540
699
  urlPath,
541
700
  },
@@ -551,12 +710,12 @@ export class BuilderPage {
551
710
  }
552
711
  }
553
712
 
554
- `.trimStart()}function fa(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
713
+ `.trimStart()}function ba(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
555
714
 
556
715
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
557
716
  ];`:`export const CUSTOM_COMPONENTS = [
558
717
  ];
559
- `}async function da(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=ga();if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function ga(){return`
718
+ `}async function Ia(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=Ra();if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Ra(){return`
560
719
  import { Component, Input } from '@angular/core';
561
720
 
562
721
  @Component({
@@ -623,17 +782,17 @@ export class Counter {
623
782
  }
624
783
  }
625
784
 
626
- `.trimStart()}async function hr(e){await $t(e);let t=await e.readFile(e.registryPath);return t?xa(e,t):{components:[],sourceFile:D(e,"")}}async function xa(e,t){let r=D(e,t);return ha(e,r)}async function ha(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:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(I(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 pr(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(u=>u.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 le(e,t,r,n,o,i,a,s){let l=await Ce(e),[c,d,u]=await Promise.all([cr(e,l),hr(e),Ge(e)]),m=c.map(C=>C.cmpInfo),p=d.components,x={components:X(m,p),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:te(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return x.components=await mr(e,x.components),x;let f=!1,g=d.sourceFile,h=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(h.length>0){let C=h.map(w=>{let S=c.find(E=>E.cmpInfo.id===w);if(!S)throw new Error(`Component ${w} not found`);return S}),T=Array.from(new Set(C.map(w=>w.cmpInfo.filePath))),L=await $(e,T);for(let w of C){let S=x.components.find(B=>B.id===w.cmpInfo.id),E=await ur(e,w,L);G(S,E);let O=m.findIndex(B=>B.id===w.cmpInfo.id);m[O].inputs=E;let N=oe(w.cmpInfo.id,m,p,r,n,o,i),{elements:y,elmIndex:R,statementIndex:A,statement:V,variableDeclaration:ce}=await Sa(e,g,w);if(N.addCmpToRegistry)y.push(Ca(e,N.addCmpToRegistry)),f=!0;else if(N.removeCmpFromRegistry)y.splice(R,1),f=!0;else if(N.updateRegisteredCmp){let B=U(e,y[R],N.updateRegisteredCmp);y[R]=e.ts.factory.updateObjectLiteralExpression(B,[Cr(e,N.updateRegisteredCmp),...B.properties.slice(1)]),f=!0}if(f&&a){let B=[...g.statements];B[A]=e.ts.factory.updateVariableStatement(V,V.modifiers,e.ts.factory.updateVariableDeclarationList(V.declarationList,[e.ts.factory.updateVariableDeclaration(ce,ce.name,ce.exclamationToken,ce.type,e.ts.factory.createArrayLiteralExpression(Fe(e,y)))])),g=e.ts.factory.updateSourceFile(g,B),S.exportType==="named"?g=P(e,g,{namedImports:[S.importName],importPath:b(e,e.registryPath,S.filePath)}):g=P(e,g,{defaultImport:S.importName,importPath:b(e,e.registryPath,S.filePath)}),g=P(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),g=Le(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x.components=N.components,p=N.components.filter(ht=>ht.isRegistered)}}}if(f&&a){g=re(e,g),g=ne(e,g);let C=v(e,g);C=J(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return x}function Cr(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Ca(e,t){return U(e,e.ts.factory.createObjectLiteralExpression([Cr(e,t)],!0),t)}async function Sa(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 Sr(e){let t=await Ta(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>gr(t),ensureFigmaImportPage:()=>xr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>le(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await le(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>le(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>le(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>le(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>le(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ge(t),setPublicApiKey:n=>lr(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>Z(t),setCache:n=>ee(t,n)}}async function Ta(e){let t=await wa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await ya(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:""};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);return a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(a.appDir,"components"),a.registryPath=e.join(a.appDir,i),a.builderPageComponentPath=e.join(a.componentsDir,`builder-page.component.${o?"ts":"js"}`),a}function ya(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function wa(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 xt=ao(Fr(),1);async function Lr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:W(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,xt.compress)(n);return btoa(JSON.stringify(o))}async function Or(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,xt.decompress)(o),a=K(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=W(e.normalize(s.filePath)),c=n.components.find(u=>W(u.filePath).endsWith(l)&&u.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 u of s.inputs)e.debug(`set input (${c.id})`),await t.setRegisteredComponentInput({cmpId:c.id,name:u.name,type:u.type,required:u.required,defaultValue:u.defaultValue,friendlyName:u.friendlyName,helperText:u.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 qa={"@builder.io/qwik-city":qn,next:kn,"@remix-run/react":er,react:sr,"@angular/core":Sr};async function kr(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await de(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=qa[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Lr(e,n),importRegistry:i=>Or(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function jr(e){function t(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}function r(u,m){let p="",x=0,f=-1,g=0,h;for(let C=0;C<=u.length;++C){if(C<u.length)h=u.charCodeAt(C);else{if(h===47)break;h=47}if(h===47){if(!(f===C-1||g===1))if(f!==C-1&&g===2){if(p.length<2||x!==2||p.charCodeAt(p.length-1)!==46||p.charCodeAt(p.length-2)!==46){if(p.length>2){let T=p.lastIndexOf("/");if(T!==p.length-1){T===-1?(p="",x=0):(p=p.slice(0,T),x=p.length-1-p.lastIndexOf("/")),f=C,g=0;continue}}else if(p.length===2||p.length===1){p="",x=0,f=C,g=0;continue}}m&&(p.length>0?p+="/..":p="..",x=2)}else p.length>0?p+="/"+u.slice(f+1,C):p=u.slice(f+1,C),x=C-f-1;f=C,g=0}else h===46&&g!==-1?++g:g=-1}return p}let n=function(...m){let p="",x=!1;for(let f=m.length-1;f>=-1&&!x;f--){let g;f>=0?g=m[f]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(p=g+"/"+p,x=g.charCodeAt(0)===47)}return p=r(p,!x),x?p.length>0?"/"+p:"/":p.length>0?p:"."},o=function(m){if(t(m),m.length===0)return".";let p=m.charCodeAt(0)===47,x=m.charCodeAt(m.length-1)===47;return m=r(m,!p),m.length===0&&!p&&(m="."),m.length>0&&x&&(m+="/"),p?"/"+m:m};return{relative:function(m,p){if(t(m),t(p),m===p||(m=n(m),p=n(p),m===p))return"";let x=1;for(;x<m.length&&m.charCodeAt(x)===47;++x);let f=m.length,g=f-x,h=1;for(;h<p.length&&p.charCodeAt(h)===47;++h);let T=p.length-h,L=g<T?g:T,w=-1,S=0;for(;S<=L;++S){if(S===L){if(T>L){if(p.charCodeAt(h+S)===47)return p.slice(h+S+1);if(S===0)return p.slice(h+S)}else g>L&&(m.charCodeAt(x+S)===47?w=S:S===0&&(w=0));break}let O=m.charCodeAt(x+S),N=p.charCodeAt(h+S);if(O!==N)break;O===47&&(w=S)}let E="";for(S=x+w+1;S<=f;++S)(S===f||m.charCodeAt(S)===47)&&(E.length===0?E+="..":E+="/..");return E.length>0?E+p.slice(h+w):(h+=w,p.charCodeAt(h)===47&&++h,p.slice(h))},resolve:n,join:function(...m){if(m.length===0)return".";let p;for(let x=0;x<m.length;++x){let f=m[x];t(f),f.length>0&&(p===void 0?p=f:p+="/"+f)}return p===void 0?".":o(p)},isAbsolute:function(m){return t(m),m.length>0&&m.charCodeAt(0)===47},basename:function(m,p){if(p!==void 0&&typeof p!="string")throw new TypeError('"ext" argument must be a string');t(m);let x=0,f=-1,g=!0,h;if(p!==void 0&&p.length>0&&p.length<=m.length){if(p.length===m.length&&p===m)return"";let C=p.length-1,T=-1;for(h=m.length-1;h>=0;--h){let L=m.charCodeAt(h);if(L===47){if(!g){x=h+1;break}}else T===-1&&(g=!1,T=h+1),C>=0&&(L===p.charCodeAt(C)?--C===-1&&(f=h):(C=-1,f=T))}return x===f?f=T:f===-1&&(f=m.length),m.slice(x,f)}else{for(h=m.length-1;h>=0;--h)if(m.charCodeAt(h)===47){if(!g){x=h+1;break}}else f===-1&&(g=!1,f=h+1);return f===-1?"":m.slice(x,f)}},normalize:o,dirname:function(m){if(t(m),m.length===0)return".";let p=m.charCodeAt(0),x=p===47,f=-1,g=!0;for(let h=m.length-1;h>=1;--h)if(p=m.charCodeAt(h),p===47){if(!g){f=h;break}}else g=!1;return f===-1?x?"/":".":x&&f===1?"//":m.slice(0,f)},extname:function(m){t(m);let p=-1,x=0,f=-1,g=!0,h=0;for(let C=m.length-1;C>=0;--C){let T=m.charCodeAt(C);if(T===47){if(!g){x=C+1;break}continue}f===-1&&(g=!1,f=C+1),T===46?p===-1?p=C:h!==1&&(h=1):p!==-1&&(h=-1)}return p===-1||f===-1||h===0||h===1&&p===f-1&&p===x+1?"":m.slice(p,f)}}}async function _r(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=jr({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+"/",h=g.split("/").length-1,C=[];for(let[T]of o)if(T.split("/").slice(0,h).join("/")+"/"===g){let S=T.split("/")[h];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)}),u=async f=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(f),T=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(T)).map(L=>L.toString(16).padStart(2,"0")).join("")}let g=0;for(let h=0;h<f.length;h++){let C=f.charCodeAt(h);g=(g<<5)-g+C,g|=0}return Number(Math.abs(g)).toString(36)},m=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 h={path:f,basename:n.basename(f),dirname:n.dirname(f),extname:n.extname(f)};for(let C of m)await C(h)},hash:u,getDeviceId:async()=>typeof navigator<"u"?u(navigator.userAgent):"",formatCode:async(f,g)=>g,on:(f,g)=>{f==="change"&&m.add(g)},off:(f,g)=>{f==="change"&&m.delete(g)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},x=await de(p);return p.getFrameworks=e.getFrameworks?e.getFrameworks:()=>x,p}async function Br(e,t,r){let n=D(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if($r(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 u=d.statement;if(!e.ts.isVariableStatement(u))throw new Error(`Expected an export assignment from ${t}`);let m=d.statement;if(e.ts.isVariableStatement(m)){let p=[...m.declarationList.declarations];if(p.length!==1)throw new Error("Expected a single variable declaration");let x=p[0];if(!x.initializer)throw new Error("Expected an initializer on the declaration");let f=x.initializer;if(e.ts.isObjectLiteralExpression(f)||e.ts.isCallExpression(f)){let g="BuilderDevTools()",h=[...n.statements],C=h.indexOf(m);return h[C]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(x,x.name,x.exclamationToken,x.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[f]))])),n=e.ts.factory.updateSourceFile(n,h),n=P(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=v(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 u=d.expression;if(!e.ts.isBinaryExpression(u))throw new Error("Expected a binary expression for the default export");let m=en(e,n);n=m.sourceFile;let p=[...n.statements],x=p.indexOf(d);return p[x]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(u,u.left,u.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(m.withFnVariableName),void 0,[u.right]))),n=e.ts.factory.updateSourceFile(n,p),o.content=v(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 u=d[0];if(!u.initializer)throw new Error("Expected an initializer on the declaration");let m=u.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let p=en(e,n);n=p.sourceFile;let x=[...n.statements],f=x.indexOf(c);return x[f]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(p.withFnVariableName),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,x),o.content=v(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,u=l.statement;if(!e.ts.isExpressionStatement(u))throw new Error("Expected an expression statement for the default export");let m=u.expression;if(!e.ts.isBinaryExpression(m))throw new Error("Expected a binary expression for the default export");let x=l.node.body;if(!e.ts.isBlock(x))throw new Error("Expected a block body on the next config function");let f=[...x.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 h=f[g],C=en(e,n);n=C.sourceFile,f[g]=e.ts.factory.updateReturnStatement(h,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[h.expression]));let T=[...n.statements],L=T.indexOf(u);return T[L]=e.ts.factory.updateExpressionStatement(u,e.ts.factory.updateBinaryExpression(m,m.left,m.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(x,f)))),n=e.ts.factory.updateSourceFile(n,T),o.content=v(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function $r(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 en(e,t){let r=$r(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 Kr(e,t,r){let n=D(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Ur(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 u=d.statement;if(!e.ts.isExportAssignment(u))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(u.expression)){let m="builderDevTools()",p=Ja(e,u.expression);if(!p)return o;let x=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(m),void 0,[p]),f=[...n.statements],g=f.indexOf(u);return f[g]=e.ts.factory.updateExportAssignment(u,u.modifiers,x),n=e.ts.factory.updateSourceFile(n,f),n=P(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=v(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 u=d.expression;if(!e.ts.isBinaryExpression(u))throw new Error("Expected a binary expression for the default export");let m=Vr(e,n);n=m.sourceFile;let p=[...n.statements],x=p.indexOf(d);return p[x]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(u,u.left,u.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(m.withFnVariableName),void 0,[u.right]))),n=e.ts.factory.updateSourceFile(n,p),o.content=v(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 u=d[0];if(!u.initializer)throw new Error("Expected an initializer on the declaration");let m=u.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let p=Vr(e,n);n=p.sourceFile;let x=[...n.statements],f=x.indexOf(c);return x[f]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(p.withFnVariableName),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,x),o.content=v(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Ur(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 Vr(e,t){let r=Ur(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 Ja(e,t){let r=[...t.properties],n=r.findIndex(i=>I(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=zr(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=zr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function zr(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 Qr(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=Wa(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 u=[...n.statements],m=u.indexOf(a);return u[m]=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,u),n=P(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=v(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(c)){let d=tn(e,c);if(!d)return s;let u=[...n.statements],m=u.indexOf(a);return u[m]=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,u),n=P(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=v(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=tn(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=P(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=v(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Wa(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=tn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function tn(e,t){if(Ga(e)){let i=Ya(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>I(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Mr(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=Mr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Mr(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 Ya(e,t){let r=[...t.properties],n=r.findIndex(i=>I(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Ha(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=nn(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 Ha(e,t){let r=[...t.properties],n=r.findIndex(i=>I(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=nn(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=nn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function nn(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 Ga(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function qr(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 Wr(e,t,r){e.debug("Angular config updates are currently in progress...");try{await es(e)}catch{console.error("Unable to update package.json.")}return await Xa(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function Xa(e){let t=e.getRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);let n=e.join(r,"main.ts"),o=await e.readFile(n);if(!o)throw new Error(`Unable to read main.ts at ${n}`);let i=await Za(e,o);await e.writeFile(n,i)}async function Za(e,t){let r=t,n=D(e,t),o=!1;for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isCallExpression(a.expression)&&e.ts.isPropertyAccessExpression(a.expression.expression)&&e.ts.isCallExpression(a.expression.expression.expression)&&e.ts.isIdentifier(a.expression.expression.expression.expression)&&a.expression.expression.expression.expression.text==="builderDevTools"){o=!0;break}n=P(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
785
+ `.trimStart()}async function Dr(e){await zt(e);let t=await e.readFile(e.registryPath);return t?Na(e,t):{components:[],sourceFile:E(e,"")}}async function Na(e,t){let r=E(e,t);return Aa(e,r)}async function Aa(e,t){let r=[],n=M(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await qt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function qt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let d=s.arguments[0];e.ts.isIdentifier(d)&&(a=d.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ye(e,e.registryPath,t,a);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,n.importPath=k(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let l=await xr(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let d=l.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=W(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function me(e,t,r,n,o,i,a,s){let p=await Ee(e),[l,d,f]=await Promise.all([gr(e,p),Dr(e),nt(e)]),c=l.map(C=>C.cmpInfo),u=d.components,h={components:ee(c,u),registryPath:e.registryPath,registryDisplayPath:F(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ie(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Cr(e,h.components),h;let m=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(T=>{let S=l.find(I=>I.cmpInfo.id===T);if(!S)throw new Error(`Component ${T} not found`);return S}),P=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),R=await K(e,P);for(let T of C){let S=h.components.find(L=>L.id===T.cmpInfo.id),I=await hr(e,T,R);Z(S,I);let B=c.findIndex(L=>L.id===T.cmpInfo.id);c[B].inputs=I;let A=pe(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:w,statementIndex:V,statement:z,variableDeclaration:q}=await Oa(e,g,T);if(A.addCmpToRegistry)y.push(Fa(e,A.addCmpToRegistry)),m=!0;else if(A.removeCmpFromRegistry)y.splice(w,1),m=!0;else if(A.updateRegisteredCmp){let L=$(e,y[w],A.updateRegisteredCmp);y[w]=e.ts.factory.updateObjectLiteralExpression(L,[Er(e,A.updateRegisteredCmp),...L.properties.slice(1)]),m=!0}if(m&&a){let L=[...g.statements];L[V]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(q,q.name,q.exclamationToken,q.type,e.ts.factory.createArrayLiteralExpression(De(e,y)))])),g=e.ts.factory.updateSourceFile(g,L),S.exportType==="named"?g=D(e,g,{namedImports:[S.importName],importPath:v(e,e.registryPath,S.filePath)}):g=D(e,g,{defaultImport:S.importName,importPath:v(e,e.registryPath,S.filePath)}),g=D(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),g=we(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=A.components,u=A.components.filter(fe=>fe.isRegistered)}}}if(m&&a){g=se(e,g),g=ae(e,g);let C=N(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Er(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Fa(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([Er(e,t)],!0),t)}async function Oa(e,t,r){let n=M(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await qt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function wr(e){let t=await La(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>yr(t),ensureFigmaImportPage:()=>Tr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>me(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await me(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>me(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>me(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>me(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>me(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>nt(t),setPublicApiKey:n=>dr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>ne(t),setCache:n=>re(t,n)}}async function La(e){let t=await _a(e),r=e.getRootDir(),n=e.join(r,"src"),o=await ka(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:""};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);return a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(a.appDir,"components"),a.registryPath=e.join(a.appDir,i),a.builderPageComponentPath=e.join(a.componentsDir,`builder-page.component.${o?"ts":"js"}`),a}function ka(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function _a(e){let t=e.join(e.getRootDir(),"angular.json");if(await e.exists(t))return t;throw new Error(`Could not find Angular config file. Searched for angular.json in "${e.getRootDir()}".`)}var yt=fo(Br(),1);async function Vr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:X(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:J(i.inputs)};return J(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,yt.compress)(n);return btoa(JSON.stringify(o))}async function Kr(e,t,r){if(typeof r!="string")throw new Error("Invalid registry to import");let n=await t.getRegistry(),o=JSON.parse(atob(r)),i=(0,yt.decompress)(o),a=J(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let p=X(e.normalize(s.filePath)),l=n.components.find(f=>X(f.filePath).endsWith(p)&&f.exportName===s.exportName);if(!l){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${l.id})`,l.filePath),await t.registerComponent({cmpId:l.id});for(let f of s.inputs)e.debug(`set input (${l.id})`),await t.setRegisteredComponentInput({cmpId:l.id,name:f.name,type:f.type,required:f.required,defaultValue:f.defaultValue,friendlyName:f.friendlyName,helperText:f.helperText});e.debug(`set input (${l.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:l.id,name:s.name,image:s.image,description:s.description});a=J(d)}return a}var te={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Im={[te.react]:[{version:O.gen1,recommended:!0}],[te.remix]:[{version:O.gen1,recommended:!1}],[te.angular]:[{version:O.gen2,recommended:!0}],[te.next]:[{version:O.gen1,recommended:!0},{version:O.gen2,recommended:!1}],[te.qwik]:[{version:O.gen2,recommended:!0}]};var as={"@builder.io/qwik-city":Xn,next:$n,"@remix-run/react":ar,react:fr,"@angular/core":wr},ss={"@builder.io/qwik-city":te.qwik,next:te.next,"@remix-run/react":te.remix,react:te.react,"@angular/core":te.angular};async function $r(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await Ce(e)),e.frameworks.length===0)throw new Error(`Supported Devtools framework for not found within ${e.getRootDir()}`);for(let t of e.frameworks){let r=as[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Vr(e,n),importRegistry:i=>Kr(e,n,i),framework:ss[t.name]}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Mr(e){function t(f){if(typeof f!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(f))}function r(f,c){let u="",h=0,m=-1,g=0,x;for(let C=0;C<=f.length;++C){if(C<f.length)x=f.charCodeAt(C);else{if(x===47)break;x=47}if(x===47){if(!(m===C-1||g===1))if(m!==C-1&&g===2){if(u.length<2||h!==2||u.charCodeAt(u.length-1)!==46||u.charCodeAt(u.length-2)!==46){if(u.length>2){let P=u.lastIndexOf("/");if(P!==u.length-1){P===-1?(u="",h=0):(u=u.slice(0,P),h=u.length-1-u.lastIndexOf("/")),m=C,g=0;continue}}else if(u.length===2||u.length===1){u="",h=0,m=C,g=0;continue}}c&&(u.length>0?u+="/..":u="..",h=2)}else u.length>0?u+="/"+f.slice(m+1,C):u=f.slice(m+1,C),h=C-m-1;m=C,g=0}else x===46&&g!==-1?++g:g=-1}return u}let n=function(...c){let u="",h=!1;for(let m=c.length-1;m>=-1&&!h;m--){let g;m>=0?g=c[m]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(u=g+"/"+u,h=g.charCodeAt(0)===47)}return u=r(u,!h),h?u.length>0?"/"+u:"/":u.length>0?u:"."},o=function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0)===47,h=c.charCodeAt(c.length-1)===47;return c=r(c,!u),c.length===0&&!u&&(c="."),c.length>0&&h&&(c+="/"),u?"/"+c:c};return{relative:function(c,u){if(t(c),t(u),c===u||(c=n(c),u=n(u),c===u))return"";let h=1;for(;h<c.length&&c.charCodeAt(h)===47;++h);let m=c.length,g=m-h,x=1;for(;x<u.length&&u.charCodeAt(x)===47;++x);let P=u.length-x,R=g<P?g:P,T=-1,S=0;for(;S<=R;++S){if(S===R){if(P>R){if(u.charCodeAt(x+S)===47)return u.slice(x+S+1);if(S===0)return u.slice(x+S)}else g>R&&(c.charCodeAt(h+S)===47?T=S:S===0&&(T=0));break}let B=c.charCodeAt(h+S),A=u.charCodeAt(x+S);if(B!==A)break;B===47&&(T=S)}let I="";for(S=h+T+1;S<=m;++S)(S===m||c.charCodeAt(S)===47)&&(I.length===0?I+="..":I+="/..");return I.length>0?I+u.slice(x+T):(x+=T,u.charCodeAt(x)===47&&++x,u.slice(x))},resolve:n,join:function(...c){if(c.length===0)return".";let u;for(let h=0;h<c.length;++h){let m=c[h];t(m),m.length>0&&(u===void 0?u=m:u+="/"+m)}return u===void 0?".":o(u)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');t(c);let h=0,m=-1,g=!0,x;if(u!==void 0&&u.length>0&&u.length<=c.length){if(u.length===c.length&&u===c)return"";let C=u.length-1,P=-1;for(x=c.length-1;x>=0;--x){let R=c.charCodeAt(x);if(R===47){if(!g){h=x+1;break}}else P===-1&&(g=!1,P=x+1),C>=0&&(R===u.charCodeAt(C)?--C===-1&&(m=x):(C=-1,m=P))}return h===m?m=P:m===-1&&(m=c.length),c.slice(h,m)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!g){h=x+1;break}}else m===-1&&(g=!1,m=x+1);return m===-1?"":c.slice(h,m)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0),h=u===47,m=-1,g=!0;for(let x=c.length-1;x>=1;--x)if(u=c.charCodeAt(x),u===47){if(!g){m=x;break}}else g=!1;return m===-1?h?"/":".":h&&m===1?"//":c.slice(0,m)},extname:function(c){t(c);let u=-1,h=0,m=-1,g=!0,x=0;for(let C=c.length-1;C>=0;--C){let P=c.charCodeAt(C);if(P===47){if(!g){h=C+1;break}continue}m===-1&&(g=!1,m=C+1),P===46?u===-1?u=C:x!==1&&(x=1):u!==-1&&(x=-1)}return u===-1||m===-1||x===0||x===1&&u===m-1&&u===h+1?"":c.slice(u,m)}}}async function Ur(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Mr({cwd:r,...e}),o=new Map,i=m=>n.normalize(n.resolve(r(),m)),a=m=>{for(let[g]of o)if((g+"/").startsWith(m))return!0;return m===t()},s=m=>(m=i(m),o.has(m)?!0:a(m)),p=m=>{m=i(m);let g=m===t()?m:m+"/",x=g.split("/").length-1,C=[];for(let[P]of o)if(P.split("/").slice(0,x).join("/")+"/"===g){let S=P.split("/")[x];S&&!C.includes(S)&&C.push(S)}return C.sort()},l=m=>{m=i(m);let g=o.get(m);return typeof g=="string"?g:null},d=m=>(m=i(m),{isFile:()=>o.has(m),isDirectory:()=>!o.has(m)&&a(m)}),f=async m=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(m),P=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(P)).map(R=>R.toString(16).padStart(2,"0")).join("")}let g=0;for(let x=0;x<m.length;x++){let C=m.charCodeAt(x);g=(g<<5)-g+C,g|=0}return Number(Math.abs(g)).toString(36)},c=new Set,u={getRootDir:t,cwd:r,exists:async m=>s(m),existsSync:s,readdir:async m=>p(m),readdirSync:p,readFile:async m=>l(m),readFileSync:l,stat:async m=>d(m),statSync:d,writeFile:async(m,g)=>{m=i(m),o.set(m,g);let x={path:m,basename:n.basename(m),dirname:n.dirname(m),extname:n.extname(m)};for(let C of c)await C(x)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",formatCode:async(m,g)=>g,on:(m,g)=>{m==="change"&&c.add(g)},off:(m,g)=>{m==="change"&&c.delete(g)},debug:(...m)=>{console.debug("[builder-dev-tools]",...m)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null},h=await Ce(u);return u.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,u}async function zr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(qr(e,n))return o;let a=G(e,n,"cjs"),s=G(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=d.statement;if(!e.ts.isVariableStatement(f))throw new Error(`Expected an export assignment from ${t}`);let c=d.statement;if(e.ts.isVariableStatement(c)){let u=[...c.declarationList.declarations];if(u.length!==1)throw new Error("Expected a single variable declaration");let h=u[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let m=h.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let g="BuilderDevTools()",x=[...n.statements],C=x.indexOf(c);return x[C]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,x),n=D(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let p=a[0];if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let d=p.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=an(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=N(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let d=[...l.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=an(e,n);n=u.sourceFile;let h=[...n.statements],m=h.indexOf(l);return h[m]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(p.node)){let d=p.node,f=p.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let c=f.expression;if(!e.ts.isBinaryExpression(c))throw new Error("Expected a binary expression for the default export");let h=p.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let m=[...h.statements],g=m.findIndex(T=>e.ts.isReturnStatement(T));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=m[g],C=an(e,n);n=C.sourceFile,m[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[x.expression]));let P=[...n.statements],R=P.indexOf(f);return P[R]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(c,c.left,c.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(h,m)))),n=e.ts.factory.updateSourceFile(n,P),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function qr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/next"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function an(e,t){let r=qr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/next")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}async function Wr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Yr(e,n))return o;let a=G(e,n,"cjs"),s=G(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let p=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=d.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let c="builderDevTools()",u=ps(e,f.expression);if(!u)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[u]),m=[...n.statements],g=m.indexOf(f);return m[g]=e.ts.factory.updateExportAssignment(f,f.modifiers,h),n=e.ts.factory.updateSourceFile(n,m),n=D(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=N(e,n),o.hasContentUpdates=!0,o}}if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let d=p.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Qr(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=N(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let d=[...l.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=Qr(e,n);n=u.sourceFile;let h=[...n.statements],m=h.indexOf(l);return h[m]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=N(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Yr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Qr(e,t){let r=Yr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function ps(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Jr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Jr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Jr(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier('"@builder.io/react"')])}async function Hr(e,t,r){let n=E(e,r),o=G(e,n);if(o.length!==1)throw new Error(`Expected an export from ${t}`);let i=o[0];if(!i.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let a=i.statement;if(!e.ts.isExportAssignment(a))throw new Error(`Expected an export assignment from ${t}`);let s={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(e.ts.isCallExpression(i.node)&&e.ts.isIdentifier(i.node.expression)&&i.node.expression.text==="defineConfig"){let p=[...i.node.arguments];if(p.length===0)throw new Error("Expected an argument in defineConfig()");let l=p[0];if(e.ts.isArrowFunction(l)){let d=ls(e,l);if(!d)return s;p[0]=e.ts.factory.updateArrowFunction(l,l.modifiers,l.typeParameters,l.parameters,l.type,l.equalsGreaterThanToken,d);let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,p)),n=e.ts.factory.updateSourceFile(n,f),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(l)){let d=sn(e,l);if(!d)return s;let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[d])),n=e.ts.factory.updateSourceFile(n,f),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let p=sn(e,a.expression);if(!p)return s;let l=[...n.statements],d=l.indexOf(a);return l[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,p),n=e.ts.factory.updateSourceFile(n,l),n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=N(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function ls(e,t){let r=t.body;if(!e.ts.isBlock(r))return null;let n=[...r.statements],o=n.findIndex(s=>e.ts.isReturnStatement(s));if(o===-1){let s=e.ts.factory.createReturnStatement(e.ts.factory.createObjectLiteralExpression());n.push(s),o=n.length-1}let i=n[o];if(!i.expression||!e.ts.isObjectLiteralExpression(i.expression))return null;let a=sn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function sn(e,t){if(ms(e)){let i=cs(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Gr(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Gr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Gr(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="builderDevTools":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("builderDevTools"),void 0,[])])}function cs(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=us(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=pn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o){let i=e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("noExternal",o)]);return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("ssr",i)])}return null}function us(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=pn(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=pn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function pn(e,t){return t.elements.some(n=>e.ts.isStringLiteral(n)?n.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createStringLiteral("@builder.io/react")])}function ms(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Xr(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function eo(e,t,r){e.debug("Angular config updates are currently in progress...");try{await gs(e)}catch{console.error("Unable to update package.json.")}return await fs(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function fs(e){let t=e.getRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);let n=e.join(r,"main.ts"),o=await e.readFile(n);if(!o)throw new Error(`Unable to read main.ts at ${n}`);let i=await ds(e,o);await e.writeFile(n,i)}async function ds(e,t){let r=t,n=E(e,t),o=!1;for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isCallExpression(a.expression)&&e.ts.isPropertyAccessExpression(a.expression.expression)&&e.ts.isCallExpression(a.expression.expression.expression)&&e.ts.isIdentifier(a.expression.expression.expression.expression)&&a.expression.expression.expression.expression.text==="builderDevTools"){o=!0;break}n=D(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
627
786
  builderDevTools().catch((err: Error) =>
628
787
  console.error("Error starting dev tools:", err)
629
- );`;return r=v(e,n),o||(r+=i),r}async function es(e){let t=e.getRootDir(),r=e.join(t,"package.json"),n=await e.readFile(r);if(!n)throw new Error(`Unable to read package.json at ${r}`);let o=ts(n);o&&await e.writeFile(r,o)}function ts(e){let t=JSON.parse(e);if(t.scripts=t.scripts||{},t.scripts[Jr])return;let r=t.scripts.start||t.scripts.dev||"ng serve";return t.scripts[Jr]=`concurrently "${r}" "${ns}"`,JSON.stringify(t,null,2)+`
630
- `}var Jr="builder-dev",ns="npx builder-dev-tools";var Hr=[{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:Wr},{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Br},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Qr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Kr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:qr}];async function rn(e){let t=e.resolve("/");for(let n of Hr)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 de(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,Yr),{id:"next",filePath:n,content:Yr}}return null}async function Gr(e){let t=await rn(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await Hr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=J(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var Yr=`
788
+ );`;return r=N(e,n),o||(r+=i),r}async function gs(e){let t=e.getRootDir(),r=e.join(t,"package.json"),n=await e.readFile(r);if(!n)throw new Error(`Unable to read package.json at ${r}`);let o=xs(n);o&&await e.writeFile(r,o)}function xs(e){let t=JSON.parse(e);if(t.scripts=t.scripts||{},t.scripts[Zr])return;let r=t.scripts.start||t.scripts.dev||"ng serve";return t.scripts[Zr]=`concurrently "${r}" "${hs}"`,JSON.stringify(t,null,2)+`
789
+ `}var Zr="builder-dev",hs="npx builder-dev-tools";var no=[{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:eo},{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:zr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Hr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Wr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Xr}];async function ln(e){let t=e.resolve("/");for(let n of no)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),p=e.readFileSync(s);if(typeof p=="string")return{id:n.id,filePath:s,content:p};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Ce(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,to),{id:"next",filePath:n,content:to}}return null}async function ro(e){let t=await ln(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await no.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=H(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var to=`
631
790
  /** @type {import('next').NextConfig} */
632
791
  const nextConfig = {
633
792
  }
634
793
 
635
794
  module.exports = nextConfig
636
- `.trimStart();var Xr="/~builder-dev-tools.js";function Zr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Xr,e);t.searchParams.set("v",tt);let r=JSON.stringify(tt),n=`/* Builder Devtools v${tt} */
795
+ `.trimStart();var oo="/~builder-dev-tools.js";function io(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(oo,e);t.searchParams.set("v",at);let r=JSON.stringify(at),n=`/* Builder Devtools v${at} */
637
796
  `;return n+=`(() => {
638
797
  `,n+=` if (typeof document !== "undefined") {
639
798
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -646,4 +805,4 @@ module.exports = nextConfig
646
805
  `,n+=` }
647
806
  `,n+=` }
648
807
  `,n+=`})();
649
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var tt="1.1.1";
808
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var at="1.1.3";