builder.io 1.6.14 → 1.6.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/index.mjs CHANGED
@@ -1,26 +1,26 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- var pi=Object.create;var zn=Object.defineProperty;var li=Object.getOwnPropertyDescriptor;var ci=Object.getOwnPropertyNames;var mi=Object.getPrototypeOf,fi=Object.prototype.hasOwnProperty;var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var di=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ci(t))!fi.call(e,o)&&o!==r&&zn(e,o,{get:()=>t[o],enumerable:!(n=li(t,o))||n.enumerable});return e};var qn=(e,t,r)=>(r=e!=null?pi(mi(e)):{},di(t||!e||!e.__esModule?zn(r,"default",{value:e,enumerable:!0}):r,e));var Wn=Oe((Mu,Qn)=>{"use strict";Qn.exports=function(){if(process.env.npm_config_user_agent)return Di(process.env.npm_config_user_agent)};function Di(e){let t=e.split(" ")[0],r=t.lastIndexOf("/"),n=t.substring(0,r);return{name:n==="npminstall"?"cnpm":n,version:t.substring(r+1)}}});var yn=Oe(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.throwUnsupportedData=qe.throwUnknownDataType=qe.getType=void 0;function No(e){return Object.prototype.toString.call(e)}qe.getType=No;function tu(e){throw new TypeError("unsupported data type: "+No(e))}qe.throwUnknownDataType=tu;function nu(e){throw new TypeError("unsupported data type: "+e)}qe.throwUnsupportedData=nu});var Nn=Oe(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.s_to_num=H.int_str_to_s=H.num_to_s=H.big_int_to_s=H.int_to_s=H.s_to_big_int=H.s_to_int=void 0;var Ve="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);Ve+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);Ve+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);Ve+=t}var mt=Ve.length,bn={};for(let e=0;e<mt;e++){let t=Ve[e];bn[t]=e}function vn(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=bn[o];i*=r,t+=i,r*=mt}return t}H.s_to_int=vn;function Ro(e){let t=BigInt(0),r=BigInt(1),n=BigInt(mt);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(bn[i]);a*=r,t+=a,r*=n}return t}H.s_to_big_int=Ro;function In(e){if(e===0)return Ve[0];let t=[];for(;e!==0;){let r=e%mt,n=Ve[r];t.push(n),e-=r,e/=mt}return t.reverse().join("")}H.int_to_s=In;function Bo(e){let t=BigInt(0),r=BigInt(mt);if(e===t)return Ve[0];let n=[];for(;e!==t;){let o=e%r,i=Ve[Number(o)];n.push(i),e/=r}return n.reverse().join("")}H.big_int_to_s=Bo;function Oo(e){return e.split("").reverse().join("")}function ko(e){if(e<0)return"-"+ko(-e);let[t,r]=e.toString().split(".");if(!r)if(t.includes("e")){let[i,a]=t.split("e");t=i,r="0e"+a}else return In(e);let n;r&&([r,n]=r.split("e")),t=Qt(t),r=Oo(r),r=Qt(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=Qt(n),o+=n}return o}H.num_to_s=ko;function Qt(e){let t=+e;return t.toString()===e&&t+1!==t&&t-1!==t?In(t):":"+Bo(BigInt(e))}H.int_str_to_s=Qt;function Tn(e){return e[0]===":"?Ro(e.substring(1)).toString():vn(e).toString()}function Lo(e){if(e[0]==="-")return-Lo(e.substr(1));let[t,r,n]=e.split(".");if(!r)return vn(t);t=Tn(t),r=Tn(r),r=Oo(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Tn(n),o+=i?-n:+n}return+o}H.s_to_num=Lo});var Bn=Oe(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.decodeStr=X.encodeStr=X.decodeBool=X.encodeBool=X.decodeKey=X.decodeNum=X.encodeNum=void 0;var Rn=Nn();function ru(e){return"n|"+(0,Rn.num_to_s)(e)}X.encodeNum=ru;function ou(e){return e=e.replace("n|",""),(0,Rn.s_to_num)(e)}X.decodeNum=ou;function iu(e){return typeof e=="number"?e:(0,Rn.s_to_int)(e)}X.decodeKey=iu;function au(e){return e?"b|T":"b|F"}X.encodeBool=au;function su(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}X.decodeBool=su;function uu(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}X.encodeStr=uu;function pu(e){return e[0]+e[1]==="s|"?e.substr(2):e}X.decodeStr=pu});var On=Oe(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.config=void 0;Wt.config={sort_key:!1,error_on_nan:!1,error_on_infinite:!1}});var jn=Oe(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.addValue=fe.makeInMemoryMemory=fe.makeInMemoryCache=fe.makeInMemoryStore=fe.memToValues=void 0;var _n=On(),kn=yn(),Ln=Bn(),lu=Nn();function cu(e){return e.store.toArray()}fe.memToValues=cu;function _o(){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}}}fe.makeInMemoryStore=_o;function jo(){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}}}fe.makeInMemoryCache=jo;function mu(){return{store:_o(),cache:jo(),keyCount:0}}fe.makeInMemoryMemory=mu;function et(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=(0,lu.num_to_s)(r);return e.store.add(t),e.cache.setValue(t,n),n}function fu(e,t){_n.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=It(e,t,void 0);return e.cache.setSchema(r,n),n}function It(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return It(e,null,r);break;case"object":if(t===null)return et(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":It(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),et(e,n)}else{let n=Object.keys(t);if(n.length===0)return et(e,"o|");let o="o",i=fu(e,n);o+="|"+i;for(let a of n){let s=t[a],u=It(e,s,t);o+="|"+u}return et(e,o)}case"boolean":return et(e,(0,Ln.encodeBool)(t));case"number":return Number.isNaN(t)?(_n.config.error_on_nan&&(0,kn.throwUnsupportedData)("[number NaN]"),""):Number.POSITIVE_INFINITY===t||Number.NEGATIVE_INFINITY===t?(_n.config.error_on_infinite&&(0,kn.throwUnsupportedData)("[number Infinity]"),""):et(e,(0,Ln.encodeNum)(t));case"string":return et(e,(0,Ln.encodeStr)(t))}return(0,kn.throwUnknownDataType)(t)}fe.addValue=It});var $n=Oe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.decompress=Je.decode=Je.compress=void 0;var du=yn(),Yt=Bn(),Vn=jn();function gu(e){let t=(0,Vn.makeInMemoryMemory)(),r=(0,Vn.addValue)(t,e,void 0);return[(0,Vn.memToValues)(t),r]}Je.compress=gu;function Du(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Nt(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let u=i[s-2],p=n[s];p=Nt(e,p),r[u]=p}return r}function Cu(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=Nt(e,a),o[i]=a}return o}function Nt(e,t){if(t===""||t==="_")return null;let r=(0,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(0,Yt.decodeBool)(n);case"o|":return Du(e,n);case"n|":return(0,Yt.decodeNum)(n);case"a|":return Cu(e,n);default:return(0,Yt.decodeStr)(n)}}return(0,du.throwUnknownDataType)(n)}Je.decode=Nt;function xu(e){let[t,r]=e;return Nt(t,r)}Je.decompress=xu});var $o=Oe(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimUndefinedRecursively=ft.trimUndefined=void 0;function hu(e){for(let t in e)e[t]===void 0&&delete e[t]}ft.trimUndefined=hu;function Eu(e){Vo(e,new Set)}ft.trimUndefinedRecursively=Eu;function Vo(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)&&Vo(n,t)}}});var Uo=Oe(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.config=Z.trimUndefinedRecursively=Z.trimUndefined=Z.addValue=Z.decode=Z.decompress=Z.compress=void 0;var Ko=$n();Object.defineProperty(Z,"compress",{enumerable:!0,get:function(){return Ko.compress}});Object.defineProperty(Z,"decompress",{enumerable:!0,get:function(){return Ko.decompress}});var Su=$n();Object.defineProperty(Z,"decode",{enumerable:!0,get:function(){return Su.decode}});var Au=jn();Object.defineProperty(Z,"addValue",{enumerable:!0,get:function(){return Au.addValue}});var Mo=$o();Object.defineProperty(Z,"trimUndefined",{enumerable:!0,get:function(){return Mo.trimUndefined}});Object.defineProperty(Z,"trimUndefinedRecursively",{enumerable:!0,get:function(){return Mo.trimUndefinedRecursively}});var Fu=On();Object.defineProperty(Z,"config",{enumerable:!0,get:function(){return Fu.config}})});function ae(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var gi=["node_modules","dist","build","public"];async function pe(e,t){async function r(o,i){if(i>10)return;let a=await e.readdir(o);for(let s of a){if(gi.includes(s))continue;let u=e.join(o,s),p=await e.stat(u);if(p){if(p.isFile()&&s.startsWith("builder-registry."))return u;if(p.isDirectory()){let m=await r(u,i+1);if(m)return m}}}}let n=await r(e.getAppRootDir(),0);if(!n){let i=`builder-registry.${await ae(e)?"ts":"js"}`;return e.join(t,i)}return n}async function dt(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 Jn(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.getAppRootDir())break;t=e.dirname(t)}return e.join(e.getAppRootDir(),"node_modules")}async function gt(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 u=await gt(e,a,r);if(u)return u}}))).find(i=>typeof i=="string")}var Gn=qn(Wn(),1);function he(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function B(e,t,r){t=ge(t),r=ge(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=ge(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function ge(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function We(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Yn(o==="index"?e.basename(e.dirname(t)):o)}function Yn(e){return K(e).replace(/ /g,"")}function le(e,t){let r=e.extname(t),n=ge(e.basename(t,r)).split("/").pop();return K(n==="index"?e.basename(e.dirname(t)):n)}function V(e,t){let r=ge(e.relative(e.getAppRootDir(),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 k(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function K(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function oe(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 Dt(e){return typeof e=="number"}function tt(e){return typeof e=="boolean"}function ne(e){return typeof e=="string"}function nt(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function se(e){return JSON.parse(JSON.stringify(e))}function Rt(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function Hn(){try{let e=(0,Gn.default)();if(e?.name)return e.name}catch{}return"npm"}async function Ye(e){let t=[],r=await dt(e,e.getRepoRootDir());if(r){let n=await er(r,e);t.push(...n)}return t}async function Zn(e){let t=await dt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function er(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let o of Ci)if(n.has(o)&&!r.some(i=>i.name===o)){let i={name:o};Xn.has(o)&&(i.version=await Xn.get(o)(t)),r.push(i)}}return r}function Xt(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var Xn=new Map([["next",async e=>{if(!e.spawnSync)return;let t=Hn(),r=t==="npm"?"npx":t,{stdout:n}=e.spawnSync(r,["next","-v"],{encoding:"utf8"});if(!n)return;let o=n.match(/(Next.js v)([\d.]+)/g);if(!o)return;let i=o[0].split("Next.js v")[1],[a,s,u]=i.split(".");return{major:Xt(a),minor:Xt(s),patch:Xt(u)}}]]),Ci=["@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 Ee(e){let t=tr(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function Se(e,t){t=typeof t=="object"&&t!=null?t:{};let r=tr(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function tr(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function $e(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),o),a=await xi(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.getAppRootDir(),t[t.length-1]),n}async function xi(e,t){let r=await e.readFile(t);return typeof r=="string"?nr(r):null}function nr(e){let t={},r=e.replace(/\r\n?/gm,`
3
- `),n;for(;(n=hi.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,`
4
- `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var hi=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Ke(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+=`
2
+ var li=Object.create;var zn=Object.defineProperty;var ci=Object.getOwnPropertyDescriptor;var mi=Object.getOwnPropertyNames;var fi=Object.getPrototypeOf,di=Object.prototype.hasOwnProperty;var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var gi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of mi(t))!di.call(e,o)&&o!==r&&zn(e,o,{get:()=>t[o],enumerable:!(n=ci(t,o))||n.enumerable});return e};var qn=(e,t,r)=>(r=e!=null?li(fi(e)):{},gi(t||!e||!e.__esModule?zn(r,"default",{value:e,enumerable:!0}):r,e));var Yn=Oe((qu,Wn)=>{"use strict";Wn.exports=function(){if(process.env.npm_config_user_agent)return xi(process.env.npm_config_user_agent)};function xi(e){let t=e.split(" ")[0],r=t.lastIndexOf("/"),n=t.substring(0,r);return{name:n==="npminstall"?"cnpm":n,version:t.substring(r+1)}}});var yn=Oe(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.throwUnsupportedData=qe.throwUnknownDataType=qe.getType=void 0;function Ro(e){return Object.prototype.toString.call(e)}qe.getType=Ro;function ru(e){throw new TypeError("unsupported data type: "+Ro(e))}qe.throwUnknownDataType=ru;function ou(e){throw new TypeError("unsupported data type: "+e)}qe.throwUnsupportedData=ou});var Nn=Oe(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.s_to_num=H.int_str_to_s=H.num_to_s=H.big_int_to_s=H.int_to_s=H.s_to_big_int=H.s_to_int=void 0;var Ve="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);Ve+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);Ve+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);Ve+=t}var mt=Ve.length,bn={};for(let e=0;e<mt;e++){let t=Ve[e];bn[t]=e}function vn(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=bn[o];i*=r,t+=i,r*=mt}return t}H.s_to_int=vn;function Bo(e){let t=BigInt(0),r=BigInt(1),n=BigInt(mt);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(bn[i]);a*=r,t+=a,r*=n}return t}H.s_to_big_int=Bo;function In(e){if(e===0)return Ve[0];let t=[];for(;e!==0;){let r=e%mt,n=Ve[r];t.push(n),e-=r,e/=mt}return t.reverse().join("")}H.int_to_s=In;function Oo(e){let t=BigInt(0),r=BigInt(mt);if(e===t)return Ve[0];let n=[];for(;e!==t;){let o=e%r,i=Ve[Number(o)];n.push(i),e/=r}return n.reverse().join("")}H.big_int_to_s=Oo;function ko(e){return e.split("").reverse().join("")}function Lo(e){if(e<0)return"-"+Lo(-e);let[t,r]=e.toString().split(".");if(!r)if(t.includes("e")){let[i,a]=t.split("e");t=i,r="0e"+a}else return In(e);let n;r&&([r,n]=r.split("e")),t=Qt(t),r=ko(r),r=Qt(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=Qt(n),o+=n}return o}H.num_to_s=Lo;function Qt(e){let t=+e;return t.toString()===e&&t+1!==t&&t-1!==t?In(t):":"+Oo(BigInt(e))}H.int_str_to_s=Qt;function Tn(e){return e[0]===":"?Bo(e.substring(1)).toString():vn(e).toString()}function _o(e){if(e[0]==="-")return-_o(e.substr(1));let[t,r,n]=e.split(".");if(!r)return vn(t);t=Tn(t),r=Tn(r),r=ko(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Tn(n),o+=i?-n:+n}return+o}H.s_to_num=_o});var Bn=Oe(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.decodeStr=X.encodeStr=X.decodeBool=X.encodeBool=X.decodeKey=X.decodeNum=X.encodeNum=void 0;var Rn=Nn();function iu(e){return"n|"+(0,Rn.num_to_s)(e)}X.encodeNum=iu;function au(e){return e=e.replace("n|",""),(0,Rn.s_to_num)(e)}X.decodeNum=au;function su(e){return typeof e=="number"?e:(0,Rn.s_to_int)(e)}X.decodeKey=su;function uu(e){return e?"b|T":"b|F"}X.encodeBool=uu;function pu(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}X.decodeBool=pu;function lu(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}X.encodeStr=lu;function cu(e){return e[0]+e[1]==="s|"?e.substr(2):e}X.decodeStr=cu});var On=Oe(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.config=void 0;Wt.config={sort_key:!1,error_on_nan:!1,error_on_infinite:!1}});var jn=Oe(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.addValue=fe.makeInMemoryMemory=fe.makeInMemoryCache=fe.makeInMemoryStore=fe.memToValues=void 0;var _n=On(),kn=yn(),Ln=Bn(),mu=Nn();function fu(e){return e.store.toArray()}fe.memToValues=fu;function jo(){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}}}fe.makeInMemoryStore=jo;function Vo(){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}}}fe.makeInMemoryCache=Vo;function du(){return{store:jo(),cache:Vo(),keyCount:0}}fe.makeInMemoryMemory=du;function et(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=(0,mu.num_to_s)(r);return e.store.add(t),e.cache.setValue(t,n),n}function gu(e,t){_n.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=It(e,t,void 0);return e.cache.setSchema(r,n),n}function It(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return It(e,null,r);break;case"object":if(t===null)return et(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":It(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),et(e,n)}else{let n=Object.keys(t);if(n.length===0)return et(e,"o|");let o="o",i=gu(e,n);o+="|"+i;for(let a of n){let s=t[a],u=It(e,s,t);o+="|"+u}return et(e,o)}case"boolean":return et(e,(0,Ln.encodeBool)(t));case"number":return Number.isNaN(t)?(_n.config.error_on_nan&&(0,kn.throwUnsupportedData)("[number NaN]"),""):Number.POSITIVE_INFINITY===t||Number.NEGATIVE_INFINITY===t?(_n.config.error_on_infinite&&(0,kn.throwUnsupportedData)("[number Infinity]"),""):et(e,(0,Ln.encodeNum)(t));case"string":return et(e,(0,Ln.encodeStr)(t))}return(0,kn.throwUnknownDataType)(t)}fe.addValue=It});var $n=Oe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.decompress=Je.decode=Je.compress=void 0;var Du=yn(),Yt=Bn(),Vn=jn();function Cu(e){let t=(0,Vn.makeInMemoryMemory)(),r=(0,Vn.addValue)(t,e,void 0);return[(0,Vn.memToValues)(t),r]}Je.compress=Cu;function xu(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Nt(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let u=i[s-2],p=n[s];p=Nt(e,p),r[u]=p}return r}function hu(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=Nt(e,a),o[i]=a}return o}function Nt(e,t){if(t===""||t==="_")return null;let r=(0,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(0,Yt.decodeBool)(n);case"o|":return xu(e,n);case"n|":return(0,Yt.decodeNum)(n);case"a|":return hu(e,n);default:return(0,Yt.decodeStr)(n)}}return(0,Du.throwUnknownDataType)(n)}Je.decode=Nt;function Eu(e){let[t,r]=e;return Nt(t,r)}Je.decompress=Eu});var Ko=Oe(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimUndefinedRecursively=ft.trimUndefined=void 0;function Su(e){for(let t in e)e[t]===void 0&&delete e[t]}ft.trimUndefined=Su;function Au(e){$o(e,new Set)}ft.trimUndefinedRecursively=Au;function $o(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)&&$o(n,t)}}});var zo=Oe(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.config=Z.trimUndefinedRecursively=Z.trimUndefined=Z.addValue=Z.decode=Z.decompress=Z.compress=void 0;var Mo=$n();Object.defineProperty(Z,"compress",{enumerable:!0,get:function(){return Mo.compress}});Object.defineProperty(Z,"decompress",{enumerable:!0,get:function(){return Mo.decompress}});var Fu=$n();Object.defineProperty(Z,"decode",{enumerable:!0,get:function(){return Fu.decode}});var Pu=jn();Object.defineProperty(Z,"addValue",{enumerable:!0,get:function(){return Pu.addValue}});var Uo=Ko();Object.defineProperty(Z,"trimUndefined",{enumerable:!0,get:function(){return Uo.trimUndefined}});Object.defineProperty(Z,"trimUndefinedRecursively",{enumerable:!0,get:function(){return Uo.trimUndefinedRecursively}});var wu=On();Object.defineProperty(Z,"config",{enumerable:!0,get:function(){return wu.config}})});var Di="1.6.15",Jn=process.env.OVERRIDE_VERSION??Di;function ae(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var Ci=["node_modules","dist","build","public"];async function pe(e,t){async function r(o,i){if(i>10)return;let a=await e.readdir(o);for(let s of a){if(Ci.includes(s))continue;let u=e.join(o,s),p=await e.stat(u);if(p){if(p.isFile()&&s.startsWith("builder-registry."))return u;if(p.isDirectory()){let m=await r(u,i+1);if(m)return m}}}}let n=await r(e.getAppRootDir(),0);if(!n){let i=`builder-registry.${await ae(e)?"ts":"js"}`;return e.join(t,i)}return n}async function dt(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 Qn(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.getAppRootDir())break;t=e.dirname(t)}return e.join(e.getAppRootDir(),"node_modules")}async function gt(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 u=await gt(e,a,r);if(u)return u}}))).find(i=>typeof i=="string")}var Hn=qn(Yn(),1);function he(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function O(e,t,r){t=ge(t),r=ge(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=ge(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function ge(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function We(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Gn(o==="index"?e.basename(e.dirname(t)):o)}function Gn(e){return K(e).replace(/ /g,"")}function le(e,t){let r=e.extname(t),n=ge(e.basename(t,r)).split("/").pop();return K(n==="index"?e.basename(e.dirname(t)):n)}function V(e,t){let r=ge(e.relative(e.getAppRootDir(),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 k(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function K(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function oe(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 Dt(e){return typeof e=="number"}function tt(e){return typeof e=="boolean"}function ne(e){return typeof e=="string"}function nt(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function se(e){return JSON.parse(JSON.stringify(e))}function Rt(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function Xn(){try{let e=(0,Hn.default)();if(e?.name)return e.name}catch{}return"npm"}async function Ye(e){let t=[],r=await dt(e,e.getRepoRootDir());if(r){let n=await tr(r,e);t.push(...n)}return t}async function er(e){let t=await dt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function tr(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let o of hi)if(n.has(o)&&!r.some(i=>i.name===o)){let i={name:o};Zn.has(o)&&(i.version=await Zn.get(o)(t)),r.push(i)}}return r}function Xt(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var Zn=new Map([["next",async e=>{if(!e.spawnSync)return;let t=Xn(),r=t==="npm"?"npx":t,{stdout:n}=e.spawnSync(r,["next","-v"],{encoding:"utf8"});if(!n)return;let o=n.match(/(Next.js v)([\d.]+)/g);if(!o)return;let i=o[0].split("Next.js v")[1],[a,s,u]=i.split(".");return{major:Xt(a),minor:Xt(s),patch:Xt(u)}}]]),hi=["@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 Ee(e){let t=nr(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function Se(e,t){t=typeof t=="object"&&t!=null?t:{};let r=nr(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function nr(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function $e(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),o),a=await Ei(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.getAppRootDir(),t[t.length-1]),n}async function Ei(e,t){let r=await e.readFile(t);return typeof r=="string"?rr(r):null}function rr(e){let t={},r=e.replace(/\r\n?/gm,`
3
+ `),n;for(;(n=Si.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,`
4
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Si=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Ke(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+=`
5
5
 
6
6
  ${o}
7
7
  ${r}=${n}
8
8
 
9
9
  `,await e.writeFile(t,i),"update";else return e.debug(`Creating new .env file with "${r}" at ${t}`),i=[o,`${r}=${n}`,""].join(`
10
- `),await e.writeFile(t,i),"create";return null}async function Ct(e){return await $e(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ae)}async function rr(e,t){let r=await Ct(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ae="NEXT_PUBLIC_BUILDER_API_KEY";var y={gen1:"Gen 1",gen2:"Gen 2"};function I(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function Bt(e,t=""){let r=I(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function _(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
+ `),await e.writeFile(t,i),"create";return null}async function Ct(e){return await $e(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ae)}async function or(e,t){let r=await Ct(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ae="NEXT_PUBLIC_BUILDER_API_KEY";var y={gen1:"Gen 1",gen2:"Gen 2"};function I(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function Bt(e,t=""){let r=I(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function _(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()+`
11
11
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
12
- `}return""}function rt(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ei(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,u)=>u!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,xt(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,xt(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ei(e,t,r){return t.properties.findIndex(n=>R(e,n)===r)}function ht(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Ai(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Si(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 Si(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=R(e,n);o&&(r[o]=ht(e,n.initializer))}}return r}function Ai(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>ht(e,r)):[]}function R(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function xt(e,t){return Zt(e,t,new WeakSet)}function Zt(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)?Fi(e,t,r):typeof t=="object"?Pi(e,t,r):e.ts.factory.createIdentifier(t)}function Fi(e,t,r){let n=t.map(o=>Zt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Pi(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,Zt(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ge(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let u=a.heritageClauses?.find(p=>p.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(u){for(let p of u)if(t.getSymbolAtLocation(p.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(p)){let f=p.typeArguments;if(f){let c=f[0];o=t.getTypeFromTypeNode(c).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(o=t.getTypeOfSymbolAtLocation(u[0],r).getProperties())}}}else if(e.ts.isExportSpecifier(r)){let i=t.getSymbolAtLocation(r.name);if(i){let s=t.getTypeOfSymbolAtLocation(i,r).getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(o=t.getTypeOfSymbolAtLocation(u[0],r).getProperties())}}}if(o)for(let i of o){let a=wi(e,t,i);a&&n.push(a)}return n=n.filter(ir),n.length>0?n:yi(e,r)}function wi(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 u=t.getTypeFromTypeNode(n.type),p=t.typeToString(u),m=en(p);m.knownType?i=m.builderType:bi(p)||u.flags&e.ts.TypeFlags.StringLike?i="string":u.flags&e.ts.TypeFlags.NumberLike?i="number":u.flags&e.ts.TypeFlags.IndexedAccess?i="list":u.flags&e.ts.TypeFlags.Object||u.isUnion()&&u.types.every(f=>f.flags&e.ts.TypeFlags.Object)||u.isIntersection()&&u.types.some(f=>f.flags&e.ts.TypeFlags.Object)?i="object":i="string",p!==i&&(a=p)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let u=Ri(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Ii)?s.enum=u.map(Ni):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function yi(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 u=s.jsDocPropertyTags;if(u)for(let p of u){if(!e.ts.isJSDocPropertyLikeTag(p))continue;let m=p.name;if(!e.ts.isQualifiedName(m))continue;let f=p.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 C={name:m.right.text,type:c,isRegistered:!1};r.push(C)}}return r.filter(ir)}var Ti=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function bi(e){return typeof e!="string"?!1:!!Ti.some(t=>e.includes(t))}function en(e){return typeof e=="string"&&(e=e.trim(),vi.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var vi=[{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 Ii(e){return/^['"].*['"]$/.test(e)}function Ni(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Ri=(e,t,r)=>{let n=new Set;or(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},Bi=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},or=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{or(e,t,o,n)});else if(r.isLiteral()){let o=Bi(e,t,r);n.add(o)}};function ir(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!Oi.has(t.toLowerCase())}var Oi=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 ie(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=R(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=ki(e,n.initializer);ue(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=ht(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function ki(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(Li(e,n));return r}function Li(e,t){let r=ht(e,t),n=Ui(r);return n.isRegistered=!0,n}function Q(e,t,r){let n=ji(r);return t=rt(e,t,"name",n.name,!1),t=rt(e,t,"description",n.description),t=rt(e,t,"image",n.image),t=rt(e,t,"meta",n.meta),t=_i(e,t,n),zi(e,t)}function _i(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 rt(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=$i(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 ji(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Vi),...e.meta?{meta:{...e.meta}}:{}}}function Vi(e){let t={name:e.name,type:e.type};return(ne(e.defaultValue)||Dt(e.defaultValue)||tt(e.defaultValue))&&(t.defaultValue=e.defaultValue),ne(e.friendlyName)&&(t.friendlyName=e.friendlyName),ne(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 $i(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>R(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=Ki(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>R(e,c)==="name"),s=i.properties.find(c=>R(e,c)==="name"),u=a?.initializer,p=s?.initializer,m=u&&e.ts.isStringLiteral(u)?u.text:"zz",f=p&&e.ts.isStringLiteral(p)?p.text:"zz";return m.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Ki(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=R(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=ar(e,t[n],r);else{let o=ar(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function ar(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=Mi(e,n,r,i);return n=qi(e,n.filter(i=>{let a=R(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Mi(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,xt(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,xt(e,r[n]))),t}function ue(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=tn(e)}function Ui(e){let t=en(e.type),r={name:e.name.trim(),type:t.builderType};return ne(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(ne(e.defaultValue)||Dt(e.defaultValue)||tt(e.defaultValue))&&(r.defaultValue=e.defaultValue),ne(e.helperText)&&(r.helperText=e.helperText),tt(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),nn(r)}function tn(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 nn(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 zi(e,t){let r=[...t.properties].sort((n,o)=>{let i=R(e,n)||"zz",a=R(e,o)||"zz";if(i==="inputs")return 1;let s=sr.indexOf(i),u=sr.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var sr=["component","name","description"];function qi(e,t){return[...t].sort((n,o)=>{let i=R(e,n)||"zz",a=R(e,o)||"zz",s=ur.indexOf(i),u=ur.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)})}var ur=["name","type"];function ot(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(R(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function pr(e,t){let r=`Builder.registerComponent(
12
+ `}return""}function rt(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ai(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,u)=>u!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,xt(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,xt(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ai(e,t,r){return t.properties.findIndex(n=>B(e,n)===r)}function ht(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Pi(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Fi(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 Fi(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=B(e,n);o&&(r[o]=ht(e,n.initializer))}}return r}function Pi(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>ht(e,r)):[]}function B(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function xt(e,t){return Zt(e,t,new WeakSet)}function Zt(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)?wi(e,t,r):typeof t=="object"?yi(e,t,r):e.ts.factory.createIdentifier(t)}function wi(e,t,r){let n=t.map(o=>Zt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function yi(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,Zt(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ge(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0&&(s=s.aliasTypeArguments[0]),!!(s.flags&e.ts.TypeFlags.Object)&&(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 u=a.heritageClauses?.find(p=>p.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(u){for(let p of u)if(t.getSymbolAtLocation(p.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(p)){let f=p.typeArguments;if(f){let l=f[0];o=t.getTypeFromTypeNode(l).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(o=t.getTypeOfSymbolAtLocation(u[0],r).getProperties())}}}else if(e.ts.isExportSpecifier(r)){let i=t.getSymbolAtLocation(r.name);if(i){let s=t.getTypeOfSymbolAtLocation(i,r).getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(o=t.getTypeOfSymbolAtLocation(u[0],r).getProperties())}}}if(o)for(let i of o){let a=Ti(e,t,i);a&&n.push(a)}return n=n.filter(ar),n.length>0?n:bi(e,r)}function Ti(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 u=t.getTypeFromTypeNode(n.type),p=t.typeToString(u),m=en(p);m.knownType?i=m.builderType:Ii(p)||u.flags&e.ts.TypeFlags.StringLike?i="string":u.flags&e.ts.TypeFlags.NumberLike?i="number":u.flags&e.ts.TypeFlags.IndexedAccess?i="list":u.flags&e.ts.TypeFlags.Object||u.isUnion()&&u.types.every(f=>f.flags&e.ts.TypeFlags.Object)||u.isIntersection()&&u.types.some(f=>f.flags&e.ts.TypeFlags.Object)?i="object":i="string",p!==i&&(a=p)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let u=Oi(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Ri)?s.enum=u.map(Bi):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function bi(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 u=s.jsDocPropertyTags;if(u)for(let p of u){if(!e.ts.isJSDocPropertyLikeTag(p))continue;let m=p.name;if(!e.ts.isQualifiedName(m))continue;let f=p.typeExpression;if(!f)continue;let l="";switch(f.type.kind){case e.ts.SyntaxKind.StringKeyword:{l="string";break}case e.ts.SyntaxKind.NumberKeyword:{l="number";break}case e.ts.SyntaxKind.BooleanKeyword:{l="boolean";break}default:continue}let C={name:m.right.text,type:l,isRegistered:!1};r.push(C)}}return r.filter(ar)}var vi=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Ii(e){return typeof e!="string"?!1:!!vi.some(t=>e.includes(t))}function en(e){return typeof e=="string"&&(e=e.trim(),Ni.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Ni=[{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 Ri(e){return/^['"].*['"]$/.test(e)}function Bi(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Oi=(e,t,r)=>{let n=new Set;ir(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},ki=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},ir=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{ir(e,t,o,n)});else if(r.isLiteral()){let o=ki(e,t,r);n.add(o)}};function ar(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!Li.has(t.toLowerCase())}var Li=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 ie(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=B(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=_i(e,n.initializer);ue(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=ht(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function _i(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ji(e,n));return r}function ji(e,t){let r=ht(e,t),n=qi(r);return n.isRegistered=!0,n}function Q(e,t,r){let n=$i(r);return t=rt(e,t,"name",n.name,!1),t=rt(e,t,"description",n.description),t=rt(e,t,"image",n.image),t=rt(e,t,"meta",n.meta),t=Vi(e,t,n),Ji(e,t)}function Vi(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 rt(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=Mi(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 $i(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Ki),...e.meta?{meta:{...e.meta}}:{}}}function Ki(e){let t={name:e.name,type:e.type};return(ne(e.defaultValue)||Dt(e.defaultValue)||tt(e.defaultValue))&&(t.defaultValue=e.defaultValue),ne(e.friendlyName)&&(t.friendlyName=e.friendlyName),ne(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 Mi(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>B(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=Ui(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(l=>B(e,l)==="name"),s=i.properties.find(l=>B(e,l)==="name"),u=a?.initializer,p=s?.initializer,m=u&&e.ts.isStringLiteral(u)?u.text:"zz",f=p&&e.ts.isStringLiteral(p)?p.text:"zz";return m.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Ui(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=B(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=sr(e,t[n],r);else{let o=sr(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function sr(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=zi(e,n,r,i);return n=Qi(e,n.filter(i=>{let a=B(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function zi(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,xt(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,xt(e,r[n]))),t}function ue(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=tn(e)}function qi(e){let t=en(e.type),r={name:e.name.trim(),type:t.builderType};return ne(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(ne(e.defaultValue)||Dt(e.defaultValue)||tt(e.defaultValue))&&(r.defaultValue=e.defaultValue),ne(e.helperText)&&(r.helperText=e.helperText),tt(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),nn(r)}function tn(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 nn(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 Ji(e,t){let r=[...t.properties].sort((n,o)=>{let i=B(e,n)||"zz",a=B(e,o)||"zz";if(i==="inputs")return 1;let s=ur.indexOf(i),u=ur.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var ur=["component","name","description"];function Qi(e,t){return[...t].sort((n,o)=>{let i=B(e,n)||"zz",a=B(e,o)||"zz",s=pr.indexOf(i),u=pr.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)})}var pr=["name","type"];function ot(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(B(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function lr(e,t){let r=`Builder.registerComponent(
13
13
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
14
14
  `:r+=` ${t.importName},
15
- `;else{let o=t.externalImportPath?t.externalImportPath:B(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
15
+ `;else{let o=t.externalImportPath?t.externalImportPath:O(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
16
16
  `:r+=` dynamic(() => import(${JSON.stringify(o)})),
17
17
  `:t.acceptsChildren?r+=` withChildren(dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName})),
18
18
  `:r+=` dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName}),
19
19
  `}r+=` {
20
20
  name: "${t.name}",
21
21
  }
22
- `,r+=");";let n=Bt(e,r);return rn(e,n,t)}function rn(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=Q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function G(e,t,r){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let n=await Jn(e,t[0]),o=e.join(n,"typescript","lib"),i=new Map,a={fileExists:s=>{if(s=e.normalize(s),s.includes("node_modules")){let u=Et.get(s);if(!u){try{e.statSync(s).isFile()?u={exists:!0,content:e.readFileSync(s)}:u={exists:!1}}catch{u={exists:!1}}Et.set(s,u)}return u.exists}if(!i.has(s))if(e.existsSync(s)){let p=e.statSync(s);i.set(s,p.isFile())}else i.set(s,!1);return i.get(s)},getCanonicalFileName:s=>e.normalize(s),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(o,"lib.d.ts"),getDefaultLibLocation:()=>o,getNewLine:()=>`
23
- `,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let p=Et.get(s);if(p)return I(e,p.content)}let u;try{u=e.readFileSync(s)}catch{console.error(`Could not read: ${s}`),u==null}if(u==null){let p=e.basename(s),m=e.extname(p).toLowerCase();if(s.startsWith(o)&&m===".ts"&&(u=cr.get(p),u==null&&typeof self<"u"&&typeof fetch=="function"))throw new kt(p)}return s.includes("node_modules")&&(u?Et.set(s,{exists:!0,content:u}):Et.set(s,{exists:!1})),I(e,u)},readFile:s=>{let u=e.readFileSync(s);return typeof u=="string"?u:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return Ji(e,a,t,r)}catch(s){if(s instanceof kt){await Qi(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function Ji(e,t,r,n){let o={rootNames:[...r],options:{},host:t},i=e.ts.findConfigFile(e.dirname(r[0]),a=>e.existsSync(a));if(i){let a=lr.get(i);if(!a){let s=e.ts.readConfigFile(i,u=>{let p=e.readFileSync(u);return typeof p=="string"?p:void 0});s.error?e.Sentry?.captureException(new Error("Error reading tsconfig for createTsProgram"),{extra:{error:s.error,tsConfigPath:i}}):(a=e.ts.parseJsonConfigFileContent(s.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(p,m)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(i),void 0,i).options,lr.set(i,a))}a&&(o.options=se(a))}return o.options.noEmit=!0,o.options.isolatedModules=!1,o.options.strict=!1,o.options.jsx=e.ts.JsxEmit.Preserve,o.options.allowJs=!0,Object.assign(o.options,n),e.ts.createProgram(o)}async function it(e,t,r){r||(r=await G(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 kt=class{constructor(t){this.libName=t}};async function Qi(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Ot.has(t)||Ot.set(t,fetch(r).then(n=>n.text()).then(n=>{cr.set(t,n)})),await Ot.get(t),Ot.delete(t)}var cr=new Map,Ot=new Map,Et=new Map,lr=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Wi(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Yi(e,t,r.defaultImport,r.importPath,n)),t}function Wi(e,t,r,n,o,i){return i==="cjs"?fr(e,t,null,r,n):mr(e,t,null,r,n,o)}function Yi(e,t,r,n,o){return o==="cjs"?fr(e,t,r,null,n):mr(e,t,r,null,n,!1)}function mr(e,t,r,n,o,i){let a=[...t.statements],s=0,u=!1,p=!1;for(let d=0;d<a.length;d++){let C=a[d];if(!e.ts.isImportDeclaration(C)||(s=d,!C.moduleSpecifier||!e.ts.isStringLiteral(C.moduleSpecifier))||C.moduleSpecifier.text!==o||!!C.importClause?.isTypeOnly!==i)continue;let l=[],D=C.importClause?.namedBindings;if(D&&e.ts.isNamedImports(D)&&D.elements&&l.push(...D.elements),typeof n=="string"){if(l.some(x=>x.name.text===n))return t;l.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),l.sort((x,E)=>x.name.text.localeCompare(E.name.text)),u=!0}let g=C.importClause?C.importClause.name:void 0;if(typeof r=="string"){if(g&&g.text===r)return t;g=e.ts.factory.createIdentifier(r),p=!0}if(u||p)return a[d]=e.ts.factory.updateImportDeclaration(C,void 0,e.ts.factory.createImportClause(i,g,e.ts.factory.createNamedImports(l)),C.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let m,f;typeof r=="string"&&(m=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,m,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function fr(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let u=i[s];if(e.ts.isVariableStatement(u))for(let p=0;p<u.declarationList.declarations.length;p++){let m=[...u.declarationList.declarations],f=m[p],c=f.initializer;if(!c||!e.ts.isCallExpression(c))continue;let d=c.expression;if(!e.ts.isIdentifier(d)||d.text!=="require"||c.arguments.length!==1)continue;let C=c.arguments[0];if(e.ts.isStringLiteral(C)&&(a=s,C.text===o)){if(e.ts.isIdentifier(f.name)&&typeof r=="string")return f.name.text===r?t:(m[p]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createIdentifier(r),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,m)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(f.name)&&typeof n=="string"){let l=[...f.name.elements];return l.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(l.push(e.ts.factory.createBindingElement(void 0,void 0,n)),l.sort((g,x)=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)||!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?0:g.name.text.localeCompare(x.name.text)),m[p]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(l),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,m)),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 ce(e,t,r="esm"){return r==="cjs"?Hi(e,t):Gi(e,t)}function Gi(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})}}else!n.exportClause&&n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:n});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 u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.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 Hi(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 u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.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 Xi(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 Fe(e,t,r,n){let o=Xi(e,r,n);if(o){let i=await St(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getAppRootDir(),i);return{displayFilePath:k(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function at(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 J(e,t,r){let n=at(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 Lt(e,t){if(t){if(Zi(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Lt(e,n)&&(r=!0)}),r)return!0}return!1}function Zi(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 St(e,t){let r=e.extname(t).toLowerCase();if(r===""||!on.includes(r)){for(let n of on){let o=t+n;if(await e.exists(o))return o}for(let n of on){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var on=[".tsx",".jsx",".ts",".js"];function st(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=ea(e,i);return a?[{name:a}]:void 0}function ea(e,t){if(typeof t=="string"){t=e.normalize(ge(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function Pe(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}function dr(e,t,r="esm"){return r==="cjs"?ra(e,t):na(e,t)}var ta=/^(@\w|\w)/;function na(e,t){let r=[];for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&e.ts.isLiteralExpression(n.moduleSpecifier)){if(!ta.test(n.moduleSpecifier.text)||n.importClause?.isTypeOnly)continue;if(n.importClause&&n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings))for(let o of n.importClause.namedBindings.elements)o.isTypeOnly||r.push({isDefaultExport:!1,statement:n,node:o.name});n.importClause&&n.importClause.name&&r.push({isDefaultExport:!0,statement:n,node:n.importClause.name})}return r}function ra(e,t){return[]}async function ut(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await G(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 p=(await Me(e,o,a.filePath,s,!1)).find(m=>m.cmpInfo.id===a.id);p&&(a.inputs=Ge(e,o,p.node.fnNode))}return a}))}async function pt(e,t,r,n){if(t.node.fnNode){let{sourceFile:o,typeChecker:i}=await it(e,t.cmpInfo.filePath,r),s=(await Me(e,i,t.cmpInfo.filePath,o,n)).find(u=>u.cmpInfo.id===t.cmpInfo.id);if(!s)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,s.node.fnNode)}return[]}async function Dr(e,t,r){let n=e.extname(t).toLowerCase();if(n===".tsx"||n===".jsx"||n===".ts"||n===".js"){let o=await e.readFile(t);if(o)return oa(e,t,o,r)}return null}function oa(e,t,r,n=!1){let o=I(e,r);return Me(e,null,t,o,n)}async function Me(e,t,r,n,o){let i=[];for(let s of n.statements)if(e.ts.isExpressionStatement(s)&&e.ts.isStringLiteral(s.expression)&&s.expression.text==="use server")return i;let a=ce(e,n);return o&&a.push(...dr(e,n)),r=e.normalize(r),await Promise.all(a.map(async s=>{let u=await ia(e,t,r,s);i.push(...u)})),i}async function ia(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=V(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!nt(s.name.text))continue;let u=ke(e,t,s.initializer);if(u){let p=u.name||s.name.text,m=n.isDefaultExport?"default":p,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await $(e,r,m),displayFilePath:k(e,r),name:K(p),inputs:[],exportName:m,exportType:f,importName:p,filePath:r,relFilePath:i,importPath:a,dependencies:u.deps,framework:"react"},node:u})}}return o}if(e.ts.isArrowFunction(n.node)){let s=ke(e,t,n.node);if(s){let u=le(e,r),p=n.isDefaultExport?"default":u,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await $(e,r,p),displayFilePath:k(e,r),name:u,inputs:[],exportName:p,exportType:m,importName:We(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps,framework:"react"},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!nt(s))return o;let u=ke(e,t,n.node);if(u){let p=u.name||le(e,r),m=n.isDefaultExport||!u.name?"default":u.name,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await $(e,r,m),displayFilePath:k(e,r),name:p,inputs:[],exportName:m,exportType:f,importName:u.name||We(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:u.deps,framework:"react"},node:u})}return o}if((e.ts.isExportSpecifier(n.node)||e.ts.isIdentifier(n.node))&&nt(n.node.getText())){let s,u=ke(e,t,n.node);if(u){let p=u.name||le(e,r),m=n.isDefaultExport||!u.name?"default":u.name,f=n.isDefaultExport?"default":"named",c=aa(e,n.node)?.moduleSpecifier??sa(e,n.node)?.moduleSpecifier;if(c&&e.ts.isStringLiteral(c)){let d=t?.getSymbolAtLocation(c);if(d&&d.declarations&&d.declarations.length>0){let C=d.declarations[0];(!e.ts.isSourceFile(C)||e.ts.isSourceFile(C)&&C.fileName.includes("node_modules"))&&(s=c.text)}}o.push({cmpInfo:{id:await $(e,r,m,s),displayFilePath:k(e,r),name:p,inputs:[],exportName:m,exportType:f,importName:u.name||We(e,r),filePath:r,relFilePath:i,importPath:s||a,externalImportPath:s,dependencies:u.deps,framework:"react"},node:u})}return o}if(e.ts.isExportDeclaration(n.node)&&n.node.exportClause===void 0){let s=n.node.moduleSpecifier;if(s&&e.ts.isStringLiteral(s)){let u=await pa(e,t,r,s);o.push(...u)}return o}return o}function aa(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function sa(e,t){for(;t;){if(e.ts.isImportDeclaration(t))return t;t=t.parent}return null}function ke(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Lt(e,r.body)?{name:"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Lt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(e.ts.isPropertyAccessExpression(n)){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:ke(e,t,o[0])}else if(e.ts.isIdentifier(n)&&n.text==="observer"){let o=r.arguments;return o.length===0?null:ke(e,t,o[0])}return null}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)||!nt(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:st(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:st(e,t,n)}}if(e.ts.isIdentifier(r))return{name:r.text||"",fnNode:r,deps:st(e,t,r)};if(e.ts.isExpressionStatement(r)){let n=r.expression;if(e.ts.isAsExpression(n)&&e.ts.isIdentifier(n.type)&&n.type.text==="default")return ke(e,t,n.expression)}if(e.ts.isVariableStatement(r)){for(let n of r.declarationList.declarations)if(n.initializer&&e.ts.isAsExpression(n.initializer)){let o=n.initializer;if(e.ts.isIdentifier(o.type)&&o.type.text==="default"){let i=ke(e,t,o.expression);if(i&&e.ts.isIdentifier(n.name))return{name:n.name.text,fnNode:i.fnNode,deps:i.deps}}}}return null}async function Cr(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(Rt(e,ua,i.fileName)||a===e.reactConfigPath||a===e.builderComponentPath)return;let s=await Me(e,o,a,i,a===e.registryPath);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ua=new Set(["node_modules","dist"]);async function pa(e,t,r,n){let o=[],i=n.text;if(!t)return o;try{let a=t.getSymbolAtLocation(n);if(!a)return o;let s=t.getExportsOfModule(a);for(let u of s){let p=u.valueDeclaration||u.declarations?.[0];if(!p)continue;let m=u.name;if(!nt(m)&&m!=="default"||!xr(e,t,p))continue;let f=ke(e,t,p);if(f){let c=u.name,d=c==="default"?"default":"named",C=K(c),l=c==="default"?We(e,r):c;o.push({cmpInfo:{id:await $(e,r,c,i),displayFilePath:k(e,r),name:C,inputs:[],exportName:c,exportType:d,importName:l,filePath:r,relFilePath:e.relative(e.getAppRootDir(),r),importPath:i,externalImportPath:i,dependencies:f.deps,framework:"react"},node:f})}}}catch(a){e.Sentry?.captureException(new Error(`Error processing module ${i}:`,{cause:a}),{extra:{modulePath:i,filePath:r}})}return o}function xr(e,t,r){if(e.ts.isInterfaceDeclaration(r)||e.ts.isTypeAliasDeclaration(r))return!1;if(e.ts.isExportSpecifier(r)){let n=t.getSymbolAtLocation(r.name);if(n){let i=t.getAliasedSymbol(n).declarations?.[0];if(i)return xr(e,t,i)}return!1}if(e.ts.isFunctionDeclaration(r)||e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)){let n=t.getSignatureFromDeclaration(r);if(n){let o=t.getReturnTypeOfSignature(n);return gr(o,t)}}return e.ts.isClassDeclaration(r)?r.heritageClauses?.some(o=>o.types.some(i=>i.expression.getText()==="React.Component"||i.expression.getText()==="Component"))??!1:e.ts.isVariableDeclaration(r)?t.getTypeAtLocation(r).getCallSignatures().some(i=>gr(t.getReturnTypeOfSignature(i),t)):!1}function gr(e,t){let r=t.typeToString(e);return r==="JSX.Element"||r==="Element"||r.includes("ReactElement")||r.includes("React.ReactElement")||r.includes("ReactNode")}async function hr(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&&la.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.builderComponentPath)return;let u=await Me(e,o,s,i,s===e.registryPath||he(s));r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var la=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 we(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 u=a.moduleSpecifier.text;if(!u.startsWith(".")&&!u.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,[...an(e,r),...an(e,n),...an(e,o),...i])}function me(e){let t=e.split(`
22
+ `,r+=");";let n=Bt(e,r);return rn(e,n,t)}function rn(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=Q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function G(e,t,r){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let n=await Qn(e,t[0]),o=e.join(n,"typescript","lib"),i=new Map,a={fileExists:s=>{if(s=e.normalize(s),s.includes("node_modules")){let u=Et.get(s);if(!u){try{e.statSync(s).isFile()?u={exists:!0,content:e.readFileSync(s)}:u={exists:!1}}catch{u={exists:!1}}Et.set(s,u)}return u.exists}if(!i.has(s))if(e.existsSync(s)){let p=e.statSync(s);i.set(s,p.isFile())}else i.set(s,!1);return i.get(s)},getCanonicalFileName:s=>e.normalize(s),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(o,"lib.d.ts"),getDefaultLibLocation:()=>o,getNewLine:()=>`
23
+ `,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let p=Et.get(s);if(p)return I(e,p.content)}let u;try{u=e.readFileSync(s)}catch{console.error(`Could not read: ${s}`),u==null}if(u==null){let p=e.basename(s),m=e.extname(p).toLowerCase();if(s.startsWith(o)&&m===".ts"&&(u=mr.get(p),u==null&&typeof self<"u"&&typeof fetch=="function"))throw new kt(p)}return s.includes("node_modules")&&(u?Et.set(s,{exists:!0,content:u}):Et.set(s,{exists:!1})),I(e,u)},readFile:s=>{let u=e.readFileSync(s);return typeof u=="string"?u:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return Wi(e,a,t,r)}catch(s){if(s instanceof kt){await Yi(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function Wi(e,t,r,n){let o={rootNames:[...r],host:t,options:{}},i=e.ts.findConfigFile(e.dirname(r[0]),a=>e.existsSync(a));if(i){let a=cr.get(i);if(!a){let s=e.ts.readConfigFile(i,u=>{let p=e.readFileSync(u);return typeof p=="string"?p:void 0});s.error?e.Sentry?.captureException(new Error("Error reading tsconfig for createTsProgram"),{extra:{error:s.error,tsConfigPath:i}}):(a=e.ts.parseJsonConfigFileContent(s.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(p,m)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(i),void 0,i).options,cr.set(i,a))}a&&(o.options=se(a))}return o.options.noEmit=!0,o.options.isolatedModules=!1,o.options.strict=!1,o.options.jsx=e.ts.JsxEmit.Preserve,o.options.allowJs=!0,Object.assign(o.options,n),e.ts.createProgram(o)}async function it(e,t,r){r||(r=await G(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 kt=class{constructor(t){this.libName=t}};async function Yi(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Ot.has(t)||Ot.set(t,fetch(r).then(n=>n.text()).then(n=>{mr.set(t,n)})),await Ot.get(t),Ot.delete(t)}var mr=new Map,Ot=new Map,Et=new Map,cr=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Gi(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Hi(e,t,r.defaultImport,r.importPath,n)),t}function Gi(e,t,r,n,o,i){return i==="cjs"?dr(e,t,null,r,n):fr(e,t,null,r,n,o)}function Hi(e,t,r,n,o){return o==="cjs"?dr(e,t,r,null,n):fr(e,t,r,null,n,!1)}function fr(e,t,r,n,o,i){let a=[...t.statements],s=0,u=!1,p=!1;for(let g=0;g<a.length;g++){let C=a[g];if(!e.ts.isImportDeclaration(C)||(s=g,!C.moduleSpecifier||!e.ts.isStringLiteral(C.moduleSpecifier))||C.moduleSpecifier.text!==o||!!C.importClause?.isTypeOnly!==i)continue;let D=[],c=C.importClause?.namedBindings;if(c&&e.ts.isNamedImports(c)&&c.elements&&D.push(...c.elements),typeof n=="string"){if(D.some(x=>x.name.text===n))return t;D.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),D.sort((x,E)=>x.name.text.localeCompare(E.name.text)),u=!0}let d=C.importClause?C.importClause.name:void 0;if(typeof r=="string"){if(d&&d.text===r)return t;d=e.ts.factory.createIdentifier(r),p=!0}if(u||p)return a[g]=e.ts.factory.updateImportDeclaration(C,void 0,e.ts.factory.createImportClause(i,d,e.ts.factory.createNamedImports(D)),C.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let m,f;typeof r=="string"&&(m=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 l=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,m,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,l),e.ts.factory.updateSourceFile(t,a)}function dr(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let u=i[s];if(e.ts.isVariableStatement(u))for(let p=0;p<u.declarationList.declarations.length;p++){let m=[...u.declarationList.declarations],f=m[p],l=f.initializer;if(!l||!e.ts.isCallExpression(l))continue;let g=l.expression;if(!e.ts.isIdentifier(g)||g.text!=="require"||l.arguments.length!==1)continue;let C=l.arguments[0];if(e.ts.isStringLiteral(C)&&(a=s,C.text===o)){if(e.ts.isIdentifier(f.name)&&typeof r=="string")return f.name.text===r?t:(m[p]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createIdentifier(r),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,m)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(f.name)&&typeof n=="string"){let D=[...f.name.elements];return D.some(d=>!e.ts.isBindingElement(d)||!e.ts.isIdentifier(d.name)?!1:d.name.text===n)?t:(D.push(e.ts.factory.createBindingElement(void 0,void 0,n)),D.sort((d,x)=>!e.ts.isBindingElement(d)||!e.ts.isIdentifier(d.name)||!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?0:d.name.text.localeCompare(x.name.text)),m[p]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(D),f.exclamationToken,f.type,f.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,m)),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 ce(e,t,r="esm"){return r==="cjs"?Zi(e,t):Xi(e,t)}function Xi(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})}}else!n.exportClause&&n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:n});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 u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.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 Zi(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 u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.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 ea(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 Fe(e,t,r,n){let o=ea(e,r,n);if(o){let i=await St(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getAppRootDir(),i);return{displayFilePath:k(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function at(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 J(e,t,r){let n=at(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 Lt(e,t){if(t){if(ta(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Lt(e,n)&&(r=!0)}),r)return!0}return!1}function ta(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 St(e,t){let r=e.extname(t).toLowerCase();if(r===""||!on.includes(r)){for(let n of on){let o=t+n;if(await e.exists(o))return o}for(let n of on){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var on=[".tsx",".jsx",".ts",".js"];function st(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=na(e,i);return a?[{name:a}]:void 0}function na(e,t){if(typeof t=="string"){t=e.normalize(ge(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function Pe(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}function gr(e,t,r="esm"){return r==="cjs"?ia(e,t):oa(e,t)}var ra=/^(@\w|\w)/;function oa(e,t){let r=[];for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&e.ts.isLiteralExpression(n.moduleSpecifier)){if(!ra.test(n.moduleSpecifier.text)||n.importClause?.isTypeOnly)continue;if(n.importClause&&n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings))for(let o of n.importClause.namedBindings.elements)o.isTypeOnly||r.push({isDefaultExport:!1,statement:n,node:o.name});n.importClause&&n.importClause.name&&r.push({isDefaultExport:!0,statement:n,node:n.importClause.name})}return r}function ia(e,t){return[]}async function ut(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await G(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 p=(await Me(e,o,a.filePath,s,!1)).find(m=>m.cmpInfo.id===a.id);p&&(a.inputs=Ge(e,o,p.node.fnNode))}return a}))}async function pt(e,t,r,n){if(t.node.fnNode){let{sourceFile:o,typeChecker:i}=await it(e,t.cmpInfo.filePath,r),s=(await Me(e,i,t.cmpInfo.filePath,o,n)).find(u=>u.cmpInfo.id===t.cmpInfo.id);if(!s)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,s.node.fnNode)}return[]}async function Cr(e,t,r){let n=e.extname(t).toLowerCase();if(n===".tsx"||n===".jsx"||n===".ts"||n===".js"){let o=await e.readFile(t);if(o)return aa(e,t,o,r)}return null}function aa(e,t,r,n=!1){let o=I(e,r);return Me(e,null,t,o,n)}async function Me(e,t,r,n,o){let i=[];for(let s of n.statements)if(e.ts.isExpressionStatement(s)&&e.ts.isStringLiteral(s.expression)&&s.expression.text==="use server")return i;let a=ce(e,n);return o&&a.push(...gr(e,n)),r=e.normalize(r),await Promise.all(a.map(async s=>{let u=await sa(e,t,r,s);i.push(...u)})),i}async function sa(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=V(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!nt(s.name.text))continue;let u=ke(e,t,s.initializer);if(u){let p=u.name||s.name.text,m=n.isDefaultExport?"default":p,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await $(e,r,m),displayFilePath:k(e,r),name:K(p),inputs:[],exportName:m,exportType:f,importName:p,filePath:r,relFilePath:i,importPath:a,dependencies:u.deps,framework:"react"},node:u})}}return o}if(e.ts.isArrowFunction(n.node)){let s=ke(e,t,n.node);if(s){let u=le(e,r),p=n.isDefaultExport?"default":u,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await $(e,r,p),displayFilePath:k(e,r),name:u,inputs:[],exportName:p,exportType:m,importName:We(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps,framework:"react"},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!nt(s))return o;let u=ke(e,t,n.node);if(u){let p=u.name||le(e,r),m=n.isDefaultExport||!u.name?"default":u.name,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await $(e,r,m),displayFilePath:k(e,r),name:p,inputs:[],exportName:m,exportType:f,importName:u.name||We(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:u.deps,framework:"react"},node:u})}return o}if((e.ts.isExportSpecifier(n.node)||e.ts.isIdentifier(n.node))&&nt(n.node.getText())){let s,u=ke(e,t,n.node);if(u){let p=u.name||le(e,r),m=n.isDefaultExport||!u.name?"default":u.name,f=n.isDefaultExport?"default":"named",l=ua(e,n.node)?.moduleSpecifier??pa(e,n.node)?.moduleSpecifier;if(l&&e.ts.isStringLiteral(l)){let g=t?.getSymbolAtLocation(l);if(g&&g.declarations&&g.declarations.length>0){let C=g.declarations[0];(!e.ts.isSourceFile(C)||e.ts.isSourceFile(C)&&C.fileName.includes("node_modules"))&&(s=l.text)}}o.push({cmpInfo:{id:await $(e,r,m,s),displayFilePath:k(e,r),name:p,inputs:[],exportName:m,exportType:f,importName:u.name||We(e,r),filePath:r,relFilePath:i,importPath:s||a,externalImportPath:s,dependencies:u.deps,framework:"react"},node:u})}return o}if(e.ts.isExportDeclaration(n.node)&&n.node.exportClause===void 0){let s=n.node.moduleSpecifier;if(s&&e.ts.isStringLiteral(s)){let u=await ca(e,t,r,s);o.push(...u)}return o}return o}function ua(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function pa(e,t){for(;t;){if(e.ts.isImportDeclaration(t))return t;t=t.parent}return null}function ke(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Lt(e,r.body)?{name:"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Lt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(e.ts.isPropertyAccessExpression(n)){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:ke(e,t,o[0])}else if(e.ts.isIdentifier(n)&&n.text==="observer"){let o=r.arguments;return o.length===0?null:ke(e,t,o[0])}return null}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)||!nt(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:st(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:st(e,t,n)}}if(e.ts.isIdentifier(r))return{name:r.text||"",fnNode:r,deps:st(e,t,r)};if(e.ts.isExpressionStatement(r)){let n=r.expression;if(e.ts.isAsExpression(n)&&e.ts.isIdentifier(n.type)&&n.type.text==="default")return ke(e,t,n.expression)}if(e.ts.isVariableStatement(r)){for(let n of r.declarationList.declarations)if(n.initializer&&e.ts.isAsExpression(n.initializer)){let o=n.initializer;if(e.ts.isIdentifier(o.type)&&o.type.text==="default"){let i=ke(e,t,o.expression);if(i&&e.ts.isIdentifier(n.name))return{name:n.name.text,fnNode:i.fnNode,deps:i.deps}}}}return null}async function xr(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(Rt(e,la,i.fileName)||a===e.reactConfigPath||a===e.builderComponentPath)return;let s=await Me(e,o,a,i,a===e.registryPath);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var la=new Set(["node_modules","dist"]);async function ca(e,t,r,n){let o=[],i=n.text;if(!t)return o;try{let a=t.getSymbolAtLocation(n);if(!a)return o;let s=t.getExportsOfModule(a);for(let u of s){let p=u.valueDeclaration||u.declarations?.[0];if(!p)continue;let m=u.name;if(!nt(m)&&m!=="default"||!hr(e,t,p))continue;let f=ke(e,t,p);if(f){let l=u.name,g=l==="default"?"default":"named",C=K(l),D=l==="default"?We(e,r):l;o.push({cmpInfo:{id:await $(e,r,l,i),displayFilePath:k(e,r),name:C,inputs:[],exportName:l,exportType:g,importName:D,filePath:r,relFilePath:e.relative(e.getAppRootDir(),r),importPath:i,externalImportPath:i,dependencies:f.deps,framework:"react"},node:f})}}}catch(a){e.Sentry?.captureException(new Error(`Error processing module ${i}:`,{cause:a}),{extra:{modulePath:i,filePath:r}})}return o}function hr(e,t,r){if(e.ts.isInterfaceDeclaration(r)||e.ts.isTypeAliasDeclaration(r))return!1;if(e.ts.isExportSpecifier(r)){let n=t.getSymbolAtLocation(r.name);if(n){let i=t.getAliasedSymbol(n).declarations?.[0];if(i)return hr(e,t,i)}return!1}if(e.ts.isFunctionDeclaration(r)||e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)){let n=t.getSignatureFromDeclaration(r);if(n){let o=t.getReturnTypeOfSignature(n);return Dr(o,t)}}return e.ts.isClassDeclaration(r)?r.heritageClauses?.some(o=>o.types.some(i=>i.expression.getText()==="React.Component"||i.expression.getText()==="Component"))??!1:e.ts.isVariableDeclaration(r)?t.getTypeAtLocation(r).getCallSignatures().some(i=>Dr(t.getReturnTypeOfSignature(i),t)):!1}function Dr(e,t){let r=t.typeToString(e);return r==="JSX.Element"||r==="Element"||r.includes("ReactElement")||r.includes("React.ReactElement")||r.includes("ReactNode")}async function Er(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&&ma.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.builderComponentPath)return;let u=await Me(e,o,s,i,s===e.registryPath||he(s));r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ma=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 we(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 u=a.moduleSpecifier.text;if(!u.startsWith(".")&&!u.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,[...an(e,r),...an(e,n),...an(e,o),...i])}function me(e){let t=e.split(`
24
24
  `).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+`
25
25
  `),/^builder.init(.*)$/.test(o)&&(o=o+`
26
26
  `),t[n-1]&&!t[n-1].includes("*/")&&(o.trim().startsWith("Builder.registerComponent")&&(o=`
@@ -29,12 +29,12 @@ ${r}=${n}
29
29
  `+o),o.trim().startsWith("export ")&&(o=`
30
30
  `+o)),e=o+`
31
31
  `+e}return e.trim()+`
32
- `}function an(e,t){return t.sort((r,n)=>{let o=Er(e,r),i=Er(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Er(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 Ar(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
33
- ${e}`),e}function Fr(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function ye(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Sr(e,r),i=Sr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Sr(e,t){let r=t.properties.find(n=>R(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Pr(e){let t=await e.readFile(e.registryPath);return t?ca(e,t):{components:[],sourceFile:I(e,"")}}async function ca(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?fa(e,r):ma(e,r)}async function ma(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 p=i.arguments;if(p.length<2)continue;let m=p[1];if(!e.ts.isObjectLiteralExpression(m))continue;let f=p[0];if(e.ts.isCallExpression(f)){let c=e.ts.isIdentifier(f.expression)&&f.expression.text;if(c==="withChildren"){let C=pn(e,f.arguments[0]);if(e.ts.isCallExpression(C)){let l=await sn(e,n,C,m,!0);l&&r.push(l)}else{let l=C;if(e.ts.isIdentifier(l)){let D=await un(e,t,n,l,m,!0);D&&r.push(D)}}continue}if(c==="dynamic"){let C=await sn(e,n,f,m,!1);C&&r.push(C);continue}let d=pn(e,f.arguments[0]);if(e.ts.isCallExpression(d)&&e.ts.isIdentifier(d.expression)&&d.expression.text==="dynamic"){let C=await sn(e,n,d,m,!1);C&&r.push(C);continue}if(e.ts.isIdentifier(d)){let C=await un(e,t,n,d,m,!1);C&&r.push(C);continue}continue}if(e.ts.isIdentifier(f)){let c=await un(e,t,n,f,m,!1);c&&r.push(c);continue}}return{sourceFile:t,components:oe(r)}}function pn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:pn(e,t.arguments[0]):t}async function sn(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o,framework:"react"},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let u=s.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let m=u.arguments[0];if(!e.ts.isStringLiteral(m))return null;let f=m.text,c=await lt(e,f);i.filePath=c,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(c)?i.importPath=V(e,i.filePath):(i.externalImportPath=f,i.importPath=i.externalImportPath),i.name=le(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(u)){let p=u.expression;if(!e.ts.isParenthesizedExpression(p))return null;let m=p.expression;if(!e.ts.isAwaitExpression(m))return null;let f=m.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let d=f.arguments[0];if(!e.ts.isStringLiteral(d)||!e.ts.isIdentifier(u.name))return null;let C=d.text,l=await lt(e,C);i.filePath=l,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(l)?i.importPath=V(e,i.filePath):(i.externalImportPath=C,i.importPath=i.externalImportPath),i.name=K(u.name.text),i.importName=u.name.text,i.exportName=u.name.text,i.exportType="named"}else return null;return i=ie(e,i,n),i.displayFilePath=k(e,i.filePath),i.filePath&&i.exportName&&(i.id=await $(e,i.filePath,i.exportName,i.externalImportPath)),i}async function un(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i,framework:"react"},s=t.statements.filter(p=>e.ts.isImportDeclaration(p)),u=s.find(p=>p.importClause&&p.importClause.name?.text===n.text);if(u){let p=u.moduleSpecifier;if(!e.ts.isStringLiteral(p))return null;let m=await lt(e,p.text);a.filePath=m,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=V(e,a.filePath):(a.externalImportPath=p.text,a.importPath=a.externalImportPath),a.name=le(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let p=s.find(c=>!c.importClause||!c.importClause.namedBindings||!e.ts.isNamedImports(c.importClause.namedBindings)?!1:c.importClause.namedBindings.elements.some(d=>d.name.text===n.text));if(!p)return null;let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;let f=await lt(e,m.text);a.filePath=f,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(f)?a.importPath=V(e,a.filePath):(a.externalImportPath=m.text,a.importPath=a.externalImportPath),a.name=K(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=ie(e,a,o),a.displayFilePath=k(e,a.filePath),a.filePath&&a.exportName&&(a.id=await $(e,a.filePath,a.exportName,a.externalImportPath)),a}function lt(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function wr(e,t,r){let n=!1,o=0,i=[...t.statements];for(let p=0;p<i.length;p++){let m=i[p];if(e.ts.isImportDeclaration(m)){o=p;continue}if(!e.ts.isExpressionStatement(m))continue;let f=m.expression;if(!e.ts.isCallExpression(f))continue;let c=f.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let d=c.expression;if(!e.ts.isIdentifier(d)||d.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(Ae)),s=r?e.ts.factory.createNonNullExpression(a):a,u=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,u),e.ts.factory.updateSourceFile(t,i)}async function fa(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await ln(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function ln(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};ot(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(R(e,i)==="component"){let s,{initializer:u}=i;if(e.ts.isCallExpression(u)&&(e.ts.isIdentifier(u.expression)&&u.expression.text)==="dynamic"){let d=u.arguments;if(d.length===0)return null;let C=d[0];if(!e.ts.isArrowFunction(C))return null;let l=C.body;if(e.ts.isCallExpression(l)){if(l.expression.kind!==e.ts.SyntaxKind.ImportKeyword||l.arguments.length!==1)return null;let g=l.arguments[0];if(!e.ts.isStringLiteral(g))return null;let x=g.text,E=await lt(e,x);n.filePath=E,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(E)?n.importPath=V(e,n.filePath):(n.externalImportPath=x,n.importPath=n.externalImportPath),n.name=le(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let D=l.expression;if(!e.ts.isParenthesizedExpression(D))return null;let g=D.expression;if(!e.ts.isAwaitExpression(g))return null;let x=g.expression;if(!e.ts.isCallExpression(x)||x.expression.kind!==e.ts.SyntaxKind.ImportKeyword||x.arguments.length!==1)return null;let P=x.arguments[0];if(!e.ts.isStringLiteral(P)||!e.ts.isIdentifier(l.name))return null;let A=P.text,S=await lt(e,A);n.filePath=S,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(S)?n.importPath=V(e,n.filePath):(n.externalImportPath=A,n.importPath=n.externalImportPath),n.name=K(l.name.text),n.importName=l.name.text,n.exportName=l.name.text,n.exportType="named"}else return null;return n=ie(e,n,r),n.displayFilePath=k(e,n.filePath),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;n.name===""&&(n.name=K(s)),n.importName=s;let p=await Fe(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=V(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.importPath=V(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let m=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=m.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=m.find(C=>!C.importClause||!C.importClause.namedBindings||!e.ts.isNamedImports(C.importClause.namedBindings)?!1:C.importClause.namedBindings.elements.some(l=>l.name.text===s));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;n.exportName=s}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}function Te(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 u=[...s.elements];for(let p=u.length-1;p>=0;p--){let m=u[p];if(e.ts.isImportSpecifier(m)){let f=m.name;if(f&&e.ts.isIdentifier(f)){let c=f.text;yr(e,t,c)||u.splice(p,1)}}}if(u.length===0)a=!0;else if(s.elements.length!==u.length){let p=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(u)),m=e.ts.factory.updateImportDeclaration(i,void 0,p,i.moduleSpecifier,void 0);r[o]=m,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let u=i.importClause.name.text;yr(e,t,u)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function yr(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 be(e,t,r,n,o,i,a){let s=null,u=null,p=null,m=-1;t=se(t),r=se(r);let f=t.find(d=>d.id===e),c=r.find(d=>d.id===e);if(n)c||(s={...se(f),inputs:se(f.inputs).map(d=>(d.isRegistered=!0,d))},m=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)m=c.nodeIndex,u=se(c),r=r.filter(d=>d.id!==e);else if(i!=null)da(c,i),m=c.nodeIndex,p=c;else if(a!=null){let d=c.inputs.find(C=>C.name===a.name);d&&(a.registerInput===!1?d.isRegistered=!1:(ga(d,a),d.isRegistered=!0),p=c,m=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:u,updateRegisteredCmp:p,nodeIndex:m,components:De(t,r)}}function De(e,t){let r=oe([...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(nn),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=tn(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function da(e,t){ne(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),ne(t.description)?e.description=t.description:t.description===null&&delete e.description,ne(t.image)?e.image=t.image:t.image===null&&delete e.image}function ga(e,t){ne(t.type)&&(e.type=t.type),ne(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,ne(t.defaultValue)||Dt(t.defaultValue)||tt(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,ne(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 Ue(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),u=e.extname(a).toLowerCase();if(u===".tsx"||u===".jsx"||u===".ts"||u===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getAppRootDir()),await G(e,[...t])}function ve(e,t,r){return at(e,t,r.variableName)?t:Da(e,t,r)}function Da(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),u=e.ts.factory.createVariableStatement([s],a),p=[...t.statements,u];return e.ts.factory.updateSourceFile(t,p)}async function Ie(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f,c]=await Promise.all([hr(e,u),Pr(e),ae(e),Ct(e)]),d=p.map(E=>E.cmpInfo),C=m.components,l={components:De(d,C),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(d),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return l.components=await ut(e,l.components),l;let D=!1,g=m.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.map(S=>{let O=p.find(z=>z.cmpInfo.id===S);if(!O)throw new Error(`Component ${S} not found`);return O}),P=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),A=await G(e,P);for(let S of E){let O=l.components.find(w=>w.id===S.cmpInfo.id),z=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(O,z);let j=d.findIndex(w=>w.id===S.cmpInfo.id);d[j].inputs=z;let F=be(S.cmpInfo.id,d,C,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:de,statement:Y,variableDeclaration:L}=await ha(e,g,S);if(F.addCmpToRegistry)w.push(xa(e,F.addCmpToRegistry)),D=!0;else if(F.removeCmpFromRegistry)w.splice(ee,1),D=!0;else if(F.updateRegisteredCmp){let te=Q(e,w[ee],F.updateRegisteredCmp);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[br(e,F.updateRegisteredCmp),...te.properties.slice(1)]),D=!0}if(D&&a){let te=[...g.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),g=e.ts.factory.updateSourceFile(g,te),g=Tr(e,F,g),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),g=ve(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),l.components=F.components,C=F.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...g.statements];F.addCmpToRegistry?(w.push(pr(e,F.addCmpToRegistry)),D=!0):F.removeCmpFromRegistry?(w.splice(F.nodeIndex,1),D=!0):F.updateRegisteredCmp&&(w[F.nodeIndex]=rn(e,w[F.nodeIndex],F.updateRegisteredCmp),D=!0),D&&a&&(g=e.ts.factory.updateSourceFile(g,w),g=v(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),g=wr(e,g,f),g=Tr(e,F,g),O?.acceptsChildren&&(g=v(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),l.components=F.components,C=F.components.filter(ee=>ee.isRegistered))}}}if(D&&a){g=Te(e,g),g=we(e,g),e.appDir&&(g=Fr(e,g));let E=_(e,g);E=me(E),e.appDir&&(E=Ar(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return l}function br(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",Ea(e,t))}function Ca(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function xa(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([br(e,t),...t.acceptsChildren?[Ca(e)]:[]],!0),t)}async function ha(e,t,r){let n=J(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 ln(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function Tr(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:B(e,e.registryPath,n.filePath);n.exportType==="default"?r=v(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=v(e,r,{namedImports:[n.importName],importPath:o}))}}else r=v(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function Ea(e,t){let r=t.externalImportPath?t.externalImportPath: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 Ir(e){let t=[],r=await wa(e,t);return await kr(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Aa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Fa(e,e.pagesDir,t)),t}async function Nr(e){let t=[];return await kr(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Sa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Pa(e,e.pagesDir,t)),t}async function Sa(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,Br({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,Rr(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function Aa(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,Br({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,Rr(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Rr(e){let t=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
32
+ `}function an(e,t){return t.sort((r,n)=>{let o=Sr(e,r),i=Sr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Sr(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 Fr(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
33
+ ${e}`),e}function Pr(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function ye(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Ar(e,r),i=Ar(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Ar(e,t){let r=t.properties.find(n=>B(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function wr(e){let t=await e.readFile(e.registryPath);return t?fa(e,t):{components:[],sourceFile:I(e,"")}}async function fa(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?ga(e,r):da(e,r)}async function da(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 p=i.arguments;if(p.length<2)continue;let m=p[1];if(!e.ts.isObjectLiteralExpression(m))continue;let f=p[0];if(e.ts.isCallExpression(f)){let l=e.ts.isIdentifier(f.expression)&&f.expression.text;if(l==="withChildren"){let C=pn(e,f.arguments[0]);if(e.ts.isCallExpression(C)){let D=await sn(e,n,C,m,!0);D&&r.push(D)}else{let D=C;if(e.ts.isIdentifier(D)){let c=await un(e,t,n,D,m,!0);c&&r.push(c)}}continue}if(l==="dynamic"){let C=await sn(e,n,f,m,!1);C&&r.push(C);continue}let g=pn(e,f.arguments[0]);if(e.ts.isCallExpression(g)&&e.ts.isIdentifier(g.expression)&&g.expression.text==="dynamic"){let C=await sn(e,n,g,m,!1);C&&r.push(C);continue}if(e.ts.isIdentifier(g)){let C=await un(e,t,n,g,m,!1);C&&r.push(C);continue}continue}if(e.ts.isIdentifier(f)){let l=await un(e,t,n,f,m,!1);l&&r.push(l);continue}}return{sourceFile:t,components:oe(r)}}function pn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:pn(e,t.arguments[0]):t}async function sn(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o,framework:"react"},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let u=s.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let m=u.arguments[0];if(!e.ts.isStringLiteral(m))return null;let f=m.text,l=await lt(e,f);i.filePath=l,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(l)?i.importPath=V(e,i.filePath):(i.externalImportPath=f,i.importPath=i.externalImportPath),i.name=le(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(u)){let p=u.expression;if(!e.ts.isParenthesizedExpression(p))return null;let m=p.expression;if(!e.ts.isAwaitExpression(m))return null;let f=m.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let g=f.arguments[0];if(!e.ts.isStringLiteral(g)||!e.ts.isIdentifier(u.name))return null;let C=g.text,D=await lt(e,C);i.filePath=D,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(D)?i.importPath=V(e,i.filePath):(i.externalImportPath=C,i.importPath=i.externalImportPath),i.name=K(u.name.text),i.importName=u.name.text,i.exportName=u.name.text,i.exportType="named"}else return null;return i=ie(e,i,n),i.displayFilePath=k(e,i.filePath),i.filePath&&i.exportName&&(i.id=await $(e,i.filePath,i.exportName,i.externalImportPath)),i}async function un(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i,framework:"react"},s=t.statements.filter(p=>e.ts.isImportDeclaration(p)),u=s.find(p=>p.importClause&&p.importClause.name?.text===n.text);if(u){let p=u.moduleSpecifier;if(!e.ts.isStringLiteral(p))return null;let m=await lt(e,p.text);a.filePath=m,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=V(e,a.filePath):(a.externalImportPath=p.text,a.importPath=a.externalImportPath),a.name=le(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let p=s.find(l=>!l.importClause||!l.importClause.namedBindings||!e.ts.isNamedImports(l.importClause.namedBindings)?!1:l.importClause.namedBindings.elements.some(g=>g.name.text===n.text));if(!p)return null;let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;let f=await lt(e,m.text);a.filePath=f,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(f)?a.importPath=V(e,a.filePath):(a.externalImportPath=m.text,a.importPath=a.externalImportPath),a.name=K(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=ie(e,a,o),a.displayFilePath=k(e,a.filePath),a.filePath&&a.exportName&&(a.id=await $(e,a.filePath,a.exportName,a.externalImportPath)),a}function lt(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function yr(e,t,r){let n=!1,o=0,i=[...t.statements];for(let p=0;p<i.length;p++){let m=i[p];if(e.ts.isImportDeclaration(m)){o=p;continue}if(!e.ts.isExpressionStatement(m))continue;let f=m.expression;if(!e.ts.isCallExpression(f))continue;let l=f.expression;if(!e.ts.isPropertyAccessExpression(l))continue;let g=l.expression;if(!e.ts.isIdentifier(g)||g.text!=="builder")continue;if(l.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(Ae)),s=r?e.ts.factory.createNonNullExpression(a):a,u=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,u),e.ts.factory.updateSourceFile(t,i)}async function ga(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await ln(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function ln(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};ot(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(B(e,i)==="component"){let s,{initializer:u}=i;if(e.ts.isCallExpression(u)&&(e.ts.isIdentifier(u.expression)&&u.expression.text)==="dynamic"){let g=u.arguments;if(g.length===0)return null;let C=g[0];if(!e.ts.isArrowFunction(C))return null;let D=C.body;if(e.ts.isCallExpression(D)){if(D.expression.kind!==e.ts.SyntaxKind.ImportKeyword||D.arguments.length!==1)return null;let d=D.arguments[0];if(!e.ts.isStringLiteral(d))return null;let x=d.text,E=await lt(e,x);n.filePath=E,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(E)?n.importPath=V(e,n.filePath):(n.externalImportPath=x,n.importPath=n.externalImportPath),n.name=le(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(D)){let c=D.expression;if(!e.ts.isParenthesizedExpression(c))return null;let d=c.expression;if(!e.ts.isAwaitExpression(d))return null;let x=d.expression;if(!e.ts.isCallExpression(x)||x.expression.kind!==e.ts.SyntaxKind.ImportKeyword||x.arguments.length!==1)return null;let F=x.arguments[0];if(!e.ts.isStringLiteral(F)||!e.ts.isIdentifier(D.name))return null;let A=F.text,S=await lt(e,A);n.filePath=S,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(S)?n.importPath=V(e,n.filePath):(n.externalImportPath=A,n.importPath=n.externalImportPath),n.name=K(D.name.text),n.importName=D.name.text,n.exportName=D.name.text,n.exportType="named"}else return null;return n=ie(e,n,r),n.displayFilePath=k(e,n.filePath),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;n.name===""&&(n.name=K(s)),n.importName=s;let p=await Fe(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=V(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.importPath=V(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let m=t.statements.filter(l=>e.ts.isImportDeclaration(l)),f=m.find(l=>l.importClause&&l.importClause.name?.text===s);if(f){let l=f.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;n.exportName="default"}else{let l=m.find(C=>!C.importClause||!C.importClause.namedBindings||!e.ts.isNamedImports(C.importClause.namedBindings)?!1:C.importClause.namedBindings.elements.some(D=>D.name.text===s));if(!l)return null;let g=l.moduleSpecifier;if(!e.ts.isStringLiteral(g))return null;n.exportName=s}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}function Te(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 u=[...s.elements];for(let p=u.length-1;p>=0;p--){let m=u[p];if(e.ts.isImportSpecifier(m)){let f=m.name;if(f&&e.ts.isIdentifier(f)){let l=f.text;Tr(e,t,l)||u.splice(p,1)}}}if(u.length===0)a=!0;else if(s.elements.length!==u.length){let p=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(u)),m=e.ts.factory.updateImportDeclaration(i,void 0,p,i.moduleSpecifier,void 0);r[o]=m,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let u=i.importClause.name.text;Tr(e,t,u)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Tr(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 be(e,t,r,n,o,i,a){let s=null,u=null,p=null,m=-1;t=se(t),r=se(r);let f=t.find(g=>g.id===e),l=r.find(g=>g.id===e);if(n)l||(s={...se(f),inputs:se(f.inputs).map(g=>(g.isRegistered=!0,g))},m=r.length,r.push(s));else if(typeof l?.nodeIndex=="number"&&l.nodeIndex>-1){if(o)m=l.nodeIndex,u=se(l),r=r.filter(g=>g.id!==e);else if(i!=null)Da(l,i),m=l.nodeIndex,p=l;else if(a!=null){let g=l.inputs.find(C=>C.name===a.name);g&&(a.registerInput===!1?g.isRegistered=!1:(Ca(g,a),g.isRegistered=!0),p=l,m=l.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:u,updateRegisteredCmp:p,nodeIndex:m,components:De(t,r)}}function De(e,t){let r=oe([...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(nn),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=tn(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function Da(e,t){ne(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),ne(t.description)?e.description=t.description:t.description===null&&delete e.description,ne(t.image)?e.image=t.image:t.image===null&&delete e.image}function Ca(e,t){ne(t.type)&&(e.type=t.type),ne(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,ne(t.defaultValue)||Dt(t.defaultValue)||tt(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,ne(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 Ue(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),u=e.extname(a).toLowerCase();if(u===".tsx"||u===".jsx"||u===".ts"||u===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getAppRootDir()),await G(e,[...t])}function ve(e,t,r){return at(e,t,r.variableName)?t:xa(e,t,r)}function xa(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),u=e.ts.factory.createVariableStatement([s],a),p=[...t.statements,u];return e.ts.factory.updateSourceFile(t,p)}async function Ie(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f,l]=await Promise.all([Er(e,u),wr(e),ae(e),Ct(e)]),g=p.map(E=>E.cmpInfo),C=m.components,D={components:De(g,C),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(g),publicApiKey:l.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await ut(e,D.components),D;let c=!1,d=m.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.map(S=>{let N=p.find(z=>z.cmpInfo.id===S);if(!N)throw new Error(`Component ${S} not found`);return N}),F=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),A=await G(e,F);for(let S of E){let N=D.components.find(w=>w.id===S.cmpInfo.id),z=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(N,z);let j=g.findIndex(w=>w.id===S.cmpInfo.id);g[j].inputs=z;let P=be(S.cmpInfo.id,g,C,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:de,statement:Y,variableDeclaration:L}=await Sa(e,d,S);if(P.addCmpToRegistry)w.push(Ea(e,P.addCmpToRegistry)),c=!0;else if(P.removeCmpFromRegistry)w.splice(ee,1),c=!0;else if(P.updateRegisteredCmp){let te=Q(e,w[ee],P.updateRegisteredCmp);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[vr(e,P.updateRegisteredCmp),...te.properties.slice(1)]),c=!0}if(c&&a){let te=[...d.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),d=e.ts.factory.updateSourceFile(d,te),d=br(e,P,d),d=v(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),d=ve(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=P.components,C=P.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...d.statements];P.addCmpToRegistry?(w.push(lr(e,P.addCmpToRegistry)),c=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),c=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=rn(e,w[P.nodeIndex],P.updateRegisteredCmp),c=!0),c&&a&&(d=e.ts.factory.updateSourceFile(d,w),d=v(e,d,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),d=yr(e,d,f),d=br(e,P,d),N?.acceptsChildren&&(d=v(e,d,{namedImports:["withChildren"],importPath:"@builder.io/react"})),D.components=P.components,C=P.components.filter(ee=>ee.isRegistered))}}}if(c&&a){d=Te(e,d),d=we(e,d),e.appDir&&(d=Pr(e,d));let E=_(e,d);E=me(E),e.appDir&&(E=Fr(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return D}function vr(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",Aa(e,t))}function ha(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function Ea(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([vr(e,t),...t.acceptsChildren?[ha(e)]:[]],!0),t)}async function Sa(e,t,r){let n=J(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 ln(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function br(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:O(e,e.registryPath,n.filePath);n.exportType==="default"?r=v(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=v(e,r,{namedImports:[n.importName],importPath:o}))}}else r=v(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function Aa(e,t){let r=t.externalImportPath?t.externalImportPath:O(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 Nr(e){let t=[],r=await Ta(e,t);return await Lr(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Pa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await wa(e,e.pagesDir,t)),t}async function Rr(e){let t=[];return await Lr(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Fa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await ya(e,e.pagesDir,t)),t}async function Fa(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,Or({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,Br(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function Pa(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,Or({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,Br(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Br(e){let t=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
34
34
  "use client";
35
35
  import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
36
36
  import DefaultErrorPage from "next/error";
37
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
37
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
38
38
  ${t?`
39
39
  interface BuilderPageProps {
40
40
  content: BuilderContent | null;
@@ -68,7 +68,7 @@ ${t?'import { ComponentProps } from "react";':""}
68
68
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
69
69
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
70
70
  import DefaultErrorPage from "next/error";
71
- import ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
71
+ import ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
72
72
  ${t?`
73
73
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
74
74
 
@@ -89,7 +89,7 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
89
89
  // DefaultErrorPage with a 404.
90
90
  return <DefaultErrorPage statusCode={404} />;
91
91
  }
92
- `.trimStart()}function vr(e){return e.features.asyncParams?`
92
+ `.trimStart()}function Ir(e){return e.features.asyncParams?`
93
93
  interface PageProps {
94
94
  params: Promise<{
95
95
  page: string[];
@@ -99,14 +99,14 @@ interface PageProps {
99
99
  params: {
100
100
  page: string[];
101
101
  };
102
- }`}function Br({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=B(e,t,e.builderComponentPath);return e.sdkVersion===y.gen2?`
102
+ }`}function Or({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.builderComponentPath);return e.sdkVersion===y.gen2?`
103
103
  import { fetchOneEntry } from "@builder.io/sdk-react";
104
104
  import { RenderBuilderContent } from ${JSON.stringify(o)};
105
105
 
106
106
  // Builder Public API Key set in .env file
107
107
  const PUBLIC_API_KEY = process.env.${Ae}${n?"!":""};
108
108
 
109
- ${n?vr(e):""}
109
+ ${n?Ir(e):""}
110
110
 
111
111
  export default async function Page(props${n?": PageProps":""}) {
112
112
  const builderModelName = "${r}";
@@ -134,7 +134,7 @@ import { RenderBuilderContent } from ${JSON.stringify(o)};
134
134
 
135
135
  // Builder Public API Key set in .env file
136
136
  builder.init(process.env.${Ae}${n?"!":""});
137
- ${n?vr(e):""}
137
+ ${n?Ir(e):""}
138
138
 
139
139
  export default async function Page(props${n?": PageProps":""}) {
140
140
  const builderModelName = "${r}";
@@ -157,7 +157,7 @@ export default async function Page(props${n?": PageProps":""}) {
157
157
  </>
158
158
  );
159
159
  }
160
- `.trimStart()}async function Fa(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,Or({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Pa(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,Or({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Or({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
160
+ `.trimStart()}async function wa(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,kr({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ya(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,kr({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function kr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
161
161
  import React from "react";
162
162
  import { useRouter } from "next/router";
163
163
  ${n?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
@@ -170,7 +170,7 @@ import {
170
170
  import DefaultErrorPage from "next/error";
171
171
  import Head from "next/head";
172
172
  ${n?'import { GetStaticProps } from "next";':""}
173
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
173
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
174
174
 
175
175
  const BUILDER_API_KEY = process.env.${Ae}${n?"!":""};
176
176
 
@@ -254,7 +254,7 @@ import DefaultErrorPage from "next/error";
254
254
  import Head from "next/head";${n?`
255
255
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
256
256
  import { GetStaticProps } from "next";`:""}
257
- import ${JSON.stringify(B(e,t,e.registryPath))};
257
+ import ${JSON.stringify(O(e,t,e.registryPath))};
258
258
 
259
259
  builder.init(process.env.${Ae}${n?"!":""});
260
260
 
@@ -321,7 +321,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
321
321
  </>
322
322
  );
323
323
  }
324
- `.trimStart()}async function wa(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:u}=ya(e);if(!await e.exists(i)){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function ya(e){let t=e.typescriptEnabled,r=`
324
+ `.trimStart()}async function Ta(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:u}=ba(e);if(!await e.exists(i)){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function ba(e){let t=e.typescriptEnabled,r=`
325
325
  "use client"
326
326
  import React, { useState } from "react";
327
327
  import styles from "./styles.module.css";
@@ -384,18 +384,18 @@ export default Counter;
384
384
  font-size: 42px;
385
385
  text-align: center;
386
386
  }
387
- `.trimStart();return{component:r,styles:n}}async function kr(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=Ta(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 Ie(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Ie(e,o.id,!0,!1,null,null,!0,!1)}function Ta(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
387
+ `.trimStart();return{component:r,styles:n}}async function Lr(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=va(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 Ie(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Ie(e,o.id,!0,!1,null,null,!0,!1)}function va(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
388
388
 
389
389
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
390
390
  ];`:`export const CUSTOM_COMPONENTS = [
391
391
  ];
392
- `}async function ct(e){let t=await dt(e,e.getRepoRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return y.gen2;if(r.has("@builder.io/react"))return y.gen1}return null}async function Lr(e){let t=await ba(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Ir(t),ensureFigmaImportPage:()=>Nr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},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:()=>Ct(t),setPublicApiKey:n=>rr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.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:()=>Ee(t),setCache:n=>Se(t,n)}}async function ba(e){let t=e.getAppRootDir(),r=e.join(t,"src"),n=await va(e),o=await ae(e),i=e.getFrameworks().find(p=>p.name==="next"),a={asyncParams:i?.version?.major!==void 0&&i.version.major>=15},s={},u={...e,addExternalPackage:p=>{s[e.join(t,p,"index.ts")]=`export * from "${p}";`},readFileSync:p=>s[p]??e.readFileSync(p),existsSync:p=>!!s[p]||e.existsSync(p),readdirSync:p=>{let m=e.readdirSync(p);return p===t?[...m,...Object.keys(s).map(f=>f.slice(t.length+1))]:m},readdir:async p=>{let m=await e.readdir(p);return p===t?[...m,...Object.keys(s).map(f=>f.slice(t.length+1))]:m},appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o,features:a};if(e.sdkVersion?u.sdkVersion=e.sdkVersion:u.sdkVersion=await ct(u),await e.exists(r)){u.srcDir=r,u.componentsDir=e.join(r,"components");let p=e.join(r,"app");await e.exists(p)&&(u.appDir=p);let m=e.join(r,"pages");await e.exists(m)&&(u.pagesDir=m),u.registryPath=await pe(e,r)}else u.componentsDir=e.join(t,"components"),u.registryPath=await pe(e,t);if(u.builderComponentPath=e.join(u.componentsDir,`builder.${o?"tsx":"jsx"}`),!u.appDir){let p=e.join(t,"app");await e.exists(p)&&(u.appDir=p)}if(!u.pagesDir){let p=e.join(t,"pages");await e.exists(p)&&(u.pagesDir=p)}if(!u.appDir&&!u.pagesDir&&!e.ignoreMissingConfig)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return u}async function va(e){let t=e.join(e.getAppRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getAppRootDir(),"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.getAppRootDir()}".`)}async function At(e){return await $e(e,[".env"],jr)}async function _r(e,t){Ia(t);let r=await At(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Ia(e){typeof process<"u"&&(process.env[jr]=e)}var jr="PUBLIC_BUILDER_API_KEY";function Vr(e,t,r){if(r.length===0)return e;let n=e.split(`
392
+ `}async function ct(e){let t=await dt(e,e.getRepoRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return y.gen2;if(r.has("@builder.io/react"))return y.gen1}return null}async function _r(e){let t=await Ia(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Nr(t),ensureFigmaImportPage:()=>Rr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},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:()=>Ct(t),setPublicApiKey:n=>or(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.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:()=>Ee(t),setCache:n=>Se(t,n)}}async function Ia(e){let t=e.getAppRootDir(),r=e.join(t,"src"),n=await Na(e),o=await ae(e),i=e.getFrameworks().find(p=>p.name==="next"),a={asyncParams:i?.version?.major!==void 0&&i.version.major>=15},s={},u={...e,addExternalPackage:p=>{s[e.join(t,p,"index.ts")]=`export * from "${p}";`},readFileSync:p=>s[p]??e.readFileSync(p),existsSync:p=>!!s[p]||e.existsSync(p),readdirSync:p=>{let m=e.readdirSync(p);return p===t?[...m,...Object.keys(s).map(f=>f.slice(t.length+1))]:m},readdir:async p=>{let m=await e.readdir(p);return p===t?[...m,...Object.keys(s).map(f=>f.slice(t.length+1))]:m},appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o,features:a};if(e.sdkVersion?u.sdkVersion=e.sdkVersion:u.sdkVersion=await ct(u),await e.exists(r)){u.srcDir=r,u.componentsDir=e.join(r,"components");let p=e.join(r,"app");await e.exists(p)&&(u.appDir=p);let m=e.join(r,"pages");await e.exists(m)&&(u.pagesDir=m),u.registryPath=await pe(e,r)}else u.componentsDir=e.join(t,"components"),u.registryPath=await pe(e,t);if(u.builderComponentPath=e.join(u.componentsDir,`builder.${o?"tsx":"jsx"}`),!u.appDir){let p=e.join(t,"app");await e.exists(p)&&(u.appDir=p)}if(!u.pagesDir){let p=e.join(t,"pages");await e.exists(p)&&(u.pagesDir=p)}if(!u.appDir&&!u.pagesDir&&!e.ignoreMissingConfig)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return u}async function Na(e){let t=e.join(e.getAppRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getAppRootDir(),"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.getAppRootDir()}".`)}async function At(e){return await $e(e,[".env"],Vr)}async function jr(e,t){Ra(t);let r=await At(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Ra(e){typeof process<"u"&&(process.env[Vr]=e)}var Vr="PUBLIC_BUILDER_API_KEY";function $r(e,t,r){if(r.length===0)return e;let n=e.split(`
393
393
  `),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(`
394
- `)}async function Kr(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(".")||Ba.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await _t(e,o,s,i);r.push(...u)})),r}async function Mr(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Na(e,t,n)}return null}function Na(e,t,r){let n=I(e,r);return _t(e,null,t,n)}async function _t(e,t,r,n){r=e.normalize(r);let o=[],i=ce(e,n);return await Promise.all(i.map(async a=>{let s=await Ra(e,t,r,a);s&&o.push(s)})),o}async function Ra(e,t,r,n){let o=e.relative(e.getAppRootDir(),r),i=V(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=$r(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let u=a.name.text;return{cmpInfo:{id:await $(e,r,u),displayFilePath:k(e,r),name:K(u),inputs:[],exportName:n.isDefaultExport?"default":u,exportType:n.isDefaultExport?"default":"named",importName:u,filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=$r(e,n.node);if(a)return{cmpInfo:{id:await $(e,r,"default"),displayFilePath:k(e,r),name:le(e,r),inputs:[],exportName:"default",exportType:"default",importName:We(e,r),filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:a}}return null}function $r(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 Ba=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Ur(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 it(e,t.cmpInfo.filePath,null);if(!(await _t(e,i,t.cmpInfo.filePath,o)).find(u=>u.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,r)}return[]}async function zr(e){return cn(e)}async function cn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Oa),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Oa=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
394
+ `)}async function Mr(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(".")||ka.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await _t(e,o,s,i);r.push(...u)})),r}async function Ur(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ba(e,t,n)}return null}function Ba(e,t,r){let n=I(e,r);return _t(e,null,t,n)}async function _t(e,t,r,n){r=e.normalize(r);let o=[],i=ce(e,n);return await Promise.all(i.map(async a=>{let s=await Oa(e,t,r,a);s&&o.push(s)})),o}async function Oa(e,t,r,n){let o=e.relative(e.getAppRootDir(),r),i=V(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Kr(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let u=a.name.text;return{cmpInfo:{id:await $(e,r,u),displayFilePath:k(e,r),name:K(u),inputs:[],exportName:n.isDefaultExport?"default":u,exportType:n.isDefaultExport?"default":"named",importName:u,filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=Kr(e,n.node);if(a)return{cmpInfo:{id:await $(e,r,"default"),displayFilePath:k(e,r),name:le(e,r),inputs:[],exportName:"default",exportType:"default",importName:We(e,r),filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:a}}return null}function Kr(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 ka=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function zr(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 it(e,t.cmpInfo.filePath,null);if(!(await _t(e,i,t.cmpInfo.filePath,o)).find(u=>u.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,r)}return[]}async function qr(e){return cn(e)}async function cn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,La),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var La=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
395
395
 
396
396
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
397
397
  ];
398
- `;async function qr(e){await cn(e);let t=await e.readFile(e.registryPath);return t?ka(e,t):{components:[],sourceFile:I(e,"")}}async function ka(e,t){let r=I(e,t);return La(e,r)}async function La(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await mn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function mn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],framework:"qwik"};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(R(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=K(a)),n.importName=a;let s=await Fe(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=V(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let u=await Mr(e,s.filePath);if(u&&u.length>0)if(u.length===1)n.exportName=u[0].cmpInfo.exportName;else{let p=u.find(m=>m.cmpInfo.exportName===a);p&&(n.exportName=p.cmpInfo.exportName)}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName)),n}async function Jr(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),u=e.extname(a).toLowerCase();if(u===".tsx"||u===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getAppRootDir()),await G(e,[...t])}async function He(e,t,r,n,o,i,a,s){let u=await Jr(e),[p,m,f]=await Promise.all([Kr(e,u),qr(e),At(e)]),c=p.map(l=>l.cmpInfo),d=m.components,C={components:De(c,d),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return C;if(t!=null){let l=p.find(F=>F.cmpInfo.id===t);if(!l)throw new Error(`Component ${t} not found`);let D=m.sourceFile,g=C.components.find(F=>F.id===t),x=await Ur(e,l);ue(g,x),t=Array.isArray(t)?t[0]:t;let E=be(t,c,d,r,n,o,i),{elements:P,elmIndex:A,statementIndex:S,statement:O,variableDeclaration:z}=await ja(e,D,l),j=!1;if(E.addCmpToRegistry?(P.push(_a(e,E.addCmpToRegistry)),j=!0):E.removeCmpFromRegistry?(P.splice(A,1),j=!0):E.updateRegisteredCmp&&(P[A]=Q(e,P[A],E.updateRegisteredCmp),j=!0),j&&a){let F=[...D.statements];F[S]=e.ts.factory.updateVariableStatement(O,O.modifiers,e.ts.factory.updateVariableDeclarationList(O.declarationList,[e.ts.factory.updateVariableDeclaration(z,z.name,z.exclamationToken,z.type,e.ts.factory.createArrayLiteralExpression(ye(e,P)))])),D=e.ts.factory.updateSourceFile(D,F),g.exportType==="named"?D=v(e,D,{namedImports:[g.importName],importPath:B(e,e.registryPath,g.filePath)}):D=v(e,D,{defaultImport:g.importName,importPath:B(e,e.registryPath,g.filePath)}),D=v(e,D,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),D=ve(e,D,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D=Te(e,D),D=we(e,D);let w=_(e,D);w=me(w),w=Vr(w,Va,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}C.components=E.components}return C}function _a(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function ja(e,t,r){let n=J(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 mn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Va=["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 Qr(e){let t=await $a(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>zr(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>He(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:async n=>{},loadComponent:async n=>{let o=await He(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>He(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>He(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>He(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>He(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>At(t),setPublicApiKey:n=>_r(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function $a(e){let t=await gt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let r=await pe(e,t),n=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ft(e){return await $e(e,[".env"],Pt)}async function Wr(e,t){let r=await Ft(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Pt="PUBLIC_BUILDER_KEY";var Ka=new Set(["dist","node_modules"]);async function Yr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getAppRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Rt(e,Ka,a.fileName)||Ma.has(s)||s.includes("$."))return;let u=e.normalize(a.fileName);if(u===e.remixConfigPath||u===i)return;let p=await Me(e,o,u,a,u===e.registryPath);r.push(...p)})),r}var Ma=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Gr(e){await jt(e);let t=await e.readFile(e.registryPath);return t?Ua(e,t):{components:[],sourceFile:I(e,"")}}async function Ua(e,t){let r=I(e,t);return za(e,r)}async function za(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await fn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function fn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};e.sdkVersion===y.gen2&&ot(e,r)&&(n.acceptsChildren=!0);for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(R(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let m=s.arguments[0];e.ts.isIdentifier(m)&&(a=m.text)}if(!a)continue;n.name===""&&(n.name=K(a)),n.importName=a;let u=await Fe(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=V(e,u.filePath):(n.externalImportPath=u.importPath,n.importPath=n.externalImportPath),n.displayFilePath=u.displayFilePath,n.exportType=u.exportType,n.externalImportPath)n.exportName=a;else{let p=await Dr(e,u.filePath,e.registryPath===u.filePath||he(u.filePath));if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let m=p.find(f=>f.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Ne(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f]=await Promise.all([Yr(e,u),Gr(e),Ft(e)]),c=p.map(x=>x.cmpInfo),d=m.components,C={components:De(c,d),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return C.components=await ut(e,C.components),C;let l=!1,D=m.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let x=g.map(A=>{let S=p.find(O=>O.cmpInfo.id===A);if(!S)throw new Error(`Component ${A} not found`);return S}),E=Array.from(new Set(x.map(A=>A.cmpInfo.filePath))),P=await G(e,E);for(let A of x){let S=C.components.find(L=>L.id===A.cmpInfo.id),O=await pt(e,A,P,e.registryPath===A.cmpInfo.filePath||he(A.cmpInfo.filePath));ue(S,O);let z=c.findIndex(L=>L.id===A.cmpInfo.id);c[z].inputs=O;let j=be(A.cmpInfo.id,c,d,r,n,o,i),{elements:F,elmIndex:w,statementIndex:ee,statement:de,variableDeclaration:Y}=await Ja(e,D,A);if(j.addCmpToRegistry)F.push(qa(e,j.addCmpToRegistry)),l=!0;else if(j.removeCmpFromRegistry)F.splice(w,1),l=!0;else if(j.updateRegisteredCmp){let L=Q(e,F[w],j.updateRegisteredCmp);F[w]=e.ts.factory.updateObjectLiteralExpression(L,[Hr(e,j.updateRegisteredCmp),...L.properties.slice(1)]),l=!0}if(l&&a){let L=[...D.statements];L[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(ye(e,F)))])),D=e.ts.factory.updateSourceFile(D,L),S.exportType==="named"?D=v(e,D,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)}):D=v(e,D,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)});let te=e.sdkVersion===y.gen2?"@builder.io/sdk-react":"@builder.io/react";D=v(e,D,{namedImports:["RegisteredComponent"],importPath:te,isTypeOnly:!0}),S.acceptsChildren&&e.sdkVersion!==y.gen2&&(D=v(e,D,{namedImports:["withChildren"],importPath:"@builder.io/react"})),D=ve(e,D,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),C.components=j.components,d=j.components.filter(Qe=>Qe.isRegistered)}}}if(l&&a){D=Te(e,D),D=we(e,D);let x=_(e,D);x=me(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return C}function Hr(e,t){if(e.sdkVersion===y.gen2)return e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName));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 qa(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([Hr(e,t),...t.acceptsChildren&&e.sdkVersion===y.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function Ja(e,t,r){let n=J(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 fn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Xr(e){let t=[],r=await Ya(e,t);return t.push(...await jt(e)),await Ha(e,r),await Wa(e,t),t}async function Zr(e){let t=[];return t.push(...await jt(e)),await Qa(e,t),t}async function Qa(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,eo({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Wa(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`),e.sdkVersion===y.gen2&&(r=`($slug)._index.${e.typescriptEnabled?"tsx":"jsx"}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,eo({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function eo({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.${Pt}`,u="";return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${Pt}`,u=", context"),n&&(s+="!"),e.sdkVersion===y.gen2?`
398
+ `;async function Jr(e){await cn(e);let t=await e.readFile(e.registryPath);return t?_a(e,t):{components:[],sourceFile:I(e,"")}}async function _a(e,t){let r=I(e,t);return ja(e,r)}async function ja(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await mn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function mn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],framework:"qwik"};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(B(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=K(a)),n.importName=a;let s=await Fe(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=V(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let u=await Ur(e,s.filePath);if(u&&u.length>0)if(u.length===1)n.exportName=u[0].cmpInfo.exportName;else{let p=u.find(m=>m.cmpInfo.exportName===a);p&&(n.exportName=p.cmpInfo.exportName)}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName)),n}async function Qr(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),u=e.extname(a).toLowerCase();if(u===".tsx"||u===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getAppRootDir()),await G(e,[...t])}async function He(e,t,r,n,o,i,a,s){let u=await Qr(e),[p,m,f]=await Promise.all([Mr(e,u),Jr(e),At(e)]),l=p.map(D=>D.cmpInfo),g=m.components,C={components:De(l,g),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(l),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return C;if(t!=null){let D=p.find(P=>P.cmpInfo.id===t);if(!D)throw new Error(`Component ${t} not found`);let c=m.sourceFile,d=C.components.find(P=>P.id===t),x=await zr(e,D);console.log("sourceInputs",x),ue(d,x),t=Array.isArray(t)?t[0]:t;let E=be(t,l,g,r,n,o,i),{elements:F,elmIndex:A,statementIndex:S,statement:N,variableDeclaration:z}=await $a(e,c,D),j=!1;if(E.addCmpToRegistry?(F.push(Va(e,E.addCmpToRegistry)),j=!0):E.removeCmpFromRegistry?(F.splice(A,1),j=!0):E.updateRegisteredCmp&&(F[A]=Q(e,F[A],E.updateRegisteredCmp),j=!0),j&&a){let P=[...c.statements];P[S]=e.ts.factory.updateVariableStatement(N,N.modifiers,e.ts.factory.updateVariableDeclarationList(N.declarationList,[e.ts.factory.updateVariableDeclaration(z,z.name,z.exclamationToken,z.type,e.ts.factory.createArrayLiteralExpression(ye(e,F)))])),c=e.ts.factory.updateSourceFile(c,P),d.exportType==="named"?c=v(e,c,{namedImports:[d.importName],importPath:O(e,e.registryPath,d.filePath)}):c=v(e,c,{defaultImport:d.importName,importPath:O(e,e.registryPath,d.filePath)}),c=v(e,c,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),c=ve(e,c,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),c=Te(e,c),c=we(e,c);let w=_(e,c);w=me(w),w=$r(w,Ka,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}C.components=E.components}return C}function Va(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function $a(e,t,r){let n=J(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 mn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Ka=["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 Wr(e){let t=await Ma(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>qr(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>He(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:async n=>{},loadComponent:async n=>{let o=await He(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>He(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>He(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>He(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>He(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>At(t),setPublicApiKey:n=>jr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function Ma(e){let t=await gt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let r=await pe(e,t),n=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ft(e){return await $e(e,[".env"],Pt)}async function Yr(e,t){let r=await Ft(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Pt="PUBLIC_BUILDER_KEY";var Ua=new Set(["dist","node_modules"]);async function Gr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getAppRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Rt(e,Ua,a.fileName)||za.has(s)||s.includes("$."))return;let u=e.normalize(a.fileName);if(u===e.remixConfigPath||u===i)return;let p=await Me(e,o,u,a,u===e.registryPath);r.push(...p)})),r}var za=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Hr(e){await jt(e);let t=await e.readFile(e.registryPath);return t?qa(e,t):{components:[],sourceFile:I(e,"")}}async function qa(e,t){let r=I(e,t);return Ja(e,r)}async function Ja(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await fn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function fn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};e.sdkVersion===y.gen2&&ot(e,r)&&(n.acceptsChildren=!0);for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(B(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let m=s.arguments[0];e.ts.isIdentifier(m)&&(a=m.text)}if(!a)continue;n.name===""&&(n.name=K(a)),n.importName=a;let u=await Fe(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=V(e,u.filePath):(n.externalImportPath=u.importPath,n.importPath=n.externalImportPath),n.displayFilePath=u.displayFilePath,n.exportType=u.exportType,n.externalImportPath)n.exportName=a;else{let p=await Cr(e,u.filePath,e.registryPath===u.filePath||he(u.filePath));if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let m=p.find(f=>f.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Ne(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f]=await Promise.all([Gr(e,u),Hr(e),Ft(e)]),l=p.map(x=>x.cmpInfo),g=m.components,C={components:De(l,g),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(l),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return C.components=await ut(e,C.components),C;let D=!1,c=m.sourceFile,d=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(d.length>0){let x=d.map(A=>{let S=p.find(N=>N.cmpInfo.id===A);if(!S)throw new Error(`Component ${A} not found`);return S}),E=Array.from(new Set(x.map(A=>A.cmpInfo.filePath))),F=await G(e,E);for(let A of x){let S=C.components.find(L=>L.id===A.cmpInfo.id),N=await pt(e,A,F,e.registryPath===A.cmpInfo.filePath||he(A.cmpInfo.filePath));ue(S,N);let z=l.findIndex(L=>L.id===A.cmpInfo.id);l[z].inputs=N;let j=be(A.cmpInfo.id,l,g,r,n,o,i),{elements:P,elmIndex:w,statementIndex:ee,statement:de,variableDeclaration:Y}=await Wa(e,c,A);if(j.addCmpToRegistry)P.push(Qa(e,j.addCmpToRegistry)),D=!0;else if(j.removeCmpFromRegistry)P.splice(w,1),D=!0;else if(j.updateRegisteredCmp){let L=Q(e,P[w],j.updateRegisteredCmp);P[w]=e.ts.factory.updateObjectLiteralExpression(L,[Xr(e,j.updateRegisteredCmp),...L.properties.slice(1)]),D=!0}if(D&&a){let L=[...c.statements];L[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(ye(e,P)))])),c=e.ts.factory.updateSourceFile(c,L),S.exportType==="named"?c=v(e,c,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)}):c=v(e,c,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)});let te=e.sdkVersion===y.gen2?"@builder.io/sdk-react":"@builder.io/react";c=v(e,c,{namedImports:["RegisteredComponent"],importPath:te,isTypeOnly:!0}),S.acceptsChildren&&e.sdkVersion!==y.gen2&&(c=v(e,c,{namedImports:["withChildren"],importPath:"@builder.io/react"})),c=ve(e,c,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),C.components=j.components,g=j.components.filter(Qe=>Qe.isRegistered)}}}if(D&&a){c=Te(e,c),c=we(e,c);let x=_(e,c);x=me(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return C}function Xr(e,t){if(e.sdkVersion===y.gen2)return e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName));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 Qa(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([Xr(e,t),...t.acceptsChildren&&e.sdkVersion===y.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function Wa(e,t,r){let n=J(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 fn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Zr(e){let t=[],r=await Ha(e,t);return t.push(...await jt(e)),await Za(e,r),await Ga(e,t),t}async function eo(e){let t=[];return t.push(...await jt(e)),await Ya(e,t),t}async function Ya(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,to({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Ga(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`),e.sdkVersion===y.gen2&&(r=`($slug)._index.${e.typescriptEnabled?"tsx":"jsx"}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,to({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function to({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Pt}`,u="";return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${Pt}`,u=", context"),n&&(s+="!"),e.sdkVersion===y.gen2?`
399
399
 
400
400
  import {
401
401
  Content,
@@ -505,7 +505,7 @@ declare global {
505
505
  }
506
506
  }
507
507
  `:""}
508
- `}async function Ya(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:u}=Ga(e),p=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${p}`),!p){let f=await e.formatCode(i,s);await e.writeFile(i,f),t.push({filePath:i,modifiedType:"create"})}let m=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${m}`),m||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function Ga(e){let t=e.typescriptEnabled,r=`
508
+ `}async function Ha(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:u}=Xa(e),p=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${p}`),!p){let f=await e.formatCode(i,s);await e.writeFile(i,f),t.push({filePath:i,modifiedType:"create"})}let m=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${m}`),m||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function Xa(e){let t=e.typescriptEnabled,r=`
509
509
  import { useState } from "react";
510
510
  import styles from "./styles.module.css";
511
511
  ${t?`
@@ -568,17 +568,17 @@ export default Counter;
568
568
  font-size: 42px;
569
569
  text-align: center;
570
570
  }
571
- `.trimStart();return{component:r,styles:n}}async function Ha(e,t){let n=(await Ne(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Ne(e,n.id,!0,!1,null,null,!0,!1)}async function jt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Xa(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Xa(e){let t=e.sdkVersion===y.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
571
+ `.trimStart();return{component:r,styles:n}}async function Za(e,t){let n=(await Ne(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Ne(e,n.id,!0,!1,null,null,!0,!1)}async function jt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,es(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function es(e){let t=e.sdkVersion===y.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
572
572
 
573
573
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
574
574
  ];`:`export const CUSTOM_COMPONENTS = [
575
575
  ];
576
- `}async function to(e){let t=await Za(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:()=>Xr(t),ensureFigmaImportPage:()=>Zr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ne(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Ne(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ne(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ne(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ne(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ne(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ft(t),setPublicApiKey:n=>Wr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.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:()=>Ee(t),setCache:n=>Se(t,n)}}async function Za(e){let t=await ts(e),r=e.getAppRootDir(),n=await ns(e),o=e.dirname(n),i=e.join(o,"components"),a=await ae(e),s=await pe(e,o),u={},p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:a,appDir:o,componentsDir:i,routesDir:n,hasLocaleParam:await es(e,n),addExternalPackage:m=>{u[e.join(r,m,"index.ts")]=`export * from "${m}";`},readFileSync:m=>u[m]??e.readFileSync(m),existsSync:m=>!!u[m]||e.existsSync(m),readdirSync:m=>{let f=e.readdirSync(m);return m===r?[...f,...Object.keys(u).map(c=>c.slice(r.length+1))]:f},readdir:async m=>{let f=await e.readdir(m);return m===r?[...f,...Object.keys(u).map(c=>c.slice(r.length+1))]:f}};return e.sdkVersion?p.sdkVersion=e.sdkVersion:p.sdkVersion=await ct(p),p}async function es(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function ts(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.getAppRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function ns(e){let t=await gt(e,e.getAppRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getAppRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function wt(e){let t=[".env"],r=e.configType==="vite"?yt:Vt;return await $e(e,t,r)}async function no(e,t){let r=await wt(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var yt="VITE_PUBLIC_BUILDER_KEY",Vt="YOUR_PUBLIC_BUILDER_KEY";function ro(e,t){let r=`Builder.registerComponent(
576
+ `}async function no(e){let t=await ts(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:()=>Zr(t),ensureFigmaImportPage:()=>eo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ne(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Ne(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ne(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ne(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ne(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ne(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ft(t),setPublicApiKey:n=>Yr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.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:()=>Ee(t),setCache:n=>Se(t,n)}}async function ts(e){let t=await rs(e),r=e.getAppRootDir(),n=await os(e),o=e.dirname(n),i=e.join(o,"components"),a=await ae(e),s=await pe(e,o),u={},p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:a,appDir:o,componentsDir:i,routesDir:n,hasLocaleParam:await ns(e,n),addExternalPackage:m=>{u[e.join(r,m,"index.ts")]=`export * from "${m}";`},readFileSync:m=>u[m]??e.readFileSync(m),existsSync:m=>!!u[m]||e.existsSync(m),readdirSync:m=>{let f=e.readdirSync(m);return m===r?[...f,...Object.keys(u).map(l=>l.slice(r.length+1))]:f},readdir:async m=>{let f=await e.readdir(m);return m===r?[...f,...Object.keys(u).map(l=>l.slice(r.length+1))]:f}};return e.sdkVersion?p.sdkVersion=e.sdkVersion:p.sdkVersion=await ct(p),p}async function ns(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function rs(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.getAppRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function os(e){let t=await gt(e,e.getAppRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getAppRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function wt(e){let t=[".env"],r=e.configType==="vite"?yt:Vt;return await $e(e,t,r)}async function ro(e,t){let r=await wt(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var yt="VITE_PUBLIC_BUILDER_KEY",Vt="YOUR_PUBLIC_BUILDER_KEY";function oo(e,t){let r=`Builder.registerComponent(
577
577
  `;r+=` ${t.importName},
578
578
  `,r+=` {
579
579
  name: "${t.name}",
580
580
  }
581
- `,r+=");";let n=Bt(e,r);return dn(e,n,t)}function dn(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=Q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function oo(e){let t=await e.readFile(e.registryPath);return t?rs(e,t):{components:[],sourceFile:I(e,"")}}async function rs(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?as(e,r):os(e,r)}async function os(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 p=i.arguments;if(p.length<2)continue;let m=p[1];if(!e.ts.isObjectLiteralExpression(m))continue;let f=p[0];if(e.ts.isIdentifier(f)){let c=await is(e,t,n,f,m,!1);c&&r.push(c);continue}}return{sourceFile:t,components:oe(r)}}async function is(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i,framework:"react"},s=t.statements.filter(p=>e.ts.isImportDeclaration(p)),u=s.find(p=>p.importClause&&p.importClause.name?.text===n.text);if(u){let p=u.moduleSpecifier;if(!e.ts.isStringLiteral(p))return null;a.filePath=await gn(e,p.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),a.importPath=V(e,a.filePath),a.name=le(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let p=s.find(c=>!c.importClause||!c.importClause.namedBindings||!e.ts.isNamedImports(c.importClause.namedBindings)?!1:c.importClause.namedBindings.elements.some(d=>d.name.text===n.text));if(!p)return null;let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;let f=await gn(e,m.text);a.filePath=await gn(e,m.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(f)?a.importPath=V(e,a.filePath):(a.externalImportPath=m.text,a.importPath=a.externalImportPath),a.name=K(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=ie(e,a,o),a.displayFilePath=k(e,a.filePath),a.filePath&&a.exportName&&(a.id=await $(e,a.filePath,a.exportName,a.externalImportPath)),a}function gn(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function as(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Dn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function Dn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};ot(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(R(e,i)==="component"){let s,{initializer:u}=i;if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;n.name===""&&(n.name=K(s)),n.importName=s;let p=await Fe(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=V(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let m=t.statements.filter(c=>e.ts.isImportDeclaration(c)),f=m.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=m.find(C=>!C.importClause||!C.importClause.namedBindings||!e.ts.isNamedImports(C.importClause.namedBindings)?!1:C.importClause.namedBindings.elements.some(l=>l.name.text===s));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;n.exportName=s}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Re(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f,c]=await Promise.all([Cr(e,u),oo(e),ae(e),wt(e)]),d=p.map(E=>E.cmpInfo),C=m.components,l={components:De(d,C),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(d),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return l.components=await ut(e,l.components),l;let D=!1,g=m.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.map(S=>{let O=p.find(z=>z.cmpInfo.id===S);if(!O)throw new Error(`Component ${S} not found`);return O}),P=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),A=await G(e,P);for(let S of E){let O=l.components.find(w=>w.id===S.cmpInfo.id),z=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(O,z);let j=d.findIndex(w=>w.id===S.cmpInfo.id);d[j].inputs=z;let F=be(S.cmpInfo.id,d,C,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:de,statement:Y,variableDeclaration:L}=await ss(e,g,S);if(F.addCmpToRegistry)w.push(us(e,F.addCmpToRegistry)),D=!0;else if(F.removeCmpFromRegistry)w.splice(ee,1),D=!0;else if(F.updateRegisteredCmp){let te=Q(e,w[ee],F.updateRegisteredCmp),Qe=e.ts.factory.createIdentifier(F.updateRegisteredCmp.importName);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[e.ts.factory.createPropertyAssignment("component",Qe),...te.properties.slice(1)]),D=!0}if(D&&a){let te=[...g.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),g=e.ts.factory.updateSourceFile(g,te),g=io(e,F,g),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),g=ve(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),l.components=F.components,C=F.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...g.statements];F.addCmpToRegistry?(w.push(ro(e,F.addCmpToRegistry)),D=!0):F.removeCmpFromRegistry?(w.splice(F.nodeIndex,1),D=!0):F.updateRegisteredCmp&&(w[F.nodeIndex]=dn(e,w[F.nodeIndex],F.updateRegisteredCmp),D=!0),D&&a&&(g=e.ts.factory.updateSourceFile(g,w),g=v(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),g=io(e,F,g),O?.acceptsChildren&&(g=v(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),l.components=F.components,C=F.components.filter(ee=>ee.isRegistered))}}}if(D&&a){g=Te(e,g),g=we(e,g);let E=_(e,g);E=me(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return l}async function ss(e,t,r){let n=J(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 Dn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function us(e,t){let r=e.ts.factory.createIdentifier(t.importName);return Q(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 io(e,t,r){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:B(e,e.registryPath,n.filePath);n.exportType==="default"?r=v(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=v(e,r,{namedImports:[n.importName],importPath:o}))}return r}async function ao(e){let t=[],r=await ps(e,t);if(await po(e,t,r),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,uo(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function so(e){let t=[];await po(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,uo(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}function uo(e,t,r="page"){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
581
+ `,r+=");";let n=Bt(e,r);return dn(e,n,t)}function dn(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=Q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function io(e){let t=await e.readFile(e.registryPath);return t?is(e,t):{components:[],sourceFile:I(e,"")}}async function is(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?us(e,r):as(e,r)}async function as(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 p=i.arguments;if(p.length<2)continue;let m=p[1];if(!e.ts.isObjectLiteralExpression(m))continue;let f=p[0];if(e.ts.isIdentifier(f)){let l=await ss(e,t,n,f,m,!1);l&&r.push(l);continue}}return{sourceFile:t,components:oe(r)}}async function ss(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i,framework:"react"},s=t.statements.filter(p=>e.ts.isImportDeclaration(p)),u=s.find(p=>p.importClause&&p.importClause.name?.text===n.text);if(u){let p=u.moduleSpecifier;if(!e.ts.isStringLiteral(p))return null;a.filePath=await gn(e,p.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),a.importPath=V(e,a.filePath),a.name=le(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let p=s.find(l=>!l.importClause||!l.importClause.namedBindings||!e.ts.isNamedImports(l.importClause.namedBindings)?!1:l.importClause.namedBindings.elements.some(g=>g.name.text===n.text));if(!p)return null;let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;let f=await gn(e,m.text);a.filePath=await gn(e,m.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(f)?a.importPath=V(e,a.filePath):(a.externalImportPath=m.text,a.importPath=a.externalImportPath),a.name=K(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=ie(e,a,o),a.displayFilePath=k(e,a.filePath),a.filePath&&a.exportName&&(a.id=await $(e,a.filePath,a.exportName,a.externalImportPath)),a}function gn(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function us(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Dn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function Dn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};ot(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(B(e,i)==="component"){let s,{initializer:u}=i;if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;n.name===""&&(n.name=K(s)),n.importName=s;let p=await Fe(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=V(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let m=t.statements.filter(l=>e.ts.isImportDeclaration(l)),f=m.find(l=>l.importClause&&l.importClause.name?.text===s);if(f){let l=f.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;n.exportName="default"}else{let l=m.find(C=>!C.importClause||!C.importClause.namedBindings||!e.ts.isNamedImports(C.importClause.namedBindings)?!1:C.importClause.namedBindings.elements.some(D=>D.name.text===s));if(!l)return null;let g=l.moduleSpecifier;if(!e.ts.isStringLiteral(g))return null;n.exportName=s}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Re(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f,l]=await Promise.all([xr(e,u),io(e),ae(e),wt(e)]),g=p.map(E=>E.cmpInfo),C=m.components,D={components:De(g,C),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(g),publicApiKey:l.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await ut(e,D.components),D;let c=!1,d=m.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.map(S=>{let N=p.find(z=>z.cmpInfo.id===S);if(!N)throw new Error(`Component ${S} not found`);return N}),F=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),A=await G(e,F);for(let S of E){let N=D.components.find(w=>w.id===S.cmpInfo.id),z=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(N,z);let j=g.findIndex(w=>w.id===S.cmpInfo.id);g[j].inputs=z;let P=be(S.cmpInfo.id,g,C,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:de,statement:Y,variableDeclaration:L}=await ps(e,d,S);if(P.addCmpToRegistry)w.push(ls(e,P.addCmpToRegistry)),c=!0;else if(P.removeCmpFromRegistry)w.splice(ee,1),c=!0;else if(P.updateRegisteredCmp){let te=Q(e,w[ee],P.updateRegisteredCmp),Qe=e.ts.factory.createIdentifier(P.updateRegisteredCmp.importName);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[e.ts.factory.createPropertyAssignment("component",Qe),...te.properties.slice(1)]),c=!0}if(c&&a){let te=[...d.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),d=e.ts.factory.updateSourceFile(d,te),d=ao(e,P,d),d=v(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),d=ve(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=P.components,C=P.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...d.statements];P.addCmpToRegistry?(w.push(oo(e,P.addCmpToRegistry)),c=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),c=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=dn(e,w[P.nodeIndex],P.updateRegisteredCmp),c=!0),c&&a&&(d=e.ts.factory.updateSourceFile(d,w),d=v(e,d,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),d=ao(e,P,d),N?.acceptsChildren&&(d=v(e,d,{namedImports:["withChildren"],importPath:"@builder.io/react"})),D.components=P.components,C=P.components.filter(ee=>ee.isRegistered))}}}if(c&&a){d=Te(e,d),d=we(e,d);let E=_(e,d);E=me(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return D}async function ps(e,t,r){let n=J(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 Dn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function ls(e,t){let r=e.ts.factory.createIdentifier(t.importName);return Q(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 ao(e,t,r){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:O(e,e.registryPath,n.filePath);n.exportType==="default"?r=v(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=v(e,r,{namedImports:[n.importName],importPath:o}))}return r}async function so(e){let t=[],r=await cs(e,t);if(await lo(e,t,r),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,po(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function uo(e){let t=[];await lo(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,po(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}function po(e,t,r="page"){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
582
582
  import React from "react";
583
583
  import {
584
584
  Content,
@@ -587,7 +587,7 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
587
587
  isPreviewing,
588
588
  ${n?"type BuilderContent,":""}
589
589
  } from "@builder.io/sdk-react";
590
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,t,e.registryPath))};
590
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,t,e.registryPath))};
591
591
 
592
592
  // Builder Public API Key set in .env file
593
593
  const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${yt};`:`${Vt};`}
@@ -640,7 +640,7 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
640
640
  `:`
641
641
  import React from "react";
642
642
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
643
- import ${JSON.stringify(B(e,t,e.registryPath))};
643
+ import ${JSON.stringify(O(e,t,e.registryPath))};
644
644
 
645
645
  // Builder Public API Key set in .env file
646
646
  ${e.configType==="vite"?`builder.init(import.meta.env.${yt}${n?"!":""})`:`builder.init("${Vt}")`}
@@ -688,7 +688,7 @@ export default function BuilderPage() {
688
688
  </>
689
689
  );
690
690
  }
691
- `.trimStart()}async function po(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=cs(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 Re(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Re(e,o.id,!0,!1,null,null,!0,!1)}async function ps(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:u}=ls(e);if(!await e.exists(i)){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function ls(e){let t=e.typescriptEnabled,r=`
691
+ `.trimStart()}async function lo(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=fs(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 Re(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Re(e,o.id,!0,!1,null,null,!0,!1)}async function cs(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:u}=ms(e);if(!await e.exists(i)){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function ms(e){let t=e.typescriptEnabled,r=`
692
692
  "use client"
693
693
  import React, { useState } from "react";
694
694
  import styles from "./styles.module.css";
@@ -751,31 +751,31 @@ export default Counter;
751
751
  font-size: 42px;
752
752
  text-align: center;
753
753
  }
754
- `.trimStart();return{component:r,styles:n}}function cs(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
754
+ `.trimStart();return{component:r,styles:n}}function fs(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
755
755
 
756
756
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
757
757
  ];`:`export const CUSTOM_COMPONENTS = [
758
758
  ];
759
- `}async function lo(e){let t=await ms(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>ao(t),ensureFigmaImportPage:()=>so(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Re(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Re(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Re(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Re(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Re(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Re(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>wt(t),setPublicApiKey:n=>no(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.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:()=>Ee(t),setCache:n=>Se(t,n)}}async function ms(e){let t=await fs(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i={},a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:"",addExternalPackage:s=>{i[e.join(r,s,"index.ts")]=`export * from "${s}";`},readFileSync:s=>i[s]??e.readFileSync(s),existsSync:s=>!!i[s]||e.existsSync(s),readdirSync:s=>{let u=e.readdirSync(s);return s===r?[...u,...Object.keys(i).map(p=>p.slice(r.length+1))]:u},readdir:async s=>{let u=await e.readdir(s);return s===r?[...u,...Object.keys(i).map(p=>p.slice(r.length+1))]:u}};return e.sdkVersion?a.sdkVersion=e.sdkVersion:a.sdkVersion=await ct(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=await pe(e,n),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=await pe(e,r),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}async function fs(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.getAppRootDir(),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.getAppRootDir()}".`)}async function Tt(e){return await ds(e,["environment.ts"],$t)}async function co(e,t){let r=await Tt(e),n=await xs(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function ds(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),"src","environments",o),a=await gs(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.getAppRootDir(),"src","environments",t[t.length-1]),n}async function gs(e,t){let r=await e.readFile(t);return r?Ds(e,r):""}function Ds(e,t){let r=I(e,t),n="",i=at(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(u=>{e.ts.isPropertyAssignment(u)&&e.ts.isIdentifier(u.name)&&u.name.text===$t&&e.ts.isStringLiteral(u.initializer)&&(n=u.initializer.text)})}return n}async function Cs(e,t,r,n){let o=I(e,t),a=at(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,u=s.declarations[0],p=u.initializer;if(p&&e.ts.isObjectLiteralExpression(p)){let m=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),f=e.ts.factory.createNodeArray([...p.properties,m]),c=e.ts.factory.updateObjectLiteralExpression(p,f),d=e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,c),C=e.ts.factory.updateVariableDeclarationList(s,[d]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,C)}return null}return null}async function xs(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 Cs(e,o,r,n);if(i){let a=_(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=`
759
+ `}async function co(e){let t=await ds(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>so(t),ensureFigmaImportPage:()=>uo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Re(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Re(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Re(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Re(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Re(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Re(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>wt(t),setPublicApiKey:n=>ro(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.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:()=>Ee(t),setCache:n=>Se(t,n)}}async function ds(e){let t=await gs(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i={},a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:"",addExternalPackage:s=>{i[e.join(r,s,"index.ts")]=`export * from "${s}";`},readFileSync:s=>i[s]??e.readFileSync(s),existsSync:s=>!!i[s]||e.existsSync(s),readdirSync:s=>{let u=e.readdirSync(s);return s===r?[...u,...Object.keys(i).map(p=>p.slice(r.length+1))]:u},readdir:async s=>{let u=await e.readdir(s);return s===r?[...u,...Object.keys(i).map(p=>p.slice(r.length+1))]:u}};return e.sdkVersion?a.sdkVersion=e.sdkVersion:a.sdkVersion=await ct(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=await pe(e,n),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=await pe(e,r),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}async function gs(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.getAppRootDir(),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.getAppRootDir()}".`)}async function Tt(e){return await Ds(e,["environment.ts"],$t)}async function mo(e,t){let r=await Tt(e),n=await Es(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function Ds(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),"src","environments",o),a=await Cs(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.getAppRootDir(),"src","environments",t[t.length-1]),n}async function Cs(e,t){let r=await e.readFile(t);return r?xs(e,r):""}function xs(e,t){let r=I(e,t),n="",i=at(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(u=>{e.ts.isPropertyAssignment(u)&&e.ts.isIdentifier(u.name)&&u.name.text===$t&&e.ts.isStringLiteral(u.initializer)&&(n=u.initializer.text)})}return n}async function hs(e,t,r,n){let o=I(e,t),a=at(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,u=s.declarations[0],p=u.initializer;if(p&&e.ts.isObjectLiteralExpression(p)){let m=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),f=e.ts.factory.createNodeArray([...p.properties,m]),l=e.ts.factory.updateObjectLiteralExpression(p,f),g=e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,l),C=e.ts.factory.updateVariableDeclarationList(s,[g]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,C)}return null}return null}async function Es(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 hs(e,o,r,n);if(i){let a=_(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=`
760
760
  // https://www.builder.io/c/docs/using-your-api-key
761
761
  export const environment = {
762
762
  production: false,
763
763
  builderApiKey: "${n}",
764
764
  };
765
- `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var $t="builderApiKey";async function fo(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(Ss(e,i.fileName)||a.startsWith(".")||a==="node_modules"||hs.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await Kt(e,o,s,i);r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var hs=new Set([]),Es=new Set(["node_modules"]);function Ss(e,t){for(let r of Es)if(e.dirname(t).includes(r))return!0;return!1}async function go(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 As(e,t,n)}return null}function As(e,t,r){let n=I(e,r);return Kt(e,null,t,n)}async function Kt(e,t,r,n){let o=[],i={};r=e.normalize(r);let a=n.statements.filter(m=>e.ts.isClassDeclaration(m)&&Ts(e,m)),s=n.statements.find(m=>e.ts.isImportDeclaration(m)&&e.ts.isStringLiteral(m.moduleSpecifier)&&m.moduleSpecifier.text==="@angular/core");if(s&&e.ts.isImportDeclaration(s)){let m=s.importClause?.namedBindings;if(m&&e.ts.isNamedImports(m)){let f=m.elements.find(c=>(c.propertyName??c.name).text==="input");f&&(i.inputSignalImportName=f.name.text)}}let u=await Ps(e,t,r,n),p=bs(e,n);return await Promise.all(a.map(async m=>{let f=await Fs(e,t,r,m,p,i);o.push(...f)})),o.push(...u),o}async function Cn(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await it(e,t.cmpInfo.filePath,r),a=(await Kt(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 Do(e,t,r){let n=await G(e,r.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(r.filter(a=>!(a.name.endsWith("Page")||a.name.endsWith("Module")||a.name==="AppComponent")).map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let p=(await Kt(e,o,a.filePath,s)).find(m=>m.cmpInfo.id===a.id);if(p){a.inputs=Ge(e,o,p.node.fnNode);let m=t.find(f=>f.cmpInfo.id===a.id);if(m){let f=await Cn(e,m,n);ue(a,f)}}}}return a}))}async function Fs(e,t,r,n,o,i){let a=[],s=e.relative(e.getAppRootDir(),r),u=V(e,r),p=n.name?.text;if(!p)return a;let m=!1;n.modifiers&&(m=n.modifiers.some(C=>C.kind===e.ts.SyntaxKind.DefaultKeyword));let f=m?"default":p,c=m?"default":"named",d=[];return n.members.forEach(C=>{if(e.ts.isPropertyDeclaration(C)||e.ts.isGetAccessor(C)||e.ts.isSetAccessor(C)){let g=(e.ts.getDecorators(C)??[]).find(E=>ws(e,E))!==void 0&&e.ts.isIdentifier(C.name),x=i?.inputSignalImportName!==void 0&&e.ts.isIdentifier(C.name)&&ys(e,C,i.inputSignalImportName);if(g||x){let E="any";if(e.ts.isSetAccessor(C))E=mo(e,C.parameters[0].type);else if(C.type&&t){let A=t.getTypeAtLocation(C.type);E=t.typeToString(A)}else E=mo(e,C.type);let P={name:C.name.text,type:o[E]?"string":E};o[E]&&(P.enum=o[E]),d.push(P)}}}),a.push({cmpInfo:{id:await $(e,r,p),displayFilePath:k(e,r),name:K(p),inputs:d,exportName:f,exportType:c,importName:p,filePath:r,relFilePath:s,importPath:u,meta:{...Is(e,n)},framework:"angular"},node:{name:p,fnNode:n,deps:void 0}}),a}async function Ps(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=V(e,r);for(let s of n.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let u of s.exportClause.elements){let p=u.name?.text;if(!p)continue;let m=p,f="named",c=[];if(t){let l=t.getSymbolAtLocation(u.name);if(l){let D=t.getDeclaredTypeOfSymbol(l);t.getPropertiesOfType(D).forEach(x=>{let E=x.getDeclarations();E&&E.forEach(P=>{if(e.ts.isPropertyDeclaration(P)){let A=t.getTypeAtLocation(P),S={name:x.getName(),type:vs(e,t,A)};c.push(S)}})})}}let d=e.ts.isExportSpecifier(u)&&u.parent?u.parent.parent:void 0,C;if(d){let l=d.moduleSpecifier;if(l&&e.ts.isStringLiteral(l)){let D=t?.getSymbolAtLocation(l);if(D&&D.declarations&&D.declarations.length>0){let g=D.declarations[0];(!e.ts.isSourceFile(g)||e.ts.isSourceFile(g)&&g.fileName.includes("node_modules"))&&(C=l.text)}}}o.push({cmpInfo:{id:await $(e,r,p,C),displayFilePath:k(e,r),name:K(p),inputs:c,exportName:m,exportType:f,importName:p,filePath:r,relFilePath:i,importPath:C||a,externalImportPath:C,framework:"angular"},node:{name:p,fnNode:u,deps:void 0}})}return o}function ws(e,t){return Co(e,t,"Input")}function ys(e,t,r){return e.ts.isPropertyDeclaration(t)&&t.initializer!==void 0&&e.ts.isCallExpression(t.initializer)&&e.ts.isIdentifier(t.initializer.expression)&&t.initializer.expression.text===r}function Co(e,t,r){if(e.ts.isCallExpression(t.expression)){let n=t.expression;if(e.ts.isIdentifier(n.expression))return n.expression?.text===r}return!1}function Ts(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 mo(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)&&e.ts.isIdentifier(t.typeName)&&(r=t.typeName.text);break}return r.includes("|")?"string":r}function bs(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 vs(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}function Is(e,t){let{getDecorators:r,isCallExpression:n,isIdentifier:o,isObjectLiteralExpression:i,isPropertyAssignment:a,isStringLiteral:s,SyntaxKind:u}=e.ts,p,m;return r(t)?.forEach(c=>{if(Co(e,c,"Component")){let{expression:d}=c;if(n(d)){let[C]=d.arguments;i(C)&&C.properties.forEach(l=>{a(l)&&o(l.name)&&(l.name.escapedText==="selector"&&s(l.initializer)&&(p=l.initializer.text),l.name.escapedText==="standalone"&&(m=l.initializer.kind===u.TrueKeyword))})}}}),{selector:p,standalone:m}}async function Mt(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){e.Sentry?.captureException(new Error(`Unable to read app.module.${n} at ${i}`),{extra:{appModuleCode:a,appModulePath:i}});return}let s=await Ns(e,i,t,r,a);if(!s){e.Sentry?.captureException(new Error(`Unable to update app.module.${n} at ${i}`),{extra:{appModuleCode:a,appModulePath:i}});return}return await e.writeFile(i,s),i}async function Ns(e,t,r,n,o){let i=o,a=I(e,o),s=B(e,t,n);a=v(e,a,{namedImports:[r],importPath:s}),a=v(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let u=[];for(let p of a.statements)if(e.ts.isClassDeclaration(p)&&p.name?.text==="AppModule"){let m=Rs(e,r,p);u.push(m)}else u.push(p);return a=e.ts.factory.updateSourceFile(a,u),i=_(e,a),i}function Rs(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=xo(e,i[0],"declarations",t);if(a){let s=xo(e,a,"imports","Content");if(s&&(a=s),a){let u=e.ts.factory.updateDecorator(o,e.ts.factory.updateCallExpression(o.expression,o.expression.expression,o.expression.typeArguments,[a])),m=[...n.map(f=>f===o?u:f),...e.ts.getModifiers(r)||[]];return e.ts.factory.updateClassDeclaration(r,m,r.name,r.typeParameters,r.heritageClauses,r.members)}}}}}return r}function xo(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>R(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=ho(e,s.initializer,n);return u?(o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,u),e.ts.factory.updateObjectLiteralExpression(t,o)):null}return null}let a=ho(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function ho(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 xn(e,t,r,n){let i=`app.routes${e.typescriptEnabled?".ts":".js"}`,a=e.join(e.appDir,i);try{if(e.magicast){let s=await e.magicast.loadFile(a);Object.keys(s.exports).length===0&&(s.exports.routes=[]);let p=Object.keys(s.exports)[0],m=s.exports[p];if(m.find(c=>c.path===t))return;let f=e.magicast.builders.raw("{}");if(f.path=t,f.component=e.magicast.builders.raw(r),m.push(f),s.imports.$items.find(c=>c.imported===r))return;s.imports.$append({imported:r,from:n}),await e.magicast.writeFile(s,a)}}catch(s){let u=null;try{u=e.readFileSync(a)}catch(p){e.Sentry?.captureException(p,{level:"warning"})}e.Sentry?.captureException(s,{extra:{content:u,appRoutesPath:a,componentName:r,componentPath:n}})}}var Bs=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Os=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ks=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,hn={Space_Separator:Bs,ID_Start:Os,ID_Continue:ks},q={isSpaceSeparator(e){return typeof e=="string"&&hn.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||hn.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||hn.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},Sn,re,_e,zt,ze,Ce,W,Pn,vt,Ls=function(t,r){Sn=String(t),re="start",_e=[],zt=0,ze=1,Ce=0,W=void 0,Pn=void 0,vt=void 0;do W=_s(),$s[re]();while(W.type!=="eof");return typeof r=="function"?An({"":vt},"",r):vt};function An(e,t,r){let n=e[t];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let i=String(o),a=An(n,i,r);a===void 0?delete n[i]:Object.defineProperty(n,i,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let i=An(n,o,r);i===void 0?delete n[o]:Object.defineProperty(n,o,{value:i,writable:!0,enumerable:!0,configurable:!0})}return r.call(e,t,n)}var b,T,bt,Le,N;function _s(){for(b="default",T="",bt=!1,Le=1;;){N=je();let e=So[b]();if(e)return e}}function je(){if(Sn[zt])return String.fromCodePoint(Sn.codePointAt(zt))}function h(){let e=je();return e===`
766
- `?(ze++,Ce=0):e?Ce+=e.length:Ce++,e&&(zt+=e.length),e}var So={default(){switch(N){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
767
- `:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),b="comment";return;case void 0:return h(),M("eof")}if(q.isSpaceSeparator(N)){h();return}return So[re]()},comment(){switch(N){case"*":h(),b="multiLineComment";return;case"/":h(),b="singleLineComment";return}throw U(h())},multiLineComment(){switch(N){case"*":h(),b="multiLineCommentAsterisk";return;case void 0:throw U(h())}h()},multiLineCommentAsterisk(){switch(N){case"*":h();return;case"/":h(),b="default";return;case void 0:throw U(h())}h(),b="multiLineComment"},singleLineComment(){switch(N){case`
768
- `:case"\r":case"\u2028":case"\u2029":h(),b="default";return;case void 0:return h(),M("eof")}h()},value(){switch(N){case"{":case"[":return M("punctuator",h());case"n":return h(),Xe("ull"),M("null",null);case"t":return h(),Xe("rue"),M("boolean",!0);case"f":return h(),Xe("alse"),M("boolean",!1);case"-":case"+":h()==="-"&&(Le=-1),b="sign";return;case".":T=h(),b="decimalPointLeading";return;case"0":T=h(),b="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":T=h(),b="decimalInteger";return;case"I":return h(),Xe("nfinity"),M("numeric",1/0);case"N":return h(),Xe("aN"),M("numeric",NaN);case'"':case"'":bt=h()==='"',T="",b="string";return}throw U(h())},identifierNameStartEscape(){if(N!=="u")throw U(h());h();let e=Fn();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw Eo();break}T+=e,b="identifierName"},identifierName(){switch(N){case"$":case"_":case"\u200C":case"\u200D":T+=h();return;case"\\":h(),b="identifierNameEscape";return}if(q.isIdContinueChar(N)){T+=h();return}return M("identifier",T)},identifierNameEscape(){if(N!=="u")throw U(h());h();let e=Fn();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!q.isIdContinueChar(e))throw Eo();break}T+=e,b="identifierName"},sign(){switch(N){case".":T=h(),b="decimalPointLeading";return;case"0":T=h(),b="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":T=h(),b="decimalInteger";return;case"I":return h(),Xe("nfinity"),M("numeric",Le*(1/0));case"N":return h(),Xe("aN"),M("numeric",NaN)}throw U(h())},zero(){switch(N){case".":T+=h(),b="decimalPoint";return;case"e":case"E":T+=h(),b="decimalExponent";return;case"x":case"X":T+=h(),b="hexadecimal";return}return M("numeric",Le*0)},decimalInteger(){switch(N){case".":T+=h(),b="decimalPoint";return;case"e":case"E":T+=h(),b="decimalExponent";return}if(q.isDigit(N)){T+=h();return}return M("numeric",Le*Number(T))},decimalPointLeading(){if(q.isDigit(N)){T+=h(),b="decimalFraction";return}throw U(h())},decimalPoint(){switch(N){case"e":case"E":T+=h(),b="decimalExponent";return}if(q.isDigit(N)){T+=h(),b="decimalFraction";return}return M("numeric",Le*Number(T))},decimalFraction(){switch(N){case"e":case"E":T+=h(),b="decimalExponent";return}if(q.isDigit(N)){T+=h();return}return M("numeric",Le*Number(T))},decimalExponent(){switch(N){case"+":case"-":T+=h(),b="decimalExponentSign";return}if(q.isDigit(N)){T+=h(),b="decimalExponentInteger";return}throw U(h())},decimalExponentSign(){if(q.isDigit(N)){T+=h(),b="decimalExponentInteger";return}throw U(h())},decimalExponentInteger(){if(q.isDigit(N)){T+=h();return}return M("numeric",Le*Number(T))},hexadecimal(){if(q.isHexDigit(N)){T+=h(),b="hexadecimalInteger";return}throw U(h())},hexadecimalInteger(){if(q.isHexDigit(N)){T+=h();return}return M("numeric",Le*Number(T))},string(){switch(N){case"\\":h(),T+=js();return;case'"':if(bt)return h(),M("string",T);T+=h();return;case"'":if(!bt)return h(),M("string",T);T+=h();return;case`
769
- `:case"\r":throw U(h());case"\u2028":case"\u2029":Ks(N);break;case void 0:throw U(h())}T+=h()},start(){switch(N){case"{":case"[":return M("punctuator",h())}b="value"},beforePropertyName(){switch(N){case"$":case"_":T=h(),b="identifierName";return;case"\\":h(),b="identifierNameStartEscape";return;case"}":return M("punctuator",h());case'"':case"'":bt=h()==='"',b="string";return}if(q.isIdStartChar(N)){T+=h(),b="identifierName";return}throw U(h())},afterPropertyName(){if(N===":")return M("punctuator",h());throw U(h())},beforePropertyValue(){b="value"},afterPropertyValue(){switch(N){case",":case"}":return M("punctuator",h())}throw U(h())},beforeArrayValue(){if(N==="]")return M("punctuator",h());b="value"},afterArrayValue(){switch(N){case",":case"]":return M("punctuator",h())}throw U(h())},end(){throw U(h())}};function M(e,t){return{type:e,value:t,line:ze,column:Ce}}function Xe(e){for(let t of e){if(je()!==t)throw U(h());h()}}function js(){switch(je()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
770
- `;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),q.isDigit(je()))throw U(h());return"\0";case"x":return h(),Vs();case"u":return h(),Fn();case`
765
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var $t="builderApiKey";async function go(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(Fs(e,i.fileName)||a.startsWith(".")||a==="node_modules"||Ss.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await Kt(e,o,s,i);r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ss=new Set([]),As=new Set(["node_modules"]);function Fs(e,t){for(let r of As)if(e.dirname(t).includes(r))return!0;return!1}async function Do(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 Ps(e,t,n)}return null}function Ps(e,t,r){let n=I(e,r);return Kt(e,null,t,n)}async function Kt(e,t,r,n){let o=[],i={};r=e.normalize(r);let a=n.statements.filter(m=>e.ts.isClassDeclaration(m)&&vs(e,m)),s=n.statements.find(m=>e.ts.isImportDeclaration(m)&&e.ts.isStringLiteral(m.moduleSpecifier)&&m.moduleSpecifier.text==="@angular/core");if(s&&e.ts.isImportDeclaration(s)){let m=s.importClause?.namedBindings;if(m&&e.ts.isNamedImports(m)){let f=m.elements.find(l=>(l.propertyName??l.name).text==="input");f&&(i.inputSignalImportName=f.name.text)}}let u=await ys(e,t,r,n),p=Is(e,n);return await Promise.all(a.map(async m=>{let f=await ws(e,t,r,m,p,i);o.push(...f)})),o.push(...u),o}async function Cn(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await it(e,t.cmpInfo.filePath,r),a=(await Kt(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 Co(e,t,r){let n=await G(e,r.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(r.filter(a=>!(a.name.endsWith("Page")||a.name.endsWith("Module")||a.name==="AppComponent")).map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let p=(await Kt(e,o,a.filePath,s)).find(m=>m.cmpInfo.id===a.id);if(p){a.inputs=Ge(e,o,p.node.fnNode);let m=t.find(f=>f.cmpInfo.id===a.id);if(m){let f=await Cn(e,m,n);ue(a,f)}}}}return a}))}async function ws(e,t,r,n,o,i){let a=[],s=e.relative(e.getAppRootDir(),r),u=V(e,r),p=n.name?.text;if(!p)return a;let m=!1;n.modifiers&&(m=n.modifiers.some(C=>C.kind===e.ts.SyntaxKind.DefaultKeyword));let f=m?"default":p,l=m?"default":"named",g=[];return n.members.forEach(C=>{if(e.ts.isPropertyDeclaration(C)||e.ts.isGetAccessor(C)||e.ts.isSetAccessor(C)){let d=(e.ts.getDecorators(C)??[]).find(E=>Ts(e,E))!==void 0&&e.ts.isIdentifier(C.name),x=i?.inputSignalImportName!==void 0&&e.ts.isIdentifier(C.name)&&bs(e,C,i.inputSignalImportName);if(d||x){let E="any";if(e.ts.isSetAccessor(C))E=fo(e,C.parameters[0].type);else if(C.type&&t){let A=t.getTypeAtLocation(C.type);E=t.typeToString(A)}else E=fo(e,C.type);let F={name:C.name.text,type:o[E]?"string":E};o[E]&&(F.enum=o[E]),g.push(F)}}}),a.push({cmpInfo:{id:await $(e,r,p),displayFilePath:k(e,r),name:K(p),inputs:g,exportName:f,exportType:l,importName:p,filePath:r,relFilePath:s,importPath:u,meta:{...Rs(e,n)},framework:"angular"},node:{name:p,fnNode:n,deps:void 0}}),a}async function ys(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=V(e,r);for(let s of n.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let u of s.exportClause.elements){let p=u.name?.text;if(!p)continue;let m=p,f="named",l=[];if(t){let D=t.getSymbolAtLocation(u.name);if(D){let c=t.getDeclaredTypeOfSymbol(D);t.getPropertiesOfType(c).forEach(x=>{let E=x.getDeclarations();E&&E.forEach(F=>{if(e.ts.isPropertyDeclaration(F)){let A=t.getTypeAtLocation(F),S={name:x.getName(),type:Ns(e,t,A)};l.push(S)}})})}}let g=e.ts.isExportSpecifier(u)&&u.parent?u.parent.parent:void 0,C;if(g){let D=g.moduleSpecifier;if(D&&e.ts.isStringLiteral(D)){let c=t?.getSymbolAtLocation(D);if(c&&c.declarations&&c.declarations.length>0){let d=c.declarations[0];(!e.ts.isSourceFile(d)||e.ts.isSourceFile(d)&&d.fileName.includes("node_modules"))&&(C=D.text)}}}o.push({cmpInfo:{id:await $(e,r,p,C),displayFilePath:k(e,r),name:K(p),inputs:l,exportName:m,exportType:f,importName:p,filePath:r,relFilePath:i,importPath:C||a,externalImportPath:C,framework:"angular"},node:{name:p,fnNode:u,deps:void 0}})}return o}function Ts(e,t){return xo(e,t,"Input")}function bs(e,t,r){return e.ts.isPropertyDeclaration(t)&&t.initializer!==void 0&&e.ts.isCallExpression(t.initializer)&&e.ts.isIdentifier(t.initializer.expression)&&t.initializer.expression.text===r}function xo(e,t,r){if(e.ts.isCallExpression(t.expression)){let n=t.expression;if(e.ts.isIdentifier(n.expression))return n.expression?.text===r}return!1}function vs(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 fo(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)&&e.ts.isIdentifier(t.typeName)&&(r=t.typeName.text);break}return r.includes("|")?"string":r}function Is(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 Ns(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}function Rs(e,t){let{getDecorators:r,isCallExpression:n,isIdentifier:o,isObjectLiteralExpression:i,isPropertyAssignment:a,isStringLiteral:s,SyntaxKind:u}=e.ts,p,m;return r(t)?.forEach(l=>{if(xo(e,l,"Component")){let{expression:g}=l;if(n(g)){let[C]=g.arguments;i(C)&&C.properties.forEach(D=>{a(D)&&o(D.name)&&(D.name.escapedText==="selector"&&s(D.initializer)&&(p=D.initializer.text),D.name.escapedText==="standalone"&&(m=D.initializer.kind===u.TrueKeyword))})}}}),{selector:p,standalone:m}}async function Mt(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){e.Sentry?.captureException(new Error(`Unable to read app.module.${n} at ${i}`),{extra:{appModuleCode:a,appModulePath:i}});return}let s=await Bs(e,i,t,r,a);if(!s){e.Sentry?.captureException(new Error(`Unable to update app.module.${n} at ${i}`),{extra:{appModuleCode:a,appModulePath:i}});return}return await e.writeFile(i,s),i}async function Bs(e,t,r,n,o){let i=o,a=I(e,o),s=O(e,t,n);a=v(e,a,{namedImports:[r],importPath:s}),a=v(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let u=[];for(let p of a.statements)if(e.ts.isClassDeclaration(p)&&p.name?.text==="AppModule"){let m=Os(e,r,p);u.push(m)}else u.push(p);return a=e.ts.factory.updateSourceFile(a,u),i=_(e,a),i}function Os(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=ho(e,i[0],"declarations",t);if(a){let s=ho(e,a,"imports","Content");if(s&&(a=s),a){let u=e.ts.factory.updateDecorator(o,e.ts.factory.updateCallExpression(o.expression,o.expression.expression,o.expression.typeArguments,[a])),m=[...n.map(f=>f===o?u:f),...e.ts.getModifiers(r)||[]];return e.ts.factory.updateClassDeclaration(r,m,r.name,r.typeParameters,r.heritageClauses,r.members)}}}}}return r}function ho(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>B(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=Eo(e,s.initializer,n);return u?(o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,u),e.ts.factory.updateObjectLiteralExpression(t,o)):null}return null}let a=Eo(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Eo(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 xn(e,t,r,n){let i=`app.routes${e.typescriptEnabled?".ts":".js"}`,a=e.join(e.appDir,i);try{if(e.magicast){let s=await e.magicast.loadFile(a);Object.keys(s.exports).length===0&&(s.exports.routes=[]);let p=Object.keys(s.exports)[0],m=s.exports[p];if(m.find(l=>l.path===t))return;let f=e.magicast.builders.raw("{}");if(f.path=t,f.component=e.magicast.builders.raw(r),m.push(f),s.imports.$items.find(l=>l.imported===r))return;s.imports.$append({imported:r,from:n}),await e.magicast.writeFile(s,a)}}catch(s){let u=null;try{u=e.readFileSync(a)}catch(p){e.Sentry?.captureException(p,{level:"warning"})}e.Sentry?.captureException(s,{extra:{content:u,appRoutesPath:a,componentName:r,componentPath:n}})}}var ks=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Ls=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,_s=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,hn={Space_Separator:ks,ID_Start:Ls,ID_Continue:_s},q={isSpaceSeparator(e){return typeof e=="string"&&hn.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||hn.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||hn.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},Sn,re,_e,zt,ze,Ce,W,Pn,vt,js=function(t,r){Sn=String(t),re="start",_e=[],zt=0,ze=1,Ce=0,W=void 0,Pn=void 0,vt=void 0;do W=Vs(),Ms[re]();while(W.type!=="eof");return typeof r=="function"?An({"":vt},"",r):vt};function An(e,t,r){let n=e[t];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let i=String(o),a=An(n,i,r);a===void 0?delete n[i]:Object.defineProperty(n,i,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let i=An(n,o,r);i===void 0?delete n[o]:Object.defineProperty(n,o,{value:i,writable:!0,enumerable:!0,configurable:!0})}return r.call(e,t,n)}var b,T,bt,Le,R;function Vs(){for(b="default",T="",bt=!1,Le=1;;){R=je();let e=Ao[b]();if(e)return e}}function je(){if(Sn[zt])return String.fromCodePoint(Sn.codePointAt(zt))}function h(){let e=je();return e===`
766
+ `?(ze++,Ce=0):e?Ce+=e.length:Ce++,e&&(zt+=e.length),e}var Ao={default(){switch(R){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
767
+ `:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),b="comment";return;case void 0:return h(),M("eof")}if(q.isSpaceSeparator(R)){h();return}return Ao[re]()},comment(){switch(R){case"*":h(),b="multiLineComment";return;case"/":h(),b="singleLineComment";return}throw U(h())},multiLineComment(){switch(R){case"*":h(),b="multiLineCommentAsterisk";return;case void 0:throw U(h())}h()},multiLineCommentAsterisk(){switch(R){case"*":h();return;case"/":h(),b="default";return;case void 0:throw U(h())}h(),b="multiLineComment"},singleLineComment(){switch(R){case`
768
+ `:case"\r":case"\u2028":case"\u2029":h(),b="default";return;case void 0:return h(),M("eof")}h()},value(){switch(R){case"{":case"[":return M("punctuator",h());case"n":return h(),Xe("ull"),M("null",null);case"t":return h(),Xe("rue"),M("boolean",!0);case"f":return h(),Xe("alse"),M("boolean",!1);case"-":case"+":h()==="-"&&(Le=-1),b="sign";return;case".":T=h(),b="decimalPointLeading";return;case"0":T=h(),b="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":T=h(),b="decimalInteger";return;case"I":return h(),Xe("nfinity"),M("numeric",1/0);case"N":return h(),Xe("aN"),M("numeric",NaN);case'"':case"'":bt=h()==='"',T="",b="string";return}throw U(h())},identifierNameStartEscape(){if(R!=="u")throw U(h());h();let e=Fn();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw So();break}T+=e,b="identifierName"},identifierName(){switch(R){case"$":case"_":case"\u200C":case"\u200D":T+=h();return;case"\\":h(),b="identifierNameEscape";return}if(q.isIdContinueChar(R)){T+=h();return}return M("identifier",T)},identifierNameEscape(){if(R!=="u")throw U(h());h();let e=Fn();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!q.isIdContinueChar(e))throw So();break}T+=e,b="identifierName"},sign(){switch(R){case".":T=h(),b="decimalPointLeading";return;case"0":T=h(),b="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":T=h(),b="decimalInteger";return;case"I":return h(),Xe("nfinity"),M("numeric",Le*(1/0));case"N":return h(),Xe("aN"),M("numeric",NaN)}throw U(h())},zero(){switch(R){case".":T+=h(),b="decimalPoint";return;case"e":case"E":T+=h(),b="decimalExponent";return;case"x":case"X":T+=h(),b="hexadecimal";return}return M("numeric",Le*0)},decimalInteger(){switch(R){case".":T+=h(),b="decimalPoint";return;case"e":case"E":T+=h(),b="decimalExponent";return}if(q.isDigit(R)){T+=h();return}return M("numeric",Le*Number(T))},decimalPointLeading(){if(q.isDigit(R)){T+=h(),b="decimalFraction";return}throw U(h())},decimalPoint(){switch(R){case"e":case"E":T+=h(),b="decimalExponent";return}if(q.isDigit(R)){T+=h(),b="decimalFraction";return}return M("numeric",Le*Number(T))},decimalFraction(){switch(R){case"e":case"E":T+=h(),b="decimalExponent";return}if(q.isDigit(R)){T+=h();return}return M("numeric",Le*Number(T))},decimalExponent(){switch(R){case"+":case"-":T+=h(),b="decimalExponentSign";return}if(q.isDigit(R)){T+=h(),b="decimalExponentInteger";return}throw U(h())},decimalExponentSign(){if(q.isDigit(R)){T+=h(),b="decimalExponentInteger";return}throw U(h())},decimalExponentInteger(){if(q.isDigit(R)){T+=h();return}return M("numeric",Le*Number(T))},hexadecimal(){if(q.isHexDigit(R)){T+=h(),b="hexadecimalInteger";return}throw U(h())},hexadecimalInteger(){if(q.isHexDigit(R)){T+=h();return}return M("numeric",Le*Number(T))},string(){switch(R){case"\\":h(),T+=$s();return;case'"':if(bt)return h(),M("string",T);T+=h();return;case"'":if(!bt)return h(),M("string",T);T+=h();return;case`
769
+ `:case"\r":throw U(h());case"\u2028":case"\u2029":Us(R);break;case void 0:throw U(h())}T+=h()},start(){switch(R){case"{":case"[":return M("punctuator",h())}b="value"},beforePropertyName(){switch(R){case"$":case"_":T=h(),b="identifierName";return;case"\\":h(),b="identifierNameStartEscape";return;case"}":return M("punctuator",h());case'"':case"'":bt=h()==='"',b="string";return}if(q.isIdStartChar(R)){T+=h(),b="identifierName";return}throw U(h())},afterPropertyName(){if(R===":")return M("punctuator",h());throw U(h())},beforePropertyValue(){b="value"},afterPropertyValue(){switch(R){case",":case"}":return M("punctuator",h())}throw U(h())},beforeArrayValue(){if(R==="]")return M("punctuator",h());b="value"},afterArrayValue(){switch(R){case",":case"]":return M("punctuator",h())}throw U(h())},end(){throw U(h())}};function M(e,t){return{type:e,value:t,line:ze,column:Ce}}function Xe(e){for(let t of e){if(je()!==t)throw U(h());h()}}function $s(){switch(je()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
770
+ `;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),q.isDigit(je()))throw U(h());return"\0";case"x":return h(),Ks();case"u":return h(),Fn();case`
771
771
  `:case"\u2028":case"\u2029":return h(),"";case"\r":return h(),je()===`
772
- `&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw U(h());case void 0:throw U(h())}return h()}function Vs(){let e="",t=je();if(!q.isHexDigit(t)||(e+=h(),t=je(),!q.isHexDigit(t)))throw U(h());return e+=h(),String.fromCodePoint(parseInt(e,16))}function Fn(){let e="",t=4;for(;t-- >0;){let r=je();if(!q.isHexDigit(r))throw U(h());e+=h()}return String.fromCodePoint(parseInt(e,16))}var $s={start(){if(W.type==="eof")throw Ze();En()},beforePropertyName(){switch(W.type){case"identifier":case"string":Pn=W.value,re="afterPropertyName";return;case"punctuator":Ut();return;case"eof":throw Ze()}},afterPropertyName(){if(W.type==="eof")throw Ze();re="beforePropertyValue"},beforePropertyValue(){if(W.type==="eof")throw Ze();En()},beforeArrayValue(){if(W.type==="eof")throw Ze();if(W.type==="punctuator"&&W.value==="]"){Ut();return}En()},afterPropertyValue(){if(W.type==="eof")throw Ze();switch(W.value){case",":re="beforePropertyName";return;case"}":Ut()}},afterArrayValue(){if(W.type==="eof")throw Ze();switch(W.value){case",":re="beforeArrayValue";return;case"]":Ut()}},end(){}};function En(){let e;switch(W.type){case"punctuator":switch(W.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=W.value;break}if(vt===void 0)vt=e;else{let t=_e[_e.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,Pn,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")_e.push(e),Array.isArray(e)?re="beforeArrayValue":re="beforePropertyName";else{let t=_e[_e.length-1];t==null?re="end":Array.isArray(t)?re="afterArrayValue":re="afterPropertyValue"}}function Ut(){_e.pop();let e=_e[_e.length-1];e==null?re="end":Array.isArray(e)?re="afterArrayValue":re="afterPropertyValue"}function U(e){return qt(e===void 0?`JSON5: invalid end of input at ${ze}:${Ce}`:`JSON5: invalid character '${Ao(e)}' at ${ze}:${Ce}`)}function Ze(){return qt(`JSON5: invalid end of input at ${ze}:${Ce}`)}function Eo(){return Ce-=5,qt(`JSON5: invalid identifier character at ${ze}:${Ce}`)}function Ks(e){console.warn(`JSON5: '${Ao(e)}' in strings is not valid ECMAScript; consider escaping`)}function Ao(e){let t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){let r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function qt(e){let t=new SyntaxError(e);return t.lineNumber=ze,t.columnNumber=Ce,t}var Ms=function(t,r,n){let o=[],i="",a,s,u="",p;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,p=r.quote,r=r.replacer),typeof r=="function")s=r;else if(Array.isArray(r)){a=[];for(let l of r){let D;typeof l=="string"?D=l:(typeof l=="number"||l instanceof String||l instanceof Number)&&(D=String(l)),D!==void 0&&a.indexOf(D)<0&&a.push(D)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),u=" ".substr(0,n)):typeof n=="string"&&(u=n.substr(0,10)),m("",{"":t});function m(l,D){let g=D[l];switch(g!=null&&(typeof g.toJSON5=="function"?g=g.toJSON5(l):typeof g.toJSON=="function"&&(g=g.toJSON(l))),s&&(g=s.call(D,l,g)),g instanceof Number?g=Number(g):g instanceof String?g=String(g):g instanceof Boolean&&(g=g.valueOf()),g){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof g=="string")return f(g,!1);if(typeof g=="number")return String(g);if(typeof g=="object")return Array.isArray(g)?C(g):c(g)}function f(l){let D={"'":.1,'"':.2},g={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},x="";for(let P=0;P<l.length;P++){let A=l[P];switch(A){case"'":case'"':D[A]++,x+=A;continue;case"\0":if(q.isDigit(l[P+1])){x+="\\x00";continue}}if(g[A]){x+=g[A];continue}if(A<" "){let S=A.charCodeAt(0).toString(16);x+="\\x"+("00"+S).substring(S.length);continue}x+=A}let E=p||Object.keys(D).reduce((P,A)=>D[P]<D[A]?P:A);return x=x.replace(new RegExp(E,"g"),g[E]),E+x+E}function c(l){if(o.indexOf(l)>=0)throw TypeError("Converting circular structure to JSON5");o.push(l);let D=i;i=i+u;let g=a||Object.keys(l),x=[];for(let P of g){let A=m(P,l);if(A!==void 0){let S=d(P)+":";u!==""&&(S+=" "),S+=A,x.push(S)}}let E;if(x.length===0)E="{}";else{let P;if(u==="")P=x.join(","),E="{"+P+"}";else{let A=`,
773
- `+i;P=x.join(A),E=`{
774
- `+i+P+`,
775
- `+D+"}"}}return o.pop(),i=D,E}function d(l){if(l.length===0)return f(l,!0);let D=String.fromCodePoint(l.codePointAt(0));if(!q.isIdStartChar(D))return f(l,!0);for(let g=D.length;g<l.length;g++)if(!q.isIdContinueChar(String.fromCodePoint(l.codePointAt(g))))return f(l,!0);return l}function C(l){if(o.indexOf(l)>=0)throw TypeError("Converting circular structure to JSON5");o.push(l);let D=i;i=i+u;let g=[];for(let E=0;E<l.length;E++){let P=m(String(E),l);g.push(P!==void 0?P:"null")}let x;if(g.length===0)x="[]";else if(u==="")x="["+g.join(",")+"]";else{let E=`,
776
- `+i,P=g.join(E);x=`[
777
- `+i+P+`,
778
- `+D+"]"}return o.pop(),i=D,x}},Us={parse:Ls,stringify:Ms},zs=Us,Fo=zs;async function Po(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let r=await e.readFile(t);if(!r)return;let n=Fo.parse(r);if(!n||typeof n!="object"||Array.isArray(n))return;let o=n.compilerOptions;if(!o||typeof o!="object"||Array.isArray(o))return;let i=o.paths;(!i||typeof i!="object"||Array.isArray(i))&&(o.paths={},i=o.paths),Object.assign(o.paths,{"~/*":["./src/*"]}),await e.writeFile(t,JSON.stringify(n,null,2))}}async function wo(e){let t=[],r=await Qs(e,t);t.push(...await Jt(e)),await qs(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,To(e,n,e.builderPageComponentPath,"builder-page","page",!0));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){await Mt(e,"Counter",r);let o=await Mt(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return await xn(e,"**",n,"./components/builder-page.component"),t}async function yo(e){let t=[];t.push(...await Jt(e));let r="FigmaImportsPage",n="figma-imports.component",o=e.join(e.componentsDir,`${n}.${e.typescriptEnabled?"ts":"js"}`);if(!await e.exists(o)){let i=await e.formatCode(o,To(e,r,o,"figma-imports","figma-imports",!1));await e.writeFile(o,i),t.push({filePath:o,modifiedType:"create"})}if(e.hasAppModule){let i=await Mt(e,r,o);i&&t.push({filePath:i,modifiedType:"update"})}return await xn(e,"figma-imports",r,`./components/${n}`),await Po(e),t}async function Jt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Js(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function qs(e,t){let n=(await Be(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Be(e,n.id,!0,!1,null,null,!0,!1)}function To(e,t,r,n,o,i){let a=!e.hasAppModule,s=B(e,r,e.registryPath),u=e.join(e.getAppRootDir(),"src","environments","environment.ts"),p=B(e,r,u),m=i?` <ng-container *ngIf="content || isPreviewing; else notFound">
772
+ `&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw U(h());case void 0:throw U(h())}return h()}function Ks(){let e="",t=je();if(!q.isHexDigit(t)||(e+=h(),t=je(),!q.isHexDigit(t)))throw U(h());return e+=h(),String.fromCodePoint(parseInt(e,16))}function Fn(){let e="",t=4;for(;t-- >0;){let r=je();if(!q.isHexDigit(r))throw U(h());e+=h()}return String.fromCodePoint(parseInt(e,16))}var Ms={start(){if(W.type==="eof")throw Ze();En()},beforePropertyName(){switch(W.type){case"identifier":case"string":Pn=W.value,re="afterPropertyName";return;case"punctuator":Ut();return;case"eof":throw Ze()}},afterPropertyName(){if(W.type==="eof")throw Ze();re="beforePropertyValue"},beforePropertyValue(){if(W.type==="eof")throw Ze();En()},beforeArrayValue(){if(W.type==="eof")throw Ze();if(W.type==="punctuator"&&W.value==="]"){Ut();return}En()},afterPropertyValue(){if(W.type==="eof")throw Ze();switch(W.value){case",":re="beforePropertyName";return;case"}":Ut()}},afterArrayValue(){if(W.type==="eof")throw Ze();switch(W.value){case",":re="beforeArrayValue";return;case"]":Ut()}},end(){}};function En(){let e;switch(W.type){case"punctuator":switch(W.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=W.value;break}if(vt===void 0)vt=e;else{let t=_e[_e.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,Pn,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")_e.push(e),Array.isArray(e)?re="beforeArrayValue":re="beforePropertyName";else{let t=_e[_e.length-1];t==null?re="end":Array.isArray(t)?re="afterArrayValue":re="afterPropertyValue"}}function Ut(){_e.pop();let e=_e[_e.length-1];e==null?re="end":Array.isArray(e)?re="afterArrayValue":re="afterPropertyValue"}function U(e){return qt(e===void 0?`JSON5: invalid end of input at ${ze}:${Ce}`:`JSON5: invalid character '${Fo(e)}' at ${ze}:${Ce}`)}function Ze(){return qt(`JSON5: invalid end of input at ${ze}:${Ce}`)}function So(){return Ce-=5,qt(`JSON5: invalid identifier character at ${ze}:${Ce}`)}function Us(e){console.warn(`JSON5: '${Fo(e)}' in strings is not valid ECMAScript; consider escaping`)}function Fo(e){let t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){let r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function qt(e){let t=new SyntaxError(e);return t.lineNumber=ze,t.columnNumber=Ce,t}var zs=function(t,r,n){let o=[],i="",a,s,u="",p;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,p=r.quote,r=r.replacer),typeof r=="function")s=r;else if(Array.isArray(r)){a=[];for(let D of r){let c;typeof D=="string"?c=D:(typeof D=="number"||D instanceof String||D instanceof Number)&&(c=String(D)),c!==void 0&&a.indexOf(c)<0&&a.push(c)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),u=" ".substr(0,n)):typeof n=="string"&&(u=n.substr(0,10)),m("",{"":t});function m(D,c){let d=c[D];switch(d!=null&&(typeof d.toJSON5=="function"?d=d.toJSON5(D):typeof d.toJSON=="function"&&(d=d.toJSON(D))),s&&(d=s.call(c,D,d)),d instanceof Number?d=Number(d):d instanceof String?d=String(d):d instanceof Boolean&&(d=d.valueOf()),d){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof d=="string")return f(d,!1);if(typeof d=="number")return String(d);if(typeof d=="object")return Array.isArray(d)?C(d):l(d)}function f(D){let c={"'":.1,'"':.2},d={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},x="";for(let F=0;F<D.length;F++){let A=D[F];switch(A){case"'":case'"':c[A]++,x+=A;continue;case"\0":if(q.isDigit(D[F+1])){x+="\\x00";continue}}if(d[A]){x+=d[A];continue}if(A<" "){let S=A.charCodeAt(0).toString(16);x+="\\x"+("00"+S).substring(S.length);continue}x+=A}let E=p||Object.keys(c).reduce((F,A)=>c[F]<c[A]?F:A);return x=x.replace(new RegExp(E,"g"),d[E]),E+x+E}function l(D){if(o.indexOf(D)>=0)throw TypeError("Converting circular structure to JSON5");o.push(D);let c=i;i=i+u;let d=a||Object.keys(D),x=[];for(let F of d){let A=m(F,D);if(A!==void 0){let S=g(F)+":";u!==""&&(S+=" "),S+=A,x.push(S)}}let E;if(x.length===0)E="{}";else{let F;if(u==="")F=x.join(","),E="{"+F+"}";else{let A=`,
773
+ `+i;F=x.join(A),E=`{
774
+ `+i+F+`,
775
+ `+c+"}"}}return o.pop(),i=c,E}function g(D){if(D.length===0)return f(D,!0);let c=String.fromCodePoint(D.codePointAt(0));if(!q.isIdStartChar(c))return f(D,!0);for(let d=c.length;d<D.length;d++)if(!q.isIdContinueChar(String.fromCodePoint(D.codePointAt(d))))return f(D,!0);return D}function C(D){if(o.indexOf(D)>=0)throw TypeError("Converting circular structure to JSON5");o.push(D);let c=i;i=i+u;let d=[];for(let E=0;E<D.length;E++){let F=m(String(E),D);d.push(F!==void 0?F:"null")}let x;if(d.length===0)x="[]";else if(u==="")x="["+d.join(",")+"]";else{let E=`,
776
+ `+i,F=d.join(E);x=`[
777
+ `+i+F+`,
778
+ `+c+"]"}return o.pop(),i=c,x}},qs={parse:js,stringify:zs},Js=qs,Po=Js;async function wo(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let r=await e.readFile(t);if(!r)return;let n=Po.parse(r);if(!n||typeof n!="object"||Array.isArray(n))return;let o=n.compilerOptions;if(!o||typeof o!="object"||Array.isArray(o))return;let i=o.paths;(!i||typeof i!="object"||Array.isArray(i))&&(o.paths={},i=o.paths),Object.assign(o.paths,{"~/*":["./src/*"]}),await e.writeFile(t,JSON.stringify(n,null,2))}}async function yo(e){let t=[],r=await Ys(e,t);t.push(...await Jt(e)),await Qs(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,bo(e,n,e.builderPageComponentPath,"builder-page","page",!0));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){await Mt(e,"Counter",r);let o=await Mt(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return await xn(e,"**",n,"./components/builder-page.component"),t}async function To(e){let t=[];t.push(...await Jt(e));let r="FigmaImportsPage",n="figma-imports.component",o=e.join(e.componentsDir,`${n}.${e.typescriptEnabled?"ts":"js"}`);if(!await e.exists(o)){let i=await e.formatCode(o,bo(e,r,o,"figma-imports","figma-imports",!1));await e.writeFile(o,i),t.push({filePath:o,modifiedType:"create"})}if(e.hasAppModule){let i=await Mt(e,r,o);i&&t.push({filePath:i,modifiedType:"update"})}return await xn(e,"figma-imports",r,`./components/${n}`),await wo(e),t}async function Jt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ws(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Qs(e,t){let n=(await Be(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Be(e,n.id,!0,!1,null,null,!0,!1)}function bo(e,t,r,n,o,i){let a=!e.hasAppModule,s=O(e,r,e.registryPath),u=e.join(e.getAppRootDir(),"src","environments","environment.ts"),p=O(e,r,u),m=i?` <ng-container *ngIf="content || isPreviewing; else notFound">
779
779
  <builder-content
780
780
  [model]="model"
781
781
  [content]="content"
@@ -841,12 +841,12 @@ export class ${t} {
841
841
  }
842
842
  }
843
843
 
844
- `.trimStart()}function Js(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
844
+ `.trimStart()}function Ws(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
845
845
 
846
846
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
847
847
  ];`:`export const CUSTOM_COMPONENTS = [
848
848
  ];
849
- `}async function Qs(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=Ws(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Ws(e){return`
849
+ `}async function Ys(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=Gs(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Gs(e){return`
850
850
  import { Component, Input } from '@angular/core';
851
851
 
852
852
  @Component({
@@ -914,7 +914,7 @@ export class Counter {
914
914
  }
915
915
  }
916
916
 
917
- `.trimStart()}async function bo(e){await Jt(e);let t=await e.readFile(e.registryPath);return t?Ys(e,t):{components:[],sourceFile:I(e,"")}}async function Ys(e,t){let r=I(e,t);return Gs(e,r)}async function Gs(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await wn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function wn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],framework:"angular"};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(R(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=K(a)),n.importName=a;let u=await Fe(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=V(e,u.filePath):(n.externalImportPath=u.importPath,n.importPath=n.externalImportPath),n.displayFilePath=u.displayFilePath,n.exportType=u.exportType,n.externalImportPath)n.exportName=a;else{let p=await go(e,u.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let m=p.find(f=>f.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Be(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f]=await Promise.all([fo(e,u),bo(e),Tt(e)]),c=p.map(x=>x.cmpInfo),d=m.components,C={components:De(c,d),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return C.components=await Do(e,p,C.components),C;let l=!1,D=m.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let x=g.map(A=>{let S=p.find(O=>O.cmpInfo.id===A);if(!S)throw new Error(`Component ${A} not found`);return S}),E=Array.from(new Set(x.map(A=>A.cmpInfo.filePath))),P=await G(e,E);for(let A of x){let S=C.components.find(L=>L.id===A.cmpInfo.id),O=await Cn(e,A,P);ue(S,O);let z=c.findIndex(L=>L.id===A.cmpInfo.id);c[z].inputs=O;let j=be(A.cmpInfo.id,c,d,r,n,o,i),{elements:F,elmIndex:w,statementIndex:ee,statement:de,variableDeclaration:Y}=await Xs(e,D,A);if(j.addCmpToRegistry)F.push(Hs(e,j.addCmpToRegistry)),l=!0;else if(j.removeCmpFromRegistry)F.splice(w,1),l=!0;else if(j.updateRegisteredCmp){let L=Q(e,F[w],j.updateRegisteredCmp);F[w]=e.ts.factory.updateObjectLiteralExpression(L,[vo(e,j.updateRegisteredCmp),...L.properties.slice(1)]),l=!0}if(l&&a){let L=[...D.statements];L[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(ye(e,F)))])),D=e.ts.factory.updateSourceFile(D,L),S.exportType==="named"?D=v(e,D,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)}):D=v(e,D,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)}),D=v(e,D,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),D=ve(e,D,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),C.components=j.components,d=j.components.filter(te=>te.isRegistered)}}}if(l&&a){D=Te(e,D),D=we(e,D);let x=_(e,D);x=me(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return C}function vo(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Hs(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([vo(e,t)],!0),t)}async function Xs(e,t,r){let n=J(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 wn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Io(e){let t=await Zs(e),r={};return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>wo(t),ensureFigmaImportPage:()=>yo(t),getRegistryPath:()=>t.registryPath,getRegistry:o=>Be(t,null,!1,!1,null,null,!1,!!o?.readAllInputTypes),addExternalPackage:async o=>{r[o]||(r[o]=`export * from "${o}";`)},loadComponent:async o=>{let i=await Be(t,o.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===o.cmpId)}},registerComponent:o=>Be(t,o.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:o=>Be(t,o.cmpId,!1,!1,o,null,!0,!1),setRegisteredComponentInput:o=>Be(t,o.cmpId,!1,!1,null,o,!0,!1),unregisterComponent:o=>Be(t,o.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Tt(t),setPublicApiKey:o=>co(t,o.publicApiKey),getDependencies:o=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>Ee(t),setCache:o=>Se(t,o)}}async function Zs(e){let t=await eu(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i=e.join(n,"app"),a=await pe(e,i),s={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:a,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.getAppRootDir()}".`);s.srcDir=n,s.appDir=i,s.componentsDir=e.join(s.appDir,"components"),s.builderPageComponentPath=e.join(s.componentsDir,`builder-page.component.${o?"ts":"js"}`);let u=`app.module.${o?"ts":"js"}`,p=e.join(s.appDir,u);return await e.exists(p)&&(s.hasAppModule=!0),s}async function eu(e){let t=e.join(e.getAppRootDir(),"angular.json");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"project.json");if(await e.exists(r))return r;if(e.ignoreMissingConfig)return"";throw new Error(`Could not find Angular config file. Searched for angular.json & project.json in "${e.getAppRootDir()}".`)}var Gt=qn(Uo(),1);async function zo(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:ge(e.relative(e.getAppRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:se(i.inputs)};return se(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,Gt.compress)(n);return btoa(JSON.stringify(o))}async function qo(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,Gt.decompress)(o),a=se(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let u=ge(e.normalize(s.filePath)),p=n.components.find(f=>ge(f.filePath).endsWith(u)&&f.exportName===s.exportName);if(!p){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${p.id})`,p.filePath),await t.registerComponent({cmpId:p.id});for(let f of s.inputs)e.debug(`set input (${p.id})`),await t.setRegisteredComponentInput({cmpId:p.id,name:f.name,type:f.type,required:f.required,defaultValue:f.defaultValue,friendlyName:f.friendlyName,helperText:f.helperText});e.debug(`set input (${p.id}) info`);let m=await t.setRegisteredComponentInfo({cmpId:p.id,name:s.name,image:s.image,description:s.description});a=se(m)}return a}var xe={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Sd={[xe.react]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[xe.remix]:[{version:y.gen1,recommended:!1},{version:y.gen2,recommended:!0}],[xe.angular]:[{version:y.gen2,recommended:!0}],[xe.next]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[xe.qwik]:[{version:y.gen2,recommended:!0}]};async function Jo(e,t){let r=[],n=new Set;async function o(i){let a=e.join(i,"package.json");try{if(!await e.exists(a))return null;let u=await e.readFile(a);if(u===null)throw new Error(`Failed to read package.json at ${a}`);let p=JSON.parse(u);if(n.has(p.name))return null;n.add(p.name);let m={name:p.name,subPackages:[]},f=await e.readdir(i);for(let c of f)c!=="node_modules"&&(await e.stat(e.join(i,c))).isDirectory()&&m.subPackages.push(c);return r.push(m),m}catch(s){return e.Sentry?.captureException(s,{level:"warning"}),null}}try{let i=e.join(t,"package.json");if(await e.exists(i)){let s=await e.readFile(i);if(s!==null){let u=JSON.parse(s),p={...u.dependencies,...u.devDependencies};for(let m of Object.keys(p)){let f=e.join(t,"node_modules",m);await o(f)}if(u.workspaces)for(let m of u.workspaces){let f=await e.readdir(e.join(t,m));for(let c of f){let d=e.join(t,m,c);await o(d)}}}}}catch(i){e.Sentry?.captureException(i,{level:"warning"})}return r}var Pu={"@builder.io/qwik-city":Qr,next:Lr,"@remix-run/react":to,react:lo,"@angular/core":Io},wu={"@builder.io/qwik-city":xe.qwik,next:xe.next,"@remix-run/react":xe.remix,react:xe.react,"@angular/core":xe.angular};async function yu(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 Ye(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let r=Pu[t.name];if(r)try{let n=await r(e);return{...n,exportRegistry:()=>zo(e,n),importRegistry:i=>qo(e,n,i),framework:wu[t.name],findAllDependencies:async()=>await Jo(e,e.getRepoRootDir())}}catch(n){e.Sentry?.captureException(n,{level:"warning"})}}throw new Error(`Devtools framework not found for ${e.getAppRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Qo(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 d="",C=0,l=-1,D=0,g;for(let x=0;x<=f.length;++x){if(x<f.length)g=f.charCodeAt(x);else{if(g===47)break;g=47}if(g===47){if(!(l===x-1||D===1))if(l!==x-1&&D===2){if(d.length<2||C!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){let E=d.lastIndexOf("/");if(E!==d.length-1){E===-1?(d="",C=0):(d=d.slice(0,E),C=d.length-1-d.lastIndexOf("/")),l=x,D=0;continue}}else if(d.length===2||d.length===1){d="",C=0,l=x,D=0;continue}}c&&(d.length>0?d+="/..":d="..",C=2)}else d.length>0?d+="/"+f.slice(l+1,x):d=f.slice(l+1,x),C=x-l-1;l=x,D=0}else g===46&&D!==-1?++D:D=-1}return d}let n=function(...c){let d="",C=!1;for(let l=c.length-1;l>=-1&&!C;l--){let D;l>=0?D=c[l]:e.cwd?D=e.cwd():D="/",t(D),D.length!==0&&(d=D+"/"+d,C=D.charCodeAt(0)===47)}return d=r(d,!C),C?d.length>0?"/"+d:"/":d.length>0?d:"."},o=function(c){if(t(c),c.length===0)return".";let d=c.charCodeAt(0)===47,C=c.charCodeAt(c.length-1)===47;return c=r(c,!d),c.length===0&&!d&&(c="."),c.length>0&&C&&(c+="/"),d?"/"+c:c};return{relative:function(c,d){if(t(c),t(d),c===d||(c=n(c),d=n(d),c===d))return"";let C=1;for(;C<c.length&&c.charCodeAt(C)===47;++C);let l=c.length,D=l-C,g=1;for(;g<d.length&&d.charCodeAt(g)===47;++g);let E=d.length-g,P=D<E?D:E,A=-1,S=0;for(;S<=P;++S){if(S===P){if(E>P){if(d.charCodeAt(g+S)===47)return d.slice(g+S+1);if(S===0)return d.slice(g+S)}else D>P&&(c.charCodeAt(C+S)===47?A=S:S===0&&(A=0));break}let z=c.charCodeAt(C+S),j=d.charCodeAt(g+S);if(z!==j)break;z===47&&(A=S)}let O="";for(S=C+A+1;S<=l;++S)(S===l||c.charCodeAt(S)===47)&&(O.length===0?O+="..":O+="/..");return O.length>0?O+d.slice(g+A):(g+=A,d.charCodeAt(g)===47&&++g,d.slice(g))},resolve:n,join:function(...c){if(c.length===0)return".";let d;for(let C=0;C<c.length;++C){let l=c[C];t(l),l.length>0&&(d===void 0?d=l:d+="/"+l)}return d===void 0?".":o(d)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,d){if(d!==void 0&&typeof d!="string")throw new TypeError('"ext" argument must be a string');t(c);let C=0,l=-1,D=!0,g;if(d!==void 0&&d.length>0&&d.length<=c.length){if(d.length===c.length&&d===c)return"";let x=d.length-1,E=-1;for(g=c.length-1;g>=0;--g){let P=c.charCodeAt(g);if(P===47){if(!D){C=g+1;break}}else E===-1&&(D=!1,E=g+1),x>=0&&(P===d.charCodeAt(x)?--x===-1&&(l=g):(x=-1,l=E))}return C===l?l=E:l===-1&&(l=c.length),c.slice(C,l)}else{for(g=c.length-1;g>=0;--g)if(c.charCodeAt(g)===47){if(!D){C=g+1;break}}else l===-1&&(D=!1,l=g+1);return l===-1?"":c.slice(C,l)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let d=c.charCodeAt(0),C=d===47,l=-1,D=!0;for(let g=c.length-1;g>=1;--g)if(d=c.charCodeAt(g),d===47){if(!D){l=g;break}}else D=!1;return l===-1?C?"/":".":C&&l===1?"//":c.slice(0,l)},extname:function(c){t(c);let d=-1,C=0,l=-1,D=!0,g=0;for(let x=c.length-1;x>=0;--x){let E=c.charCodeAt(x);if(E===47){if(!D){C=x+1;break}continue}l===-1&&(D=!1,l=x+1),E===46?d===-1?d=x:g!==1&&(g=1):d!==-1&&(g=-1)}return d===-1||l===-1||g===0||g===1&&d===l-1&&d===C+1?"":c.slice(d,l)}}}async function Tu(e){let t=e.getRepoRootDir?e.getRepoRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Qo({cwd:r,...e}),o=new Map,i=l=>n.normalize(n.resolve(r(),l)),a=l=>{for(let[D]of o)if((D+"/").startsWith(l))return!0;return l===t()},s=l=>(l=i(l),o.has(l)?!0:a(l)),u=l=>{l=i(l);let D=l===t()?l:l+"/",g=D.split("/").length-1,x=[];for(let[E]of o)if(E.split("/").slice(0,g).join("/")+"/"===D){let S=E.split("/")[g];S&&!x.includes(S)&&x.push(S)}return x.sort()},p=l=>{l=i(l);let D=o.get(l);return typeof D=="string"?D:null},m=l=>(l=i(l),{isFile:()=>o.has(l),isDirectory:()=>!o.has(l)&&a(l)}),f=async l=>{if(typeof crypto<"u"){let x=new TextEncoder().encode(l),E=await crypto.subtle.digest("SHA-256",x);return Array.from(new Uint8Array(E)).map(P=>P.toString(16).padStart(2,"0")).join("")}let D=0;for(let g=0;g<l.length;g++){let x=l.charCodeAt(g);D=(D<<5)-D+x,D|=0}return Number(Math.abs(D)).toString(36)},c=new Set,d={getRepoRootDir:t,getAppRootDir:t,getCwdDir:r,cwd:r,exists:async l=>s(l),existsSync:s,readdir:async l=>u(l),readdirSync:u,readFile:async l=>p(l),readdirRecursive:async(l,D)=>u(l)??[],readFileSync:p,stat:async l=>m(l),statSync:m,writeFile:async(l,D)=>{l=i(l),o.set(l,D);let g={path:l,basename:n.basename(l),dirname:n.dirname(l),extname:n.extname(l)};for(let x of c)await x(g)},unlink:async l=>{l=i(l),o.delete(l)},unlinkSync:l=>{l=i(l),o.delete(l)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",getRepoInfo:async()=>({remoteUrl:"",defaultBranch:"",currentBranch:"",commit:""}),formatCode:async(l,D)=>D,on:(l,D)=>{l==="change"&&c.add(D)},off:(l,D)=>{l==="change"&&c.delete(D)},debug:(...l)=>{console.debug("[builder-dev-tools]",...l)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null,kind:null,magicast:void 0,spawnSync:void 0,Sentry:void 0},C=await Ye(d);return d.getFrameworks=e.getFrameworks?e.getFrameworks:()=>C,d}async function Wo(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(await Zn(e))return console.warn("Turbopack does not support the Builder.io devtools cli. Please disable Turbopack or manually integrate Builder.io into your Next.js project."),o;if(Yo(e,n))return o;let s=ce(e,n,"cjs"),u=ce(e,n);if(s.length!==1&&u.length!==1)throw new Error("Expected an export from file");if(u.length===1){let f=u[0];if(!f.isDefaultExport)throw new Error("Expected a default export from file");let c=f.statement;if(!e.ts.isVariableStatement(c))throw new Error(`Unexpected export type in ${t}
917
+ `.trimStart()}async function vo(e){await Jt(e);let t=await e.readFile(e.registryPath);return t?Hs(e,t):{components:[],sourceFile:I(e,"")}}async function Hs(e,t){let r=I(e,t);return Xs(e,r)}async function Xs(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await wn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function wn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],framework:"angular"};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(B(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=K(a)),n.importName=a;let u=await Fe(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=V(e,u.filePath):(n.externalImportPath=u.importPath,n.importPath=n.externalImportPath),n.displayFilePath=u.displayFilePath,n.exportType=u.exportType,n.externalImportPath)n.exportName=a;else{let p=await Do(e,u.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let m=p.find(f=>f.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await $(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Be(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,m,f]=await Promise.all([go(e,u),vo(e),Tt(e)]),l=p.map(x=>x.cmpInfo),g=m.components,C={components:De(l,g),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(l),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return C.components=await Co(e,p,C.components),C;let D=!1,c=m.sourceFile,d=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(d.length>0){let x=d.map(A=>{let S=p.find(N=>N.cmpInfo.id===A);if(!S)throw new Error(`Component ${A} not found`);return S}),E=Array.from(new Set(x.map(A=>A.cmpInfo.filePath))),F=await G(e,E);for(let A of x){let S=C.components.find(L=>L.id===A.cmpInfo.id),N=await Cn(e,A,F);ue(S,N);let z=l.findIndex(L=>L.id===A.cmpInfo.id);l[z].inputs=N;let j=be(A.cmpInfo.id,l,g,r,n,o,i),{elements:P,elmIndex:w,statementIndex:ee,statement:de,variableDeclaration:Y}=await eu(e,c,A);if(j.addCmpToRegistry)P.push(Zs(e,j.addCmpToRegistry)),D=!0;else if(j.removeCmpFromRegistry)P.splice(w,1),D=!0;else if(j.updateRegisteredCmp){let L=Q(e,P[w],j.updateRegisteredCmp);P[w]=e.ts.factory.updateObjectLiteralExpression(L,[Io(e,j.updateRegisteredCmp),...L.properties.slice(1)]),D=!0}if(D&&a){let L=[...c.statements];L[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(ye(e,P)))])),c=e.ts.factory.updateSourceFile(c,L),S.exportType==="named"?c=v(e,c,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)}):c=v(e,c,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)}),c=v(e,c,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),c=ve(e,c,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),C.components=j.components,g=j.components.filter(te=>te.isRegistered)}}}if(D&&a){c=Te(e,c),c=we(e,c);let x=_(e,c);x=me(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return C}function Io(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Zs(e,t){return Q(e,e.ts.factory.createObjectLiteralExpression([Io(e,t)],!0),t)}async function eu(e,t,r){let n=J(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 wn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function No(e){let t=await tu(e),r={};return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>yo(t),ensureFigmaImportPage:()=>To(t),getRegistryPath:()=>t.registryPath,getRegistry:o=>Be(t,null,!1,!1,null,null,!1,!!o?.readAllInputTypes),addExternalPackage:async o=>{r[o]||(r[o]=`export * from "${o}";`)},loadComponent:async o=>{let i=await Be(t,o.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===o.cmpId)}},registerComponent:o=>Be(t,o.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:o=>Be(t,o.cmpId,!1,!1,o,null,!0,!1),setRegisteredComponentInput:o=>Be(t,o.cmpId,!1,!1,null,o,!0,!1),unregisterComponent:o=>Be(t,o.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Tt(t),setPublicApiKey:o=>mo(t,o.publicApiKey),getDependencies:o=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>Ee(t),setCache:o=>Se(t,o)}}async function tu(e){let t=await nu(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i=e.join(n,"app"),a=await pe(e,i),s={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:a,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.getAppRootDir()}".`);s.srcDir=n,s.appDir=i,s.componentsDir=e.join(s.appDir,"components"),s.builderPageComponentPath=e.join(s.componentsDir,`builder-page.component.${o?"ts":"js"}`);let u=`app.module.${o?"ts":"js"}`,p=e.join(s.appDir,u);return await e.exists(p)&&(s.hasAppModule=!0),s}async function nu(e){let t=e.join(e.getAppRootDir(),"angular.json");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"project.json");if(await e.exists(r))return r;if(e.ignoreMissingConfig)return"";throw new Error(`Could not find Angular config file. Searched for angular.json & project.json in "${e.getAppRootDir()}".`)}var Gt=qn(zo(),1);async function qo(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:ge(e.relative(e.getAppRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:se(i.inputs)};return se(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,Gt.compress)(n);return btoa(JSON.stringify(o))}async function Jo(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,Gt.decompress)(o),a=se(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let u=ge(e.normalize(s.filePath)),p=n.components.find(f=>ge(f.filePath).endsWith(u)&&f.exportName===s.exportName);if(!p){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${p.id})`,p.filePath),await t.registerComponent({cmpId:p.id});for(let f of s.inputs)e.debug(`set input (${p.id})`),await t.setRegisteredComponentInput({cmpId:p.id,name:f.name,type:f.type,required:f.required,defaultValue:f.defaultValue,friendlyName:f.friendlyName,helperText:f.helperText});e.debug(`set input (${p.id}) info`);let m=await t.setRegisteredComponentInfo({cmpId:p.id,name:s.name,image:s.image,description:s.description});a=se(m)}return a}var xe={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Pd={[xe.react]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[xe.remix]:[{version:y.gen1,recommended:!1},{version:y.gen2,recommended:!0}],[xe.angular]:[{version:y.gen2,recommended:!0}],[xe.next]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[xe.qwik]:[{version:y.gen2,recommended:!0}]};async function Qo(e,t){let r=[],n=new Set;async function o(i){let a=e.join(i,"package.json");try{if(!await e.exists(a))return null;let u=await e.readFile(a);if(u===null)throw new Error(`Failed to read package.json at ${a}`);let p=JSON.parse(u);if(n.has(p.name))return null;n.add(p.name);let m={name:p.name,subPackages:[]},f=await e.readdir(i);for(let l of f)l!=="node_modules"&&(await e.stat(e.join(i,l))).isDirectory()&&m.subPackages.push(l);return r.push(m),m}catch(s){return e.Sentry?.captureException(s,{level:"warning"}),null}}try{let i=e.join(t,"package.json");if(await e.exists(i)){let s=await e.readFile(i);if(s!==null){let u=JSON.parse(s),p={...u.dependencies,...u.devDependencies};for(let m of Object.keys(p)){let f=e.join(t,"node_modules",m);await o(f)}if(u.workspaces)for(let m of u.workspaces){let f=await e.readdir(e.join(t,m));for(let l of f){let g=e.join(t,m,l);await o(g)}}}}}catch(i){e.Sentry?.captureException(i,{level:"warning"})}return r}var yu={"@builder.io/qwik-city":Wr,next:_r,"@remix-run/react":no,react:co,"@angular/core":No},Tu={"@builder.io/qwik-city":xe.qwik,next:xe.next,"@remix-run/react":xe.remix,react:xe.react,"@angular/core":xe.angular};async function bu(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 Ye(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let r=yu[t.name];if(r)try{let n=await r(e);return{...n,exportRegistry:()=>qo(e,n),importRegistry:i=>Jo(e,n,i),framework:Tu[t.name],findAllDependencies:async()=>await Qo(e,e.getRepoRootDir())}}catch(n){e.Sentry?.captureException(n,{level:"warning"})}}throw new Error(`Devtools framework not found for ${e.getAppRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Wo(e){function t(f){if(typeof f!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(f))}function r(f,l){let g="",C=0,D=-1,c=0,d;for(let x=0;x<=f.length;++x){if(x<f.length)d=f.charCodeAt(x);else{if(d===47)break;d=47}if(d===47){if(!(D===x-1||c===1))if(D!==x-1&&c===2){if(g.length<2||C!==2||g.charCodeAt(g.length-1)!==46||g.charCodeAt(g.length-2)!==46){if(g.length>2){let E=g.lastIndexOf("/");if(E!==g.length-1){E===-1?(g="",C=0):(g=g.slice(0,E),C=g.length-1-g.lastIndexOf("/")),D=x,c=0;continue}}else if(g.length===2||g.length===1){g="",C=0,D=x,c=0;continue}}l&&(g.length>0?g+="/..":g="..",C=2)}else g.length>0?g+="/"+f.slice(D+1,x):g=f.slice(D+1,x),C=x-D-1;D=x,c=0}else d===46&&c!==-1?++c:c=-1}return g}let n=function(...l){let g="",C=!1;for(let D=l.length-1;D>=-1&&!C;D--){let c;D>=0?c=l[D]:e.cwd?c=e.cwd():c="/",t(c),c.length!==0&&(g=c+"/"+g,C=c.charCodeAt(0)===47)}return g=r(g,!C),C?g.length>0?"/"+g:"/":g.length>0?g:"."},o=function(l){if(t(l),l.length===0)return".";let g=l.charCodeAt(0)===47,C=l.charCodeAt(l.length-1)===47;return l=r(l,!g),l.length===0&&!g&&(l="."),l.length>0&&C&&(l+="/"),g?"/"+l:l};return{relative:function(l,g){if(t(l),t(g),l===g||(l=n(l),g=n(g),l===g))return"";let C=1;for(;C<l.length&&l.charCodeAt(C)===47;++C);let D=l.length,c=D-C,d=1;for(;d<g.length&&g.charCodeAt(d)===47;++d);let E=g.length-d,F=c<E?c:E,A=-1,S=0;for(;S<=F;++S){if(S===F){if(E>F){if(g.charCodeAt(d+S)===47)return g.slice(d+S+1);if(S===0)return g.slice(d+S)}else c>F&&(l.charCodeAt(C+S)===47?A=S:S===0&&(A=0));break}let z=l.charCodeAt(C+S),j=g.charCodeAt(d+S);if(z!==j)break;z===47&&(A=S)}let N="";for(S=C+A+1;S<=D;++S)(S===D||l.charCodeAt(S)===47)&&(N.length===0?N+="..":N+="/..");return N.length>0?N+g.slice(d+A):(d+=A,g.charCodeAt(d)===47&&++d,g.slice(d))},resolve:n,join:function(...l){if(l.length===0)return".";let g;for(let C=0;C<l.length;++C){let D=l[C];t(D),D.length>0&&(g===void 0?g=D:g+="/"+D)}return g===void 0?".":o(g)},isAbsolute:function(l){return t(l),l.length>0&&l.charCodeAt(0)===47},basename:function(l,g){if(g!==void 0&&typeof g!="string")throw new TypeError('"ext" argument must be a string');t(l);let C=0,D=-1,c=!0,d;if(g!==void 0&&g.length>0&&g.length<=l.length){if(g.length===l.length&&g===l)return"";let x=g.length-1,E=-1;for(d=l.length-1;d>=0;--d){let F=l.charCodeAt(d);if(F===47){if(!c){C=d+1;break}}else E===-1&&(c=!1,E=d+1),x>=0&&(F===g.charCodeAt(x)?--x===-1&&(D=d):(x=-1,D=E))}return C===D?D=E:D===-1&&(D=l.length),l.slice(C,D)}else{for(d=l.length-1;d>=0;--d)if(l.charCodeAt(d)===47){if(!c){C=d+1;break}}else D===-1&&(c=!1,D=d+1);return D===-1?"":l.slice(C,D)}},normalize:o,dirname:function(l){if(t(l),l.length===0)return".";let g=l.charCodeAt(0),C=g===47,D=-1,c=!0;for(let d=l.length-1;d>=1;--d)if(g=l.charCodeAt(d),g===47){if(!c){D=d;break}}else c=!1;return D===-1?C?"/":".":C&&D===1?"//":l.slice(0,D)},extname:function(l){t(l);let g=-1,C=0,D=-1,c=!0,d=0;for(let x=l.length-1;x>=0;--x){let E=l.charCodeAt(x);if(E===47){if(!c){C=x+1;break}continue}D===-1&&(c=!1,D=x+1),E===46?g===-1?g=x:d!==1&&(d=1):g!==-1&&(d=-1)}return g===-1||D===-1||d===0||d===1&&g===D-1&&g===C+1?"":l.slice(g,D)}}}async function vu(e){let t=e.getRepoRootDir?e.getRepoRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Wo({cwd:r,...e}),o=new Map,i=c=>n.normalize(n.resolve(r(),c)),a=c=>{for(let[d]of o)if((d+"/").startsWith(c))return!0;return c===t()},s=c=>(c=i(c),o.has(c)?!0:a(c)),u=c=>{c=i(c);let d=c===t()?c:c+"/",x=d.split("/").length-1,E=[];for(let[F]of o)if(F.split("/").slice(0,x).join("/")+"/"===d){let N=F.split("/")[x];N&&!E.includes(N)&&E.push(N)}return E.sort()},p=async(c,d=[])=>{c=i(c);let x=c===t()?c:c+"/",E=[],F=new Set(d);for(let[A]of o)A.startsWith(x)&&(A.slice(x.length).split("/").some(z=>F.has(z))||E.push(A));return E.sort()},m=c=>{c=i(c);let d=o.get(c);return typeof d=="string"?d:null},f=c=>(c=i(c),{isFile:()=>o.has(c),isDirectory:()=>!o.has(c)&&a(c)}),l=async c=>{if(typeof crypto<"u"){let E=new TextEncoder().encode(c),F=await crypto.subtle.digest("SHA-256",E);return Array.from(new Uint8Array(F)).map(A=>A.toString(16).padStart(2,"0")).join("")}let d=0;for(let x=0;x<c.length;x++){let E=c.charCodeAt(x);d=(d<<5)-d+E,d|=0}return Number(Math.abs(d)).toString(36)},g=new Set,C={getRepoRootDir:t,getAppRootDir:t,getCwdDir:r,cwd:r,exists:async c=>s(c),existsSync:s,readdir:async c=>u(c),readdirSync:u,readdirRecursive:p,readFile:async c=>m(c),readFileSync:m,stat:async c=>f(c),statSync:f,writeFile:async(c,d)=>{c=i(c),o.set(c,d);let x={path:c,basename:n.basename(c),dirname:n.dirname(c),extname:n.extname(c)};for(let E of g)await E(x)},unlink:async c=>{c=i(c),o.delete(c)},unlinkSync:c=>{c=i(c),o.delete(c)},hash:l,getDeviceId:async()=>typeof navigator<"u"?l(navigator.userAgent):"",getRepoInfo:async()=>({remoteUrl:"",defaultBranch:"",currentBranch:"",commit:""}),formatCode:async(c,d)=>d,on:(c,d)=>{c==="change"&&g.add(d)},off:(c,d)=>{c==="change"&&g.delete(d)},debug:(...c)=>{console.debug("[builder-dev-tools]",...c)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null,kind:null,magicast:void 0,spawnSync:void 0,Sentry:void 0},D=await Ye(C);return C.getFrameworks=e.getFrameworks?e.getFrameworks:()=>D,C}async function Yo(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(await er(e))return console.warn("Turbopack does not support the Builder.io devtools cli. Please disable Turbopack or manually integrate Builder.io into your Next.js project."),o;if(Go(e,n))return o;let s=ce(e,n,"cjs"),u=ce(e,n);if(s.length!==1&&u.length!==1)throw new Error("Expected an export from file");if(u.length===1){let f=u[0];if(!f.isDefaultExport)throw new Error("Expected a default export from file");let l=f.statement;if(!e.ts.isVariableStatement(l))throw new Error(`Unexpected export type in ${t}
918
918
  Found config content:
919
919
  ${r}
920
920
 
@@ -927,7 +927,7 @@ The config file must follow one of these formats:
927
927
 
928
928
  3. export default { /* config */ }
929
929
 
930
- Current export type: ${c.kind?e.ts.SyntaxKind[c.kind]:"none"}`);let d=f.statement;if(e.ts.isVariableStatement(d)){let C=[...d.declarationList.declarations];if(C.length!==1)throw new Error("Expected a single variable declaration");let l=C[0];if(!l.initializer)throw new Error("Expected an initializer on the declaration");let D=l.initializer;if(e.ts.isObjectLiteralExpression(D)||e.ts.isCallExpression(D)){let g="BuilderDevTools()",x=[...n.statements],E=x.indexOf(d);return x[E]=e.ts.factory.updateVariableStatement(d,d.modifiers,e.ts.factory.updateVariableDeclarationList(d.declarationList,[e.ts.factory.updateVariableDeclaration(l,l.name,l.exclamationToken,l.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[D]))])),n=e.ts.factory.updateSourceFile(n,x),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error(`Unexpected initializer on the variable statement in file
930
+ Current export type: ${l.kind?e.ts.SyntaxKind[l.kind]:"none"}`);let g=f.statement;if(e.ts.isVariableStatement(g)){let C=[...g.declarationList.declarations];if(C.length!==1)throw new Error("Expected a single variable declaration");let D=C[0];if(!D.initializer)throw new Error("Expected an initializer on the declaration");let c=D.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let d="BuilderDevTools()",x=[...n.statements],E=x.indexOf(g);return x[E]=e.ts.factory.updateVariableStatement(g,g.modifiers,e.ts.factory.updateVariableDeclarationList(g.declarationList,[e.ts.factory.updateVariableDeclaration(D,D.name,D.exclamationToken,D.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(d),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,x),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error(`Unexpected initializer on the variable statement in file
931
931
  Found config content:
932
932
  ${r}
933
933
 
@@ -935,7 +935,7 @@ The config variable must be initialized with either:
935
935
  1. An object literal: const nextConfig = { /* config */ }
936
936
  2. A function call: const nextConfig = withSomePlugin({ /* config */ })
937
937
 
938
- Current initializer type: ${D?.kind?e.ts.SyntaxKind[D.kind]:"none"}
938
+ Current initializer type: ${c?.kind?e.ts.SyntaxKind[c.kind]:"none"}
939
939
  Expected types: ObjectLiteralExpression or CallExpression`)}}let p=s[0];if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}
940
940
  Found config content:
941
941
  ${r}
@@ -943,7 +943,7 @@ Detected export type: ${p?.statement.kind??"none"}
943
943
  Valid formats:
944
944
  1. module.exports = { ... }
945
945
  2. module.exports = (phase, config) => { return { ... } }
946
- 3. export default { ... }`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let 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 d=Kn(e,n);n=d.sourceFile;let C=[...n.statements],l=C.indexOf(f);return C[l]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(c,c.left,c.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(d.withFnVariableName),void 0,[c.right]))),n=e.ts.factory.updateSourceFile(n,C),o.content=_(e,n),o.hasContentUpdates=!0,o}let m=p.statement;if(e.ts.isVariableStatement(m)){let f=[...m.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let c=f[0];if(!c.initializer)throw new Error("Expected an initializer on the declaration");let d=c.initializer;if(e.ts.isObjectLiteralExpression(d)||e.ts.isCallExpression(d)){let C=Kn(e,n);n=C.sourceFile;let l=[...n.statements],D=l.indexOf(m);return l[D]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(c,c.name,c.exclamationToken,c.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[d]))])),n=e.ts.factory.updateSourceFile(n,l),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error(`Unexpected initializer on the variable statement in ${t}
946
+ 3. export default { ... }`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let f=p.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let l=f.expression;if(!e.ts.isBinaryExpression(l))throw new Error("Expected a binary expression for the default export");let g=Kn(e,n);n=g.sourceFile;let C=[...n.statements],D=C.indexOf(f);return C[D]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(l,l.left,l.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g.withFnVariableName),void 0,[l.right]))),n=e.ts.factory.updateSourceFile(n,C),o.content=_(e,n),o.hasContentUpdates=!0,o}let m=p.statement;if(e.ts.isVariableStatement(m)){let f=[...m.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let l=f[0];if(!l.initializer)throw new Error("Expected an initializer on the declaration");let g=l.initializer;if(e.ts.isObjectLiteralExpression(g)||e.ts.isCallExpression(g)){let C=Kn(e,n);n=C.sourceFile;let D=[...n.statements],c=D.indexOf(m);return D[c]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(l,l.name,l.exclamationToken,l.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[g]))])),n=e.ts.factory.updateSourceFile(n,D),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error(`Unexpected initializer on the variable statement in ${t}
947
947
  Found config content:
948
948
  ${r}
949
949
 
@@ -951,18 +951,18 @@ The config variable must be initialized with either:
951
951
  1. An object literal: const nextConfig = { /* config */ }
952
952
  2. A function call: const nextConfig = withSomePlugin({ /* config */ })
953
953
 
954
- Current initializer type: ${d.kind}
955
- Expected types: ${e.ts.SyntaxKind.ObjectLiteralExpression} or ${e.ts.SyntaxKind.CallExpression}`)}if(e.ts.isArrowFunction(p.node)){let f=p.node,c=p.statement;if(!e.ts.isExpressionStatement(c))throw new Error("Expected an expression statement for the default export");let d=c.expression;if(!e.ts.isBinaryExpression(d))throw new Error("Expected a binary expression for the default export");let l=p.node.body;if(!e.ts.isBlock(l))throw new Error("Expected a block body on the next config function");let D=[...l.statements],g=D.findIndex(S=>e.ts.isReturnStatement(S));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=D[g],E=Kn(e,n);n=E.sourceFile,D[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(E.withFnVariableName),void 0,[x.expression]));let P=[...n.statements],A=P.indexOf(c);return P[A]=e.ts.factory.updateExpressionStatement(c,e.ts.factory.updateBinaryExpression(d,d.left,d.operatorToken,e.ts.factory.updateArrowFunction(f,f.modifiers,f.typeParameters,f.parameters,f.type,f.equalsGreaterThanToken,e.ts.factory.updateBlock(l,D)))),n=e.ts.factory.updateSourceFile(n,P),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function Yo(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 Kn(e,t){let r=Yo(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 Xo(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Zo(e,n))return o;let a=ce(e,n,"cjs"),s=ce(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let u=a[0];if(s.length===1){let m=s[0];if(!m.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=m.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let c="builderDevTools()",d=bu(e,f.expression);if(!d)return o;let C=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[d]),l=[...n.statements],D=l.indexOf(f);return l[D]=e.ts.factory.updateExportAssignment(f,f.modifiers,C),n=e.ts.factory.updateSourceFile(n,l),n=v(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=_(e,n),o.hasContentUpdates=!0,o}}if(!u.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(u.node)||e.ts.isCallExpression(u.node)){let m=u.statement;if(!e.ts.isExpressionStatement(m))throw new Error("Expected an expression statement for the default export");let f=m.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Go(e,n);n=c.sourceFile;let d=[...n.statements],C=d.indexOf(m);return d[C]=e.ts.factory.updateExpressionStatement(m,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,d),o.content=_(e,n),o.hasContentUpdates=!0,o}let p=u.statement;if(e.ts.isVariableStatement(p)){let m=[...p.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let f=m[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 d=Go(e,n);n=d.sourceFile;let C=[...n.statements],l=C.indexOf(p);return C[l]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(d.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,C),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function Zo(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 Go(e,t){let r=Zo(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 bu(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Ho(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=Ho(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Ho(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 ti(e,t,r){try{let n=I(e,r),o=ce(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 u=[...i.node.arguments];if(u.length===0)throw new Error("Expected an argument in defineConfig()");let p=u[0];if(e.ts.isArrowFunction(p)){let m=vu(e,p);if(!m)return s;u[0]=e.ts.factory.updateArrowFunction(p,p.modifiers,p.typeParameters,p.parameters,p.type,p.equalsGreaterThanToken,m);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,u)),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=_(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(p)){let m=Mn(e,p);if(!m)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,[m])),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=_(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let u=Mn(e,a.expression);if(!u)return s;let p=[...n.statements],m=p.indexOf(a);return p[m]=e.ts.factory.updateExportAssignment(a,a.modifiers,u),n=e.ts.factory.updateSourceFile(n,p),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=_(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function vu(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=Mn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Mn(e,t){if(Ru(e)){let i=Iu(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=ei(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=ei(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function ei(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 Iu(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Nu(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=Un(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 Nu(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Un(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=Un(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Un(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 Ru(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function ni(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 oi(e,t,r){e.debug("Angular config updates are currently in progress...");try{await ku(e)}catch(n){e.Sentry?.captureException(new Error("Unable to update package.json.",{cause:n}))}return await Bu(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function Bu(e){let t=e.getAppRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);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 Ou(e,o);await e.writeFile(n,i)}async function Ou(e,t){let r=t,n=I(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=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
954
+ Current initializer type: ${g.kind}
955
+ Expected types: ${e.ts.SyntaxKind.ObjectLiteralExpression} or ${e.ts.SyntaxKind.CallExpression}`)}if(e.ts.isArrowFunction(p.node)){let f=p.node,l=p.statement;if(!e.ts.isExpressionStatement(l))throw new Error("Expected an expression statement for the default export");let g=l.expression;if(!e.ts.isBinaryExpression(g))throw new Error("Expected a binary expression for the default export");let D=p.node.body;if(!e.ts.isBlock(D))throw new Error("Expected a block body on the next config function");let c=[...D.statements],d=c.findIndex(S=>e.ts.isReturnStatement(S));if(d===-1)throw new Error("Expected a return statement on the next config function");let x=c[d],E=Kn(e,n);n=E.sourceFile,c[d]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(E.withFnVariableName),void 0,[x.expression]));let F=[...n.statements],A=F.indexOf(l);return F[A]=e.ts.factory.updateExpressionStatement(l,e.ts.factory.updateBinaryExpression(g,g.left,g.operatorToken,e.ts.factory.updateArrowFunction(f,f.modifiers,f.typeParameters,f.parameters,f.type,f.equalsGreaterThanToken,e.ts.factory.updateBlock(D,c)))),n=e.ts.factory.updateSourceFile(n,F),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function Go(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 Kn(e,t){let r=Go(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 Zo(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(ei(e,n))return o;let a=ce(e,n,"cjs"),s=ce(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let u=a[0];if(s.length===1){let m=s[0];if(!m.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let f=m.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let l="builderDevTools()",g=Iu(e,f.expression);if(!g)return o;let C=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(l),void 0,[g]),D=[...n.statements],c=D.indexOf(f);return D[c]=e.ts.factory.updateExportAssignment(f,f.modifiers,C),n=e.ts.factory.updateSourceFile(n,D),n=v(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=_(e,n),o.hasContentUpdates=!0,o}}if(!u.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(u.node)||e.ts.isCallExpression(u.node)){let m=u.statement;if(!e.ts.isExpressionStatement(m))throw new Error("Expected an expression statement for the default export");let f=m.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let l=Ho(e,n);n=l.sourceFile;let g=[...n.statements],C=g.indexOf(m);return g[C]=e.ts.factory.updateExpressionStatement(m,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(l.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,g),o.content=_(e,n),o.hasContentUpdates=!0,o}let p=u.statement;if(e.ts.isVariableStatement(p)){let m=[...p.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let f=m[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let l=f.initializer;if(e.ts.isObjectLiteralExpression(l)||e.ts.isCallExpression(l)){let g=Ho(e,n);n=g.sourceFile;let C=[...n.statements],D=C.indexOf(p);return C[D]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g.withFnVariableName),void 0,[l]))])),n=e.ts.factory.updateSourceFile(n,C),o.content=_(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function ei(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 Ho(e,t){let r=ei(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 Iu(e,t){let r=[...t.properties],n=r.findIndex(i=>B(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Xo(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=Xo(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Xo(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 ni(e,t,r){try{let n=I(e,r),o=ce(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 u=[...i.node.arguments];if(u.length===0)throw new Error("Expected an argument in defineConfig()");let p=u[0];if(e.ts.isArrowFunction(p)){let m=Nu(e,p);if(!m)return s;u[0]=e.ts.factory.updateArrowFunction(p,p.modifiers,p.typeParameters,p.parameters,p.type,p.equalsGreaterThanToken,m);let f=[...n.statements],l=f.indexOf(a);return f[l]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,u)),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=_(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(p)){let m=Mn(e,p);if(!m)return s;let f=[...n.statements],l=f.indexOf(a);return f[l]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[m])),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=_(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let u=Mn(e,a.expression);if(!u)return s;let p=[...n.statements],m=p.indexOf(a);return p[m]=e.ts.factory.updateExportAssignment(a,a.modifiers,u),n=e.ts.factory.updateSourceFile(n,p),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=_(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function Nu(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=Mn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Mn(e,t){if(Ou(e)){let i=Ru(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>B(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=ti(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=ti(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function ti(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 Ru(e,t){let r=[...t.properties],n=r.findIndex(i=>B(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Bu(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=Un(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 Bu(e,t){let r=[...t.properties],n=r.findIndex(i=>B(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Un(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=Un(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Un(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 Ou(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function ri(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 ii(e,t,r){e.debug("Angular config updates are currently in progress...");try{await _u(e)}catch(n){e.Sentry?.captureException(new Error("Unable to update package.json.",{cause:n}))}return await ku(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function ku(e){let t=e.getAppRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);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 Lu(e,o);await e.writeFile(n,i)}async function Lu(e,t){let r=t,n=I(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=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
956
956
  builderDevTools().catch((err: Error) =>
957
957
  console.error("Error starting dev tools:", err)
958
- );`;return r=_(e,n),o||(r+=i),r}async function ku(e){let t=e.getRepoRootDir(),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=Lu(e,n);o&&await e.writeFile(r,o)}function Lu(e,t){let r=JSON.parse(t);if(r.scripts=r.scripts||{},r.scripts[ri])return;let n=r.scripts.start||r.scripts.dev||"ng serve";if(!n.includes("concurrently")){let o=e.getRepoRootDir(),i=e.getAppRootDir(),a=o===i?"":` --cwd ${e.relative(o,i)}`,s=`concurrently "${n}" "${_u}${a}"`;r.scripts.start=s,r.scripts[ri]=s}return JSON.stringify(r,null,2)+`
959
- `}var ri="builder-dev",_u="npx builder-dev-tools";var ai=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Wo},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:ti},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Xo},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:ni},{id:"angular",configFileNames:["angular.json","project.json"],ensureConfigPlugin:oi}];async function si(e){let t=e.resolve("/");for(let n of ai)for(let o of n.configFileNames){let i=e.getAppRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),u=e.readFileSync(s);if(typeof u=="string")return{id:n.id,filePath:s,content:u};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Ye(e)).some(n=>n.name==="next")){let n=e.join(e.getAppRootDir(),"next.config.js");return await e.writeFile(n,ii),{id:"next",filePath:n,content:ii}}return null}async function ju(e){let t=await si(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await ai.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=me(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ii=`
958
+ );`;return r=_(e,n),o||(r+=i),r}async function _u(e){let t=e.getRepoRootDir(),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=ju(e,n);o&&await e.writeFile(r,o)}function ju(e,t){let r=JSON.parse(t);if(r.scripts=r.scripts||{},r.scripts[oi])return;let n=r.scripts.start||r.scripts.dev||"ng serve";if(!n.includes("concurrently")){let o=e.getRepoRootDir(),i=e.getAppRootDir(),a=o===i?"":` --cwd ${e.relative(o,i)}`,s=`concurrently "${n}" "${Vu}${a}"`;r.scripts.start=s,r.scripts[oi]=s}return JSON.stringify(r,null,2)+`
959
+ `}var oi="builder-dev",Vu="npx builder-dev-tools";var si=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Yo},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:ni},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Zo},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:ri},{id:"angular",configFileNames:["angular.json","project.json"],ensureConfigPlugin:ii}];async function ui(e){let t=e.resolve("/");for(let n of si)for(let o of n.configFileNames){let i=e.getAppRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),u=e.readFileSync(s);if(typeof u=="string")return{id:n.id,filePath:s,content:u};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Ye(e)).some(n=>n.name==="next")){let n=e.join(e.getAppRootDir(),"next.config.js");return await e.writeFile(n,ai),{id:"next",filePath:n,content:ai}}return null}async function $u(e){let t=await ui(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await si.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=me(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ai=`
960
960
  /** @type {import('next').NextConfig} */
961
961
  const nextConfig = {
962
962
  }
963
963
 
964
964
  module.exports = nextConfig
965
- `.trimStart();var ui="/~builder-dev-tools.js";function Vu(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(ui,e);t.searchParams.set("v",Ht);let r=JSON.stringify(Ht),n=`/* Builder Devtools v${Ht} */
965
+ `.trimStart();var pi="/~builder-dev-tools.js";function Ku(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(pi,e);t.searchParams.set("v",Ht);let r=JSON.stringify(Ht),n=`/* Builder Devtools v${Ht} */
966
966
  `;return n+=`(() => {
967
967
  `,n+=` if (typeof document !== "undefined") {
968
968
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -975,4 +975,4 @@ module.exports = nextConfig
975
975
  `,n+=` }
976
976
  `,n+=` }
977
977
  `,n+=`})();
978
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Ht="1.6.14";export{yu as createDevTools,Tu as createDevToolsSys,Ye as detectFrameworks,er as detectFrameworksFromPackageJson,ju as ensureConfigPlugin,si as findBuildToolConfig,Vu as getClientScript,nr as parseDotEnvContent,Ht as version};
978
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Ht=Jn;export{bu as createDevTools,vu as createDevToolsSys,Ye as detectFrameworks,tr as detectFrameworksFromPackageJson,$u as ensureConfigPlugin,ui as findBuildToolConfig,Ku as getClientScript,rr as parseDotEnvContent,Ht as version};