builder.io 1.1.22 → 1.1.24

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 lo=Object.create;var pt=Object.defineProperty;var co=Object.getOwnPropertyDescriptor;var mo=Object.getOwnPropertyNames;var uo=Object.getPrototypeOf,fo=Object.prototype.hasOwnProperty;var Pe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),go=(e,t)=>{for(var r in t)pt(e,r,{get:t[r],enumerable:!0})},un=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of mo(t))!fo.call(e,o)&&o!==r&&pt(e,o,{get:()=>t[o],enumerable:!(n=co(t,o))||n.enumerable});return e};var xo=(e,t,r)=>(r=e!=null?lo(uo(e)):{},un(t||!e||!e.__esModule?pt(r,"default",{value:e,enumerable:!0}):r,e)),ho=e=>un(pt({},"__esModule",{value:!0}),e);var Wt=Pe(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});function Rr(e){return Object.prototype.toString.call(e)}Ct.getType=Rr;function Wa(e){throw new TypeError("unsupported data type: "+Rr(e))}Ct.throwUnknownDataType=Wa});var Zt=Pe(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});var he="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);he+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);he+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);he+=t}var Ve=he.length,Gt={};for(let e=0;e<Ve;e++){let t=he[e];Gt[t]=e}function Ht(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Gt[o];i*=r,t+=i,r*=Ve}return t}Ce.s_to_int=Ht;function Nr(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Ve);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Gt[i]);a*=r,t+=a,r*=n}return t}Ce.s_to_big_int=Nr;function Xt(e){if(e===0)return he[0];let t=[];for(;e!==0;){let r=e%Ve,n=he[r];t.push(n),e-=r,e/=Ve}return t.reverse().join("")}Ce.int_to_s=Xt;function Ar(e){let t=BigInt(0),r=BigInt(Ve);if(e===t)return he[0];let n=[];for(;e!==t;){let o=e%r,i=he[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}Ce.big_int_to_s=Ar;function Pt(e){return e.split("").reverse().join("")}function Fr(e){if(e<0)return"-"+Fr(-e);let[t,r]=e.toString().split(".");if(!r)return Xt(e);let n;r&&([r,n]=r.split("e")),t=St(t),r=Pt(r),r=St(r);let o=t+"."+r;if(n){switch(o+=".",n[0]){case"+":n=n.slice(1);break;case"-":o+="-",n=n.slice(1);break}n=Pt(n),n=St(n),o+=n}return o}Ce.num_to_s=Fr;function St(e){let t=+e;return t.toString()===e?Xt(t):":"+Ar(BigInt(e))}Ce.int_str_to_s=St;function Yt(e){return e[0]===":"?Nr(e.substring(1)).toString():Ht(e).toString()}function Or(e){if(e[0]==="-")return-Or(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Ht(t);t=Yt(t),r=Yt(r),r=Pt(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Yt(n),n=Pt(n),o+=i?-n:+n}return+o}Ce.s_to_num=Or});var tn=Pe(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var en=Zt();function Ya(e){return"n|"+en.num_to_s(e)}Se.encodeNum=Ya;function Ga(e){return e=e.replace("n|",""),en.s_to_num(e)}Se.decodeNum=Ga;function Ha(e){return typeof e=="number"?e:en.s_to_int(e)}Se.decodeKey=Ha;function Xa(e){return e?"b|T":"b|F"}Se.encodeBool=Xa;function Za(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}Se.decodeBool=Za;function es(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}Se.encodeStr=es;function ts(e){return e[0]+e[1]==="s|"?e.substr(2):e}Se.decodeStr=ts});var Lr=Pe(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.config={sort_key:!1}});var on=Pe(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});var ns=Lr(),rs=Wt(),rn=tn(),os=Zt();function is(e){return e.store.toArray()}Ne.memToValues=is;function kr(){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=kr;function _r(){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=_r;function as(){return{store:kr(),cache:_r(),keyCount:0}}Ne.makeInMemoryMemory=as;function Re(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=os.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function ss(e,t){ns.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=ot(e,t,void 0);return e.cache.setSchema(r,n),n}function ot(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return ot(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?"_":ot(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=ss(e,n);o+="|"+i;for(let a of n){let s=t[a],p=ot(e,s,t);o+="|"+p}return Re(e,o)}case"boolean":return Re(e,rn.encodeBool(t));case"number":return Re(e,rn.encodeNum(t));case"string":return Re(e,rn.encodeStr(t))}return rs.throwUnknownDataType(t)}Ne.addValue=ot});var sn=Pe(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});var ps=Wt(),Tt=tn(),an=on();function ls(e){let t=an.makeInMemoryMemory(),r=an.addValue(t,e,void 0);return[an.memToValues(t),r]}at.compress=ls;function cs(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=it(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=it(e,l),r[p]=l}return r}function ms(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=it(e,a),o[i]=a}return o}function it(e,t){if(t===""||t==="_")return null;let r=Tt.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 Tt.decodeBool(n);case"o|":return cs(e,n);case"n|":return Tt.decodeNum(n);case"a|":return ms(e,n);default:return Tt.decodeStr(n)}}return ps.throwUnknownDataType(n)}at.decode=it;function us(e){let[t,r]=e;return it(t,r)}at.decompress=us});var Br=Pe(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});function fs(e){for(let t in e)e[t]===void 0&&delete e[t]}yt.trimUndefined=fs;function ds(e){jr(e,new Set)}yt.trimUndefinedRecursively=ds;function jr(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)&&jr(n,t)}}});var Kr=Pe(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});var Vr=sn();ve.compress=Vr.compress;ve.decompress=Vr.decompress;var gs=sn();ve.decode=gs.decode;var xs=on();ve.addValue=xs.addValue;var $r=Br();ve.trimUndefined=$r.trimUndefined;ve.trimUndefinedRecursively=$r.trimUndefinedRecursively});var Rs={};go(Rs,{createDevTools:()=>zr,createDevToolsSys:()=>Qr,detectFrameworks:()=>Te,detectFrameworksFromPackageJson:()=>Et,ensureConfigPlugin:()=>ao,findBuildToolConfig:()=>mn,getClientScript:()=>po,parseDotEnvContent:()=>wt,version:()=>st});module.exports=ho(Rs);async function lt(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 fn(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function Ke(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let p=await Ke(e,a,r);if(p)return p}}))).find(i=>typeof i=="string")}async function Te(e){let t=[],r=await lt(e,e.getRootDir());if(r){let n=Et(r);t.push(...n)}return t}function Et(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Co)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Co=["@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 re(e){let t=dn(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function oe(e,t){t=typeof t=="object"&&t!=null?t:{};let r=dn(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function dn(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function ye(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await So(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 So(e,t){let r=await e.readFile(t);return typeof r=="string"?wt(r):null}function wt(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 De(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
1
+ "use strict";var go=Object.create;var pt=Object.defineProperty;var xo=Object.getOwnPropertyDescriptor;var ho=Object.getOwnPropertyNames;var Co=Object.getPrototypeOf,So=Object.prototype.hasOwnProperty;var Pe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Po=(e,t)=>{for(var r in t)pt(e,r,{get:t[r],enumerable:!0})},un=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ho(t))!So.call(e,o)&&o!==r&&pt(e,o,{get:()=>t[o],enumerable:!(n=xo(t,o))||n.enumerable});return e};var To=(e,t,r)=>(r=e!=null?go(Co(e)):{},un(t||!e||!e.__esModule?pt(r,"default",{value:e,enumerable:!0}):r,e)),Do=e=>un(pt({},"__esModule",{value:!0}),e);var Wt=Pe(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});function Lr(e){return Object.prototype.toString.call(e)}Tt.getType=Lr;function Qa(e){throw new TypeError("unsupported data type: "+Lr(e))}Tt.throwUnknownDataType=Qa});var Zt=Pe(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});var he="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);he+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);he+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);he+=t}var Ve=he.length,Gt={};for(let e=0;e<Ve;e++){let t=he[e];Gt[t]=e}function Ht(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Gt[o];i*=r,t+=i,r*=Ve}return t}Ce.s_to_int=Ht;function kr(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Ve);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Gt[i]);a*=r,t+=a,r*=n}return t}Ce.s_to_big_int=kr;function Xt(e){if(e===0)return he[0];let t=[];for(;e!==0;){let r=e%Ve,n=he[r];t.push(n),e-=r,e/=Ve}return t.reverse().join("")}Ce.int_to_s=Xt;function _r(e){let t=BigInt(0),r=BigInt(Ve);if(e===t)return he[0];let n=[];for(;e!==t;){let o=e%r,i=he[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}Ce.big_int_to_s=_r;function Et(e){return e.split("").reverse().join("")}function jr(e){if(e<0)return"-"+jr(-e);let[t,r]=e.toString().split(".");if(!r)return Xt(e);let n;r&&([r,n]=r.split("e")),t=Dt(t),r=Et(r),r=Dt(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=Et(n),n=Dt(n),o+=n}return o}Ce.num_to_s=jr;function Dt(e){let t=+e;return t.toString()===e?Xt(t):":"+_r(BigInt(e))}Ce.int_str_to_s=Dt;function Yt(e){return e[0]===":"?kr(e.substring(1)).toString():Ht(e).toString()}function Br(e){if(e[0]==="-")return-Br(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Ht(t);t=Yt(t),r=Yt(r),r=Et(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Yt(n),n=Et(n),o+=i?-n:+n}return+o}Ce.s_to_num=Br});var tn=Pe(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});var en=Zt();function Ja(e){return"n|"+en.num_to_s(e)}Se.encodeNum=Ja;function Wa(e){return e=e.replace("n|",""),en.s_to_num(e)}Se.decodeNum=Wa;function Ya(e){return typeof e=="number"?e:en.s_to_int(e)}Se.decodeKey=Ya;function Ga(e){return e?"b|T":"b|F"}Se.encodeBool=Ga;function Ha(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}Se.decodeBool=Ha;function Xa(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}Se.encodeStr=Xa;function Za(e){return e[0]+e[1]==="s|"?e.substr(2):e}Se.decodeStr=Za});var Vr=Pe(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});nn.config={sort_key:!1}});var on=Pe(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});var es=Vr(),ts=Wt(),rn=tn(),ns=Zt();function rs(e){return e.store.toArray()}Ne.memToValues=rs;function Kr(){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=Kr;function $r(){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=$r;function os(){return{store:Kr(),cache:$r(),keyCount:0}}Ne.makeInMemoryMemory=os;function Re(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=ns.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function is(e,t){es.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=ot(e,t,void 0);return e.cache.setSchema(r,n),n}function ot(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return ot(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?"_":ot(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=is(e,n);o+="|"+i;for(let a of n){let s=t[a],p=ot(e,s,t);o+="|"+p}return Re(e,o)}case"boolean":return Re(e,rn.encodeBool(t));case"number":return Re(e,rn.encodeNum(t));case"string":return Re(e,rn.encodeStr(t))}return ts.throwUnknownDataType(t)}Ne.addValue=ot});var sn=Pe(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});var as=Wt(),yt=tn(),an=on();function ss(e){let t=an.makeInMemoryMemory(),r=an.addValue(t,e,void 0);return[an.memToValues(t),r]}at.compress=ss;function ps(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=it(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=it(e,l),r[p]=l}return r}function ls(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=it(e,a),o[i]=a}return o}function it(e,t){if(t===""||t==="_")return null;let r=yt.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 yt.decodeBool(n);case"o|":return ps(e,n);case"n|":return yt.decodeNum(n);case"a|":return ls(e,n);default:return yt.decodeStr(n)}}return as.throwUnknownDataType(n)}at.decode=it;function cs(e){let[t,r]=e;return it(t,r)}at.decompress=cs});var Ur=Pe(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});function ms(e){for(let t in e)e[t]===void 0&&delete e[t]}wt.trimUndefined=ms;function us(e){Mr(e,new Set)}wt.trimUndefinedRecursively=us;function Mr(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)&&Mr(n,t)}}});var Qr=Pe(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});var zr=sn();ve.compress=zr.compress;ve.decompress=zr.decompress;var fs=sn();ve.decode=fs.decode;var ds=on();ve.addValue=ds.addValue;var qr=Ur();ve.trimUndefined=qr.trimUndefined;ve.trimUndefinedRecursively=qr.trimUndefinedRecursively});var bs={};Po(bs,{createDevTools:()=>Yr,createDevToolsSys:()=>Hr,detectFrameworks:()=>Te,detectFrameworksFromPackageJson:()=>bt,ensureConfigPlugin:()=>mo,findBuildToolConfig:()=>mn,getClientScript:()=>fo,parseDotEnvContent:()=>It,version:()=>st});module.exports=Do(bs);async function lt(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 fn(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 Te(e){let t=[],r=await lt(e,e.getRootDir());if(r){let n=bt(r);t.push(...n)}return t}function bt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Eo)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Eo=["@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 re(e){let t=dn(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function oe(e,t){t=typeof t=="object"&&t!=null?t:{};let r=dn(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function dn(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function De(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await yo(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 yo(e,t){let r=await e.readFile(t);return typeof r=="string"?It(r):null}function It(e){let t={},r=e.replace(/\r\n?/gm,`
2
+ `),n;for(;(n=wo.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 wo=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Ee(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 Me(e){return await ye(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],ie)}async function gn(e,t){let r=await Me(e),n=await De(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ie="NEXT_PUBLIC_BUILDER_API_KEY";var I={gen1:"Gen 1",gen2:"Gen 2"};function w(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function ct(e,t=""){let r=w(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function F(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
9
+ `),await e.writeFile(t,i),"create";return null}async function Me(e){return await De(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],ie)}async function gn(e,t){let r=await Me(e),n=await Ee(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ie="NEXT_PUBLIC_BUILDER_API_KEY";var b={gen1:"Gen 1",gen2:"Gen 2"};function w(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function ct(e,t=""){let r=w(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function F(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
10
10
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
11
- `}return""}function b(e,t,r){t=Z(t),r=Z(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let o;return n==="index"?o=e.relative(t,r):o=e.relative(t,e.join(r,n)),o=Z(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function Z(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ae(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return xn(o==="index"?e.basename(e.dirname(t)):o)}function xn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=Z(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function k(e,t){let r=Z(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 O(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 q(e){return typeof e=="string"}function ze(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function W(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=To(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 To(e,t,r){return t.properties.findIndex(n=>v(e,n)===r)}function Je(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Do(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return yo(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 yo(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=v(e,n);o&&(r[o]=Je(e,n.initializer))}}return r}function Do(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Je(e,r)):[]}function v(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 vt(e,t,new WeakSet)}function vt(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)?Eo(e,t,r):typeof t=="object"?wo(e,t,r):e.ts.factory.createIdentifier(t)}function Eo(e,t,r){let n=t.map(o=>vt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function wo(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,vt(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=vo(e,t,i);a&&n.push(a)}return n=n.filter(Cn),n.length>0?n:bo(e,r)}function vo(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),g=bt(l);g.knownType?i=g.builderType:Ro(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=Oo(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},p&&p.length>0&&s.type==="string"&&p.every(Ao)?s.enum=p.map(Fo):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function bo(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 g=l.name;if(!e.ts.isQualifiedName(g))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:g.right.text,type:c,isRegistered:!1};r.push(h)}}return r.filter(Cn)}var Io=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Ro(e){return typeof e!="string"?!1:!!Io.some(t=>e.includes(t))}function bt(e){return typeof e=="string"&&(e=e.trim(),No.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var No=[{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 Ao(e){return/^['"].*['"]$/.test(e)}function Fo(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Oo=(e,t,r)=>{let n=new Set;hn(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},Lo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},hn=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{hn(e,t,o,n)});else if(r.isLiteral()){let o=Lo(e,t,r);n.add(o)}};function Cn(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!ko.has(t.toLowerCase())}var ko=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 J(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=v(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=_o(e,n.initializer);ee(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 _o(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(jo(e,n));return r}function jo(e,t){let r=Je(e,t),n=zo(r);return n.isRegistered=!0,n}function $(e,t,r){let n=Vo(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=Bo(e,t,n),qo(e,t)}function Bo(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=Ko(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 Vo(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map($o)}}function $o(e){let t={name:e.name,type:e.type};return(q(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(t.defaultValue=e.defaultValue),q(e.friendlyName)&&(t.friendlyName=e.friendlyName),q(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 Ko(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>v(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=Mo(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>v(e,c)==="name"),s=i.properties.find(c=>v(e,c)==="name"),p=a?.initializer,l=s?.initializer,g=p&&e.ts.isStringLiteral(p)?p.text:"zz",f=l&&e.ts.isStringLiteral(l)?l.text:"zz";return g.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Mo(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=v(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=Sn(e,t[n],r);else{let o=Sn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Sn(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=Uo(e,n,r,i);return n=Qo(e,n.filter(i=>{let a=v(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Uo(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 ee(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=It(e)}function zo(e){let t=bt(e.type),r={name:e.name.trim(),type:t.builderType};return q(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(q(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(r.defaultValue=e.defaultValue),q(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),Rt(r)}function It(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 Rt(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 qo(e,t){let r=[...t.properties].sort((n,o)=>{let i=v(e,n)||"zz",a=v(e,o)||"zz";if(i==="inputs")return 1;let s=Pn.indexOf(i),p=Pn.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 Pn=["component","name","description"];function Qo(e,t){return[...t].sort((n,o)=>{let i=v(e,n)||"zz",a=v(e,o)||"zz",s=Tn.indexOf(i),p=Tn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)})}var Tn=["name","type"];function yn(e,t){let r=`Builder.registerComponent(
11
+ `}return""}function I(e,t,r){t=Z(t),r=Z(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let o;return n==="index"?o=e.relative(t,r):o=e.relative(t,e.join(r,n)),o=Z(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function Z(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ae(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return xn(o==="index"?e.basename(e.dirname(t)):o)}function xn(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=Z(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function k(e,t){let r=Z(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 O(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,n){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return n&&(t=n),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 q(e){return typeof e=="string"}function ze(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function W(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=vo(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 vo(e,t,r){return t.properties.findIndex(n=>v(e,n)===r)}function Je(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Io(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return bo(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 bo(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=v(e,n);o&&(r[o]=Je(e,n.initializer))}}return r}function Io(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Je(e,r)):[]}function v(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 Rt(e,t,new WeakSet)}function Rt(e,t,r){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?Ro(e,t,r):typeof t=="object"?No(e,t,r):e.ts.factory.createIdentifier(t)}function Ro(e,t,r){let n=t.map(o=>Rt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function No(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,Rt(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=Ao(e,t,i);a&&n.push(a)}return n=n.filter(Cn),n.length>0?n:Fo(e,r)}function Ao(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=Nt(l);d.knownType?i=d.builderType:Lo(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=Bo(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},p&&p.length>0&&s.type==="string"&&p.every(_o)?s.enum=p.map(jo):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Fo(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 x={name:d.right.text,type:c,isRegistered:!1};r.push(x)}}return r.filter(Cn)}var Oo=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Lo(e){return typeof e!="string"?!1:!!Oo.some(t=>e.includes(t))}function Nt(e){return typeof e=="string"&&(e=e.trim(),ko.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var ko=[{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 _o(e){return/^['"].*['"]$/.test(e)}function jo(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Bo=(e,t,r)=>{let n=new Set;hn(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},Vo=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},hn=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{hn(e,t,o,n)});else if(r.isLiteral()){let o=Vo(e,t,r);n.add(o)}};function Cn(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!Ko.has(t.toLowerCase())}var Ko=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 J(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=v(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=$o(e,n.initializer);ee(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 $o(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(Mo(e,n));return r}function Mo(e,t){let r=Je(e,t),n=Yo(r);return n.isRegistered=!0,n}function K(e,t,r){let n=zo(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=Uo(e,t,n),Go(e,t)}function Uo(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=Qo(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 zo(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(qo)}}function qo(e){let t={name:e.name,type:e.type};return(q(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(t.defaultValue=e.defaultValue),q(e.friendlyName)&&(t.friendlyName=e.friendlyName),q(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 Qo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>v(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=Jo(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>v(e,c)==="name"),s=i.properties.find(c=>v(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 Jo(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=v(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=Sn(e,t[n],r);else{let o=Sn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Sn(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=Wo(e,n,r,i);return n=Ho(e,n.filter(i=>{let a=v(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Wo(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 ee(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=At(e)}function Yo(e){let t=Nt(e.type),r={name:e.name.trim(),type:t.builderType};return q(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(q(e.defaultValue)||Ue(e.defaultValue)||Fe(e.defaultValue))&&(r.defaultValue=e.defaultValue),q(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),Ft(r)}function At(e){let t=e.inputs.some(n=>n.name==="children"),r=e.inputs.some(n=>n.meta?.ts==="ReactNode");return!!(t||r||e.acceptsChildren===!0)}function Ft(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function Go(e,t){let r=[...t.properties].sort((n,o)=>{let i=v(e,n)||"zz",a=v(e,o)||"zz";if(i==="inputs")return 1;let s=Pn.indexOf(i),p=Pn.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 Pn=["component","name","description"];function Ho(e,t){return[...t].sort((n,o)=>{let i=v(e,n)||"zz",a=v(e,o)||"zz",s=Tn.indexOf(i),p=Tn.indexOf(a);return s>-1?p>-1&&s>p?1:-1:p>-1?s>-1&&p<s?-1:1:i.localeCompare(a)})}var Tn=["name","type"];function Dn(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=t.externalImportPath?t.externalImportPath:I(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=ct(e,r);return Nt(e,n,t)}function Nt(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;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 M(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await fn(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 w(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=En.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})),w(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return Jo(e,i,t)}catch(a){if(a instanceof ut){await Wo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function Jo(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=Dn.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,Dn.set(o,i))}i&&(n.options=W(i))}return n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,e.ts.createProgram(n)}async function Oe(e,t,r){r||(r=await M(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 Wo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;mt.has(t)||mt.set(t,fetch(r).then(n=>n.text()).then(n=>{En.set(t,n)})),await mt.get(t),mt.delete(t)}var En=new Map,mt=new Map,We=new Map,Dn=new Map;function E(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Yo(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Go(e,t,r.defaultImport,r.importPath,n)),t}function Yo(e,t,r,n,o,i){return i==="cjs"?vn(e,t,null,r,n):wn(e,t,null,r,n,o)}function Go(e,t,r,n,o){return o==="cjs"?vn(e,t,r,null,n):wn(e,t,r,null,n,!1)}function wn(e,t,r,n,o,i){let a=[...t.statements],s=0,p=!1,l=!1;for(let m=0;m<a.length;m++){let h=a[m];if(!e.ts.isImportDeclaration(h)||(s=m,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let u=[],d=h.importClause?.namedBindings;if(d&&e.ts.isNamedImports(d)&&d.elements&&u.push(...d.elements),typeof n=="string"){if(u.some(C=>C.name.text===n))return t;u.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),u.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[m]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,e.ts.factory.createNamedImports(u)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let g,f;typeof r=="string"&&(g=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,g,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function vn(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 g=[...p.declarationList.declarations],f=g[l],c=f.initializer;if(!c||!e.ts.isCallExpression(c))continue;let m=c.expression;if(!e.ts.isIdentifier(m)||m.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:(g[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,g)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(f.name)&&typeof n=="string"){let u=[...f.name.elements];return u.some(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(u.push(e.ts.factory.createBindingElement(void 0,void 0,n)),u.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)),g[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(u),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,g)),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"?Xo(e,t):Ho(e,t)}function Ho(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 Xo(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 Zo(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 ae(e,t,r,n){let o=Zo(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:O(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 V(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 ft(e,t){if(t){if(ei(e,t))return!0;let r=!1;if(t.forEachChild(n=>{ft(e,n)&&(r=!0)}),r)return!0}return!1}function ei(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===""||!At.includes(r)){for(let n of At){let o=t+n;if(await e.exists(o))return o}for(let n of At){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var At=[".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=ti(e,i);return a?[{name:a}]:void 0}function ti(e,t){if(typeof t=="string"){t=e.normalize(Z(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function se(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 M(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 Ee(e,o,a.filePath,s)).find(g=>g.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 Ee(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 bn(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 ni(e,t,n)}return null}function ni(e,t,r){let n=w(e,r);return Ee(e,null,t,n)}async function Ee(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 ri(e,t,r,a);o.push(...s)})),o}async function ri(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,g=n.isDefaultExport?"default":l,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,g),displayFilePath:O(e,r),name:j(l),inputs:[],exportName:g,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,g=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:O(e,r),name:p,inputs:[],exportName:l,exportType:g,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),g=n.isDefaultExport||!p.name?"default":p.name,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,g),displayFilePath:O(e,r),name:l,inputs:[],exportName:g,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,g=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:O(e,r),name:p,inputs:[],exportName:l,exportType:g,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 ft(e,r.body)?{name:"",fnNode:r,deps:Ge(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return ft(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 In(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(ii(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await Ee(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var oi=new Set(["node_modules","dist"]);function ii(e,t){for(let r of oi)if(e.dirname(t).includes(r))return!0;return!1}async function Rn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(e.appDir&&ai.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 Ee(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ai=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 pe(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,[...Ft(e,r),...Ft(e,n),...Ft(e,o),...i])}function H(e){let t=e.split(`
21
+ `,r+=");";let n=ct(e,r);return Ot(e,n,t)}function Ot(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=K(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function M(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await fn(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 w(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=yn.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})),w(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return Xo(e,i,t)}catch(a){if(a instanceof ut){await Zo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function Xo(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=En.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,En.set(o,i))}i&&(n.options=W(i))}return n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,e.ts.createProgram(n)}async function Oe(e,t,r){r||(r=await M(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 Zo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;mt.has(t)||mt.set(t,fetch(r).then(n=>n.text()).then(n=>{yn.set(t,n)})),await mt.get(t),mt.delete(t)}var yn=new Map,mt=new Map,We=new Map,En=new Map;function y(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=ei(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=ti(e,t,r.defaultImport,r.importPath,n)),t}function ei(e,t,r,n,o,i){return i==="cjs"?vn(e,t,null,r,n):wn(e,t,null,r,n,o)}function ti(e,t,r,n,o){return o==="cjs"?vn(e,t,r,null,n):wn(e,t,r,null,n,!1)}function wn(e,t,r,n,o,i){let a=[...t.statements],s=0,p=!1,l=!1;for(let m=0;m<a.length;m++){let x=a[m];if(!e.ts.isImportDeclaration(x)||(s=m,!x.moduleSpecifier||!e.ts.isStringLiteral(x.moduleSpecifier))||x.moduleSpecifier.text!==o||!!x.importClause?.isTypeOnly!==i)continue;let u=[],g=x.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&u.push(...g.elements),typeof n=="string"){if(u.some(C=>C.name.text===n))return t;u.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),u.sort((C,P)=>C.name.text.localeCompare(P.name.text)),p=!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),l=!0}if(p||l)return a[m]=e.ts.factory.updateImportDeclaration(x,void 0,e.ts.factory.createImportClause(i,h,e.ts.factory.createNamedImports(u)),x.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 vn(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 m=c.expression;if(!e.ts.isIdentifier(m)||m.text!=="require"||c.arguments.length!==1)continue;let x=c.arguments[0];if(e.ts.isStringLiteral(x)&&(a=s,x.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 u=[...f.name.elements];return u.some(h=>!e.ts.isBindingElement(h)||!e.ts.isIdentifier(h.name)?!1:h.name.text===n)?t:(u.push(e.ts.factory.createBindingElement(void 0,void 0,n)),u.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[l]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(u),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"?ri(e,t):ni(e,t)}function ni(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 ri(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 oi(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 ae(e,t,r,n){let o=oi(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:O(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 V(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 ft(e,t){if(t){if(ii(e,t))return!0;let r=!1;if(t.forEachChild(n=>{ft(e,n)&&(r=!0)}),r)return!0}return!1}function ii(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===""||!Lt.includes(r)){for(let n of Lt){let o=t+n;if(await e.exists(o))return o}for(let n of Lt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Lt=[".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=ai(e,i);return a?[{name:a}]:void 0}function ai(e,t){if(typeof t=="string"){t=e.normalize(Z(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function se(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 M(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 ye(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 ye(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 bn(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 si(e,t,n)}return null}function si(e,t,r){let n=w(e,r);return ye(e,null,t,n)}async function ye(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 pi(e,t,r,a);o.push(...s)})),o}async function pi(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:O(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:O(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:O(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,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",m=n.node.parent.parent.moduleSpecifier;if(m&&e.ts.isStringLiteral(m)){let x=t?.getSymbolAtLocation(m);if(x&&x.declarations&&x.declarations.length>0){let u=x.declarations[0];(!e.ts.isSourceFile(u)||e.ts.isSourceFile(u)&&u.fileName.includes("node_modules"))&&(s=m.text)}}o.push({cmpInfo:{id:await _(e,r,d,s),displayFilePath:O(e,r),name:l,inputs:[],exportName:d,exportType:f,importName:p.name||Ae(e,r),filePath:r,relFilePath:i,importPath:s||a,externalImportPath:s,dependencies:p.deps},node:p})}return o}return o}function He(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return ft(e,r.body)?{name:"",fnNode:r,deps:Ge(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return ft(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 In(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(ci(e,i.fileName)||a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await ye(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var li=new Set(["node_modules","dist"]);function ci(e,t){for(let r of li)if(e.dirname(t).includes(r))return!0;return!1}async function Rn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(e.appDir&&mi.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 ye(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var mi=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 pe(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,[...kt(e,r),...kt(e,n),...kt(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,12 +28,12 @@ ${r}=${n}
28
28
  `+o),o.trim().startsWith("export ")&&(o=`
29
29
  `+o)),e=o+`
30
30
  `+e}return e.trim()+`
31
- `}function Ft(e,t){return t.sort((r,n)=>{let o=Nn(e,r),i=Nn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Nn(e,t){let r=t.importClause;if(r){let n=r.namedBindings;if(n&&e.ts.isNamedImports(n)&&n.elements.length>0)return n.elements[0].name.text;if(r.name)return r.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function Fn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
- ${e}`),e}function On(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 le(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=An(e,r),i=An(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function An(e,t){let r=t.properties.find(n=>v(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Ln(e){let t=await e.readFile(e.registryPath);return t?si(e,t):{components:[],sourceFile:w(e,"")}}async function si(e,t){let r=w(e,t);return e.sdkVersion===I.gen2?li(e,r):pi(e,r)}async function pi(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 g=l[1];if(!e.ts.isObjectLiteralExpression(g))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=kt(e,f.arguments[0]);if(e.ts.isCallExpression(h)){let u=await Ot(e,n,h,g,!0);u&&r.push(u)}else{let u=h;if(e.ts.isIdentifier(u)){let d=await Lt(e,t,n,u,g,!0);d&&r.push(d)}}continue}if(c==="dynamic"){let h=await Ot(e,n,f,g,!1);h&&r.push(h);continue}let m=kt(e,f.arguments[0]);if(e.ts.isCallExpression(m)&&e.ts.isIdentifier(m.expression)&&m.expression.text==="dynamic"){let h=await Ot(e,n,m,g,!1);h&&r.push(h);continue}if(e.ts.isIdentifier(m)){let h=await Lt(e,t,n,m,g,!1);h&&r.push(h);continue}continue}if(e.ts.isIdentifier(f)){let c=await Lt(e,t,n,f,g,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}function kt(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:kt(e,t.arguments[0]):t}async function Ot(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 g=p.arguments[0];if(!e.ts.isStringLiteral(g))return null;let f=g.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 g=l.expression;if(!e.ts.isAwaitExpression(g))return null;let f=g.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let m=f.arguments[0];if(!e.ts.isStringLiteral(m)||!e.ts.isIdentifier(p.name))return null;let h=m.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=J(e,i,n),i.displayFilePath=O(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function Lt(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 g=l.moduleSpecifier;if(!e.ts.isStringLiteral(g))return null;a.filePath=await je(e,g.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=J(e,a,o),a.displayFilePath=O(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 kn(e,t,r){let n=!1,o=0,i=[...t.statements];for(let l=0;l<i.length;l++){let g=i[l];if(e.ts.isImportDeclaration(g)){o=l;continue}if(!e.ts.isExpressionStatement(g))continue;let f=g.expression;if(!e.ts.isCallExpression(f))continue;let c=f.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let m=c.expression;if(!e.ts.isIdentifier(m)||m.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(ie)),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 li(e,t){let r=[],n=V(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await _t(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function _t(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};ci(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(v(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isCallExpression(p)&&(e.ts.isIdentifier(p.expression)&&p.expression.text)==="dynamic"){let m=p.arguments;if(m.length===0)return null;let h=m[0];if(!e.ts.isArrowFunction(h))return null;let u=h.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let x=u.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(u)){let d=u.expression;if(!e.ts.isParenthesizedExpression(d))return null;let x=d.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(u.name))return null;let D=R.text;n.filePath=await je(e,D),n.relFilePath=e.relative(e.getRootDir(),n.filePath),n.importPath=k(e,n.filePath),n.name=j(u.name.text),n.importName=u.name.text,n.exportName=u.name.text,n.exportType="named"}else return null;return n=J(e,n,r),n.displayFilePath=O(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 ae(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 g=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=g.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=g.find(h=>!h.importClause||!h.importClause.namedBindings||!e.ts.isNamedImports(h.importClause.namedBindings)?!1:h.importClause.namedBindings.elements.some(u=>u.name.text===s));if(!c)return null;let m=c.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;n.exportName=s}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}function ci(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(v(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function ce(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 g=p[l];if(e.ts.isImportSpecifier(g)){let f=g.name;if(f&&e.ts.isIdentifier(f)){let c=f.text;_n(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)),g=e.ts.factory.updateImportDeclaration(i,void 0,l,i.moduleSpecifier,void 0);r[o]=g,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let p=i.importClause.name.text;_n(e,t,p)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function _n(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 me(e,t,r,n,o,i,a){let s=null,p=null,l=null,g=-1;t=W(t),r=W(r);let f=t.find(m=>m.id===e),c=r.find(m=>m.id===e);if(n)c||(s={...W(f),inputs:W(f.inputs).map(m=>(m.isRegistered=!0,m))},g=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)g=c.nodeIndex,p=W(c),r=r.filter(m=>m.id!==e);else if(i!=null)mi(c,i),g=c.nodeIndex,l=c;else if(a!=null){let m=c.inputs.find(h=>h.name===a.name);m&&(a.registerInput===!1?m.isRegistered=!1:(ui(m,a),m.isRegistered=!0),l=c,g=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:p,updateRegisteredCmp:l,nodeIndex:g,components:te(t,r)}}function te(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(Rt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=It(n))}),r}function mi(e,t){q(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),q(t.description)?e.description=t.description:t.description===null&&delete e.description,q(t.image)?e.image=t.image:t.image===null&&delete e.image}function ui(e,t){q(t.type)&&(e.type=t.type),q(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,q(t.defaultValue)||Ue(t.defaultValue)||Fe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,q(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 we(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 M(e,[...t])}function ue(e,t,r){return Le(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),p=e.ts.factory.createVariableStatement([s],a),l=[...t.statements,p];return e.ts.factory.updateSourceFile(t,l)}async function fe(e,t,r,n,o,i,a,s){let p=await we(e),[l,g,f,c]=await Promise.all([Rn(e,p),Ln(e),jt(e),Me(e)]),m=l.map(P=>P.cmpInfo),h=g.components,u={components:te(m,h),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(m),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return u.components=await ke(e,u.components),u;let d=!1,x=g.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let N=l.find(B=>B.cmpInfo.id===S);if(!N)throw new Error(`Component ${S} not found`);return N}),R=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),D=await M(e,R);for(let S of P){let N=u.components.find(y=>y.id===S.cmpInfo.id),B=await _e(e,S,D);ee(N,B);let L=m.findIndex(y=>y.id===S.cmpInfo.id);m[L].inputs=B;let T=me(S.cmpInfo.id,m,h,r,n,o,i);if(e.sdkVersion===I.gen2){let{elements:y,elmIndex:U,statementIndex:X,statement:K,variableDeclaration:A}=await xi(e,x,S);if(T.addCmpToRegistry)y.push(gi(e,T.addCmpToRegistry)),d=!0;else if(T.removeCmpFromRegistry)y.splice(U,1),d=!0;else if(T.updateRegisteredCmp){let z=$(e,y[U],T.updateRegisteredCmp);y[U]=e.ts.factory.updateObjectLiteralExpression(z,[Bn(e,T.updateRegisteredCmp),...z.properties.slice(1)]),d=!0}if(d&&a){let z=[...x.statements];z[X]=e.ts.factory.updateVariableStatement(K,K.modifiers,e.ts.factory.updateVariableDeclarationList(K.declarationList,[e.ts.factory.updateVariableDeclaration(A,A.name,A.exclamationToken,A.type,e.ts.factory.createArrayLiteralExpression(le(e,y)))])),x=e.ts.factory.updateSourceFile(x,z),x=jn(e,T,x),x=E(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),x=ue(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),u.components=T.components,h=T.components.filter($e=>$e.isRegistered)}}else{let y=[...x.statements];T.addCmpToRegistry?(y.push(yn(e,T.addCmpToRegistry)),d=!0):T.removeCmpFromRegistry?(y.splice(T.nodeIndex,1),d=!0):T.updateRegisteredCmp&&(y[T.nodeIndex]=Nt(e,y[T.nodeIndex],T.updateRegisteredCmp),d=!0),d&&a&&(x=e.ts.factory.updateSourceFile(x,y),x=E(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=kn(e,x,f),x=jn(e,T,x),N?.acceptsChildren&&(x=E(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),u.components=T.components,h=T.components.filter(U=>U.isRegistered))}}}if(d&&a){x=ce(e,x),x=pe(e,x),e.appDir&&(x=On(e,x));let P=F(e,x);P=H(P),e.appDir&&(P=Fn(P)),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return u}function Bn(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",hi(e,t))}function di(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function gi(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([Bn(e,t),...t.acceptsChildren?[di(e)]:[]],!0),t)}async function xi(e,t,r){let n=V(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 _t(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function jn(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=b(e,e.registryPath,n.filePath);n.exportType==="default"?r=E(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=E(e,r,{namedImports:[n.importName],importPath:o}))}}else r=E(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function hi(e,t){let r=b(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 Vn(e){let t=[],r=await Di(e,t);return await wi(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Si(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Ti(e,e.pagesDir,t)),t}async function $n(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Ci(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await yi(e,e.pagesDir,t)),t}async function Ci(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,Kn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Si(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,Kn({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,Pi(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Pi(e){let t=e.typescriptEnabled;return e.sdkVersion===I.gen2?`
31
+ `}function kt(e,t){return t.sort((r,n)=>{let o=Nn(e,r),i=Nn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Nn(e,t){let r=t.importClause;if(r){let n=r.namedBindings;if(n&&e.ts.isNamedImports(n)&&n.elements.length>0)return n.elements[0].name.text;if(r.name)return r.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function Fn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
+ ${e}`),e}function On(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 le(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=An(e,r),i=An(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function An(e,t){let r=t.properties.find(n=>v(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Ln(e){let t=await e.readFile(e.registryPath);return t?ui(e,t):{components:[],sourceFile:w(e,"")}}async function ui(e,t){let r=w(e,t);return e.sdkVersion===b.gen2?di(e,r):fi(e,r)}async function fi(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let 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 x=Bt(e,f.arguments[0]);if(e.ts.isCallExpression(x)){let u=await _t(e,n,x,d,!0);u&&r.push(u)}else{let u=x;if(e.ts.isIdentifier(u)){let g=await jt(e,t,n,u,d,!0);g&&r.push(g)}}continue}if(c==="dynamic"){let x=await _t(e,n,f,d,!1);x&&r.push(x);continue}let m=Bt(e,f.arguments[0]);if(e.ts.isCallExpression(m)&&e.ts.isIdentifier(m.expression)&&m.expression.text==="dynamic"){let x=await _t(e,n,m,d,!1);x&&r.push(x);continue}if(e.ts.isIdentifier(m)){let x=await jt(e,t,n,m,d,!1);x&&r.push(x);continue}continue}if(e.ts.isIdentifier(f)){let c=await jt(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}function Bt(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:Bt(e,t.arguments[0]):t}async function _t(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,c=await je(e,f);i.filePath=c,i.relFilePath=e.relative(e.getRootDir(),i.filePath),await e.exists(c)?i.importPath=k(e,i.filePath):(i.externalImportPath=f,i.importPath=i.externalImportPath),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 m=f.arguments[0];if(!e.ts.isStringLiteral(m)||!e.ts.isIdentifier(p.name))return null;let x=m.text,u=await je(e,x);i.filePath=u,i.relFilePath=e.relative(e.getRootDir(),i.filePath),await e.exists(u)?i.importPath=k(e,i.filePath):(i.externalImportPath=x,i.importPath=i.externalImportPath),i.name=j(p.name.text),i.importName=p.name.text,i.exportName=p.name.text,i.exportType="named"}else return null;return i=J(e,i,n),i.displayFilePath=O(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName,i.externalImportPath)),i}async function jt(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;let d=await je(e,l.text);a.filePath=d,a.relFilePath=e.relative(e.getRootDir(),a.filePath),await e.exists(d)?a.importPath=k(e,a.filePath):(a.externalImportPath=l.text,a.importPath=a.externalImportPath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let l=s.find(c=>!c.importClause||!c.importClause.namedBindings||!e.ts.isNamedImports(c.importClause.namedBindings)?!1:c.importClause.namedBindings.elements.some(m=>m.name.text===n.text));if(!l)return null;let d=l.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;let f=await je(e,d.text);a.filePath=f,a.relFilePath=e.relative(e.getRootDir(),a.filePath),await e.exists(f)?a.importPath=k(e,a.filePath):(a.externalImportPath=d.text,a.importPath=a.externalImportPath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=J(e,a,o),a.displayFilePath=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName,a.externalImportPath)),a}function je(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function kn(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 m=c.expression;if(!e.ts.isIdentifier(m)||m.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(ie)),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 di(e,t){let r=[],n=V(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:Q(r)}}async function Vt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};gi(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(v(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isCallExpression(p)&&(e.ts.isIdentifier(p.expression)&&p.expression.text)==="dynamic"){let m=p.arguments;if(m.length===0)return null;let x=m[0];if(!e.ts.isArrowFunction(x))return null;let u=x.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let h=u.arguments[0];if(!e.ts.isStringLiteral(h))return null;let C=h.text,P=await je(e,C);n.filePath=P,n.relFilePath=e.relative(e.getRootDir(),n.filePath),await e.exists(P)?n.importPath=k(e,n.filePath):(n.externalImportPath=C,n.importPath=n.externalImportPath),n.name=Y(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(u)){let g=u.expression;if(!e.ts.isParenthesizedExpression(g))return null;let h=g.expression;if(!e.ts.isAwaitExpression(h))return null;let C=h.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(u.name))return null;let E=R.text,S=await je(e,E);n.filePath=S,n.relFilePath=e.relative(e.getRootDir(),n.filePath),await e.exists(S)?n.importPath=k(e,n.filePath):(n.externalImportPath=E,n.importPath=n.externalImportPath),n.name=j(u.name.text),n.importName=u.name.text,n.exportName=u.name.text,n.exportType="named"}else return null;return n=J(e,n,r),n.displayFilePath=O(e,n.filePath),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName,n.externalImportPath)),n}if(e.ts.isIdentifier(p)&&(s=p.text),!s)continue;n.name===""&&(n.name=j(s)),n.importName=s;let l=await ae(e,e.registryPath,t,s);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,await e.exists(l.filePath)?n.importPath=k(e,l.filePath):(n.externalImportPath=l.importPath,n.importPath=n.externalImportPath),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(x=>!x.importClause||!x.importClause.namedBindings||!e.ts.isNamedImports(x.importClause.namedBindings)?!1:x.importClause.namedBindings.elements.some(u=>u.name.text===s));if(!c)return null;let m=c.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;n.exportName=s}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName,n.externalImportPath)),n}function gi(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(v(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function ce(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;_n(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;_n(e,t,p)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function _n(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 me(e,t,r,n,o,i,a){let s=null,p=null,l=null,d=-1;t=W(t),r=W(r);let f=t.find(m=>m.id===e),c=r.find(m=>m.id===e);if(n)c||(s={...W(f),inputs:W(f.inputs).map(m=>(m.isRegistered=!0,m))},d=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)d=c.nodeIndex,p=W(c),r=r.filter(m=>m.id!==e);else if(i!=null)xi(c,i),d=c.nodeIndex,l=c;else if(a!=null){let m=c.inputs.find(x=>x.name===a.name);m&&(a.registerInput===!1?m.isRegistered=!1:(hi(m,a),m.isRegistered=!0),l=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:p,updateRegisteredCmp:l,nodeIndex:d,components:te(t,r)}}function te(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(Ft),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=At(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function xi(e,t){q(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),q(t.description)?e.description=t.description:t.description===null&&delete e.description,q(t.image)?e.image=t.image:t.image===null&&delete e.image}function hi(e,t){q(t.type)&&(e.type=t.type),q(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,q(t.defaultValue)||Ue(t.defaultValue)||Fe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,q(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 we(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 M(e,[...t])}function ue(e,t,r){return Le(e,t,r.variableName)?t:Ci(e,t,r)}function Ci(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 fe(e,t,r,n,o,i,a,s){let p=await we(e),[l,d,f,c]=await Promise.all([Rn(e,p),Ln(e),Kt(e),Me(e)]),m=l.map(P=>P.cmpInfo),x=d.components,u={components:te(m,x),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(m),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return u.components=await ke(e,u.components),u;let g=!1,h=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let N=l.find(B=>B.cmpInfo.id===S);if(!N)throw new Error(`Component ${S} not found`);return N}),R=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),E=await M(e,R);for(let S of P){let N=u.components.find(D=>D.id===S.cmpInfo.id),B=await _e(e,S,E);ee(N,B);let L=m.findIndex(D=>D.id===S.cmpInfo.id);m[L].inputs=B;let T=me(S.cmpInfo.id,m,x,r,n,o,i);if(e.sdkVersion===b.gen2){let{elements:D,elmIndex:U,statementIndex:X,statement:$,variableDeclaration:A}=await Ti(e,h,S);if(T.addCmpToRegistry)D.push(Pi(e,T.addCmpToRegistry)),g=!0;else if(T.removeCmpFromRegistry)D.splice(U,1),g=!0;else if(T.updateRegisteredCmp){let z=K(e,D[U],T.updateRegisteredCmp);D[U]=e.ts.factory.updateObjectLiteralExpression(z,[Bn(e,T.updateRegisteredCmp),...z.properties.slice(1)]),g=!0}if(g&&a){let z=[...h.statements];z[X]=e.ts.factory.updateVariableStatement($,$.modifiers,e.ts.factory.updateVariableDeclarationList($.declarationList,[e.ts.factory.updateVariableDeclaration(A,A.name,A.exclamationToken,A.type,e.ts.factory.createArrayLiteralExpression(le(e,D)))])),h=e.ts.factory.updateSourceFile(h,z),h=jn(e,T,h),h=y(e,h,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),h=ue(e,h,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),u.components=T.components,x=T.components.filter(Ke=>Ke.isRegistered)}}else{let D=[...h.statements];T.addCmpToRegistry?(D.push(Dn(e,T.addCmpToRegistry)),g=!0):T.removeCmpFromRegistry?(D.splice(T.nodeIndex,1),g=!0):T.updateRegisteredCmp&&(D[T.nodeIndex]=Ot(e,D[T.nodeIndex],T.updateRegisteredCmp),g=!0),g&&a&&(h=e.ts.factory.updateSourceFile(h,D),h=y(e,h,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),h=kn(e,h,f),h=jn(e,T,h),N?.acceptsChildren&&(h=y(e,h,{namedImports:["withChildren"],importPath:"@builder.io/react"})),u.components=T.components,x=T.components.filter(U=>U.isRegistered))}}}if(g&&a){h=ce(e,h),h=pe(e,h),e.appDir&&(h=On(e,h));let P=F(e,h);P=H(P),e.appDir&&(P=Fn(P)),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return u}function Bn(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",Di(e,t))}function Si(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function Pi(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([Bn(e,t),...t.acceptsChildren?[Si(e)]:[]],!0),t)}async function Ti(e,t,r){let n=V(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}}function jn(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:I(e,e.registryPath,n.filePath);n.exportType==="default"?r=y(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=y(e,r,{namedImports:[n.importName],importPath:o}))}}else r=y(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function Di(e,t){let r=t.externalImportPath?t.externalImportPath:I(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 Vn(e){let t=[],r=await bi(e,t);return await zn(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await yi(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await wi(e,e.pagesDir,t)),t}async function Kn(e){let t=[];return await zn(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Ei(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await vi(e,e.pagesDir,t)),t}async function Ei(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,Mn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let i=await e.formatCode(e.builderComponentPath,$n(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function yi(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,Mn({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,$n(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function $n(e){let t=e.typescriptEnabled;return e.sdkVersion===b.gen2?`
33
33
  "use client";
34
34
  import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
35
35
  import DefaultErrorPage from "next/error";
36
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
36
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(I(e,e.builderComponentPath,e.registryPath))};
37
37
  ${t?`
38
38
  interface BuilderPageProps {
39
39
  content: BuilderContent | null;
@@ -67,7 +67,7 @@ ${t?'import { ComponentProps } from "react";':""}
67
67
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
68
68
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
69
69
  import DefaultErrorPage from "next/error";
70
- import ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
70
+ import ${JSON.stringify(I(e,e.builderComponentPath,e.registryPath))};
71
71
  ${t?`
72
72
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
73
73
 
@@ -88,7 +88,7 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
88
88
  // DefaultErrorPage with a 404.
89
89
  return <DefaultErrorPage statusCode={404} />;
90
90
  }
91
- `.trimStart()}function Kn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=b(e,t,e.builderComponentPath);return e.sdkVersion===I.gen2?`
91
+ `.trimStart()}function Mn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=I(e,t,e.builderComponentPath);return e.sdkVersion===b.gen2?`
92
92
  import { fetchOneEntry } from "@builder.io/sdk-react";
93
93
  import { RenderBuilderContent } from ${JSON.stringify(o)};
94
94
 
@@ -156,7 +156,7 @@ export default async function Page(props${n?": PageProps":""}) {
156
156
  </>
157
157
  );
158
158
  }
159
- `.trimStart()}async function Ti(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,Mn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function yi(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,Mn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Mn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===I.gen2?`
159
+ `.trimStart()}async function wi(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,Un({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function vi(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,Un({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Un({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===b.gen2?`
160
160
  import React from "react";
161
161
  import { useRouter } from "next/router";
162
162
  ${n?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
@@ -169,7 +169,7 @@ import {
169
169
  import DefaultErrorPage from "next/error";
170
170
  import Head from "next/head";
171
171
  ${n?'import { GetStaticProps } from "next";':""}
172
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
172
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(I(e,e.builderComponentPath,e.registryPath))};
173
173
 
174
174
  const BUILDER_API_KEY = process.env.${ie}${n?"!":""};
175
175
 
@@ -252,7 +252,7 @@ import DefaultErrorPage from "next/error";
252
252
  import Head from "next/head";${n?`
253
253
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
254
254
  import { GetStaticProps } from "next";`:""}
255
- import ${JSON.stringify(b(e,t,e.registryPath))};
255
+ import ${JSON.stringify(I(e,t,e.registryPath))};
256
256
 
257
257
  builder.init(process.env.${ie}${n?"!":""});
258
258
 
@@ -318,7 +318,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
318
318
  </>
319
319
  );
320
320
  }
321
- `.trimStart()}async function Di(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}=Ei(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 Ei(e){let t=e.typescriptEnabled,r=`
321
+ `.trimStart()}async function bi(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}=Ii(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 Ii(e){let t=e.typescriptEnabled,r=`
322
322
  "use client"
323
323
  import React, { useState } from "react";
324
324
  import styles from "./styles.module.css";
@@ -381,18 +381,18 @@ export default Counter;
381
381
  font-size: 42px;
382
382
  text-align: center;
383
383
  }
384
- `.trimStart();return{component:r,styles:n}}async function wi(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===I.gen2){let i=vi(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");r.push({filePath:e.registryPath,modifiedType:"create"})}let o=(await fe(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await fe(e,o.id,!0,!1,null,null,!0,!1)}function vi(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
384
+ `.trimStart();return{component:r,styles:n}}async function zn(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===b.gen2){let i=Ri(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");t.push({filePath:e.registryPath,modifiedType:"create"})}if(!r)return;let o=(await fe(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await fe(e,o.id,!0,!1,null,null,!0,!1)}function Ri(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
385
385
 
386
386
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
387
387
  ];`:`export const CUSTOM_COMPONENTS = [
388
388
  ];
389
- `}async function Be(e){let t=await lt(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 I.gen2;if(r.has("@builder.io/react"))return I.gen1}return null}async function Un(e){let t=await bi(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Vn(t),ensureFigmaImportPage:()=>$n(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>fe(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await fe(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>fe(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>fe(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>fe(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>fe(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Me(t),setPublicApiKey:n=>gn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===I.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:()=>re(t),setCache:n=>oe(t,n)}}async function bi(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await Ii(e),o=await jt(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 jt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Ii(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 ye(e,[".env"],qn)}async function zn(e,t){Ri(t);let r=await Xe(e),n=await De(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Ri(e){typeof process<"u"&&(process.env[qn]=e)}var qn="PUBLIC_BUILDER_API_KEY";function Qn(e,t,r){if(r.length===0)return e;let n=e.split(`
389
+ `}async function Be(e){let t=await lt(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 b.gen2;if(r.has("@builder.io/react"))return b.gen1}return null}async function qn(e){let t=await Ni(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Vn(t),ensureFigmaImportPage:()=>Kn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>fe(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await fe(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>fe(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>fe(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>fe(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>fe(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Me(t),setPublicApiKey:n=>gn(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===b.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:()=>re(t),setCache:n=>oe(t,n)}}async function Ni(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await Ai(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 Ai(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 De(e,[".env"],Jn)}async function Qn(e,t){Fi(t);let r=await Xe(e),n=await Ee(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Fi(e){typeof process<"u"&&(process.env[Jn]=e)}var Jn="PUBLIC_BUILDER_API_KEY";function Wn(e,t,r){if(r.length===0)return e;let n=e.split(`
390
390
  `),o=n.findIndex(s=>s.includes(r));if(o===-1||n.some(s=>s.includes(t[0])))return e;let a=["/**",...t.map(s=>` * ${s.trim()}`)," */"];return n.splice(o,0,...a),n.join(`
391
- `)}async function Wn(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(".")||Fi.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await dt(e,o,s,i);r.push(...p)})),r}async function Yn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ni(e,t,n)}return null}function Ni(e,t,r){let n=w(e,r);return dt(e,null,t,n)}async function dt(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 Ai(e,t,r,a);s&&o.push(s)})),o}async function Ai(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=Jn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let p=a.name.text;return{cmpInfo:{id:await _(e,r,p),displayFilePath:O(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=Jn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:O(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 Jn(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 Fi=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Gn(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 dt(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 Hn(e){return Bt(e)}async function Bt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Oi),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Oi=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
391
+ `)}async function Gn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||ki.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await dt(e,o,s,i);r.push(...p)})),r}async function Hn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Oi(e,t,n)}return null}function Oi(e,t,r){let n=w(e,r);return dt(e,null,t,n)}async function dt(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 Li(e,t,r,a);s&&o.push(s)})),o}async function Li(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=Yn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let p=a.name.text;return{cmpInfo:{id:await _(e,r,p),displayFilePath:O(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=Yn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:O(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 Yn(e,t){if(t&&e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)&&t.expression.text==="component$"&&t.arguments.length>0){let r=t.arguments[0];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))return{callExpression:t,fnNode:r}}return null}var ki=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Xn(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 dt(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 Zn(e){return $t(e)}async function $t(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,_i),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var _i=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
392
392
 
393
393
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
394
394
  ];
395
- `;async function Xn(e){await Bt(e);let t=await e.readFile(e.registryPath);return t?Li(e,t):{components:[],sourceFile:w(e,"")}}async function Li(e,t){let r=w(e,t);return ki(e,r)}async function ki(e,t){let r=[],n=V(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:Q(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(v(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 ae(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 Yn(e,s.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let l=p.find(g=>g.cmpInfo.exportName===a);l&&(n.exportName=l.cmpInfo.exportName)}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Zn(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 M(e,[...t])}async function Ie(e,t,r,n,o,i,a,s){let p=await Zn(e),[l,g,f]=await Promise.all([Wn(e,p),Xn(e),Xe(e)]),c=l.map(u=>u.cmpInfo),m=g.components,h={components:te(c,m),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let u=l.find(T=>T.cmpInfo.id===t);if(!u)throw new Error(`Component ${t} not found`);let d=g.sourceFile,x=h.components.find(T=>T.id===t),C=await Gn(e,u);ee(x,C),t=Array.isArray(t)?t[0]:t;let P=me(t,c,m,r,n,o,i),{elements:R,elmIndex:D,statementIndex:S,statement:N,variableDeclaration:B}=await ji(e,d,u),L=!1;if(P.addCmpToRegistry?(R.push(_i(e,P.addCmpToRegistry)),L=!0):P.removeCmpFromRegistry?(R.splice(D,1),L=!0):P.updateRegisteredCmp&&(R[D]=$(e,R[D],P.updateRegisteredCmp),L=!0),L&&a){let T=[...d.statements];T[S]=e.ts.factory.updateVariableStatement(N,N.modifiers,e.ts.factory.updateVariableDeclarationList(N.declarationList,[e.ts.factory.updateVariableDeclaration(B,B.name,B.exclamationToken,B.type,e.ts.factory.createArrayLiteralExpression(le(e,R)))])),d=e.ts.factory.updateSourceFile(d,T),x.exportType==="named"?d=E(e,d,{namedImports:[x.importName],importPath:b(e,e.registryPath,x.filePath)}):d=E(e,d,{defaultImport:x.importName,importPath:b(e,e.registryPath,x.filePath)}),d=E(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),d=ue(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),d=ce(e,d),d=pe(e,d);let y=F(e,d);y=H(y),y=Qn(y,Bi,"CUSTOM_COMPONENTS"),y=await e.formatCode(e.registryPath,y),await e.writeFile(e.registryPath,y)}h.components=P.components}return h}function _i(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function ji(e,t,r){let n=V(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}}var Bi=["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 er(e){let t=await Vi(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Hn(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=>zn(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>re(t),setCache:n=>oe(t,n)}}async function Vi(e){let t=await Ke(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ze(e){return await ye(e,[".env"],et)}async function tr(e,t){let r=await Ze(e),n=await De(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var et="PUBLIC_BUILDER_KEY";async function nr(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"||$i.has(s)||s.includes("$."))return;let p=e.normalize(a.fileName);if(p===e.remixConfigPath||p===e.registryPath||p===i)return;let l=await Ee(e,o,p,a);r.push(...l)})),r}var $i=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function rr(e){await Kt(e);let t=await e.readFile(e.registryPath);return t?Ki(e,t):{components:[],sourceFile:w(e,"")}}async function Ki(e,t){let r=w(e,t);return Mi(e,r)}async function Mi(e,t){let r=[],n=V(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await $t(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function $t(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(v(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 ae(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 bn(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let g=l.find(f=>f.cmpInfo.exportName===a);g&&(n.exportName=g.cmpInfo.exportName)}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function de(e,t,r,n,o,i,a,s){let p=await we(e),[l,g,f]=await Promise.all([nr(e,p),rr(e),Ze(e)]),c=l.map(C=>C.cmpInfo),m=g.components,h={components:te(c,m),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await ke(e,h.components),h;let u=!1,d=g.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(D=>{let S=l.find(N=>N.cmpInfo.id===D);if(!S)throw new Error(`Component ${D} not found`);return S}),P=Array.from(new Set(C.map(D=>D.cmpInfo.filePath))),R=await M(e,P);for(let D of C){let S=h.components.find(A=>A.id===D.cmpInfo.id),N=await _e(e,D,R);ee(S,N);let B=c.findIndex(A=>A.id===D.cmpInfo.id);c[B].inputs=N;let L=me(D.cmpInfo.id,c,m,r,n,o,i),{elements:T,elmIndex:y,statementIndex:U,statement:X,variableDeclaration:K}=await zi(e,d,D);if(L.addCmpToRegistry)T.push(Ui(e,L.addCmpToRegistry)),u=!0;else if(L.removeCmpFromRegistry)T.splice(y,1),u=!0;else if(L.updateRegisteredCmp){let A=$(e,T[y],L.updateRegisteredCmp);T[y]=e.ts.factory.updateObjectLiteralExpression(A,[or(e,L.updateRegisteredCmp),...A.properties.slice(1)]),u=!0}if(u&&a){let A=[...d.statements];A[U]=e.ts.factory.updateVariableStatement(X,X.modifiers,e.ts.factory.updateVariableDeclarationList(X.declarationList,[e.ts.factory.updateVariableDeclaration(K,K.name,K.exclamationToken,K.type,e.ts.factory.createArrayLiteralExpression(le(e,T)))])),d=e.ts.factory.updateSourceFile(d,A),S.exportType==="named"?d=E(e,d,{namedImports:[S.importName],importPath:b(e,e.registryPath,S.filePath)}):d=E(e,d,{defaultImport:S.importName,importPath:b(e,e.registryPath,S.filePath)}),d=E(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(d=E(e,d,{namedImports:["withChildren"],importPath:"@builder.io/react"})),d=ue(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=L.components,m=L.components.filter(z=>z.isRegistered)}}}if(u&&a){d=ce(e,d),d=pe(e,d);let C=F(e,d);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function or(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 Ui(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([or(e,t)],!0),t)}async function zi(e,t,r){let n=V(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 $t(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function ir(e){let t=[],r=await Ji(e,t);return t.push(...await Kt(e)),await Yi(e,r),await Qi(e,t),t}async function ar(e){let t=[];return await qi(e,t),t}async function qi(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,sr({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Qi(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,sr({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function sr({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.${et}`;return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${et}`),n&&(s+="!"),`
395
+ `;async function er(e){await $t(e);let t=await e.readFile(e.registryPath);return t?ji(e,t):{components:[],sourceFile:w(e,"")}}async function ji(e,t){let r=w(e,t);return Bi(e,r)}async function Bi(e,t){let r=[],n=V(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Mt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Mt(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(v(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 ae(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 Hn(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=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function tr(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 M(e,[...t])}async function Ie(e,t,r,n,o,i,a,s){let p=await tr(e),[l,d,f]=await Promise.all([Gn(e,p),er(e),Xe(e)]),c=l.map(u=>u.cmpInfo),m=d.components,x={components:te(c,m),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return x;if(t!=null){let u=l.find(T=>T.cmpInfo.id===t);if(!u)throw new Error(`Component ${t} not found`);let g=d.sourceFile,h=x.components.find(T=>T.id===t),C=await Xn(e,u);ee(h,C),t=Array.isArray(t)?t[0]:t;let P=me(t,c,m,r,n,o,i),{elements:R,elmIndex:E,statementIndex:S,statement:N,variableDeclaration:B}=await Ki(e,g,u),L=!1;if(P.addCmpToRegistry?(R.push(Vi(e,P.addCmpToRegistry)),L=!0):P.removeCmpFromRegistry?(R.splice(E,1),L=!0):P.updateRegisteredCmp&&(R[E]=K(e,R[E],P.updateRegisteredCmp),L=!0),L&&a){let T=[...g.statements];T[S]=e.ts.factory.updateVariableStatement(N,N.modifiers,e.ts.factory.updateVariableDeclarationList(N.declarationList,[e.ts.factory.updateVariableDeclaration(B,B.name,B.exclamationToken,B.type,e.ts.factory.createArrayLiteralExpression(le(e,R)))])),g=e.ts.factory.updateSourceFile(g,T),h.exportType==="named"?g=y(e,g,{namedImports:[h.importName],importPath:I(e,e.registryPath,h.filePath)}):g=y(e,g,{defaultImport:h.importName,importPath:I(e,e.registryPath,h.filePath)}),g=y(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=ue(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=ce(e,g),g=pe(e,g);let D=F(e,g);D=H(D),D=Wn(D,$i,"CUSTOM_COMPONENTS"),D=await e.formatCode(e.registryPath,D),await e.writeFile(e.registryPath,D)}x.components=P.components}return x}function Vi(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Ki(e,t,r){let n=V(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 Mt(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 nr(e){let t=await Mi(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Zn(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=>Qn(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>re(t),setCache:n=>oe(t,n)}}async function Mi(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 De(e,[".env"],et)}async function rr(e,t){let r=await Ze(e),n=await Ee(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var et="PUBLIC_BUILDER_KEY";async function or(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"||Ui.has(s)||s.includes("$."))return;let p=e.normalize(a.fileName);if(p===e.remixConfigPath||p===e.registryPath||p===i)return;let l=await ye(e,o,p,a);r.push(...l)})),r}var Ui=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function ir(e){await gt(e);let t=await e.readFile(e.registryPath);return t?zi(e,t):{components:[],sourceFile:w(e,"")}}async function zi(e,t){let r=w(e,t);return qi(e,r)}async function qi(e,t){let r=[],n=V(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Ut(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Ut(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(v(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 ae(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 bn(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=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function de(e,t,r,n,o,i,a,s){let p=await we(e),[l,d,f]=await Promise.all([or(e,p),ir(e),Ze(e)]),c=l.map(C=>C.cmpInfo),m=d.components,x={components:te(c,m),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return x.components=await ke(e,x.components),x;let u=!1,g=d.sourceFile,h=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(h.length>0){let C=h.map(E=>{let S=l.find(N=>N.cmpInfo.id===E);if(!S)throw new Error(`Component ${E} not found`);return S}),P=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),R=await M(e,P);for(let E of C){let S=x.components.find(A=>A.id===E.cmpInfo.id),N=await _e(e,E,R);ee(S,N);let B=c.findIndex(A=>A.id===E.cmpInfo.id);c[B].inputs=N;let L=me(E.cmpInfo.id,c,m,r,n,o,i),{elements:T,elmIndex:D,statementIndex:U,statement:X,variableDeclaration:$}=await Ji(e,g,E);if(L.addCmpToRegistry)T.push(Qi(e,L.addCmpToRegistry)),u=!0;else if(L.removeCmpFromRegistry)T.splice(D,1),u=!0;else if(L.updateRegisteredCmp){let A=K(e,T[D],L.updateRegisteredCmp);T[D]=e.ts.factory.updateObjectLiteralExpression(A,[ar(e,L.updateRegisteredCmp),...A.properties.slice(1)]),u=!0}if(u&&a){let A=[...g.statements];A[U]=e.ts.factory.updateVariableStatement(X,X.modifiers,e.ts.factory.updateVariableDeclarationList(X.declarationList,[e.ts.factory.updateVariableDeclaration($,$.name,$.exclamationToken,$.type,e.ts.factory.createArrayLiteralExpression(le(e,T)))])),g=e.ts.factory.updateSourceFile(g,A),S.exportType==="named"?g=y(e,g,{namedImports:[S.importName],importPath:I(e,e.registryPath,S.filePath)}):g=y(e,g,{defaultImport:S.importName,importPath:I(e,e.registryPath,S.filePath)}),g=y(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),S.acceptsChildren&&(g=y(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=ue(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x.components=L.components,m=L.components.filter(z=>z.isRegistered)}}}if(u&&a){g=ce(e,g),g=pe(e,g);let C=F(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return x}function ar(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 Qi(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([ar(e,t)],!0),t)}async function Ji(e,t,r){let n=V(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 Ut(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function sr(e){let t=[],r=await Gi(e,t);return t.push(...await gt(e)),await Xi(e,r),await Yi(e,t),t}async function pr(e){let t=[];return t.push(...await gt(e)),await Wi(e,t),t}async function Wi(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,lr({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Yi(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,lr({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function lr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=I(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+="!"),`
396
396
  import { BuilderComponent, builder } from "@builder.io/react";
397
397
  import { useLoaderData } from "@remix-run/react";
398
398
  import { CUSTOM_COMPONENTS } from ${JSON.stringify(o)};
@@ -453,7 +453,7 @@ declare global {
453
453
  }
454
454
  }
455
455
  `:""}
456
- `}async function Ji(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}=Wi(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 g=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${g}`),g||(await e.writeFile(a,p),t.push({filePath:a,modifiedType:"create"})),i}function Wi(e){let t=e.typescriptEnabled,r=`
456
+ `}async function Gi(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}=Hi(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 Hi(e){let t=e.typescriptEnabled,r=`
457
457
  import { useState } from "react";
458
458
  import styles from "./styles.module.css";
459
459
  ${t?`
@@ -516,34 +516,34 @@ export default Counter;
516
516
  font-size: 42px;
517
517
  text-align: center;
518
518
  }
519
- `.trimStart();return{component:r,styles:n}}async function Yi(e,t){let n=(await de(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await de(e,n.id,!0,!1,null,null,!0,!1)}async function Kt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Gi(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Gi(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
519
+ `.trimStart();return{component:r,styles:n}}async function Xi(e,t){let n=(await de(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await de(e,n.id,!0,!1,null,null,!0,!1)}async function gt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Zi(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Zi(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
520
520
 
521
521
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
522
522
  ];`:`export const CUSTOM_COMPONENTS = [
523
523
  ];
524
- `}async function pr(e){let t=await Hi(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:()=>ir(t),ensureFigmaImportPage:()=>ar(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>de(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await de(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>de(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>de(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>de(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>de(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ze(t),setPublicApiKey:n=>tr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===I.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:()=>re(t),setCache:n=>oe(t,n)}}async function Hi(e){let t=await ea(e),r=await ta(e),n=e.dirname(r),o=e.join(n,"components"),i=await Xi(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 Zi(e,r)};return p.sdkVersion=await Be(p),p}function Xi(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Zi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function ea(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 ta(e){let t=await Ke(e,e.getRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function tt(e){let t=[".env"],r=e.configType==="vite"?nt:gt;return await ye(e,t,r)}async function lr(e,t){let r=await tt(e),n=await De(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var nt="VITE_PUBLIC_BUILDER_KEY",gt="YOUR_PUBLIC_BUILDER_KEY";function cr(e,t){let r=`Builder.registerComponent(
524
+ `}async function cr(e){let t=await ea(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:()=>sr(t),ensureFigmaImportPage:()=>pr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>de(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await de(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>de(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>de(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>de(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>de(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ze(t),setPublicApiKey:n=>rr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===b.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:()=>re(t),setCache:n=>oe(t,n)}}async function ea(e){let t=await ra(e),r=await oa(e),n=e.dirname(r),o=e.join(n,"components"),i=await ta(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 na(e,r)};return p.sdkVersion=await Be(p),p}function ta(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function na(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function ra(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 oa(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"?nt:xt;return await De(e,t,r)}async function mr(e,t){let r=await tt(e),n=await Ee(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var nt="VITE_PUBLIC_BUILDER_KEY",xt="YOUR_PUBLIC_BUILDER_KEY";function ur(e,t){let r=`Builder.registerComponent(
525
525
  `;r+=` ${t.importName},
526
526
  `,r+=` {
527
527
  name: "${t.name}",
528
528
  }
529
- `,r+=");";let n=ct(e,r);return Mt(e,n,t)}function Mt(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;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 ur(e){let t=await e.readFile(e.registryPath);return t?na(e,t):{components:[],sourceFile:w(e,"")}}async function na(e,t){let r=w(e,t);return e.sdkVersion===I.gen2?ia(e,r):ra(e,r)}async function ra(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 g=l[1];if(!e.ts.isObjectLiteralExpression(g))continue;let f=l[0];if(e.ts.isIdentifier(f)){let c=await oa(e,t,n,f,g,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}async function oa(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 mr(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 g=l.moduleSpecifier;if(!e.ts.isStringLiteral(g))return null;a.filePath=await mr(e,g.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=J(e,a,o),a.displayFilePath=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function mr(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function ia(e,t){let r=[],n=V(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Ut(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Ut(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};aa(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(v(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isIdentifier(p)&&(s=p.text),!s)continue;n.name===""&&(n.name=j(s)),n.importName=s;let l=await ae(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 g=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=g.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=g.find(h=>!h.importClause||!h.importClause.namedBindings||!e.ts.isNamedImports(h.importClause.namedBindings)?!1:h.importClause.namedBindings.elements.some(u=>u.name.text===s));if(!c)return null;let m=c.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;n.exportName=s}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}function aa(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(v(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}async function ge(e,t,r,n,o,i,a,s){let p=await we(e),[l,g,f,c]=await Promise.all([In(e,p),ur(e),zt(e),tt(e)]),m=l.map(P=>P.cmpInfo),h=g.components,u={components:te(m,h),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(m),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return u.components=await ke(e,u.components),u;let d=!1,x=g.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let N=l.find(B=>B.cmpInfo.id===S);if(!N)throw new Error(`Component ${S} not found`);return N}),R=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),D=await M(e,R);for(let S of P){let N=u.components.find(y=>y.id===S.cmpInfo.id),B=await _e(e,S,D);ee(N,B);let L=m.findIndex(y=>y.id===S.cmpInfo.id);m[L].inputs=B;let T=me(S.cmpInfo.id,m,h,r,n,o,i);if(e.sdkVersion===I.gen2){let{elements:y,elmIndex:U,statementIndex:X,statement:K,variableDeclaration:A}=await sa(e,x,S);if(T.addCmpToRegistry)y.push(pa(e,T.addCmpToRegistry)),d=!0;else if(T.removeCmpFromRegistry)y.splice(U,1),d=!0;else if(T.updateRegisteredCmp){let z=$(e,y[U],T.updateRegisteredCmp),$e=e.ts.factory.createIdentifier(T.updateRegisteredCmp.importName);y[U]=e.ts.factory.updateObjectLiteralExpression(z,[e.ts.factory.createPropertyAssignment("component",$e),...z.properties.slice(1)]),d=!0}if(d&&a){let z=[...x.statements];z[X]=e.ts.factory.updateVariableStatement(K,K.modifiers,e.ts.factory.updateVariableDeclarationList(K.declarationList,[e.ts.factory.updateVariableDeclaration(A,A.name,A.exclamationToken,A.type,e.ts.factory.createArrayLiteralExpression(le(e,y)))])),x=e.ts.factory.updateSourceFile(x,z),x=fr(e,T,x),x=E(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),x=ue(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),u.components=T.components,h=T.components.filter($e=>$e.isRegistered)}}else{let y=[...x.statements];T.addCmpToRegistry?(y.push(cr(e,T.addCmpToRegistry)),d=!0):T.removeCmpFromRegistry?(y.splice(T.nodeIndex,1),d=!0):T.updateRegisteredCmp&&(y[T.nodeIndex]=Mt(e,y[T.nodeIndex],T.updateRegisteredCmp),d=!0),d&&a&&(x=e.ts.factory.updateSourceFile(x,y),x=E(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=fr(e,T,x),N?.acceptsChildren&&(x=E(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),u.components=T.components,h=T.components.filter(U=>U.isRegistered))}}}if(d&&a){x=ce(e,x),x=pe(e,x);let P=F(e,x);P=H(P),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return u}async function sa(e,t,r){let n=V(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 Ut(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function pa(e,t){let r=e.ts.factory.createIdentifier(t.importName);return $(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",r),...t.acceptsChildren?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}function fr(e,t,r){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=b(e,e.registryPath,n.filePath);n.exportType==="default"?r=E(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=E(e,r,{namedImports:[n.importName],importPath:o}))}return r}async function dr(e){let t=[],r=await ma(e,t);if(await ca(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,la(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function gr(e){return[]}function la(e){let t=e.typescriptEnabled;return e.sdkVersion===I.gen2?`
529
+ `,r+=");";let n=ct(e,r);return zt(e,n,t)}function zt(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=K(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function dr(e){let t=await e.readFile(e.registryPath);return t?ia(e,t):{components:[],sourceFile:w(e,"")}}async function ia(e,t){let r=w(e,t);return e.sdkVersion===b.gen2?pa(e,r):aa(e,r)}async function aa(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 sa(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Q(r)}}async function sa(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 fr(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 fr(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=J(e,a,o),a.displayFilePath=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function fr(e,t){return Ye(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function pa(e,t){let r=[],n=V(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:[],acceptsChildren:!1};la(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(v(e,i)==="component"){let s,{initializer:p}=i;if(e.ts.isIdentifier(p)&&(s=p.text),!s)continue;n.name===""&&(n.name=j(s)),n.importName=s;let l=await ae(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(x=>!x.importClause||!x.importClause.namedBindings||!e.ts.isNamedImports(x.importClause.namedBindings)?!1:x.importClause.namedBindings.elements.some(u=>u.name.text===s));if(!c)return null;let m=c.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;n.exportName=s}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}function la(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(v(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}async function ge(e,t,r,n,o,i,a,s){let p=await we(e),[l,d,f,c]=await Promise.all([In(e,p),dr(e),Qt(e),tt(e)]),m=l.map(P=>P.cmpInfo),x=d.components,u={components:te(m,x),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(m),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return u.components=await ke(e,u.components),u;let g=!1,h=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let P=C.map(S=>{let N=l.find(B=>B.cmpInfo.id===S);if(!N)throw new Error(`Component ${S} not found`);return N}),R=Array.from(new Set(P.map(S=>S.cmpInfo.filePath))),E=await M(e,R);for(let S of P){let N=u.components.find(D=>D.id===S.cmpInfo.id),B=await _e(e,S,E);ee(N,B);let L=m.findIndex(D=>D.id===S.cmpInfo.id);m[L].inputs=B;let T=me(S.cmpInfo.id,m,x,r,n,o,i);if(e.sdkVersion===b.gen2){let{elements:D,elmIndex:U,statementIndex:X,statement:$,variableDeclaration:A}=await ca(e,h,S);if(T.addCmpToRegistry)D.push(ma(e,T.addCmpToRegistry)),g=!0;else if(T.removeCmpFromRegistry)D.splice(U,1),g=!0;else if(T.updateRegisteredCmp){let z=K(e,D[U],T.updateRegisteredCmp),Ke=e.ts.factory.createIdentifier(T.updateRegisteredCmp.importName);D[U]=e.ts.factory.updateObjectLiteralExpression(z,[e.ts.factory.createPropertyAssignment("component",Ke),...z.properties.slice(1)]),g=!0}if(g&&a){let z=[...h.statements];z[X]=e.ts.factory.updateVariableStatement($,$.modifiers,e.ts.factory.updateVariableDeclarationList($.declarationList,[e.ts.factory.updateVariableDeclaration(A,A.name,A.exclamationToken,A.type,e.ts.factory.createArrayLiteralExpression(le(e,D)))])),h=e.ts.factory.updateSourceFile(h,z),h=gr(e,T,h),h=y(e,h,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),h=ue(e,h,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),u.components=T.components,x=T.components.filter(Ke=>Ke.isRegistered)}}else{let D=[...h.statements];T.addCmpToRegistry?(D.push(ur(e,T.addCmpToRegistry)),g=!0):T.removeCmpFromRegistry?(D.splice(T.nodeIndex,1),g=!0):T.updateRegisteredCmp&&(D[T.nodeIndex]=zt(e,D[T.nodeIndex],T.updateRegisteredCmp),g=!0),g&&a&&(h=e.ts.factory.updateSourceFile(h,D),h=y(e,h,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),h=gr(e,T,h),N?.acceptsChildren&&(h=y(e,h,{namedImports:["withChildren"],importPath:"@builder.io/react"})),u.components=T.components,x=T.components.filter(U=>U.isRegistered))}}}if(g&&a){h=ce(e,h),h=pe(e,h);let P=F(e,h);P=H(P),P=await e.formatCode(e.registryPath,P),await e.writeFile(e.registryPath,P)}return u}async function ca(e,t,r){let n=V(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}}function ma(e,t){let r=e.ts.factory.createIdentifier(t.importName);return K(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",r),...t.acceptsChildren?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}function gr(e,t,r){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=I(e,e.registryPath,n.filePath);n.exportType==="default"?r=y(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=y(e,r,{namedImports:[n.importName],importPath:o}))}return r}async function xr(e){let t=[],r=await ua(e,t);if(await Sr(e,t,r),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,Cr(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function hr(e){let t=[];await Sr(e,t);let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,n=e.join(e.componentsDir,r);if(!await e.exists(n)){let o=await e.formatCode(n,Cr(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}function Cr(e,t,r="page"){let n=e.typescriptEnabled;return e.sdkVersion===b.gen2?`
530
530
  import React from "react";
531
531
  import {
532
532
  Content,
533
533
  fetchOneEntry,
534
534
  getBuilderSearchParams,
535
535
  isPreviewing,
536
- ${t?"type BuilderContent,":""}
536
+ ${n?"type BuilderContent,":""}
537
537
  } from "@builder.io/sdk-react";
538
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
538
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(I(e,t,e.registryPath))};
539
539
 
540
540
  // Builder Public API Key set in .env file
541
- const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${nt};`:`${gt};`}
542
- const MODEL_NAME = "page";
541
+ const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${nt};`:`${xt};`}
542
+ const MODEL_NAME = "${r}";
543
543
 
544
544
  export default function BuilderPage() {
545
545
  const [notFound, setNotFound] = React.useState(false);
546
- const [content, setContent] = React.useState${t?"<BuilderContent | null>":""}(null);
546
+ const [content, setContent] = React.useState${n?"<BuilderContent | null>":""}(null);
547
547
 
548
548
  // get the page content from Builder
549
549
  React.useEffect(() => {
@@ -588,10 +588,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
588
588
  `:`
589
589
  import React from "react";
590
590
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
591
- import ${JSON.stringify(b(e,e.builderComponentPath,e.registryPath))};
591
+ import ${JSON.stringify(I(e,t,e.registryPath))};
592
592
 
593
593
  // Builder Public API Key set in .env file
594
- ${e.configType==="vite"?`builder.init(import.meta.env.${nt}${t?"!":""})`:`builder.init("${gt}")`}
594
+ ${e.configType==="vite"?`builder.init(import.meta.env.${nt}${n?"!":""})`:`builder.init("${xt}")`}
595
595
 
596
596
  export default function BuilderPage() {
597
597
  const isPreviewingInBuilder = useIsPreviewing();
@@ -602,7 +602,7 @@ export default function BuilderPage() {
602
602
  React.useEffect(() => {
603
603
  async function fetchContent() {
604
604
  const content = await builder
605
- .get("page", {
605
+ .get("${r}", {
606
606
  url: window.location.pathname,
607
607
  })
608
608
  .promise();
@@ -632,11 +632,11 @@ export default function BuilderPage() {
632
632
  return (
633
633
  <>
634
634
  {/* Render the Builder page */}
635
- <BuilderComponent model="page" content={content} />
635
+ <BuilderComponent model="${r}" content={content} />
636
636
  </>
637
637
  );
638
638
  }
639
- `.trimStart()}async function ca(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===I.gen2){let i=fa(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");r.push({filePath:e.registryPath,modifiedType:"create"})}let o=(await ge(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await ge(e,o.id,!0,!1,null,null,!0,!1)}async function ma(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}=ua(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 ua(e){let t=e.typescriptEnabled,r=`
639
+ `.trimStart()}async function Sr(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===b.gen2){let i=da(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");t.push({filePath:e.registryPath,modifiedType:"create"})}if(!r)return;let o=(await ge(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await ge(e,o.id,!0,!1,null,null,!0,!1)}async function ua(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}=fa(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 fa(e){let t=e.typescriptEnabled,r=`
640
640
  "use client"
641
641
  import React, { useState } from "react";
642
642
  import styles from "./styles.module.css";
@@ -699,29 +699,29 @@ export default Counter;
699
699
  font-size: 42px;
700
700
  text-align: center;
701
701
  }
702
- `.trimStart();return{component:r,styles:n}}function fa(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
702
+ `.trimStart();return{component:r,styles:n}}function da(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
703
703
 
704
704
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
705
705
  ];`:`export const CUSTOM_COMPONENTS = [
706
706
  ];
707
- `}async function xr(e){let t=await da(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>dr(t),ensureFigmaImportPage:()=>gr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ge(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ge(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ge(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ge(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ge(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ge(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tt(t),setPublicApiKey:n=>lr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===I.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:()=>re(t),setCache:n=>oe(t,n)}}async function da(e){let t=await ga(e),r=e.getRootDir(),n=e.join(r,"src"),o=await zt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return e.sdkVersion?a.sdkVersion=e.sdkVersion: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 zt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function ga(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function rt(e){return await xa(e,["environment.ts"],xt)}async function hr(e,t){let r=await rt(e),n=await Pa(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function xa(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 ha(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 ha(e,t){let r=await e.readFile(t);return r?Ca(e,r):""}function Ca(e,t){let r=w(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===xt&&e.ts.isStringLiteral(p.initializer)&&(n=p.initializer.text)})}return n}async function Sa(e,t,r,n){let o=w(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 g=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),f=e.ts.factory.createNodeArray([...l.properties,g]),c=e.ts.factory.updateObjectLiteralExpression(l,f),m=e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,c),h=e.ts.factory.updateVariableDeclarationList(s,[m]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,h)}return null}return null}async function Pa(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 Sa(e,o,r,n);if(i){let a=F(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
707
+ `}async function Pr(e){let t=await ga(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>xr(t),ensureFigmaImportPage:()=>hr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ge(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await ge(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ge(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ge(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ge(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ge(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tt(t),setPublicApiKey:n=>mr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===b.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:()=>re(t),setCache:n=>oe(t,n)}}async function ga(e){let t=await xa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Qt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return e.sdkVersion?a.sdkVersion=e.sdkVersion: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 Qt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function xa(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function rt(e){return await ha(e,["environment.ts"],ht)}async function Tr(e,t){let r=await rt(e),n=await Ta(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function ha(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?Sa(e,r):""}function Sa(e,t){let r=w(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===ht&&e.ts.isStringLiteral(p.initializer)&&(n=p.initializer.text)})}return n}async function Pa(e,t,r,n){let o=w(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),m=e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,c),x=e.ts.factory.updateVariableDeclarationList(s,[m]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,x)}return null}return null}async function Ta(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 Pa(e,o,r,n);if(i){let a=F(e,i),s=await e.formatCode(t,a);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${r}" at ${t}`);let i=`
708
708
  // https://www.builder.io/c/docs/using-your-api-key
709
709
  export const environment = {
710
710
  production: false,
711
711
  builderApiKey: "${n}",
712
712
  };
713
- `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var xt="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(Da(e,i.fileName)||a.startsWith(".")||a==="node_modules"||Ta.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let p=await ht(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ta=new Set([]),ya=new Set(["node_modules"]);function Da(e,t){for(let r of ya)if(e.dirname(t).includes(r))return!0;return!1}async function Sr(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 Ea(e,t,n)}return null}function Ea(e,t,r){let n=w(e,r);return ht(e,null,t,n)}async function ht(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(p=>e.ts.isClassDeclaration(p)&&Ia(e,p)),a=await va(e,t,r,n),s=Na(e,n);return await Promise.all(i.map(async p=>{let l=await wa(e,t,r,p,s);o.push(...l)})),o.push(...a),o}async function Pr(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await ht(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 Tr(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await M(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 ht(e,o,a.filePath,s)).find(g=>g.cmpInfo.id===a.id);l&&(a.inputs=be(e,o,l.node.fnNode))}}return a}))}async function wa(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(m=>m.kind===e.ts.SyntaxKind.DefaultKeyword));let g=l?"default":p,f=l?"default":"named",c=[];return n.members.forEach(m=>{if(e.ts.isPropertyDeclaration(m)){let h=e.ts.getDecorators(m);h&&h.forEach(u=>{if(ba(e,u)&&e.ts.isIdentifier(m.name)){let d="any";if(m.type&&t){let C=t.getTypeAtLocation(m.type);d=t.typeToString(C)}else d=Ra(e,m.type);let x={name:m.name.text,type:o[d]?"string":d};o[d]&&(x.enum=o[d]),c.push(x)}})}}),i.push({cmpInfo:{id:await _(e,r,p),displayFilePath:O(e,r),name:j(p),inputs:c,exportName:g,exportType:f,importName:p,filePath:r,relFilePath:a,importPath:s},node:{name:p,fnNode:n,deps:void 0}}),i}async function va(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);for(let s of n.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let p of s.exportClause.elements){let l=p.name?.text;if(!l)continue;let g=l,f="named",c=[];if(t){let m=t.getSymbolAtLocation(p.name);if(m){let h=t.getDeclaredTypeOfSymbol(m);t.getPropertiesOfType(h).forEach(d=>{let x=d.getDeclarations();x&&x.forEach(C=>{if(e.ts.isPropertyDeclaration(C)){let P=t.getTypeAtLocation(C),R={name:d.getName(),type:Aa(e,t,P)};c.push(R)}})})}}o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:O(e,r),name:j(l),inputs:c,exportName:g,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a},node:{name:l,fnNode:p,deps:void 0}})}return o}function ba(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 Ia(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 Ra(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 Na(e,t){let r={};return e.ts.forEachChild(t,n=>{e.ts.isTypeAliasDeclaration(n)&&e.ts.isUnionTypeNode(n.type)&&n.type.types.every(o=>e.ts.isLiteralTypeNode(o)&&e.ts.isStringLiteral(o.literal))&&(r[n.name.text]=n.type.types.map(o=>o.literal.text))}),r}function Aa(e,t,r){let n=t.typeToString(r);if(n==="any"){let o=r.getSymbol();if(o){let i=o.getDeclarations();if(i&&i.length>0){let a=i[0];if(e.ts.isVariableDeclaration(a)){let s=a.type;s&&(n=t.typeToString(t.getTypeAtLocation(s)))}}}}return n}async function 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 Fa(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 Fa(e,t,r){let o=e.typescriptEnabled?"ts":"js",i=r,a=w(e,r),s=b(e,t,e.builderPageComponentPath),p=e.join(e.componentsDir,`counter.component.${o}`);a=E(e,a,{namedImports:["BuilderPage"],importPath:s});let l=b(e,t,p);a=E(e,a,{namedImports:["Counter"],importPath:l}),a=E(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let g=[];for(let f of a.statements)if(e.ts.isClassDeclaration(f)&&f.name?.text==="AppModule"){let c=Oa(e,f);g.push(c)}else g.push(f);return a=e.ts.factory.updateSourceFile(a,g),i=F(e,a),i}function Oa(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=qt(e,o[0],"declarations","BuilderPage");if(i&&(i=qt(e,i,"declarations","Counter"),i&&(i=qt(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 qt(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>v(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let p=yr(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=yr(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function yr(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 Er(e){let t=[],r=await ja(e,t);if(t.push(...await Qt(e)),await La(e,r),!await e.exists(e.builderPageComponentPath)){let n=await e.formatCode(e.builderPageComponentPath,ka(e));await e.writeFile(e.builderPageComponentPath,n),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){let n=await Dr(e);n&&t.push({filePath:n,modifiedType:"update"})}return t}async function Qt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,_a(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function wr(e){let t=[];return await Va(e,t),t}async function La(e,t){let n=(await xe(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await xe(e,n.id,!0,!1,null,null,!0,!1)}function ka(e){let t=!e.hasAppModule,r=b(e,e.builderPageComponentPath,e.registryPath),n=e.join(e.getRootDir(),"src","environments","environment.ts"),o=b(e,e.builderPageComponentPath,n);return`
713
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var ht="builderApiKey";async function Dr(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(ya(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 Ct(e,o,s,i);r.push(...p)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Da=new Set([]),Ea=new Set(["node_modules"]);function ya(e,t){for(let r of Ea)if(e.dirname(t).includes(r))return!0;return!1}async function Er(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 wa(e,t,n)}return null}function wa(e,t,r){let n=w(e,r);return Ct(e,null,t,n)}async function Ct(e,t,r,n){let o=[];r=e.normalize(r);let i=n.statements.filter(p=>e.ts.isClassDeclaration(p)&&Ra(e,p)),a=await ba(e,t,r,n),s=Aa(e,n);return await Promise.all(i.map(async p=>{let l=await va(e,t,r,p,s);o.push(...l)})),o.push(...a),o}async function yr(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Oe(e,t.cmpInfo.filePath,r),a=(await Ct(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 wr(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await M(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 Ct(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 va(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(m=>m.kind===e.ts.SyntaxKind.DefaultKeyword));let d=l?"default":p,f=l?"default":"named",c=[];return n.members.forEach(m=>{if(e.ts.isPropertyDeclaration(m)){let x=e.ts.getDecorators(m);x&&x.forEach(u=>{if(Ia(e,u)&&e.ts.isIdentifier(m.name)){let g="any";if(m.type&&t){let C=t.getTypeAtLocation(m.type);g=t.typeToString(C)}else g=Na(e,m.type);let h={name:m.name.text,type:o[g]?"string":g};o[g]&&(h.enum=o[g]),c.push(h)}})}}),i.push({cmpInfo:{id:await _(e,r,p),displayFilePath:O(e,r),name:j(p),inputs:c,exportName:d,exportType:f,importName:p,filePath:r,relFilePath:a,importPath:s},node:{name:p,fnNode:n,deps:void 0}}),i}async function ba(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=k(e,r);for(let s of n.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let p of s.exportClause.elements){let l=p.name?.text;if(!l)continue;let d=l,f="named",c=[];if(t){let m=t.getSymbolAtLocation(p.name);if(m){let x=t.getDeclaredTypeOfSymbol(m);t.getPropertiesOfType(x).forEach(g=>{let h=g.getDeclarations();h&&h.forEach(C=>{if(e.ts.isPropertyDeclaration(C)){let P=t.getTypeAtLocation(C),R={name:g.getName(),type:Fa(e,t,P)};c.push(R)}})})}}o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:O(e,r),name:j(l),inputs:c,exportName:d,exportType:f,importName:l,filePath:r,relFilePath:i,importPath:a},node:{name:l,fnNode:p,deps:void 0}})}return o}function 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 Ra(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 Na(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 Aa(e,t){let r={};return e.ts.forEachChild(t,n=>{e.ts.isTypeAliasDeclaration(n)&&e.ts.isUnionTypeNode(n.type)&&n.type.types.every(o=>e.ts.isLiteralTypeNode(o)&&e.ts.isStringLiteral(o.literal))&&(r[n.name.text]=n.type.types.map(o=>o.literal.text))}),r}function Fa(e,t,r){let n=t.typeToString(r);if(n==="any"){let o=r.getSymbol();if(o){let i=o.getDeclarations();if(i&&i.length>0){let a=i[0];if(e.ts.isVariableDeclaration(a)){let s=a.type;s&&(n=t.typeToString(t.getTypeAtLocation(s)))}}}}return n}async function St(e,t,r){let n=e.typescriptEnabled?".ts":".js",o=`app.module${n}`,i=e.join(e.appDir,o),a=await e.readFile(i);if(!a){console.error(`Unable to read app.module.${n} at ${i}`);return}let s=await Oa(e,i,t,r,a);if(!s){console.error(`Unable to update app.module.${n} at ${i}`);return}return await e.writeFile(i,s),i}async function Oa(e,t,r,n,o){let i=o,a=w(e,o),s=I(e,t,n);a=y(e,a,{namedImports:[r],importPath:s}),a=y(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let p=[];for(let l of a.statements)if(e.ts.isClassDeclaration(l)&&l.name?.text==="AppModule"){let d=La(e,r,l);p.push(d)}else p.push(l);return a=e.ts.factory.updateSourceFile(a,p),i=F(e,a),i}function La(e,t,r){let n=e.ts.getDecorators(r);if(n){for(let o of n)if(e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="NgModule"){let i=o.expression.arguments;if(i.length===1&&e.ts.isObjectLiteralExpression(i[0])){let a=vr(e,i[0],"declarations",t);if(a){let s=vr(e,a,"imports","Content");if(s&&(a=s),a){let p=e.ts.factory.updateDecorator(o,e.ts.factory.updateCallExpression(o.expression,o.expression.expression,o.expression.typeArguments,[a])),d=[...n.map(f=>f===o?p:f),...e.ts.getModifiers(r)||[]];return e.ts.factory.updateClassDeclaration(r,d,r.name,r.typeParameters,r.heritageClauses,r.members)}}}}}return r}function vr(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>v(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let p=br(e,s.initializer,n);return p?(o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,p),e.ts.factory.updateObjectLiteralExpression(t,o)):null}return null}let a=br(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function br(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 Ir(e){let t=[],r=await ja(e,t);t.push(...await Pt(e)),await ka(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,Nr(e,n,e.builderPageComponentPath,"builder-page","page"));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){await St(e,"Counter",r);let o=await St(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return t}async function Rr(e){let t=[];t.push(...await Pt(e));let r="FigmaImportsPage",n=e.join(e.componentsDir,`figma-imports.component.${e.typescriptEnabled?"ts":"js"}`);if(!await e.exists(n)){let o=await e.formatCode(n,Nr(e,r,n,"figma-imports","figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}if(e.hasAppModule){let o=await St(e,r,n);o&&t.push({filePath:o,modifiedType:"update"})}return t}async function Pt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,_a(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function ka(e,t){let n=(await xe(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await xe(e,n.id,!0,!1,null,null,!0,!1)}function Nr(e,t,r,n,o){let i=!e.hasAppModule,a=I(e,r,e.registryPath),s=e.join(e.getRootDir(),"src","environments","environment.ts"),p=I(e,r,s);return`
714
714
  import { Component, Input } from '@angular/core';
715
715
  import { fetchOneEntry, type BuilderContent } from '@builder.io/sdk-angular';
716
- ${t?"import { Content } from '@builder.io/sdk-angular';":""}
717
- ${t?"import { CommonModule } from '@angular/common';":""}
718
- import { environment } from ${JSON.stringify(o)};
719
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(r)};
716
+ ${i?"import { Content } from '@builder.io/sdk-angular';":""}
717
+ ${i?"import { CommonModule } from '@angular/common';":""}
718
+ import { environment } from ${JSON.stringify(p)};
719
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(a)};
720
720
 
721
721
  @Component({
722
- selector: 'app-builder-page',
723
- ${t?"standalone: true,":""}
724
- ${t?"imports: [Content, CommonModule],":""}
722
+ selector: 'app-${n}',
723
+ ${i?"standalone: true,":""}
724
+ ${i?"imports: [Content, CommonModule],":""}
725
725
  template: \`
726
726
  <ng-container *ngIf="content; else notFound">
727
727
  <builder-content
@@ -737,12 +737,12 @@ import { CUSTOM_COMPONENTS } from ${JSON.stringify(r)};
737
737
  </ng-template>
738
738
  \`,
739
739
  })
740
- export class BuilderPage {
740
+ export class ${t} {
741
741
  title = 'builder page';
742
742
 
743
- @Input() model ${e.typescriptEnabled?": string":""} = 'page'; // Default model is 'page'
743
+ @Input() model ${e.typescriptEnabled?": string":""} = '${o}';
744
744
 
745
- apiKey = environment.${xt};
745
+ apiKey = environment.${ht};
746
746
  ${e.typescriptEnabled?`
747
747
  content: BuilderContent | null = null;
748
748
  `:`
@@ -843,36 +843,17 @@ export class Counter {
843
843
  }
844
844
  }
845
845
 
846
- `.trimStart()}async function Va(e,t){let r=`figma-imports.component.${e.typescriptEnabled?"ts":"js"}`,n=e.join(e.componentsDir,r);if(!await e.exists(n)){let o=await e.formatCode(n,$a(e,n));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}}function $a(e,t){let r=!e.hasAppModule,n=b(e,t,e.builderPageComponentPath);return`
847
- import { Component } from '@angular/core';
848
- ${r?"import { CommonModule } from '@angular/common';":""}
849
-
850
- ${r?`import { BuilderPage } from ${JSON.stringify(n)};`:""}
851
-
852
- @Component({
853
- selector: 'app-figma-imports',
854
- ${r?"standalone: true,":""}
855
- ${r?"imports: [BuilderPage, CommonModule],":""}
856
- template: \`
857
- <app-builder-page [model]="'figma-imports'"></app-builder-page>
858
- \`,
859
- })
860
- export class FigmaImportsPage {
861
- title = 'figma imports';
862
-
863
- }
864
-
865
- `.trimStart()}async function vr(e){await Qt(e);let t=await e.readFile(e.registryPath);return t?Ka(e,t):{components:[],sourceFile:w(e,"")}}async function Ka(e,t){let r=w(e,t);return Ma(e,r)}async function Ma(e,t){let r=[],n=V(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(v(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let g=s.arguments[0];e.ts.isIdentifier(g)&&(a=g.text)}if(!a)continue;n.name===""&&(n.name=j(a)),n.importName=a;let p=await ae(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 Sr(e,p.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let g=l.find(f=>f.cmpInfo.exportName===a);g&&(n.exportName=g.cmpInfo.exportName)}continue}}return n=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function xe(e,t,r,n,o,i,a,s){let p=await we(e),[l,g,f]=await Promise.all([Cr(e,p),vr(e),rt(e)]),c=l.map(C=>C.cmpInfo),m=g.components,h={components:te(c,m),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Tr(e,h.components),h;let u=!1,d=g.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let C=x.map(D=>{let S=l.find(N=>N.cmpInfo.id===D);if(!S)throw new Error(`Component ${D} not found`);return S}),P=Array.from(new Set(C.map(D=>D.cmpInfo.filePath))),R=await M(e,P);for(let D of C){let S=h.components.find(A=>A.id===D.cmpInfo.id),N=await Pr(e,D,R);ee(S,N);let B=c.findIndex(A=>A.id===D.cmpInfo.id);c[B].inputs=N;let L=me(D.cmpInfo.id,c,m,r,n,o,i),{elements:T,elmIndex:y,statementIndex:U,statement:X,variableDeclaration:K}=await za(e,d,D);if(L.addCmpToRegistry)T.push(Ua(e,L.addCmpToRegistry)),u=!0;else if(L.removeCmpFromRegistry)T.splice(y,1),u=!0;else if(L.updateRegisteredCmp){let A=$(e,T[y],L.updateRegisteredCmp);T[y]=e.ts.factory.updateObjectLiteralExpression(A,[br(e,L.updateRegisteredCmp),...A.properties.slice(1)]),u=!0}if(u&&a){let A=[...d.statements];A[U]=e.ts.factory.updateVariableStatement(X,X.modifiers,e.ts.factory.updateVariableDeclarationList(X.declarationList,[e.ts.factory.updateVariableDeclaration(K,K.name,K.exclamationToken,K.type,e.ts.factory.createArrayLiteralExpression(le(e,T)))])),d=e.ts.factory.updateSourceFile(d,A),S.exportType==="named"?d=E(e,d,{namedImports:[S.importName],importPath:b(e,e.registryPath,S.filePath)}):d=E(e,d,{defaultImport:S.importName,importPath:b(e,e.registryPath,S.filePath)}),d=E(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),d=ue(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=L.components,m=L.components.filter(z=>z.isRegistered)}}}if(u&&a){d=ce(e,d),d=pe(e,d);let C=F(e,d);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function br(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Ua(e,t){return $(e,e.ts.factory.createObjectLiteralExpression([br(e,t)],!0),t)}async function za(e,t,r){let n=V(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}}async function Ir(e){let t=await qa(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>Er(t),ensureFigmaImportPage:()=>wr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>xe(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await xe(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>xe(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>xe(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>xe(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>xe(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>rt(t),setPublicApiKey:n=>hr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>re(t),setCache:n=>oe(t,n)}}async function qa(e){let t=await Ja(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Qa(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:"",hasAppModule:!1};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(a.appDir,"components"),a.registryPath=e.join(a.appDir,i),a.builderPageComponentPath=e.join(a.componentsDir,`builder-page.component.${o?"ts":"js"}`);let s=`app.module.${o?"ts":"js"}`,p=e.join(a.appDir,s);return await e.exists(p)&&(a.hasAppModule=!0),a}function Qa(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Ja(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 Dt=xo(Kr(),1);async function Mr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:Z(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:W(i.inputs)};return W(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,Dt.compress)(n);return btoa(JSON.stringify(o))}async function Ur(e,t,r){if(typeof r!="string")throw new Error("Invalid registry to import");let n=await t.getRegistry(),o=JSON.parse(atob(r)),i=(0,Dt.decompress)(o),a=W(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let p=Z(e.normalize(s.filePath)),l=n.components.find(f=>Z(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 g=await t.setRegisteredComponentInfo({cmpId:l.id,name:s.name,image:s.image,description:s.description});a=W(g)}return a}var ne={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},qu={[ne.react]:[{version:I.gen1,recommended:!0},{version:I.gen2,recommended:!1}],[ne.remix]:[{version:I.gen1,recommended:!1}],[ne.angular]:[{version:I.gen2,recommended:!0}],[ne.next]:[{version:I.gen1,recommended:!0},{version:I.gen2,recommended:!1}],[ne.qwik]:[{version:I.gen2,recommended:!0}]};var hs={"@builder.io/qwik-city":er,next:Un,"@remix-run/react":pr,react:xr,"@angular/core":Ir},Cs={"@builder.io/qwik-city":ne.qwik,next:ne.next,"@remix-run/react":ne.remix,react:ne.react,"@angular/core":ne.angular};async function zr(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 Te(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=hs[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Mr(e,n),importRegistry:i=>Ur(e,n,i),framework:Cs[t.name]}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function qr(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 m="",h=0,u=-1,d=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(!(u===C-1||d===1))if(u!==C-1&&d===2){if(m.length<2||h!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){let P=m.lastIndexOf("/");if(P!==m.length-1){P===-1?(m="",h=0):(m=m.slice(0,P),h=m.length-1-m.lastIndexOf("/")),u=C,d=0;continue}}else if(m.length===2||m.length===1){m="",h=0,u=C,d=0;continue}}c&&(m.length>0?m+="/..":m="..",h=2)}else m.length>0?m+="/"+f.slice(u+1,C):m=f.slice(u+1,C),h=C-u-1;u=C,d=0}else x===46&&d!==-1?++d:d=-1}return m}let n=function(...c){let m="",h=!1;for(let u=c.length-1;u>=-1&&!h;u--){let d;u>=0?d=c[u]:e.cwd?d=e.cwd():d="/",t(d),d.length!==0&&(m=d+"/"+m,h=d.charCodeAt(0)===47)}return m=r(m,!h),h?m.length>0?"/"+m:"/":m.length>0?m:"."},o=function(c){if(t(c),c.length===0)return".";let m=c.charCodeAt(0)===47,h=c.charCodeAt(c.length-1)===47;return c=r(c,!m),c.length===0&&!m&&(c="."),c.length>0&&h&&(c+="/"),m?"/"+c:c};return{relative:function(c,m){if(t(c),t(m),c===m||(c=n(c),m=n(m),c===m))return"";let h=1;for(;h<c.length&&c.charCodeAt(h)===47;++h);let u=c.length,d=u-h,x=1;for(;x<m.length&&m.charCodeAt(x)===47;++x);let P=m.length-x,R=d<P?d:P,D=-1,S=0;for(;S<=R;++S){if(S===R){if(P>R){if(m.charCodeAt(x+S)===47)return m.slice(x+S+1);if(S===0)return m.slice(x+S)}else d>R&&(c.charCodeAt(h+S)===47?D=S:S===0&&(D=0));break}let B=c.charCodeAt(h+S),L=m.charCodeAt(x+S);if(B!==L)break;B===47&&(D=S)}let N="";for(S=h+D+1;S<=u;++S)(S===u||c.charCodeAt(S)===47)&&(N.length===0?N+="..":N+="/..");return N.length>0?N+m.slice(x+D):(x+=D,m.charCodeAt(x)===47&&++x,m.slice(x))},resolve:n,join:function(...c){if(c.length===0)return".";let m;for(let h=0;h<c.length;++h){let u=c[h];t(u),u.length>0&&(m===void 0?m=u:m+="/"+u)}return m===void 0?".":o(m)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,m){if(m!==void 0&&typeof m!="string")throw new TypeError('"ext" argument must be a string');t(c);let h=0,u=-1,d=!0,x;if(m!==void 0&&m.length>0&&m.length<=c.length){if(m.length===c.length&&m===c)return"";let C=m.length-1,P=-1;for(x=c.length-1;x>=0;--x){let R=c.charCodeAt(x);if(R===47){if(!d){h=x+1;break}}else P===-1&&(d=!1,P=x+1),C>=0&&(R===m.charCodeAt(C)?--C===-1&&(u=x):(C=-1,u=P))}return h===u?u=P:u===-1&&(u=c.length),c.slice(h,u)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!d){h=x+1;break}}else u===-1&&(d=!1,u=x+1);return u===-1?"":c.slice(h,u)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let m=c.charCodeAt(0),h=m===47,u=-1,d=!0;for(let x=c.length-1;x>=1;--x)if(m=c.charCodeAt(x),m===47){if(!d){u=x;break}}else d=!1;return u===-1?h?"/":".":h&&u===1?"//":c.slice(0,u)},extname:function(c){t(c);let m=-1,h=0,u=-1,d=!0,x=0;for(let C=c.length-1;C>=0;--C){let P=c.charCodeAt(C);if(P===47){if(!d){h=C+1;break}continue}u===-1&&(d=!1,u=C+1),P===46?m===-1?m=C:x!==1&&(x=1):m!==-1&&(x=-1)}return m===-1||u===-1||x===0||x===1&&m===u-1&&m===h+1?"":c.slice(m,u)}}}async function Qr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=qr({cwd:r,...e}),o=new Map,i=u=>n.normalize(n.resolve(r(),u)),a=u=>{for(let[d]of o)if((d+"/").startsWith(u))return!0;return u===t()},s=u=>(u=i(u),o.has(u)?!0:a(u)),p=u=>{u=i(u);let d=u===t()?u:u+"/",x=d.split("/").length-1,C=[];for(let[P]of o)if(P.split("/").slice(0,x).join("/")+"/"===d){let S=P.split("/")[x];S&&!C.includes(S)&&C.push(S)}return C.sort()},l=u=>{u=i(u);let d=o.get(u);return typeof d=="string"?d:null},g=u=>(u=i(u),{isFile:()=>o.has(u),isDirectory:()=>!o.has(u)&&a(u)}),f=async u=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(u),P=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(P)).map(R=>R.toString(16).padStart(2,"0")).join("")}let d=0;for(let x=0;x<u.length;x++){let C=u.charCodeAt(x);d=(d<<5)-d+C,d|=0}return Number(Math.abs(d)).toString(36)},c=new Set,m={getRootDir:t,cwd:r,exists:async u=>s(u),existsSync:s,readdir:async u=>p(u),readdirSync:p,readFile:async u=>l(u),readFileSync:l,stat:async u=>g(u),statSync:g,writeFile:async(u,d)=>{u=i(u),o.set(u,d);let x={path:u,basename:n.basename(u),dirname:n.dirname(u),extname:n.extname(u)};for(let C of c)await C(x)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",formatCode:async(u,d)=>d,on:(u,d)=>{u==="change"&&c.add(d)},off:(u,d)=>{u==="change"&&c.delete(d)},debug:(...u)=>{console.debug("[builder-dev-tools]",...u)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null},h=await Te(m);return m.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,m}async function Jr(e,t,r){let n=w(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Wr(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 g=s[0];if(!g.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=g.statement;if(!e.ts.isVariableStatement(f))throw new Error(`Expected an export assignment from ${t}`);let c=g.statement;if(e.ts.isVariableStatement(c)){let m=[...c.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let h=m[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let u=h.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let d="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(d),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,x),n=E(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let 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 g=p.statement;if(!e.ts.isExpressionStatement(g))throw new Error("Expected an expression statement for the default export");let f=g.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=pn(e,n);n=c.sourceFile;let m=[...n.statements],h=m.indexOf(g);return m[h]=e.ts.factory.updateExpressionStatement(g,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,m),o.content=F(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let g=[...l.declarationList.declarations];if(g.length!==1)throw new Error("Expected a single variable declaration");let f=g[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 m=pn(e,n);n=m.sourceFile;let h=[...n.statements],u=h.indexOf(l);return h[u]=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(m.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(p.node)){let g=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 u=[...h.statements],d=u.findIndex(D=>e.ts.isReturnStatement(D));if(d===-1)throw new Error("Expected a return statement on the next config function");let x=u[d],C=pn(e,n);n=C.sourceFile,u[d]=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(g,g.modifiers,g.typeParameters,g.parameters,g.type,g.equalsGreaterThanToken,e.ts.factory.updateBlock(h,u)))),n=e.ts.factory.updateSourceFile(n,P),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Wr(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 pn(e,t){let r=Wr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/next")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}async function Hr(e,t,r){let n=w(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Xr(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 g=s[0];if(!g.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=g.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let c="builderDevTools()",m=Ss(e,f.expression);if(!m)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[m]),u=[...n.statements],d=u.indexOf(f);return u[d]=e.ts.factory.updateExportAssignment(f,f.modifiers,h),n=e.ts.factory.updateSourceFile(n,u),n=E(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=F(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 g=p.statement;if(!e.ts.isExpressionStatement(g))throw new Error("Expected an expression statement for the default export");let f=g.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Yr(e,n);n=c.sourceFile;let m=[...n.statements],h=m.indexOf(g);return m[h]=e.ts.factory.updateExpressionStatement(g,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,m),o.content=F(e,n),o.hasContentUpdates=!0,o}let l=p.statement;if(e.ts.isVariableStatement(l)){let g=[...l.declarationList.declarations];if(g.length!==1)throw new Error("Expected a single variable declaration");let f=g[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 m=Yr(e,n);n=m.sourceFile;let h=[...n.statements],u=h.indexOf(l);return h[u]=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(m.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Xr(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 Yr(e,t){let r=Xr(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 Ss(e,t){let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="serverDependenciesToBundle");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("serverDependenciesToBundle",o)]):null}function Gr(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 eo(e,t,r){let n=w(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 g=Ps(e,l);if(!g)return s;p[0]=e.ts.factory.updateArrowFunction(l,l.modifiers,l.typeParameters,l.parameters,l.type,l.equalsGreaterThanToken,g);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=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(l)){let g=ln(e,l);if(!g)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,[g])),n=e.ts.factory.updateSourceFile(n,f),n=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let p=ln(e,a.expression);if(!p)return s;let l=[...n.statements],g=l.indexOf(a);return l[g]=e.ts.factory.updateExportAssignment(a,a.modifiers,p),n=e.ts.factory.updateSourceFile(n,l),n=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Ps(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=ln(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function ln(e,t){if(Ds(e)){let i=Ts(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="plugins");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("plugins",o)]):null}function Zr(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 Ts(e,t){let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=ys(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=cn(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 ys(e,t){let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=cn(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=cn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function cn(e,t){return t.elements.some(n=>e.ts.isStringLiteral(n)?n.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createStringLiteral("@builder.io/react")])}function Ds(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function to(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 ro(e,t,r){e.debug("Angular config updates are currently in progress...");try{await vs(e)}catch{console.error("Unable to update package.json.")}return await Es(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function Es(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 ws(e,o);await e.writeFile(n,i)}async function ws(e,t){let r=t,n=w(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=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
846
+ `.trimStart()}async function Ar(e){await Pt(e);let t=await e.readFile(e.registryPath);return t?Va(e,t):{components:[],sourceFile:w(e,"")}}async function Va(e,t){let r=w(e,t);return Ka(e,r)}async function Ka(e,t){let r=[],n=V(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(v(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 ae(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 Er(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=J(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function xe(e,t,r,n,o,i,a,s){let p=await we(e),[l,d,f]=await Promise.all([Dr(e,p),Ar(e),rt(e)]),c=l.map(C=>C.cmpInfo),m=d.components,x={components:te(c,m),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:se(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return x.components=await wr(e,x.components),x;let u=!1,g=d.sourceFile,h=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(h.length>0){let C=h.map(E=>{let S=l.find(N=>N.cmpInfo.id===E);if(!S)throw new Error(`Component ${E} not found`);return S}),P=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),R=await M(e,P);for(let E of C){let S=x.components.find(A=>A.id===E.cmpInfo.id),N=await yr(e,E,R);ee(S,N);let B=c.findIndex(A=>A.id===E.cmpInfo.id);c[B].inputs=N;let L=me(E.cmpInfo.id,c,m,r,n,o,i),{elements:T,elmIndex:D,statementIndex:U,statement:X,variableDeclaration:$}=await Ma(e,g,E);if(L.addCmpToRegistry)T.push($a(e,L.addCmpToRegistry)),u=!0;else if(L.removeCmpFromRegistry)T.splice(D,1),u=!0;else if(L.updateRegisteredCmp){let A=K(e,T[D],L.updateRegisteredCmp);T[D]=e.ts.factory.updateObjectLiteralExpression(A,[Fr(e,L.updateRegisteredCmp),...A.properties.slice(1)]),u=!0}if(u&&a){let A=[...g.statements];A[U]=e.ts.factory.updateVariableStatement(X,X.modifiers,e.ts.factory.updateVariableDeclarationList(X.declarationList,[e.ts.factory.updateVariableDeclaration($,$.name,$.exclamationToken,$.type,e.ts.factory.createArrayLiteralExpression(le(e,T)))])),g=e.ts.factory.updateSourceFile(g,A),S.exportType==="named"?g=y(e,g,{namedImports:[S.importName],importPath:I(e,e.registryPath,S.filePath)}):g=y(e,g,{defaultImport:S.importName,importPath:I(e,e.registryPath,S.filePath)}),g=y(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),g=ue(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x.components=L.components,m=L.components.filter(z=>z.isRegistered)}}}if(u&&a){g=ce(e,g),g=pe(e,g);let C=F(e,g);C=H(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return x}function Fr(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function $a(e,t){return K(e,e.ts.factory.createObjectLiteralExpression([Fr(e,t)],!0),t)}async function Ma(e,t,r){let n=V(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}}async function Or(e){let t=await Ua(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>Ir(t),ensureFigmaImportPage:()=>Rr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>xe(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await xe(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>xe(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>xe(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>xe(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>xe(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>rt(t),setPublicApiKey:n=>Tr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>re(t),setCache:n=>oe(t,n)}}async function Ua(e){let t=await qa(e),r=e.getRootDir(),n=e.join(r,"src"),o=await za(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:"",angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:"",hasAppModule:!1};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getRootDir()}".`);a.srcDir=n,a.appDir=e.join(n,"app"),a.componentsDir=e.join(a.appDir,"components"),a.registryPath=e.join(a.appDir,i),a.builderPageComponentPath=e.join(a.componentsDir,`builder-page.component.${o?"ts":"js"}`);let s=`app.module.${o?"ts":"js"}`,p=e.join(a.appDir,s);return await e.exists(p)&&(a.hasAppModule=!0),a}function za(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function qa(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 vt=To(Qr(),1);async function Jr(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:Z(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:W(i.inputs)};return W(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,vt.compress)(n);return btoa(JSON.stringify(o))}async function Wr(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,vt.decompress)(o),a=W(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let p=Z(e.normalize(s.filePath)),l=n.components.find(f=>Z(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=W(d)}return a}var ne={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Uu={[ne.react]:[{version:b.gen1,recommended:!0},{version:b.gen2,recommended:!1}],[ne.remix]:[{version:b.gen1,recommended:!1}],[ne.angular]:[{version:b.gen2,recommended:!0}],[ne.next]:[{version:b.gen1,recommended:!0},{version:b.gen2,recommended:!1}],[ne.qwik]:[{version:b.gen2,recommended:!0}]};var gs={"@builder.io/qwik-city":nr,next:qn,"@remix-run/react":cr,react:Pr,"@angular/core":Or},xs={"@builder.io/qwik-city":ne.qwik,next:ne.next,"@remix-run/react":ne.remix,react:ne.react,"@angular/core":ne.angular};async function Yr(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 Te(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=gs[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Jr(e,n),importRegistry:i=>Wr(e,n,i),framework:xs[t.name]}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Gr(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 m="",x=0,u=-1,g=0,h;for(let C=0;C<=f.length;++C){if(C<f.length)h=f.charCodeAt(C);else{if(h===47)break;h=47}if(h===47){if(!(u===C-1||g===1))if(u!==C-1&&g===2){if(m.length<2||x!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){let P=m.lastIndexOf("/");if(P!==m.length-1){P===-1?(m="",x=0):(m=m.slice(0,P),x=m.length-1-m.lastIndexOf("/")),u=C,g=0;continue}}else if(m.length===2||m.length===1){m="",x=0,u=C,g=0;continue}}c&&(m.length>0?m+="/..":m="..",x=2)}else m.length>0?m+="/"+f.slice(u+1,C):m=f.slice(u+1,C),x=C-u-1;u=C,g=0}else h===46&&g!==-1?++g:g=-1}return m}let n=function(...c){let m="",x=!1;for(let u=c.length-1;u>=-1&&!x;u--){let g;u>=0?g=c[u]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(m=g+"/"+m,x=g.charCodeAt(0)===47)}return m=r(m,!x),x?m.length>0?"/"+m:"/":m.length>0?m:"."},o=function(c){if(t(c),c.length===0)return".";let m=c.charCodeAt(0)===47,x=c.charCodeAt(c.length-1)===47;return c=r(c,!m),c.length===0&&!m&&(c="."),c.length>0&&x&&(c+="/"),m?"/"+c:c};return{relative:function(c,m){if(t(c),t(m),c===m||(c=n(c),m=n(m),c===m))return"";let x=1;for(;x<c.length&&c.charCodeAt(x)===47;++x);let u=c.length,g=u-x,h=1;for(;h<m.length&&m.charCodeAt(h)===47;++h);let P=m.length-h,R=g<P?g:P,E=-1,S=0;for(;S<=R;++S){if(S===R){if(P>R){if(m.charCodeAt(h+S)===47)return m.slice(h+S+1);if(S===0)return m.slice(h+S)}else g>R&&(c.charCodeAt(x+S)===47?E=S:S===0&&(E=0));break}let B=c.charCodeAt(x+S),L=m.charCodeAt(h+S);if(B!==L)break;B===47&&(E=S)}let N="";for(S=x+E+1;S<=u;++S)(S===u||c.charCodeAt(S)===47)&&(N.length===0?N+="..":N+="/..");return N.length>0?N+m.slice(h+E):(h+=E,m.charCodeAt(h)===47&&++h,m.slice(h))},resolve:n,join:function(...c){if(c.length===0)return".";let m;for(let x=0;x<c.length;++x){let u=c[x];t(u),u.length>0&&(m===void 0?m=u:m+="/"+u)}return m===void 0?".":o(m)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,m){if(m!==void 0&&typeof m!="string")throw new TypeError('"ext" argument must be a string');t(c);let x=0,u=-1,g=!0,h;if(m!==void 0&&m.length>0&&m.length<=c.length){if(m.length===c.length&&m===c)return"";let C=m.length-1,P=-1;for(h=c.length-1;h>=0;--h){let R=c.charCodeAt(h);if(R===47){if(!g){x=h+1;break}}else P===-1&&(g=!1,P=h+1),C>=0&&(R===m.charCodeAt(C)?--C===-1&&(u=h):(C=-1,u=P))}return x===u?u=P:u===-1&&(u=c.length),c.slice(x,u)}else{for(h=c.length-1;h>=0;--h)if(c.charCodeAt(h)===47){if(!g){x=h+1;break}}else u===-1&&(g=!1,u=h+1);return u===-1?"":c.slice(x,u)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let m=c.charCodeAt(0),x=m===47,u=-1,g=!0;for(let h=c.length-1;h>=1;--h)if(m=c.charCodeAt(h),m===47){if(!g){u=h;break}}else g=!1;return u===-1?x?"/":".":x&&u===1?"//":c.slice(0,u)},extname:function(c){t(c);let m=-1,x=0,u=-1,g=!0,h=0;for(let C=c.length-1;C>=0;--C){let P=c.charCodeAt(C);if(P===47){if(!g){x=C+1;break}continue}u===-1&&(g=!1,u=C+1),P===46?m===-1?m=C:h!==1&&(h=1):m!==-1&&(h=-1)}return m===-1||u===-1||h===0||h===1&&m===u-1&&m===x+1?"":c.slice(m,u)}}}async function Hr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Gr({cwd:r,...e}),o=new Map,i=u=>n.normalize(n.resolve(r(),u)),a=u=>{for(let[g]of o)if((g+"/").startsWith(u))return!0;return u===t()},s=u=>(u=i(u),o.has(u)?!0:a(u)),p=u=>{u=i(u);let g=u===t()?u:u+"/",h=g.split("/").length-1,C=[];for(let[P]of o)if(P.split("/").slice(0,h).join("/")+"/"===g){let S=P.split("/")[h];S&&!C.includes(S)&&C.push(S)}return C.sort()},l=u=>{u=i(u);let g=o.get(u);return typeof g=="string"?g:null},d=u=>(u=i(u),{isFile:()=>o.has(u),isDirectory:()=>!o.has(u)&&a(u)}),f=async u=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(u),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 h=0;h<u.length;h++){let C=u.charCodeAt(h);g=(g<<5)-g+C,g|=0}return Number(Math.abs(g)).toString(36)},c=new Set,m={getRootDir:t,cwd:r,exists:async u=>s(u),existsSync:s,readdir:async u=>p(u),readdirSync:p,readFile:async u=>l(u),readFileSync:l,stat:async u=>d(u),statSync:d,writeFile:async(u,g)=>{u=i(u),o.set(u,g);let h={path:u,basename:n.basename(u),dirname:n.dirname(u),extname:n.extname(u)};for(let C of c)await C(h)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",formatCode:async(u,g)=>g,on:(u,g)=>{u==="change"&&c.add(g)},off:(u,g)=>{u==="change"&&c.delete(g)},debug:(...u)=>{console.debug("[builder-dev-tools]",...u)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null,kind:null},x=await Te(m);return m.getFrameworks=e.getFrameworks?e.getFrameworks:()=>x,m}async function Xr(e,t,r){let n=w(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Zr(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 m=[...c.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let x=m[0];if(!x.initializer)throw new Error("Expected an initializer on the declaration");let u=x.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let g="BuilderDevTools()",h=[...n.statements],C=h.indexOf(c);return h[C]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(x,x.name,x.exclamationToken,x.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),n=y(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let 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=pn(e,n);n=c.sourceFile;let m=[...n.statements],x=m.indexOf(d);return m[x]=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,m),o.content=F(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 m=pn(e,n);n=m.sourceFile;let x=[...n.statements],u=x.indexOf(l);return x[u]=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(m.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,x),o.content=F(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 x=p.node.body;if(!e.ts.isBlock(x))throw new Error("Expected a block body on the next config function");let u=[...x.statements],g=u.findIndex(E=>e.ts.isReturnStatement(E));if(g===-1)throw new Error("Expected a return statement on the next config function");let h=u[g],C=pn(e,n);n=C.sourceFile,u[g]=e.ts.factory.updateReturnStatement(h,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[h.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(x,u)))),n=e.ts.factory.updateSourceFile(n,P),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Zr(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 pn(e,t){let r=Zr(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 no(e,t,r){let n=w(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(ro(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()",m=hs(e,f.expression);if(!m)return o;let x=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[m]),u=[...n.statements],g=u.indexOf(f);return u[g]=e.ts.factory.updateExportAssignment(f,f.modifiers,x),n=e.ts.factory.updateSourceFile(n,u),n=y(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=F(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=eo(e,n);n=c.sourceFile;let m=[...n.statements],x=m.indexOf(d);return m[x]=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,m),o.content=F(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 m=eo(e,n);n=m.sourceFile;let x=[...n.statements],u=x.indexOf(l);return x[u]=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(m.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,x),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function ro(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 eo(e,t){let r=ro(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 hs(e,t){let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=to(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=to(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function to(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 io(e,t,r){let n=w(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=Cs(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=y(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(l)){let d=ln(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=y(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let p=ln(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=y(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Cs(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=ln(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function ln(e,t){if(Ts(e)){let i=Ss(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=oo(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=oo(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function oo(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 Ss(e,t){let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Ps(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=cn(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 Ps(e,t){let r=[...t.properties],n=r.findIndex(i=>v(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=cn(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=cn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function cn(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 Ts(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function ao(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 po(e,t,r){e.debug("Angular config updates are currently in progress...");try{await ys(e)}catch{console.error("Unable to update package.json.")}return await Ds(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function Ds(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 Es(e,o);await e.writeFile(n,i)}async function Es(e,t){let r=t,n=w(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=y(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
866
847
  builderDevTools().catch((err: Error) =>
867
848
  console.error("Error starting dev tools:", err)
868
- );`;return r=F(e,n),o||(r+=i),r}async function vs(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=bs(n);o&&await e.writeFile(r,o)}function bs(e){let t=JSON.parse(e);if(t.scripts=t.scripts||{},t.scripts[no])return;let r=t.scripts.start||t.scripts.dev||"ng serve";return t.scripts[no]=`concurrently "${r}" "${Is}"`,JSON.stringify(t,null,2)+`
869
- `}var no="builder-dev",Is="npx builder-dev-tools";var io=[{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:ro},{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Jr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:eo},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Hr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:to}];async function mn(e){let t=e.resolve("/");for(let n of io)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 Te(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,oo),{id:"next",filePath:n,content:oo}}return null}async function ao(e){let t=await mn(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await io.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 oo=`
849
+ );`;return r=F(e,n),o||(r+=i),r}async function ys(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=ws(n);o&&await e.writeFile(r,o)}function ws(e){let t=JSON.parse(e);if(t.scripts=t.scripts||{},t.scripts[so])return;let r=t.scripts.start||t.scripts.dev||"ng serve";return t.scripts[so]=`concurrently "${r}" "${vs}"`,JSON.stringify(t,null,2)+`
850
+ `}var so="builder-dev",vs="npx builder-dev-tools";var co=[{id:"angular",configFileNames:["angular.json"],ensureConfigPlugin:po},{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Xr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:io},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:no},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:ao}];async function mn(e){let t=e.resolve("/");for(let n of co)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 Te(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,lo),{id:"next",filePath:n,content:lo}}return null}async function mo(e){let t=await mn(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await co.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 lo=`
870
851
  /** @type {import('next').NextConfig} */
871
852
  const nextConfig = {
872
853
  }
873
854
 
874
855
  module.exports = nextConfig
875
- `.trimStart();var so="/~builder-dev-tools.js";function po(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(so,e);t.searchParams.set("v",st);let r=JSON.stringify(st),n=`/* Builder Devtools v${st} */
856
+ `.trimStart();var uo="/~builder-dev-tools.js";function fo(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(uo,e);t.searchParams.set("v",st);let r=JSON.stringify(st),n=`/* Builder Devtools v${st} */
876
857
  `;return n+=`(() => {
877
858
  `,n+=` if (typeof document !== "undefined") {
878
859
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -885,4 +866,4 @@ module.exports = nextConfig
885
866
  `,n+=` }
886
867
  `,n+=` }
887
868
  `,n+=`})();
888
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var st="1.1.22";
869
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var st="1.1.24";