builder.io 1.6.86 → 1.6.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/index.cjs CHANGED
@@ -1,25 +1,25 @@
1
- "use strict";var xi=Object.create;var Ot=Object.defineProperty;var Ci=Object.getOwnPropertyDescriptor;var hi=Object.getOwnPropertyNames;var Ei=Object.getPrototypeOf,Si=Object.prototype.hasOwnProperty;var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ai=(e,t)=>{for(var r in t)Ot(e,r,{get:t[r],enumerable:!0})},Yn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hi(t))!Si.call(e,o)&&o!==r&&Ot(e,o,{get:()=>t[o],enumerable:!(n=Ci(t,o))||n.enumerable});return e};var Hn=(e,t,r)=>(r=e!=null?xi(Ei(e)):{},Yn(t||!e||!e.__esModule?Ot(r,"default",{value:e,enumerable:!0}):r,e)),Fi=e=>Yn(Ot({},"__esModule",{value:!0}),e);var tr=Oe((Hu,er)=>{"use strict";er.exports=function(){if(process.env.npm_config_user_agent)return yi(process.env.npm_config_user_agent)};function yi(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 Nn=Oe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.throwUnsupportedData=Je.throwUnknownDataType=Je.getType=void 0;function Lo(e){return Object.prototype.toString.call(e)}Je.getType=Lo;function cu(e){throw new TypeError("unsupported data type: "+Lo(e))}Je.throwUnknownDataType=cu;function mu(e){throw new TypeError("unsupported data type: "+e)}Je.throwUnsupportedData=mu});var _n=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,On={};for(let e=0;e<mt;e++){let t=Ve[e];On[t]=e}function kn(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=On[o];i*=r,t+=i,r*=mt}return t}H.s_to_int=kn;function _o(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(On[i]);a*=r,t+=a,r*=n}return t}H.s_to_big_int=_o;function Ln(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=Ln;function jo(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=jo;function Vo(e){return e.split("").reverse().join("")}function $o(e){if(e<0)return"-"+$o(-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 Ln(e);let n;r&&([r,n]=r.split("e")),t=Yt(t),r=Vo(r),r=Yt(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=Yt(n),o+=n}return o}H.num_to_s=$o;function Yt(e){let t=+e;return t.toString()===e&&t+1!==t&&t-1!==t?Ln(t):":"+jo(BigInt(e))}H.int_str_to_s=Yt;function Bn(e){return e[0]===":"?_o(e.substring(1)).toString():kn(e).toString()}function Ko(e){if(e[0]==="-")return-Ko(e.substr(1));let[t,r,n]=e.split(".");if(!r)return kn(t);t=Bn(t),r=Bn(r),r=Vo(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Bn(n),o+=i?-n:+n}return+o}H.s_to_num=Ko});var Vn=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 jn=_n();function fu(e){return"n|"+(0,jn.num_to_s)(e)}X.encodeNum=fu;function du(e){return e=e.replace("n|",""),(0,jn.s_to_num)(e)}X.decodeNum=du;function gu(e){return typeof e=="number"?e:(0,jn.s_to_int)(e)}X.decodeKey=gu;function Du(e){return e?"b|T":"b|F"}X.encodeBool=Du;function xu(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}X.decodeBool=xu;function Cu(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}X.encodeStr=Cu;function hu(e){return e[0]+e[1]==="s|"?e.substr(2):e}X.decodeStr=hu});var $n=Oe(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.config=void 0;Ht.config={sort_key:!1,error_on_nan:!1,error_on_infinite:!1}});var Un=Oe(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.addValue=fe.makeInMemoryMemory=fe.makeInMemoryCache=fe.makeInMemoryStore=fe.memToValues=void 0;var zn=$n(),Kn=Nn(),Mn=Vn(),Eu=_n();function Su(e){return e.store.toArray()}fe.memToValues=Su;function Mo(){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=Mo;function zo(){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=zo;function Au(){return{store:Mo(),cache:zo(),keyCount:0}}fe.makeInMemoryMemory=Au;function et(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=(0,Eu.num_to_s)(r);return e.store.add(t),e.cache.setValue(t,n),n}function Fu(e,t){zn.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=vt(e,t,void 0);return e.cache.setSchema(r,n),n}function vt(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return vt(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?"_":vt(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=vt(e,s,t);o+="|"+u}return et(e,o)}case"boolean":return et(e,(0,Mn.encodeBool)(t));case"number":return Number.isNaN(t)?(zn.config.error_on_nan&&(0,Kn.throwUnsupportedData)("[number NaN]"),""):Number.POSITIVE_INFINITY===t||Number.NEGATIVE_INFINITY===t?(zn.config.error_on_infinite&&(0,Kn.throwUnsupportedData)("[number Infinity]"),""):et(e,(0,Mn.encodeNum)(t));case"string":return et(e,(0,Mn.encodeStr)(t))}return(0,Kn.throwUnknownDataType)(t)}fe.addValue=vt});var Jn=Oe(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.decompress=We.decode=We.compress=void 0;var Pu=Nn(),Xt=Vn(),qn=Un();function wu(e){let t=(0,qn.makeInMemoryMemory)(),r=(0,qn.addValue)(t,e,void 0);return[(0,qn.memToValues)(t),r]}We.compress=wu;function yu(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Rt(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=Rt(e,p),r[u]=p}return r}function bu(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=Rt(e,a),o[i]=a}return o}function Rt(e,t){if(t===""||t==="_")return null;let r=(0,Xt.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,Xt.decodeBool)(n);case"o|":return yu(e,n);case"n|":return(0,Xt.decodeNum)(n);case"a|":return bu(e,n);default:return(0,Xt.decodeStr)(n)}}return(0,Pu.throwUnknownDataType)(n)}We.decode=Rt;function Tu(e){let[t,r]=e;return Rt(t,r)}We.decompress=Tu});var qo=Oe(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimUndefinedRecursively=ft.trimUndefined=void 0;function Iu(e){for(let t in e)e[t]===void 0&&delete e[t]}ft.trimUndefined=Iu;function vu(e){Uo(e,new Set)}ft.trimUndefinedRecursively=vu;function Uo(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)&&Uo(n,t)}}});var Qo=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 Jo=Jn();Object.defineProperty(Z,"compress",{enumerable:!0,get:function(){return Jo.compress}});Object.defineProperty(Z,"decompress",{enumerable:!0,get:function(){return Jo.decompress}});var Ru=Jn();Object.defineProperty(Z,"decode",{enumerable:!0,get:function(){return Ru.decode}});var Nu=Un();Object.defineProperty(Z,"addValue",{enumerable:!0,get:function(){return Nu.addValue}});var Wo=qo();Object.defineProperty(Z,"trimUndefined",{enumerable:!0,get:function(){return Wo.trimUndefined}});Object.defineProperty(Z,"trimUndefinedRecursively",{enumerable:!0,get:function(){return Wo.trimUndefinedRecursively}});var Bu=$n();Object.defineProperty(Z,"config",{enumerable:!0,get:function(){return Bu.config}})});var Wu={};Ai(Wu,{createDevTools:()=>Xo,createDevToolsSys:()=>ei,detectFrameworks:()=>$e,detectFrameworksFromPackageJson:()=>rn,ensureConfigPlugin:()=>di,findBuildToolConfig:()=>Gn,getClientScript:()=>Di,parseDotEnvContent:()=>on,version:()=>Bt});module.exports=Fi(Wu);var Pi="1.6.86",Xn=process.env.OVERRIDE_VERSION??Pi;function ae(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var wi=["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(wi.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 f=await r(u,i+1);if(f)return f}}}}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 Zn(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 rr=Hn(tr(),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 Ge(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return nr(o==="index"?e.basename(e.dirname(t)):o)}function nr(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 M(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 O(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function 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 V(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 kt(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function or(){try{let e=(0,rr.default)();if(e?.name)return e.name}catch{}return"npm"}async function $e(e){let t=[],r=await dt(e,e.getRepoRootDir());if(r){let n=await rn(r,e);t.push(...n)}return t}async function ar(e){let t=await dt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function rn(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let o of bi)if(n.has(o)&&!r.some(i=>i.name===o)){let i={name:o};ir.has(o)&&(i.version=await ir.get(o)(t)),r.push(i)}}return r}function nn(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var ir=new Map([["next",async e=>{if(!e.spawnSync)return;let t=or(),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:nn(a),minor:nn(s),patch:nn(u)}}]]),bi=["@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=sr(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=sr(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function sr(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function Ke(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),o),a=await Ti(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 Ti(e,t){let r=await e.readFile(t);return typeof r=="string"?on(r):null}function on(e){let t={},r=e.replace(/\r\n?/gm,`
2
- `),n;for(;(n=Ii.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
3
- `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Ii=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Me(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);try{if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
1
+ "use strict";var Ti=Object.create;var Lt=Object.defineProperty;var bi=Object.getOwnPropertyDescriptor;var Ii=Object.getOwnPropertyNames;var Ri=Object.getPrototypeOf,Ni=Object.prototype.hasOwnProperty;var Le=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Bi=(e,t)=>{for(var r in t)Lt(e,r,{get:t[r],enumerable:!0})},er=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ii(t))!Ni.call(e,o)&&o!==r&&Lt(e,o,{get:()=>t[o],enumerable:!(n=bi(t,o))||n.enumerable});return e};var tr=(e,t,r)=>(r=e!=null?Ti(Ri(e)):{},er(t||!e||!e.__esModule?Lt(r,"default",{value:e,enumerable:!0}):r,e)),Oi=e=>er(Lt({},"__esModule",{value:!0}),e);var ir=Le((Fp,or)=>{"use strict";or.exports=function(){if(process.env.npm_config_user_agent)return _i(process.env.npm_config_user_agent)};function _i(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 Ln=Le(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.throwUnsupportedData=Je.throwUnknownDataType=Je.getType=void 0;function Wo(e){return Object.prototype.toString.call(e)}Je.getType=Wo;function _u(e){throw new TypeError("unsupported data type: "+Wo(e))}Je.throwUnknownDataType=_u;function ju(e){throw new TypeError("unsupported data type: "+e)}Je.throwUnsupportedData=ju});var Kn=Le(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 Ke="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);Ke+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);Ke+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);Ke+=t}var ft=Ke.length,jn={};for(let e=0;e<ft;e++){let t=Ke[e];jn[t]=e}function Vn(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=jn[o];i*=r,t+=i,r*=ft}return t}H.s_to_int=Vn;function Qo(e){let t=BigInt(0),r=BigInt(1),n=BigInt(ft);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(jn[i]);a*=r,t+=a,r*=n}return t}H.s_to_big_int=Qo;function $n(e){if(e===0)return Ke[0];let t=[];for(;e!==0;){let r=e%ft,n=Ke[r];t.push(n),e-=r,e/=ft}return t.reverse().join("")}H.int_to_s=$n;function Yo(e){let t=BigInt(0),r=BigInt(ft);if(e===t)return Ke[0];let n=[];for(;e!==t;){let o=e%r,i=Ke[Number(o)];n.push(i),e/=r}return n.reverse().join("")}H.big_int_to_s=Yo;function Go(e){return e.split("").reverse().join("")}function Ho(e){if(e<0)return"-"+Ho(-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 $n(e);let n;r&&([r,n]=r.split("e")),t=Xt(t),r=Go(r),r=Xt(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=Xt(n),o+=n}return o}H.num_to_s=Ho;function Xt(e){let t=+e;return t.toString()===e&&t+1!==t&&t-1!==t?$n(t):":"+Yo(BigInt(e))}H.int_str_to_s=Xt;function _n(e){return e[0]===":"?Qo(e.substring(1)).toString():Vn(e).toString()}function Xo(e){if(e[0]==="-")return-Xo(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Vn(t);t=_n(t),r=_n(r),r=Go(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=_n(n),o+=i?-n:+n}return+o}H.s_to_num=Xo});var Un=Le(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 Mn=Kn();function Vu(e){return"n|"+(0,Mn.num_to_s)(e)}X.encodeNum=Vu;function $u(e){return e=e.replace("n|",""),(0,Mn.s_to_num)(e)}X.decodeNum=$u;function Ku(e){return typeof e=="number"?e:(0,Mn.s_to_int)(e)}X.decodeKey=Ku;function Mu(e){return e?"b|T":"b|F"}X.encodeBool=Mu;function Uu(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}X.decodeBool=Uu;function zu(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}X.encodeStr=zu;function qu(e){return e[0]+e[1]==="s|"?e.substr(2):e}X.decodeStr=qu});var zn=Le(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.config=void 0;Zt.config={sort_key:!1,error_on_nan:!1,error_on_infinite:!1}});var Qn=Le(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.addValue=xe.makeInMemoryMemory=xe.makeInMemoryCache=xe.makeInMemoryStore=xe.memToValues=void 0;var Wn=zn(),qn=Ln(),Jn=Un(),Ju=Kn();function Wu(e){return e.store.toArray()}xe.memToValues=Wu;function Zo(){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}}}xe.makeInMemoryStore=Zo;function ei(){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}}}xe.makeInMemoryCache=ei;function Qu(){return{store:Zo(),cache:ei(),keyCount:0}}xe.makeInMemoryMemory=Qu;function tt(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=(0,Ju.num_to_s)(r);return e.store.add(t),e.cache.setValue(t,n),n}function Yu(e,t){Wn.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Nt(e,t,void 0);return e.cache.setSchema(r,n),n}function Nt(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Nt(e,null,r);break;case"object":if(t===null)return tt(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Nt(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),tt(e,n)}else{let n=Object.keys(t);if(n.length===0)return tt(e,"o|");let o="o",i=Yu(e,n);o+="|"+i;for(let a of n){let s=t[a],u=Nt(e,s,t);o+="|"+u}return tt(e,o)}case"boolean":return tt(e,(0,Jn.encodeBool)(t));case"number":return Number.isNaN(t)?(Wn.config.error_on_nan&&(0,qn.throwUnsupportedData)("[number NaN]"),""):Number.POSITIVE_INFINITY===t||Number.NEGATIVE_INFINITY===t?(Wn.config.error_on_infinite&&(0,qn.throwUnsupportedData)("[number Infinity]"),""):tt(e,(0,Jn.encodeNum)(t));case"string":return tt(e,(0,Jn.encodeStr)(t))}return(0,qn.throwUnknownDataType)(t)}xe.addValue=Nt});var Gn=Le(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.decompress=We.decode=We.compress=void 0;var Gu=Ln(),en=Un(),Yn=Qn();function Hu(e){let t=(0,Yn.makeInMemoryMemory)(),r=(0,Yn.addValue)(t,e,void 0);return[(0,Yn.memToValues)(t),r]}We.compress=Hu;function Xu(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Bt(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=Bt(e,p),r[u]=p}return r}function Zu(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=Bt(e,a),o[i]=a}return o}function Bt(e,t){if(t===""||t==="_")return null;let r=(0,en.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,en.decodeBool)(n);case"o|":return Xu(e,n);case"n|":return(0,en.decodeNum)(n);case"a|":return Zu(e,n);default:return(0,en.decodeStr)(n)}}return(0,Gu.throwUnknownDataType)(n)}We.decode=Bt;function ep(e){let[t,r]=e;return Bt(t,r)}We.decompress=ep});var ni=Le(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.trimUndefinedRecursively=dt.trimUndefined=void 0;function tp(e){for(let t in e)e[t]===void 0&&delete e[t]}dt.trimUndefined=tp;function np(e){ti(e,new Set)}dt.trimUndefinedRecursively=np;function ti(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)&&ti(n,t)}}});var ii=Le(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 ri=Gn();Object.defineProperty(Z,"compress",{enumerable:!0,get:function(){return ri.compress}});Object.defineProperty(Z,"decompress",{enumerable:!0,get:function(){return ri.decompress}});var rp=Gn();Object.defineProperty(Z,"decode",{enumerable:!0,get:function(){return rp.decode}});var op=Qn();Object.defineProperty(Z,"addValue",{enumerable:!0,get:function(){return op.addValue}});var oi=ni();Object.defineProperty(Z,"trimUndefined",{enumerable:!0,get:function(){return oi.trimUndefined}});Object.defineProperty(Z,"trimUndefinedRecursively",{enumerable:!0,get:function(){return oi.trimUndefinedRecursively}});var ip=zn();Object.defineProperty(Z,"config",{enumerable:!0,get:function(){return ip.config}})});var hp={};Bi(hp,{createDevTools:()=>pi,createDevToolsSys:()=>li,detectFrameworks:()=>Me,detectFrameworksFromPackageJson:()=>an,ensureConfigPlugin:()=>yi,findBuildToolConfig:()=>Zn,getClientScript:()=>vi,parseDotEnvContent:()=>sn,version:()=>kt});module.exports=Oi(hp);var ki="1.6.88",nr=process.env.OVERRIDE_VERSION??ki;function ne(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var Li=["node_modules","dist","build","public"];async function ie(e,t){async function r(o,i){if(i>10)return;let a=await e.readdir(o);for(let s of a){if(Li.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 f=await r(u,i+1);if(f)return f}}}}let n=await r(e.getAppRootDir(),0);if(!n){let i=`builder-registry.${await ne(e)?"ts":"js"}`;return e.join(t,i)}return n}async function gt(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 rr(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 Dt(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 Dt(e,a,r);if(u)return u}}))).find(i=>typeof i=="string")}var sr=tr(ir(),1);function Ae(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function N(e,t,r){t=he(t),r=he(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=he(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function he(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ye(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return ar(o==="index"?e.basename(e.dirname(t)):o)}function ar(e){return K(e).replace(/ /g,"")}function le(e,t){let r=e.extname(t),n=he(e.basename(t,r)).split("/").pop();return K(n==="index"?e.basename(e.dirname(t)):n)}function M(e,t){let r=he(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 O(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function 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 ae(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function V(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 xt(e){return typeof e=="number"}function nt(e){return typeof e=="boolean"}function re(e){return typeof e=="string"}function rt(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function ue(e){return JSON.parse(JSON.stringify(e))}function _t(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function ur(){try{let e=(0,sr.default)();if(e?.name)return e.name}catch{}return"npm"}async function Me(e){let t=[],r=await gt(e,e.getRepoRootDir());if(r){let n=await an(r,e);t.push(...n)}return t}async function cr(e){let t=await gt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function an(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let o of ji)if(n.has(o)&&!r.some(i=>i.name===o)){let i={name:o};pr.has(o)&&(i.version=await pr.get(o)(t)),r.push(i)}}return r}function on(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var pr=new Map([["next",async e=>{if(!e.spawnSync)return;let t=ur(),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:on(a),minor:on(s),patch:on(u)}}]]),ji=["@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 me(e){let t=lr(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function fe(e,t){t=typeof t=="object"&&t!=null?t:{};let r=lr(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function lr(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function Fe(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),o),a=await Vi(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 Vi(e,t){let r=await e.readFile(t);return typeof r=="string"?sn(r):null}function sn(e){let t={},r=e.replace(/\r\n?/gm,`
2
+ `),n;for(;(n=$i.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
3
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var $i=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Pe(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);try{if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
4
4
 
5
5
  ${o}
6
6
  ${r}=${n}
7
7
 
8
8
  `,await e.writeFile(t,i),"update";else return e.debug(`Creating new .env file with "${r}" at ${t}`),i=[o,`${r}=${n}`,""].join(`
9
- `),await e.writeFile(t,i),"create"}catch(a){if(a&&String(a).includes("EACCES"))return e.debug(`Permssion denied, failed to create or modify .env file with "${r}=${n}" at ${t}`),"permission-error";e.Sentry?.captureException(a)}return null}async function xt(e){return await Ke(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ae)}async function ur(e,t){let r=await xt(e),n=await Me(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 Lt(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 j(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
9
+ `),await e.writeFile(t,i),"create"}catch(a){if(a&&String(a).includes("EACCES"))return e.debug(`Permssion denied, failed to create or modify .env file with "${r}=${n}" at ${t}`),"permission-error";e.Sentry?.captureException(a)}return null}async function Ct(e){return await Fe(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],ye)}async function mr(e,t){let r=await Ct(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ye="NEXT_PUBLIC_BUILDER_API_KEY";var y={gen1:"Gen 1",gen2:"Gen 2"};function b(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function jt(e,t=""){let r=b(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function j(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
10
10
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
11
- `}return""}function rt(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=vi(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,Ct(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Ct(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function vi(e,t,r){return t.properties.findIndex(n=>L(e,n)===r)}function ht(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Ni(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Ri(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 Ri(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=L(e,n);o&&(r[o]=ht(e,n.initializer))}}return r}function Ni(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>ht(e,r)):[]}function L(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 Ct(e,t){return an(e,t,new WeakSet)}function an(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)?Bi(e,t,r):typeof t=="object"?Oi(e,t,r):e.ts.factory.createIdentifier(t)}function Bi(e,t,r){let n=t.map(o=>an(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Oi(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,an(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ye(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0&&(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 m=p.typeArguments;if(m){let l=m[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=ki(e,t,i);a&&n.push(a)}return n=n.filter(lr),n.length>0?n:Li(e,r)}function ki(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),f=sn(p);f.knownType?i=f.builderType:ji(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(m=>m.flags&e.ts.TypeFlags.Object)||u.isIntersection()&&u.types.some(m=>m.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=Mi(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every($i)?s.enum=u.map(Ki):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Li(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 f=p.name;if(!e.ts.isQualifiedName(f))continue;let m=p.typeExpression;if(!m)continue;let l="";switch(m.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 D={name:f.right.text,type:l,isRegistered:!1};r.push(D)}}return r.filter(lr)}var _i=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function ji(e){return typeof e!="string"?!1:!!_i.some(t=>e.includes(t))}function sn(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 $i(e){return/^['"].*['"]$/.test(e)}function Ki(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Mi=(e,t,r)=>{let n=new Set;pr(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},zi=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},pr=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{pr(e,t,o,n)});else if(r.isLiteral()){let o=zi(e,t,r);n.add(o)}};function lr(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!Ui.has(t.toLowerCase())}var Ui=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=L(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=qi(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 qi(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=Zi(r);return n.isRegistered=!0,n}function W(e,t,r){let n=Qi(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=Wi(e,t,n),ea(e,t)}function Wi(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=Yi(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 Qi(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Gi),...e.meta?{meta:{...e.meta}}:{}}}function Gi(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 Yi(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>L(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=Hi(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(l=>L(e,l)==="name"),s=i.properties.find(l=>L(e,l)==="name"),u=a?.initializer,p=s?.initializer,f=u&&e.ts.isStringLiteral(u)?u.text:"zz",m=p&&e.ts.isStringLiteral(p)?p.text:"zz";return f.toLowerCase().localeCompare(m.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Hi(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=L(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=cr(e,t[n],r);else{let o=cr(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function cr(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=Xi(e,n,r,i);return n=ta(e,n.filter(i=>{let a=L(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Xi(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,Ct(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Ct(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=un(e)}function Zi(e){let t=sn(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),pn(r)}function un(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 pn(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 ea(e,t){let r=[...t.properties].sort((n,o)=>{let i=L(e,n)||"zz",a=L(e,o)||"zz";if(i==="inputs")return 1;let s=mr.indexOf(i),u=mr.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 mr=["component","name","description"];function ta(e,t){return[...t].sort((n,o)=>{let i=L(e,n)||"zz",a=L(e,o)||"zz",s=fr.indexOf(i),u=fr.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)})}var fr=["name","type"];function ot(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(L(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function dr(e,t){let r=`Builder.registerComponent(
11
+ `}return""}function ot(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ki(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,ht(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,ht(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ki(e,t,r){return t.properties.findIndex(n=>L(e,n)===r)}function Et(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Ui(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Mi(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 Mi(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=L(e,n);o&&(r[o]=Et(e,n.initializer))}}return r}function Ui(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Et(e,r)):[]}function L(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 ht(e,t){return un(e,t,new WeakSet)}function un(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)?zi(e,t,r):typeof t=="object"?qi(e,t,r):e.ts.factory.createIdentifier(t)}function zi(e,t,r){let n=t.map(o=>un(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function qi(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,un(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 m=p.typeArguments;if(m){let c=m[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=Ji(e,t,i);a&&n.push(a)}return n=n.filter(dr),n.length>0?n:Wi(e,r)}function Ji(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),f=pn(p);f.knownType?i=f.builderType:Yi(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(m=>m.flags&e.ts.TypeFlags.Object)||u.isIntersection()&&u.types.some(m=>m.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=Zi(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Hi)?s.enum=u.map(Xi):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Wi(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 f=p.name;if(!e.ts.isQualifiedName(f))continue;let m=p.typeExpression;if(!m)continue;let c="";switch(m.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 D={name:f.right.text,type:c,isRegistered:!1};r.push(D)}}return r.filter(dr)}var Qi=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Yi(e){return typeof e!="string"?!1:!!Qi.some(t=>e.includes(t))}function pn(e){return typeof e=="string"&&(e=e.trim(),Gi.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Gi=[{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 Hi(e){return/^['"].*['"]$/.test(e)}function Xi(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Zi=(e,t,r)=>{let n=new Set;fr(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},ea=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},fr=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{fr(e,t,o,n)});else if(r.isLiteral()){let o=ea(e,t,r);n.add(o)}};function dr(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!ta.has(t.toLowerCase())}var ta=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 se(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=L(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=na(e,n.initializer);pe(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Et(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function na(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ra(e,n));return r}function ra(e,t){let r=Et(e,t),n=ca(r);return n.isRegistered=!0,n}function W(e,t,r){let n=ia(r);return t=ot(e,t,"name",n.name,!1),t=ot(e,t,"description",n.description),t=ot(e,t,"image",n.image),t=ot(e,t,"meta",n.meta),t=oa(e,t,n),la(e,t)}function oa(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 ot(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=sa(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 ia(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(aa),...e.meta?{meta:{...e.meta}}:{}}}function aa(e){let t={name:e.name,type:e.type};return(re(e.defaultValue)||xt(e.defaultValue)||nt(e.defaultValue))&&(t.defaultValue=e.defaultValue),re(e.friendlyName)&&(t.friendlyName=e.friendlyName),re(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 sa(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>L(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=ua(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>L(e,c)==="name"),s=i.properties.find(c=>L(e,c)==="name"),u=a?.initializer,p=s?.initializer,f=u&&e.ts.isStringLiteral(u)?u.text:"zz",m=p&&e.ts.isStringLiteral(p)?p.text:"zz";return f.toLowerCase().localeCompare(m.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function ua(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=L(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=gr(e,t[n],r);else{let o=gr(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function gr(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=pa(e,n,r,i);return n=ma(e,n.filter(i=>{let a=L(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function pa(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,ht(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,ht(e,r[n]))),t}function pe(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=cn(e)}function ca(e){let t=pn(e.type),r={name:e.name.trim(),type:t.builderType};return re(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(re(e.defaultValue)||xt(e.defaultValue)||nt(e.defaultValue))&&(r.defaultValue=e.defaultValue),re(e.helperText)&&(r.helperText=e.helperText),nt(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),ln(r)}function cn(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 ln(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 la(e,t){let r=[...t.properties].sort((n,o)=>{let i=L(e,n)||"zz",a=L(e,o)||"zz";if(i==="inputs")return 1;let s=Dr.indexOf(i),u=Dr.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 Dr=["component","name","description"];function ma(e,t){return[...t].sort((n,o)=>{let i=L(e,n)||"zz",a=L(e,o)||"zz",s=xr.indexOf(i),u=xr.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)})}var xr=["name","type"];function it(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(L(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function Cr(e,t){let r=`Builder.registerComponent(
12
12
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
13
13
  `:r+=` ${t.importName},
14
- `;else{let o=t.externalImportPath?t.externalImportPath:B(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
14
+ `;else{let o=t.externalImportPath?t.externalImportPath:N(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
15
15
  `:r+=` dynamic(() => import(${JSON.stringify(o)})),
16
16
  `:t.acceptsChildren?r+=` withChildren(dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName})),
17
17
  `:r+=` dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName}),
18
18
  `}r+=` {
19
19
  name: "${t.name}",
20
20
  }
21
- `,r+=");";let n=Lt(e,r);return ln(e,n,t)}function ln(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]=W(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function Y(e,t,r){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let n=await Zn(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:()=>`
22
- `,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),f=e.extname(p).toLowerCase();if(s.startsWith(o)&&f===".ts"&&(u=Dr.get(p),u==null&&typeof self<"u"&&typeof fetch=="function"))throw new jt(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 na(e,a,t,r)}catch(s){if(s instanceof jt){await ra(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function na(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=gr.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,f)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(i),void 0,i).options,gr.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 Y(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 jt=class{constructor(t){this.libName=t}};async function ra(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;_t.has(t)||_t.set(t,fetch(r).then(n=>n.text()).then(n=>{Dr.set(t,n)})),await _t.get(t),_t.delete(t)}var Dr=new Map,_t=new Map,Et=new Map,gr=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=oa(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=ia(e,t,r.defaultImport,r.importPath,n)),t}function oa(e,t,r,n,o,i){return i==="cjs"?Cr(e,t,null,r,n):xr(e,t,null,r,n,o)}function ia(e,t,r,n,o){return o==="cjs"?Cr(e,t,r,null,n):xr(e,t,r,null,n,!1)}function xr(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 D=a[d];if(!e.ts.isImportDeclaration(D)||(s=d,!D.moduleSpecifier||!e.ts.isStringLiteral(D.moduleSpecifier))||D.moduleSpecifier.text!==o||!!D.importClause?.isTypeOnly!==i)continue;let g=[],x=D.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&g.push(...x.elements),typeof n=="string"){if(g.some(C=>C.name.text===n))return t;g.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),g.sort((C,E)=>C.name.text.localeCompare(E.name.text)),u=!0}let c=D.importClause?D.importClause.name:void 0;if(typeof r=="string"){if(c&&c.text===r)return t;c=e.ts.factory.createIdentifier(r),p=!0}if(u||p)return a[d]=e.ts.factory.updateImportDeclaration(D,void 0,e.ts.factory.createImportClause(i,c,e.ts.factory.createNamedImports(g)),D.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let f,m;typeof r=="string"&&(f=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(m=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let l=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,f,m),e.ts.factory.createStringLiteral(o));return a.splice(s,0,l),e.ts.factory.updateSourceFile(t,a)}function Cr(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 f=[...u.declarationList.declarations],m=f[p],l=m.initializer;if(!l||!e.ts.isCallExpression(l))continue;let d=l.expression;if(!e.ts.isIdentifier(d)||d.text!=="require"||l.arguments.length!==1)continue;let D=l.arguments[0];if(e.ts.isStringLiteral(D)&&(a=s,D.text===o)){if(e.ts.isIdentifier(m.name)&&typeof r=="string")return m.name.text===r?t:(f[p]=e.ts.factory.updateVariableDeclaration(m,e.ts.factory.createIdentifier(r),m.exclamationToken,m.type,m.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,f)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(m.name)&&typeof n=="string"){let g=[...m.name.elements];return g.some(c=>!e.ts.isBindingElement(c)||!e.ts.isIdentifier(c.name)?!1:c.name.text===n)?t:(g.push(e.ts.factory.createBindingElement(void 0,void 0,n)),g.sort((c,C)=>!e.ts.isBindingElement(c)||!e.ts.isIdentifier(c.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:c.name.text.localeCompare(C.name.text)),f[p]=e.ts.factory.updateVariableDeclaration(m,e.ts.factory.createObjectBindingPattern(g),m.exclamationToken,m.type,m.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,f)),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"?sa(e,t):aa(e,t)}function aa(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 sa(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 ua(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=ua(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:O(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 Vt(e,t){if(t){if(pa(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Vt(e,n)&&(r=!0)}),r)return!0}return!1}function pa(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===""||!cn.includes(r)){for(let n of cn){let o=t+n;if(await e.exists(o))return o}for(let n of cn){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var cn=[".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=la(e,i);return a?[{name:a}]:void 0}function la(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 hr(e,t,r="esm"){return r==="cjs"?fa(e,t):ma(e,t)}var ca=/^(@\w|\w)/;function ma(e,t){let r=[];for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&e.ts.isLiteralExpression(n.moduleSpecifier)){if(!ca.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 fa(e,t){return[]}async function ut(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await Y(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 ze(e,o,a.filePath,s,!1)).find(f=>f.cmpInfo.id===a.id);p&&(a.inputs=Ye(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 ze(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 Ye(e,i,s.node.fnNode)}return[]}async function Sr(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 da(e,t,o,r)}return null}function da(e,t,r,n=!1){let o=I(e,r);return ze(e,null,t,o,n)}async function ze(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(...hr(e,n)),r=e.normalize(r),await Promise.all(a.map(async s=>{let u=await ga(e,t,r,s);i.push(...u)})),i}async function ga(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=M(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,f=n.isDefaultExport?"default":p,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await V(e,r,f),displayFilePath:O(e,r),name:K(p),inputs:[],exportName:f,exportType:m,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,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await V(e,r,p),displayFilePath:O(e,r),name:u,inputs:[],exportName:p,exportType:f,importName:Ge(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),f=n.isDefaultExport||!u.name?"default":u.name,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await V(e,r,f),displayFilePath:O(e,r),name:p,inputs:[],exportName:f,exportType:m,importName:u.name||Ge(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),f=n.isDefaultExport||!u.name?"default":u.name,m=n.isDefaultExport?"default":"named",l=Da(e,n.node)?.moduleSpecifier??xa(e,n.node)?.moduleSpecifier;if(l&&e.ts.isStringLiteral(l)){let d=t?.getSymbolAtLocation(l);if(d&&d.declarations&&d.declarations.length>0){let D=d.declarations[0];(!e.ts.isSourceFile(D)||e.ts.isSourceFile(D)&&D.fileName.includes("node_modules"))&&(s=l.text)}}o.push({cmpInfo:{id:await V(e,r,f,s),displayFilePath:O(e,r),name:p,inputs:[],exportName:f,exportType:m,importName:u.name||Ge(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 ha(e,t,r,s);o.push(...u)}return o}return o}function Da(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function xa(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 Vt(e,r.body)?{name:"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Vt(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"||n.text==="forwardRef")){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 Ar(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(kt(e,Ca,i.fileName)||a===e.reactConfigPath||a===e.builderComponentPath)return;let s=await ze(e,o,a,i,a===e.registryPath);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ca=new Set(["node_modules","dist"]);async function ha(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 f=u.name;if(!nt(f)&&f!=="default"||!Fr(e,t,p))continue;let m=ke(e,t,p);if(m){let l=u.name,d=l==="default"?"default":"named",D=K(l),g=l==="default"?Ge(e,r):l;o.push({cmpInfo:{id:await V(e,r,l,i),displayFilePath:O(e,r),name:D,inputs:[],exportName:l,exportType:d,importName:g,filePath:r,relFilePath:e.relative(e.getAppRootDir(),r),importPath:i,externalImportPath:i,dependencies:m.deps,framework:"react"},node:m})}}}catch(a){e.Sentry?.captureException(new Error(`Error processing module ${i}:`,{cause:a}),{extra:{modulePath:i,filePath:r}})}return o}function Fr(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 Fr(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 Er(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=>Er(t.getReturnTypeOfSignature(i),t)):!1}function Er(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 Pr(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&&Ea.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 ze(e,o,s,i,s===e.registryPath||he(s));r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ea=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,[...mn(e,r),...mn(e,n),...mn(e,o),...i])}function me(e){let t=e.split(`
21
+ `,r+=");";let n=jt(e,r);return mn(e,n,t)}function mn(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]=W(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 rr(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=St.get(s);if(!u){try{e.statSync(s).isFile()?u={exists:!0,content:e.readFileSync(s)}:u={exists:!1}}catch{u={exists:!1}}St.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:()=>`
22
+ `,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let p=St.get(s);if(p)return b(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),f=e.extname(p).toLowerCase();if(s.startsWith(o)&&f===".ts"&&(u=Er.get(p),u==null&&typeof self<"u"&&typeof fetch=="function"))throw new $t(p)}return s.includes("node_modules")&&(u?St.set(s,{exists:!0,content:u}):St.set(s,{exists:!1})),b(e,u)},readFile:s=>{let u=e.readFileSync(s);return typeof u=="string"?u:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return fa(e,a,t,r)}catch(s){if(s instanceof $t){await da(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function fa(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=hr.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,f)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(i),void 0,i).options,hr.set(i,a))}a&&(o.options=ue(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 at(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 $t=class{constructor(t){this.libName=t}};async function da(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Vt.has(t)||Vt.set(t,fetch(r).then(n=>n.text()).then(n=>{Er.set(t,n)})),await Vt.get(t),Vt.delete(t)}var Er=new Map,Vt=new Map,St=new Map,hr=new Map;function I(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=ga(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Da(e,t,r.defaultImport,r.importPath,n)),t}function ga(e,t,r,n,o,i){return i==="cjs"?Ar(e,t,null,r,n):Sr(e,t,null,r,n,o)}function Da(e,t,r,n,o){return o==="cjs"?Ar(e,t,r,null,n):Sr(e,t,r,null,n,!1)}function Sr(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 D=a[d];if(!e.ts.isImportDeclaration(D)||(s=d,!D.moduleSpecifier||!e.ts.isStringLiteral(D.moduleSpecifier))||D.moduleSpecifier.text!==o||!!D.importClause?.isTypeOnly!==i)continue;let g=[],x=D.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&g.push(...x.elements),typeof n=="string"){if(g.some(C=>C.name.text===n))return t;g.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),g.sort((C,E)=>C.name.text.localeCompare(E.name.text)),u=!0}let l=D.importClause?D.importClause.name:void 0;if(typeof r=="string"){if(l&&l.text===r)return t;l=e.ts.factory.createIdentifier(r),p=!0}if(u||p)return a[d]=e.ts.factory.updateImportDeclaration(D,void 0,e.ts.factory.createImportClause(i,l,e.ts.factory.createNamedImports(g)),D.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let f,m;typeof r=="string"&&(f=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(m=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let c=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,f,m),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function Ar(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 f=[...u.declarationList.declarations],m=f[p],c=m.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 D=c.arguments[0];if(e.ts.isStringLiteral(D)&&(a=s,D.text===o)){if(e.ts.isIdentifier(m.name)&&typeof r=="string")return m.name.text===r?t:(f[p]=e.ts.factory.updateVariableDeclaration(m,e.ts.factory.createIdentifier(r),m.exclamationToken,m.type,m.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,f)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(m.name)&&typeof n=="string"){let g=[...m.name.elements];return g.some(l=>!e.ts.isBindingElement(l)||!e.ts.isIdentifier(l.name)?!1:l.name.text===n)?t:(g.push(e.ts.factory.createBindingElement(void 0,void 0,n)),g.sort((l,C)=>!e.ts.isBindingElement(l)||!e.ts.isIdentifier(l.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:l.name.text.localeCompare(C.name.text)),f[p]=e.ts.factory.updateVariableDeclaration(m,e.ts.factory.createObjectBindingPattern(g),m.exclamationToken,m.type,m.initializer),i[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,f)),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 de(e,t,r="esm"){return r==="cjs"?Ca(e,t):xa(e,t)}function xa(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 Ca(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 ha(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 we(e,t,r,n){let o=ha(e,r,n);if(o){let i=await At(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getAppRootDir(),i);return{displayFilePath:O(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function st(e,t,r){for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(e.ts.isVariableStatement(o)){for(let i of o.declarationList.declarations)if(e.ts.isIdentifier(i.name)&&i.name.text===r)return{statement:o,statementIndex:n}}}return null}function J(e,t,r){let n=st(e,t,r);if(n&&n.statement.declarationList.declarations.length>0){let o=n.statement.declarationList.declarations[0];if(o.initializer&&e.ts.isArrayLiteralExpression(o.initializer))return{statement:n.statement,statementIndex:n.statementIndex,variableDeclaration:o,arrayLiteralExp:o.initializer}}return null}function Kt(e,t){if(t){if(Ea(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Kt(e,n)&&(r=!0)}),r)return!0}return!1}function Ea(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 At(e,t){let r=e.extname(t).toLowerCase();if(r===""||!fn.includes(r)){for(let n of fn){let o=t+n;if(await e.exists(o))return o}for(let n of fn){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var fn=[".tsx",".jsx",".ts",".js"];function ut(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=Sa(e,i);return a?[{name:a}]:void 0}function Sa(e,t){if(typeof t=="string"){t=e.normalize(he(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 ge(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 Fr(e,t,r="esm"){return r==="cjs"?Pa(e,t):Fa(e,t)}var Aa=/^(@\w|\w)/;function Fa(e,t){let r=[];for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&e.ts.isLiteralExpression(n.moduleSpecifier)){if(!Aa.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 Pa(e,t){return[]}async function pt(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 Ue(e,o,a.filePath,s,!1)).find(f=>f.cmpInfo.id===a.id);p&&(a.inputs=Ge(e,o,p.node.fnNode))}return a}))}async function ct(e,t,r,n){if(t.node.fnNode){let{sourceFile:o,typeChecker:i}=await at(e,t.cmpInfo.filePath,r),s=(await Ue(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 yr(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 ya(e,t,o,r)}return null}function ya(e,t,r,n=!1){let o=b(e,r);return Ue(e,null,t,o,n)}async function Ue(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=de(e,n);return o&&a.push(...Fr(e,n)),r=e.normalize(r),await Promise.all(a.map(async s=>{let u=await wa(e,t,r,s);i.push(...u)})),i}async function wa(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=M(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!rt(s.name.text))continue;let u=_e(e,t,s.initializer);if(u){let p=u.name||s.name.text,f=n.isDefaultExport?"default":p,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await V(e,r,f),displayFilePath:O(e,r),name:K(p),inputs:[],exportName:f,exportType:m,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=_e(e,t,n.node);if(s){let u=le(e,r),p=n.isDefaultExport?"default":u,f=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await V(e,r,p),displayFilePath:O(e,r),name:u,inputs:[],exportName:p,exportType:f,importName:Ye(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&&!rt(s))return o;let u=_e(e,t,n.node);if(u){let p=u.name||le(e,r),f=n.isDefaultExport||!u.name?"default":u.name,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await V(e,r,f),displayFilePath:O(e,r),name:p,inputs:[],exportName:f,exportType:m,importName:u.name||Ye(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))&&rt(n.node.getText())){let s,u=_e(e,t,n.node);if(u){let p=u.name||le(e,r),f=n.isDefaultExport||!u.name?"default":u.name,m=n.isDefaultExport?"default":"named",c=va(e,n.node)?.moduleSpecifier??Ta(e,n.node)?.moduleSpecifier;if(c&&e.ts.isStringLiteral(c)){let d=t?.getSymbolAtLocation(c);if(d&&d.declarations&&d.declarations.length>0){let D=d.declarations[0];(!e.ts.isSourceFile(D)||e.ts.isSourceFile(D)&&D.fileName.includes("node_modules"))&&(s=c.text)}}o.push({cmpInfo:{id:await V(e,r,f,s),displayFilePath:O(e,r),name:p,inputs:[],exportName:f,exportType:m,importName:u.name||Ye(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 Ia(e,t,r,s);o.push(...u)}return o}return o}function va(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function Ta(e,t){for(;t;){if(e.ts.isImportDeclaration(t))return t;t=t.parent}return null}function _e(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Kt(e,r.body)?{name:"",fnNode:r,deps:ut(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Kt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:ut(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:_e(e,t,o[0])}else if(e.ts.isIdentifier(n)&&(n.text==="observer"||n.text==="forwardRef")){let o=r.arguments;return o.length===0?null:_e(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)||!rt(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:ut(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:ut(e,t,n)}}if(e.ts.isIdentifier(r))return{name:r.text||"",fnNode:r,deps:ut(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 _e(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=_e(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 wr(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(_t(e,ba,i.fileName)||a===e.reactConfigPath||a===e.builderComponentPath)return;let s=await Ue(e,o,a,i,a===e.registryPath);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ba=new Set(["node_modules","dist"]);async function Ia(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 f=u.name;if(!rt(f)&&f!=="default"||!vr(e,t,p))continue;let m=_e(e,t,p);if(m){let c=u.name,d=c==="default"?"default":"named",D=K(c),g=c==="default"?Ye(e,r):c;o.push({cmpInfo:{id:await V(e,r,c,i),displayFilePath:O(e,r),name:D,inputs:[],exportName:c,exportType:d,importName:g,filePath:r,relFilePath:e.relative(e.getAppRootDir(),r),importPath:i,externalImportPath:i,dependencies:m.deps,framework:"react"},node:m})}}}catch(a){e.Sentry?.captureException(new Error(`Error processing module ${i}:`,{cause:a}),{extra:{modulePath:i,filePath:r}})}return o}function vr(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 vr(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 Pr(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=>Pr(t.getReturnTypeOfSignature(i),t)):!1}function Pr(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 Tr(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&&Ra.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 Ue(e,o,s,i,s===e.registryPath||Ae(s));r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ra=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 ve(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,[...dn(e,r),...dn(e,n),...dn(e,o),...i])}function De(e){let t=e.split(`
23
23
  `).map(n=>n.trimEnd());e="";let r=!1;for(let n=t.length-1;n>=0;n--){let o=t[n];!r&&o.startsWith("import ")&&(r=!0,o=o+`
24
24
  `),/^builder.init(.*)$/.test(o)&&(o=o+`
25
25
  `),t[n-1]&&!t[n-1].includes("*/")&&(o.trim().startsWith("Builder.registerComponent")&&(o=`
@@ -28,12 +28,12 @@ ${r}=${n}
28
28
  `+o),o.trim().startsWith("export ")&&(o=`
29
29
  `+o)),e=o+`
30
30
  `+e}return e.trim()+`
31
- `}function mn(e,t){return t.sort((r,n)=>{let o=wr(e,r),i=wr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function wr(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 br(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
- ${e}`),e}function Tr(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=yr(e,r),i=yr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function yr(e,t){let r=t.properties.find(n=>L(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Ir(e){let t=await e.readFile(e.registryPath);return t?Sa(e,t):{components:[],sourceFile:I(e,"")}}async function Sa(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?Fa(e,r):Aa(e,r)}async function Aa(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let p=i.arguments;if(p.length<2)continue;let f=p[1];if(!e.ts.isObjectLiteralExpression(f))continue;let m=p[0];if(e.ts.isCallExpression(m)){let l=e.ts.isIdentifier(m.expression)&&m.expression.text;if(l==="withChildren"){let D=gn(e,m.arguments[0]);if(e.ts.isCallExpression(D)){let g=await fn(e,n,D,f,!0);g&&r.push(g)}else{let g=D;if(e.ts.isIdentifier(g)){let x=await dn(e,t,n,g,f,!0);x&&r.push(x)}}continue}if(l==="dynamic"){let D=await fn(e,n,m,f,!1);D&&r.push(D);continue}let d=gn(e,m.arguments[0]);if(e.ts.isCallExpression(d)&&e.ts.isIdentifier(d.expression)&&d.expression.text==="dynamic"){let D=await fn(e,n,d,f,!1);D&&r.push(D);continue}if(e.ts.isIdentifier(d)){let D=await dn(e,t,n,d,f,!1);D&&r.push(D);continue}continue}if(e.ts.isIdentifier(m)){let l=await dn(e,t,n,m,f,!1);l&&r.push(l);continue}}return{sourceFile:t,components:oe(r)}}function gn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:gn(e,t.arguments[0]):t}async function fn(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 f=u.arguments[0];if(!e.ts.isStringLiteral(f))return null;let m=f.text,l=await lt(e,m);i.filePath=l,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(l)?i.importPath=M(e,i.filePath):(i.externalImportPath=m,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 f=p.expression;if(!e.ts.isAwaitExpression(f))return null;let m=f.expression;if(!e.ts.isCallExpression(m)||m.expression.kind!==e.ts.SyntaxKind.ImportKeyword||m.arguments.length!==1)return null;let d=m.arguments[0];if(!e.ts.isStringLiteral(d)||!e.ts.isIdentifier(u.name))return null;let D=d.text,g=await lt(e,D);i.filePath=g,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(g)?i.importPath=M(e,i.filePath):(i.externalImportPath=D,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=O(e,i.filePath),i.filePath&&i.exportName&&(i.id=await V(e,i.filePath,i.exportName,i.externalImportPath)),i}async function dn(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 f=await lt(e,p.text);a.filePath=f,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(f)?a.importPath=M(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(d=>d.name.text===n.text));if(!p)return null;let f=p.moduleSpecifier;if(!e.ts.isStringLiteral(f))return null;let m=await lt(e,f.text);a.filePath=m,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=M(e,a.filePath):(a.externalImportPath=f.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=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(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 vr(e,t,r){let n=!1,o=0,i=[...t.statements];for(let p=0;p<i.length;p++){let f=i[p];if(e.ts.isImportDeclaration(f)){o=p;continue}if(!e.ts.isExpressionStatement(f))continue;let m=f.expression;if(!e.ts.isCallExpression(m))continue;let l=m.expression;if(!e.ts.isPropertyAccessExpression(l))continue;let d=l.expression;if(!e.ts.isIdentifier(d)||d.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 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 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(L(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 D=d[0];if(!e.ts.isArrowFunction(D))return null;let g=D.body;if(e.ts.isCallExpression(g)){if(g.expression.kind!==e.ts.SyntaxKind.ImportKeyword||g.arguments.length!==1)return null;let c=g.arguments[0];if(!e.ts.isStringLiteral(c))return null;let C=c.text,E=await lt(e,C);n.filePath=E,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(E)?n.importPath=M(e,n.filePath):(n.externalImportPath=C,n.importPath=n.externalImportPath),n.name=le(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(g)){let x=g.expression;if(!e.ts.isParenthesizedExpression(x))return null;let c=x.expression;if(!e.ts.isAwaitExpression(c))return null;let C=c.expression;if(!e.ts.isCallExpression(C)||C.expression.kind!==e.ts.SyntaxKind.ImportKeyword||C.arguments.length!==1)return null;let F=C.arguments[0];if(!e.ts.isStringLiteral(F)||!e.ts.isIdentifier(g.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=M(e,n.filePath):(n.externalImportPath=A,n.importPath=n.externalImportPath),n.name=K(g.name.text),n.importName=g.name.text,n.exportName=g.name.text,n.exportType="named"}else return null;return n=ie(e,n,r),n.displayFilePath=O(e,n.filePath),n.filePath&&n.exportName&&(n.id=await V(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=M(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.importPath=M(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let f=t.statements.filter(l=>e.ts.isImportDeclaration(l)),m=f.find(l=>l.importClause&&l.importClause.name?.text===s);if(m){let l=m.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;n.exportName="default"}else{let l=f.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!l)return null;let d=l.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 V(e,n.filePath,n.exportName,n.externalImportPath)),n}function be(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 f=u[p];if(e.ts.isImportSpecifier(f)){let m=f.name;if(m&&e.ts.isIdentifier(m)){let l=m.text;Rr(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)),f=e.ts.factory.updateImportDeclaration(i,void 0,p,i.moduleSpecifier,void 0);r[o]=f,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let u=i.importClause.name.text;Rr(e,t,u)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Rr(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 Te(e,t,r,n,o,i,a){let s=null,u=null,p=null,f=-1;t=se(t),r=se(r);let m=t.find(d=>d.id===e),l=r.find(d=>d.id===e);if(n)l||(s={...se(m),inputs:se(m.inputs).map(d=>(d.isRegistered=!0,d))},f=r.length,r.push(s));else if(typeof l?.nodeIndex=="number"&&l.nodeIndex>-1){if(o)f=l.nodeIndex,u=se(l),r=r.filter(d=>d.id!==e);else if(i!=null)Pa(l,i),f=l.nodeIndex,p=l;else if(a!=null){let d=l.inputs.find(D=>D.name===a.name);d&&(a.registerInput===!1?d.isRegistered=!1:(wa(d,a),d.isRegistered=!0),p=l,f=l.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:u,updateRegisteredCmp:p,nodeIndex:f,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(pn),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=un(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function Pa(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 wa(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 Y(e,[...t])}function Ie(e,t,r){return at(e,t,r.variableName)?t:ya(e,t,r)}function ya(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 ve(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,f,m,l]=await Promise.all([Pr(e,u),Ir(e),ae(e),xt(e)]),d=p.map(E=>E.cmpInfo),D=f.components,g={components:De(d,D),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(d),publicApiKey:l.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await ut(e,g.components),g;let x=!1,c=f.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let E=C.map(S=>{let N=p.find($=>$.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 Y(e,F);for(let S of E){let N=g.components.find(w=>w.id===S.cmpInfo.id),$=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(N,$);let k=d.findIndex(w=>w.id===S.cmpInfo.id);d[k].inputs=$;let P=Te(S.cmpInfo.id,d,D,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:de,statement:G,variableDeclaration:_}=await Ia(e,c,S);if(P.addCmpToRegistry)w.push(Ta(e,P.addCmpToRegistry)),x=!0;else if(P.removeCmpFromRegistry)w.splice(ee,1),x=!0;else if(P.updateRegisteredCmp){let te=W(e,w[ee],P.updateRegisteredCmp);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[Br(e,P.updateRegisteredCmp),...te.properties.slice(1)]),x=!0}if(x&&a){let te=[...c.statements];te[de]=e.ts.factory.updateVariableStatement(G,G.modifiers,e.ts.factory.updateVariableDeclarationList(G.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),c=e.ts.factory.updateSourceFile(c,te),c=Nr(e,P,c),c=v(e,c,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),c=Ie(e,c,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=P.components,D=P.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...c.statements];P.addCmpToRegistry?(w.push(dr(e,P.addCmpToRegistry)),x=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),x=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=ln(e,w[P.nodeIndex],P.updateRegisteredCmp),x=!0),x&&a&&(c=e.ts.factory.updateSourceFile(c,w),c=v(e,c,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),c=vr(e,c,m),c=Nr(e,P,c),N?.acceptsChildren&&(c=v(e,c,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=P.components,D=P.components.filter(ee=>ee.isRegistered))}}}if(x&&a){c=be(e,c),c=we(e,c),e.appDir&&(c=Tr(e,c));let E=j(e,c);E=me(E),e.appDir&&(E=br(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}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",va(e,t))}function ba(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function Ta(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([Br(e,t),...t.acceptsChildren?[ba(e)]:[]],!0),t)}async function Ia(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 Nr(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 va(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 kr(e){let t=[],r=await ka(e,t);return await $r(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Na(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Ba(e,e.pagesDir,t)),t}async function Lr(e){let t=[];return await $r(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Ra(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Oa(e,e.pagesDir,t)),t}async function Ra(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,jr({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,_r(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function Na(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,jr({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,_r(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function _r(e){let t=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
31
+ `}function dn(e,t){return t.sort((r,n)=>{let o=br(e,r),i=br(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function br(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 Rr(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
+ ${e}`),e}function Nr(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 Te(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Ir(e,r),i=Ir(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Ir(e,t){let r=t.properties.find(n=>L(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Br(e){let t=await e.readFile(e.registryPath);return t?Na(e,t):{components:[],sourceFile:b(e,"")}}async function Na(e,t){let r=b(e,t);return e.sdkVersion===y.gen2?Oa(e,r):Ba(e,r)}async function Ba(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 f=p[1];if(!e.ts.isObjectLiteralExpression(f))continue;let m=p[0];if(e.ts.isCallExpression(m)){let c=e.ts.isIdentifier(m.expression)&&m.expression.text;if(c==="withChildren"){let D=xn(e,m.arguments[0]);if(e.ts.isCallExpression(D)){let g=await gn(e,n,D,f,!0);g&&r.push(g)}else{let g=D;if(e.ts.isIdentifier(g)){let x=await Dn(e,t,n,g,f,!0);x&&r.push(x)}}continue}if(c==="dynamic"){let D=await gn(e,n,m,f,!1);D&&r.push(D);continue}let d=xn(e,m.arguments[0]);if(e.ts.isCallExpression(d)&&e.ts.isIdentifier(d.expression)&&d.expression.text==="dynamic"){let D=await gn(e,n,d,f,!1);D&&r.push(D);continue}if(e.ts.isIdentifier(d)){let D=await Dn(e,t,n,d,f,!1);D&&r.push(D);continue}continue}if(e.ts.isIdentifier(m)){let c=await Dn(e,t,n,m,f,!1);c&&r.push(c);continue}}return{sourceFile:t,components:ae(r)}}function xn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:xn(e,t.arguments[0]):t}async function gn(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 f=u.arguments[0];if(!e.ts.isStringLiteral(f))return null;let m=f.text,c=await lt(e,m);i.filePath=c,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(c)?i.importPath=M(e,i.filePath):(i.externalImportPath=m,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 f=p.expression;if(!e.ts.isAwaitExpression(f))return null;let m=f.expression;if(!e.ts.isCallExpression(m)||m.expression.kind!==e.ts.SyntaxKind.ImportKeyword||m.arguments.length!==1)return null;let d=m.arguments[0];if(!e.ts.isStringLiteral(d)||!e.ts.isIdentifier(u.name))return null;let D=d.text,g=await lt(e,D);i.filePath=g,i.relFilePath=e.relative(e.getAppRootDir(),i.filePath),await e.exists(g)?i.importPath=M(e,i.filePath):(i.externalImportPath=D,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=se(e,i,n),i.displayFilePath=O(e,i.filePath),i.filePath&&i.exportName&&(i.id=await V(e,i.filePath,i.exportName,i.externalImportPath)),i}async function Dn(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 f=await lt(e,p.text);a.filePath=f,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(f)?a.importPath=M(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 f=p.moduleSpecifier;if(!e.ts.isStringLiteral(f))return null;let m=await lt(e,f.text);a.filePath=m,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=M(e,a.filePath):(a.externalImportPath=f.text,a.importPath=a.externalImportPath),a.name=K(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=se(e,a,o),a.displayFilePath=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(e,a.filePath,a.exportName,a.externalImportPath)),a}function lt(e,t){return At(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Or(e,t,r){let n=!1,o=0,i=[...t.statements];for(let p=0;p<i.length;p++){let f=i[p];if(e.ts.isImportDeclaration(f)){o=p;continue}if(!e.ts.isExpressionStatement(f))continue;let m=f.expression;if(!e.ts.isCallExpression(m))continue;let c=m.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(ye)),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 Oa(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 Cn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:ae(r)}}async function Cn(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"};it(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(L(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 D=d[0];if(!e.ts.isArrowFunction(D))return null;let g=D.body;if(e.ts.isCallExpression(g)){if(g.expression.kind!==e.ts.SyntaxKind.ImportKeyword||g.arguments.length!==1)return null;let l=g.arguments[0];if(!e.ts.isStringLiteral(l))return null;let C=l.text,E=await lt(e,C);n.filePath=E,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(E)?n.importPath=M(e,n.filePath):(n.externalImportPath=C,n.importPath=n.externalImportPath),n.name=le(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(g)){let x=g.expression;if(!e.ts.isParenthesizedExpression(x))return null;let l=x.expression;if(!e.ts.isAwaitExpression(l))return null;let C=l.expression;if(!e.ts.isCallExpression(C)||C.expression.kind!==e.ts.SyntaxKind.ImportKeyword||C.arguments.length!==1)return null;let F=C.arguments[0];if(!e.ts.isStringLiteral(F)||!e.ts.isIdentifier(g.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=M(e,n.filePath):(n.externalImportPath=A,n.importPath=n.externalImportPath),n.name=K(g.name.text),n.importName=g.name.text,n.exportName=g.name.text,n.exportType="named"}else return null;return n=se(e,n,r),n.displayFilePath=O(e,n.filePath),n.filePath&&n.exportName&&(n.id=await V(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 we(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=M(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.importPath=M(e,p.filePath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let f=t.statements.filter(c=>e.ts.isImportDeclaration(c)),m=f.find(c=>c.importClause&&c.importClause.name?.text===s);if(m){let c=m.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;n.exportName="default"}else{let c=f.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;n.exportName=s}continue}}return n=se(e,n,r),n.filePath&&n.exportName&&(n.id=await V(e,n.filePath,n.exportName,n.externalImportPath)),n}function be(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 f=u[p];if(e.ts.isImportSpecifier(f)){let m=f.name;if(m&&e.ts.isIdentifier(m)){let c=m.text;kr(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)),f=e.ts.factory.updateImportDeclaration(i,void 0,p,i.moduleSpecifier,void 0);r[o]=f,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let u=i.importClause.name.text;kr(e,t,u)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function kr(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 Ie(e,t,r,n,o,i,a){let s=null,u=null,p=null,f=-1;t=ue(t),r=ue(r);let m=t.find(d=>d.id===e),c=r.find(d=>d.id===e);if(n)c||(s={...ue(m),inputs:ue(m.inputs).map(d=>(d.isRegistered=!0,d))},f=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)f=c.nodeIndex,u=ue(c),r=r.filter(d=>d.id!==e);else if(i!=null)ka(c,i),f=c.nodeIndex,p=c;else if(a!=null){let d=c.inputs.find(D=>D.name===a.name);d&&(a.registerInput===!1?d.isRegistered=!1:(La(d,a),d.isRegistered=!0),p=c,f=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:u,updateRegisteredCmp:p,nodeIndex:f,components:Ee(t,r)}}function Ee(e,t){let r=ae([...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(ln),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=cn(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function ka(e,t){re(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),re(t.description)?e.description=t.description:t.description===null&&delete e.description,re(t.image)?e.image=t.image:t.image===null&&delete e.image}function La(e,t){re(t.type)&&(e.type=t.type),re(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,re(t.defaultValue)||xt(t.defaultValue)||nt(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,re(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 ze(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 Re(e,t,r){return st(e,t,r.variableName)?t:_a(e,t,r)}function _a(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 Ne(e,t,r,n,o,i,a,s){let u=await ze(e),[p,f,m,c]=await Promise.all([Tr(e,u),Br(e),ne(e),Ct(e)]),d=p.map(E=>E.cmpInfo),D=f.components,g={components:Ee(d,D),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ge(d),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await pt(e,g.components),g;let x=!1,l=f.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let E=C.map(S=>{let B=p.find($=>$.cmpInfo.id===S);if(!B)throw new Error(`Component ${S} not found`);return B}),F=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),A=await G(e,F);for(let S of E){let B=g.components.find(w=>w.id===S.cmpInfo.id),$=await ct(e,S,A,e.registryPath===S.cmpInfo.filePath||Ae(S.cmpInfo.filePath));pe(B,$);let k=d.findIndex(w=>w.id===S.cmpInfo.id);d[k].inputs=$;let P=Ie(S.cmpInfo.id,d,D,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:Ce,statement:Y,variableDeclaration:_}=await $a(e,l,S);if(P.addCmpToRegistry)w.push(Va(e,P.addCmpToRegistry)),x=!0;else if(P.removeCmpFromRegistry)w.splice(ee,1),x=!0;else if(P.updateRegisteredCmp){let te=W(e,w[ee],P.updateRegisteredCmp);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[_r(e,P.updateRegisteredCmp),...te.properties.slice(1)]),x=!0}if(x&&a){let te=[...l.statements];te[Ce]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(Te(e,w)))])),l=e.ts.factory.updateSourceFile(l,te),l=Lr(e,P,l),l=I(e,l,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),l=Re(e,l,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=P.components,D=P.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...l.statements];P.addCmpToRegistry?(w.push(Cr(e,P.addCmpToRegistry)),x=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),x=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=mn(e,w[P.nodeIndex],P.updateRegisteredCmp),x=!0),x&&a&&(l=e.ts.factory.updateSourceFile(l,w),l=I(e,l,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),l=Or(e,l,m),l=Lr(e,P,l),B?.acceptsChildren&&(l=I(e,l,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=P.components,D=P.components.filter(ee=>ee.isRegistered))}}}if(x&&a){l=be(e,l),l=ve(e,l),e.appDir&&(l=Nr(e,l));let E=j(e,l);E=De(E),e.appDir&&(E=Rr(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}function _r(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",Ka(e,t))}function ja(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function Va(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([_r(e,t),...t.acceptsChildren?[ja(e)]:[]],!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 Cn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function Lr(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:N(e,e.registryPath,n.filePath);n.exportType==="default"?r=I(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=I(e,r,{namedImports:[n.importName],importPath:o}))}}else r=I(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function Ka(e,t){let r=t.externalImportPath?t.externalImportPath:N(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 Vr(e){let t=[],r=await Ja(e,t);return await zr(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Ua(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await za(e,e.pagesDir,t)),t}async function $r(e){let t=[];return await zr(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Ma(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await qa(e,e.pagesDir,t)),t}async function Ma(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,Mr({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,Kr(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function Ua(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,Mr({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,Kr(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Kr(e){let t=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
33
33
  "use client";
34
34
  import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
35
35
  import DefaultErrorPage from "next/error";
36
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
36
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(N(e,e.builderComponentPath,e.registryPath))};
37
37
  ${t?`
38
38
  interface BuilderPageProps {
39
39
  content: BuilderContent | null;
@@ -41,7 +41,7 @@ interface BuilderPageProps {
41
41
  }`:""}
42
42
 
43
43
  // Builder Public API Key set in .env file
44
- const builderApiKey = process.env.${Ae}${t?"!":""};
44
+ const builderApiKey = process.env.${ye}${t?"!":""};
45
45
 
46
46
  export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
47
47
  // Call the isPreviewing hook to determine if
@@ -67,12 +67,12 @@ ${t?'import { ComponentProps } from "react";':""}
67
67
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
68
68
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
69
69
  import DefaultErrorPage from "next/error";
70
- import ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
70
+ import ${JSON.stringify(N(e,e.builderComponentPath,e.registryPath))};
71
71
  ${t?`
72
72
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
73
73
 
74
74
  // Builder Public API Key set in .env file
75
- builder.init(process.env.${Ae}${t?"!":""});
75
+ builder.init(process.env.${ye}${t?"!":""});
76
76
 
77
77
  export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
78
78
  // Call the useIsPreviewing hook to determine if
@@ -88,7 +88,7 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
88
88
  // DefaultErrorPage with a 404.
89
89
  return <DefaultErrorPage statusCode={404} />;
90
90
  }
91
- `.trimStart()}function Or(e){return e.features.asyncParams?`
91
+ `.trimStart()}function jr(e){return e.features.asyncParams?`
92
92
  interface PageProps {
93
93
  params: Promise<{
94
94
  page: string[];
@@ -98,14 +98,14 @@ interface PageProps {
98
98
  params: {
99
99
  page: string[];
100
100
  };
101
- }`}function jr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=B(e,t,e.builderComponentPath);return e.sdkVersion===y.gen2?`
101
+ }`}function Mr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=N(e,t,e.builderComponentPath);return e.sdkVersion===y.gen2?`
102
102
  import { fetchOneEntry } from "@builder.io/sdk-react";
103
103
  import { RenderBuilderContent } from ${JSON.stringify(o)};
104
104
 
105
105
  // Builder Public API Key set in .env file
106
- const PUBLIC_API_KEY = process.env.${Ae}${n?"!":""};
106
+ const PUBLIC_API_KEY = process.env.${ye}${n?"!":""};
107
107
 
108
- ${n?Or(e):""}
108
+ ${n?jr(e):""}
109
109
 
110
110
  export default async function Page(props${n?": PageProps":""}) {
111
111
  const builderModelName = "${r}";
@@ -132,8 +132,8 @@ import { builder } from "@builder.io/sdk";
132
132
  import { RenderBuilderContent } from ${JSON.stringify(o)};
133
133
 
134
134
  // Builder Public API Key set in .env file
135
- builder.init(process.env.${Ae}${n?"!":""});
136
- ${n?Or(e):""}
135
+ builder.init(process.env.${ye}${n?"!":""});
136
+ ${n?jr(e):""}
137
137
 
138
138
  export default async function Page(props${n?": PageProps":""}) {
139
139
  const builderModelName = "${r}";
@@ -156,7 +156,7 @@ export default async function Page(props${n?": PageProps":""}) {
156
156
  </>
157
157
  );
158
158
  }
159
- `.trimStart()}async function Ba(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,Vr({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Oa(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,Vr({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Vr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
159
+ `.trimStart()}async function za(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,Ur({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function qa(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,Ur({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Ur({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
160
160
  import React from "react";
161
161
  import { useRouter } from "next/router";
162
162
  ${n?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
@@ -169,9 +169,9 @@ import {
169
169
  import DefaultErrorPage from "next/error";
170
170
  import Head from "next/head";
171
171
  ${n?'import { GetStaticProps } from "next";':""}
172
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
172
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(N(e,e.builderComponentPath,e.registryPath))};
173
173
 
174
- const BUILDER_API_KEY = process.env.${Ae}${n?"!":""};
174
+ const BUILDER_API_KEY = process.env.${ye}${n?"!":""};
175
175
 
176
176
  // Define a function that fetches the Builder
177
177
  // content for a given page
@@ -253,9 +253,9 @@ import DefaultErrorPage from "next/error";
253
253
  import Head from "next/head";${n?`
254
254
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
255
255
  import { GetStaticProps } from "next";`:""}
256
- import ${JSON.stringify(B(e,t,e.registryPath))};
256
+ import ${JSON.stringify(N(e,t,e.registryPath))};
257
257
 
258
- builder.init(process.env.${Ae}${n?"!":""});
258
+ builder.init(process.env.${ye}${n?"!":""});
259
259
 
260
260
  // Define a function that fetches the Builder
261
261
  // content for a given page
@@ -320,7 +320,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
320
320
  </>
321
321
  );
322
322
  }
323
- `.trimStart()}async function ka(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}=La(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 La(e){let t=e.typescriptEnabled,r=`
323
+ `.trimStart()}async function Ja(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}=Wa(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 Wa(e){let t=e.typescriptEnabled,r=`
324
324
  "use client"
325
325
  import React, { useState } from "react";
326
326
  import styles from "./styles.module.css";
@@ -383,18 +383,18 @@ export default Counter;
383
383
  font-size: 42px;
384
384
  text-align: center;
385
385
  }
386
- `.trimStart();return{component:r,styles:n}}async function $r(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=_a(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 ve(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await ve(e,o.id,!0,!1,null,null,!0,!1)}function _a(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
386
+ `.trimStart();return{component:r,styles:n}}async function zr(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=Qa(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 Ne(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Ne(e,o.id,!0,!1,null,null,!0,!1)}function Qa(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
387
387
 
388
388
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
389
389
  ];`:`export const CUSTOM_COMPONENTS = [
390
390
  ];
391
- `}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 Kr(e){let t=await ja(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>kr(t),ensureFigmaImportPage:()=>Lr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ve(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await ve(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ve(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ve(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ve(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ve(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>xt(t),setPublicApiKey:n=>ur(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 ja(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 f=e.readdirSync(p);return p===t?[...f,...Object.keys(s).map(m=>m.slice(t.length+1))]:f},readdir:async p=>{let f=await e.readdir(p);return p===t?[...f,...Object.keys(s).map(m=>m.slice(t.length+1))]:f},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 f=e.join(r,"pages");await e.exists(f)&&(u.pagesDir=f),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 Ke(e,[".env"],zr)}async function Mr(e,t){$a(t);let r=await At(e),n=await Me(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function $a(e){typeof process<"u"&&(process.env[zr]=e)}var zr="PUBLIC_BUILDER_API_KEY";function Ur(e,t,r){if(r.length===0)return e;let n=e.split(`
391
+ `}async function mt(e){let t=await gt(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 qr(e){let t=await Ya(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Vr(t),ensureFigmaImportPage:()=>$r(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:()=>Ct(t),setPublicApiKey:n=>mr(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:()=>me(t),setCache:n=>fe(t,n)}}async function Ya(e){let t=e.getAppRootDir(),r=e.join(t,"src"),n=await Ga(e),o=await ne(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 f=e.readdirSync(p);return p===t?[...f,...Object.keys(s).map(m=>m.slice(t.length+1))]:f},readdir:async p=>{let f=await e.readdir(p);return p===t?[...f,...Object.keys(s).map(m=>m.slice(t.length+1))]:f},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 mt(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 f=e.join(r,"pages");await e.exists(f)&&(u.pagesDir=f),u.registryPath=await ie(e,r)}else u.componentsDir=e.join(t,"components"),u.registryPath=await ie(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 Ga(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 Ft(e){return await Fe(e,[".env"],Wr)}async function Jr(e,t){Ha(t);let r=await Ft(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Ha(e){typeof process<"u"&&(process.env[Wr]=e)}var Wr="PUBLIC_BUILDER_API_KEY";function Qr(e,t,r){if(r.length===0)return e;let n=e.split(`
392
392
  `),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(`
393
- `)}async function Jr(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(".")||za.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 Wr(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ka(e,t,n)}return null}function Ka(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 Ma(e,t,r,a);s&&o.push(s)})),o}async function Ma(e,t,r,n){let o=e.relative(e.getAppRootDir(),r),i=M(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=qr(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let u=a.name.text;return{cmpInfo:{id:await V(e,r,u),displayFilePath:O(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=qr(e,n.node);if(a)return{cmpInfo:{id:await V(e,r,"default"),displayFilePath:O(e,r),name:le(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ge(e,r),filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:a}}return null}function qr(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 za=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Qr(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 Ye(e,i,r)}return[]}async function Gr(e){return xn(e)}async function xn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Ua),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Ua=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
393
+ `)}async function Gr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||es.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await Mt(e,o,s,i);r.push(...u)})),r}async function Hr(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Xa(e,t,n)}return null}function Xa(e,t,r){let n=b(e,r);return Mt(e,null,t,n)}async function Mt(e,t,r,n){r=e.normalize(r);let o=[],i=de(e,n);return await Promise.all(i.map(async a=>{let s=await Za(e,t,r,a);s&&o.push(s)})),o}async function Za(e,t,r,n){let o=e.relative(e.getAppRootDir(),r),i=M(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Yr(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let u=a.name.text;return{cmpInfo:{id:await V(e,r,u),displayFilePath:O(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=Yr(e,n.node);if(a)return{cmpInfo:{id:await V(e,r,"default"),displayFilePath:O(e,r),name:le(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ye(e,r),filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:a}}return null}function Yr(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 es=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Xr(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 at(e,t.cmpInfo.filePath,null);if(!(await Mt(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 hn(e)}async function hn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ts),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var ts=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
394
394
 
395
395
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
396
396
  ];
397
- `;async function Yr(e){await xn(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 Cn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function Cn(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(L(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=M(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let u=await Wr(e,s.filePath);if(u&&u.length>0)if(u.length===1)n.exportName=u[0].cmpInfo.exportName;else{let p=u.find(f=>f.cmpInfo.exportName===a);p&&(n.exportName=p.cmpInfo.exportName)}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await V(e,n.filePath,n.exportName)),n}async function Hr(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 Y(e,[...t])}async function He(e,t,r,n,o,i,a,s){let u=await Hr(e),[p,f,m]=await Promise.all([Jr(e,u),Yr(e),At(e)]),l=p.map(g=>g.cmpInfo),d=f.components,D={components:De(l,d),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(l),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D;if(t!=null){let g=p.find(P=>P.cmpInfo.id===t);if(!g)throw new Error(`Component ${t} not found`);let x=f.sourceFile,c=D.components.find(P=>P.id===t),C=await Qr(e,g);ue(c,C),t=Array.isArray(t)?t[0]:t;let E=Te(t,l,d,r,n,o,i),{elements:F,elmIndex:A,statementIndex:S,statement:N,variableDeclaration:$}=await Qa(e,x,g),k=!1;if(E.addCmpToRegistry?(F.push(Wa(e,E.addCmpToRegistry)),k=!0):E.removeCmpFromRegistry?(F.splice(A,1),k=!0):E.updateRegisteredCmp&&(F[A]=W(e,F[A],E.updateRegisteredCmp),k=!0),k&&a){let P=[...x.statements];P[S]=e.ts.factory.updateVariableStatement(N,N.modifiers,e.ts.factory.updateVariableDeclarationList(N.declarationList,[e.ts.factory.updateVariableDeclaration($,$.name,$.exclamationToken,$.type,e.ts.factory.createArrayLiteralExpression(ye(e,F)))])),x=e.ts.factory.updateSourceFile(x,P),c.exportType==="named"?x=v(e,x,{namedImports:[c.importName],importPath:B(e,e.registryPath,c.filePath)}):x=v(e,x,{defaultImport:c.importName,importPath:B(e,e.registryPath,c.filePath)}),x=v(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),x=Ie(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x=be(e,x),x=we(e,x);let w=j(e,x);w=me(w),w=Ur(w,Ga,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}D.components=E.components}return D}function Wa(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Qa(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 Cn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Ga=["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 Xr(e){let t=await Ya(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Gr(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=>Mr(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 Ya(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 Ke(e,[".env"],Pt)}async function Zr(e,t){let r=await Ft(e),n=await Me(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Pt="PUBLIC_BUILDER_KEY";var Ha=new Set(["dist","node_modules"]);async function eo(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"||kt(e,Ha,a.fileName)||Xa.has(s)||s.includes("$."))return;let u=e.normalize(a.fileName);if(u===e.remixConfigPath||u===i)return;let p=await ze(e,o,u,a,u===e.registryPath);r.push(...p)})),r}var Xa=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function to(e){await Kt(e);let t=await e.readFile(e.registryPath);return t?Za(e,t):{components:[],sourceFile:I(e,"")}}async function Za(e,t){let r=I(e,t);return es(e,r)}async function es(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 hn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function hn(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(L(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let f=s.arguments[0];e.ts.isIdentifier(f)&&(a=f.text)}if(!a)continue;n.name===""&&(n.name=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=M(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 Sr(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 f=p.find(m=>m.cmpInfo.exportName===a);f&&(n.exportName=f.cmpInfo.exportName)}}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await V(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,f,m]=await Promise.all([eo(e,u),to(e),Ft(e)]),l=p.map(C=>C.cmpInfo),d=f.components,D={components:De(l,d),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(l),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await ut(e,D.components),D;let g=!1,x=f.sourceFile,c=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(c.length>0){let C=c.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(C.map(A=>A.cmpInfo.filePath))),F=await Y(e,E);for(let A of C){let S=D.components.find(_=>_.id===A.cmpInfo.id),N=await pt(e,A,F,e.registryPath===A.cmpInfo.filePath||he(A.cmpInfo.filePath));ue(S,N);let $=l.findIndex(_=>_.id===A.cmpInfo.id);l[$].inputs=N;let k=Te(A.cmpInfo.id,l,d,r,n,o,i),{elements:P,elmIndex:w,statementIndex:ee,statement:de,variableDeclaration:G}=await ns(e,x,A);if(k.addCmpToRegistry)P.push(ts(e,k.addCmpToRegistry)),g=!0;else if(k.removeCmpFromRegistry)P.splice(w,1),g=!0;else if(k.updateRegisteredCmp){let _=W(e,P[w],k.updateRegisteredCmp);P[w]=e.ts.factory.updateObjectLiteralExpression(_,[no(e,k.updateRegisteredCmp),..._.properties.slice(1)]),g=!0}if(g&&a){let _=[...x.statements];_[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(G,G.name,G.exclamationToken,G.type,e.ts.factory.createArrayLiteralExpression(ye(e,P)))])),x=e.ts.factory.updateSourceFile(x,_),S.exportType==="named"?x=v(e,x,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)}):x=v(e,x,{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";x=v(e,x,{namedImports:["RegisteredComponent"],importPath:te,isTypeOnly:!0}),S.acceptsChildren&&e.sdkVersion!==y.gen2&&(x=v(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=Ie(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=k.components,d=k.components.filter(Qe=>Qe.isRegistered)}}}if(g&&a){x=be(e,x),x=we(e,x);let C=j(e,x);C=me(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return D}function no(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 ts(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([no(e,t),...t.acceptsChildren&&e.sdkVersion===y.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function ns(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 hn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function ro(e){let t=[],r=await is(e,t);return t.push(...await Kt(e)),await ss(e,r),await os(e,t),t}async function oo(e){let t=[];return t.push(...await Kt(e)),await rs(e,t),t}async function rs(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,io({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function os(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,io({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function io({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?`
397
+ `;async function eo(e){await hn(e);let t=await e.readFile(e.registryPath);return t?ns(e,t):{components:[],sourceFile:b(e,"")}}async function ns(e,t){let r=b(e,t);return rs(e,r)}async function rs(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 En(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:ae(r)}}async function En(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(L(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 we(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=M(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let u=await Hr(e,s.filePath);if(u&&u.length>0)if(u.length===1)n.exportName=u[0].cmpInfo.exportName;else{let p=u.find(f=>f.cmpInfo.exportName===a);p&&(n.exportName=p.cmpInfo.exportName)}continue}}return n=se(e,n,r),n.filePath&&n.exportName&&(n.id=await V(e,n.filePath,n.exportName)),n}async function to(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 to(e),[p,f,m]=await Promise.all([Gr(e,u),eo(e),Ft(e)]),c=p.map(g=>g.cmpInfo),d=f.components,D={components:Ee(c,d),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ge(c),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D;if(t!=null){let g=p.find(P=>P.cmpInfo.id===t);if(!g)throw new Error(`Component ${t} not found`);let x=f.sourceFile,l=D.components.find(P=>P.id===t),C=await Xr(e,g);pe(l,C),t=Array.isArray(t)?t[0]:t;let E=Ie(t,c,d,r,n,o,i),{elements:F,elmIndex:A,statementIndex:S,statement:B,variableDeclaration:$}=await is(e,x,g),k=!1;if(E.addCmpToRegistry?(F.push(os(e,E.addCmpToRegistry)),k=!0):E.removeCmpFromRegistry?(F.splice(A,1),k=!0):E.updateRegisteredCmp&&(F[A]=W(e,F[A],E.updateRegisteredCmp),k=!0),k&&a){let P=[...x.statements];P[S]=e.ts.factory.updateVariableStatement(B,B.modifiers,e.ts.factory.updateVariableDeclarationList(B.declarationList,[e.ts.factory.updateVariableDeclaration($,$.name,$.exclamationToken,$.type,e.ts.factory.createArrayLiteralExpression(Te(e,F)))])),x=e.ts.factory.updateSourceFile(x,P),l.exportType==="named"?x=I(e,x,{namedImports:[l.importName],importPath:N(e,e.registryPath,l.filePath)}):x=I(e,x,{defaultImport:l.importName,importPath:N(e,e.registryPath,l.filePath)}),x=I(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),x=Re(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x=be(e,x),x=ve(e,x);let w=j(e,x);w=De(w),w=Qr(w,as,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}D.components=E.components}return D}function os(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function is(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 En(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var as=["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 no(e){let t=await ss(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:()=>Ft(t),setPublicApiKey:n=>Jr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>me(t),setCache:n=>fe(t,n)}}async function ss(e){let t=await Dt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let r=await ie(e,t),n=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Pt(e){return await Fe(e,[".env"],yt)}async function ro(e,t){let r=await Pt(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var yt="PUBLIC_BUILDER_KEY";var us=new Set(["dist","node_modules"]);async function oo(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"||_t(e,us,a.fileName)||ps.has(s)||s.includes("$."))return;let u=e.normalize(a.fileName);if(u===e.remixConfigPath||u===i)return;let p=await Ue(e,o,u,a,u===e.registryPath);r.push(...p)})),r}var ps=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function io(e){await Ut(e);let t=await e.readFile(e.registryPath);return t?cs(e,t):{components:[],sourceFile:b(e,"")}}async function cs(e,t){let r=b(e,t);return ls(e,r)}async function ls(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 Sn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:ae(r)}}async function Sn(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&&it(e,r)&&(n.acceptsChildren=!0);for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(L(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let f=s.arguments[0];e.ts.isIdentifier(f)&&(a=f.text)}if(!a)continue;n.name===""&&(n.name=K(a)),n.importName=a;let u=await we(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=M(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 yr(e,u.filePath,e.registryPath===u.filePath||Ae(u.filePath));if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let f=p.find(m=>m.cmpInfo.exportName===a);f&&(n.exportName=f.cmpInfo.exportName)}}continue}}return n=se(e,n,r),n.filePath&&n.exportName&&(n.id=await V(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Be(e,t,r,n,o,i,a,s){let u=await ze(e),[p,f,m]=await Promise.all([oo(e,u),io(e),Pt(e)]),c=p.map(C=>C.cmpInfo),d=f.components,D={components:Ee(c,d),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ge(c),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await pt(e,D.components),D;let g=!1,x=f.sourceFile,l=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(l.length>0){let C=l.map(A=>{let S=p.find(B=>B.cmpInfo.id===A);if(!S)throw new Error(`Component ${A} not found`);return S}),E=Array.from(new Set(C.map(A=>A.cmpInfo.filePath))),F=await G(e,E);for(let A of C){let S=D.components.find(_=>_.id===A.cmpInfo.id),B=await ct(e,A,F,e.registryPath===A.cmpInfo.filePath||Ae(A.cmpInfo.filePath));pe(S,B);let $=c.findIndex(_=>_.id===A.cmpInfo.id);c[$].inputs=B;let k=Ie(A.cmpInfo.id,c,d,r,n,o,i),{elements:P,elmIndex:w,statementIndex:ee,statement:Ce,variableDeclaration:Y}=await fs(e,x,A);if(k.addCmpToRegistry)P.push(ms(e,k.addCmpToRegistry)),g=!0;else if(k.removeCmpFromRegistry)P.splice(w,1),g=!0;else if(k.updateRegisteredCmp){let _=W(e,P[w],k.updateRegisteredCmp);P[w]=e.ts.factory.updateObjectLiteralExpression(_,[ao(e,k.updateRegisteredCmp),..._.properties.slice(1)]),g=!0}if(g&&a){let _=[...x.statements];_[ee]=e.ts.factory.updateVariableStatement(Ce,Ce.modifiers,e.ts.factory.updateVariableDeclarationList(Ce.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(Te(e,P)))])),x=e.ts.factory.updateSourceFile(x,_),S.exportType==="named"?x=I(e,x,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:N(e,e.registryPath,S.filePath)}):x=I(e,x,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:N(e,e.registryPath,S.filePath)});let te=e.sdkVersion===y.gen2?"@builder.io/sdk-react":"@builder.io/react";x=I(e,x,{namedImports:["RegisteredComponent"],importPath:te,isTypeOnly:!0}),S.acceptsChildren&&e.sdkVersion!==y.gen2&&(x=I(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=Re(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=k.components,d=k.components.filter(Qe=>Qe.isRegistered)}}}if(g&&a){x=be(e,x),x=ve(e,x);let C=j(e,x);C=De(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return D}function ao(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 ms(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([ao(e,t),...t.acceptsChildren&&e.sdkVersion===y.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function fs(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 Sn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function so(e){let t=[],r=await Ds(e,t);return t.push(...await Ut(e)),await Cs(e,r),await gs(e,t),t}async function uo(e){let t=[];return t.push(...await Ut(e)),await ds(e,t),t}async function ds(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,po({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function gs(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,po({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function po({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=N(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${yt}`,u="";return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${yt}`,u=", context"),n&&(s+="!"),e.sdkVersion===y.gen2?`
398
398
 
399
399
  import {
400
400
  Content,
@@ -500,11 +500,11 @@ export default function Page() {
500
500
  ${n?`
501
501
  declare global {
502
502
  interface Env {
503
- ${Pt}: string;
503
+ ${yt}: string;
504
504
  }
505
505
  }
506
506
  `:""}
507
- `}async function is(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}=as(e),p=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${p}`),!p){let m=await e.formatCode(i,s);await e.writeFile(i,m),t.push({filePath:i,modifiedType:"create"})}let f=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${f}`),f||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function as(e){let t=e.typescriptEnabled,r=`
507
+ `}async function Ds(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}=xs(e),p=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${p}`),!p){let m=await e.formatCode(i,s);await e.writeFile(i,m),t.push({filePath:i,modifiedType:"create"})}let f=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${f}`),f||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function xs(e){let t=e.typescriptEnabled,r=`
508
508
  import { useState } from "react";
509
509
  import styles from "./styles.module.css";
510
510
  ${t?`
@@ -567,17 +567,17 @@ export default Counter;
567
567
  font-size: 42px;
568
568
  text-align: center;
569
569
  }
570
- `.trimStart();return{component:r,styles:n}}async function ss(e,t){let n=(await Re(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Re(e,n.id,!0,!1,null,null,!0,!1)}async function Kt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,us(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function us(e){let t=e.sdkVersion===y.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
570
+ `.trimStart();return{component:r,styles:n}}async function Cs(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)}async function Ut(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,hs(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function hs(e){let t=e.sdkVersion===y.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
571
571
 
572
572
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
573
573
  ];`:`export const CUSTOM_COMPONENTS = [
574
574
  ];
575
- `}async function ao(e){let t=await ps(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:()=>ro(t),ensureFigmaImportPage:()=>oo(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:()=>Ft(t),setPublicApiKey:n=>Zr(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 ps(e){let t=await cs(e),r=e.getAppRootDir(),n=await ms(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 ls(e,n),addExternalPackage:f=>{u[e.join(r,f,"index.ts")]=`export * from "${f}";`},readFileSync:f=>u[f]??e.readFileSync(f),existsSync:f=>!!u[f]||e.existsSync(f),readdirSync:f=>{let m=e.readdirSync(f);return f===r?[...m,...Object.keys(u).map(l=>l.slice(r.length+1))]:m},readdir:async f=>{let m=await e.readdir(f);return f===r?[...m,...Object.keys(u).map(l=>l.slice(r.length+1))]:m}};return e.sdkVersion?p.sdkVersion=e.sdkVersion:p.sdkVersion=await ct(p),p}async function ls(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function cs(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 ms(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:Mt;return await Ke(e,t,r)}async function so(e,t){let r=await wt(e),n=await Me(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var yt="VITE_PUBLIC_BUILDER_KEY",Mt="PUBLIC_BUILDER_KEY";function uo(e,t){let r=`Builder.registerComponent(
575
+ `}async function co(e){let t=await Es(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:()=>so(t),ensureFigmaImportPage:()=>uo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Be(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Be(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Be(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Be(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Be(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Be(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Pt(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:()=>me(t),setCache:n=>fe(t,n)}}async function Es(e){let t=await As(e),r=e.getAppRootDir(),n=await Fs(e),o=e.dirname(n),i=e.join(o,"components"),a=await ne(e),s=await ie(e,o),u={},p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:a,appDir:o,componentsDir:i,routesDir:n,hasLocaleParam:await Ss(e,n),addExternalPackage:f=>{u[e.join(r,f,"index.ts")]=`export * from "${f}";`},readFileSync:f=>u[f]??e.readFileSync(f),existsSync:f=>!!u[f]||e.existsSync(f),readdirSync:f=>{let m=e.readdirSync(f);return f===r?[...m,...Object.keys(u).map(c=>c.slice(r.length+1))]:m},readdir:async f=>{let m=await e.readdir(f);return f===r?[...m,...Object.keys(u).map(c=>c.slice(r.length+1))]:m}};return e.sdkVersion?p.sdkVersion=e.sdkVersion:p.sdkVersion=await mt(p),p}async function Ss(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function As(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 Fs(e){let t=await Dt(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"?vt:zt;return await Fe(e,t,r)}async function lo(e,t){let r=await wt(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var vt="VITE_PUBLIC_BUILDER_KEY",zt="PUBLIC_BUILDER_KEY";function mo(e,t){let r=`Builder.registerComponent(
576
576
  `;r+=` ${t.importName},
577
577
  `,r+=` {
578
578
  name: "${t.name}",
579
579
  }
580
- `,r+=");";let n=Lt(e,r);return En(e,n,t)}function En(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]=W(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function po(e){let t=await e.readFile(e.registryPath);return t?fs(e,t):{components:[],sourceFile:I(e,"")}}async function fs(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?Ds(e,r):ds(e,r)}async function ds(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 f=p[1];if(!e.ts.isObjectLiteralExpression(f))continue;let m=p[0];if(e.ts.isIdentifier(m)){let l=await gs(e,t,n,m,f,!1);l&&r.push(l);continue}}return{sourceFile:t,components:oe(r)}}async function gs(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 Sn(e,p.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),a.importPath=M(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(d=>d.name.text===n.text));if(!p)return null;let f=p.moduleSpecifier;if(!e.ts.isStringLiteral(f))return null;let m=await Sn(e,f.text);a.filePath=await Sn(e,f.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=M(e,a.filePath):(a.externalImportPath=f.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=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(e,a.filePath,a.exportName,a.externalImportPath)),a}function Sn(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function Ds(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 An(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function An(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(L(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=M(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let f=t.statements.filter(l=>e.ts.isImportDeclaration(l)),m=f.find(l=>l.importClause&&l.importClause.name?.text===s);if(m){let l=m.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;n.exportName="default"}else{let l=f.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!l)return null;let d=l.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 V(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,f,m,l]=await Promise.all([Ar(e,u),po(e),ae(e),wt(e)]),d=p.map(E=>E.cmpInfo),D=f.components,g={components:De(d,D),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(d),publicApiKey:l.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await ut(e,g.components),g;let x=!1,c=f.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let E=C.map(S=>{let N=p.find($=>$.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 Y(e,F);for(let S of E){let N=g.components.find(w=>w.id===S.cmpInfo.id),$=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(N,$);let k=d.findIndex(w=>w.id===S.cmpInfo.id);d[k].inputs=$;let P=Te(S.cmpInfo.id,d,D,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:de,statement:G,variableDeclaration:_}=await xs(e,c,S);if(P.addCmpToRegistry)w.push(Cs(e,P.addCmpToRegistry)),x=!0;else if(P.removeCmpFromRegistry)w.splice(ee,1),x=!0;else if(P.updateRegisteredCmp){let te=W(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)]),x=!0}if(x&&a){let te=[...c.statements];te[de]=e.ts.factory.updateVariableStatement(G,G.modifiers,e.ts.factory.updateVariableDeclarationList(G.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),c=e.ts.factory.updateSourceFile(c,te),c=lo(e,P,c),c=v(e,c,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),c=Ie(e,c,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=P.components,D=P.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...c.statements];P.addCmpToRegistry?(w.push(uo(e,P.addCmpToRegistry)),x=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),x=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=En(e,w[P.nodeIndex],P.updateRegisteredCmp),x=!0),x&&a&&(c=e.ts.factory.updateSourceFile(c,w),c=v(e,c,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),c=lo(e,P,c),N?.acceptsChildren&&(c=v(e,c,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=P.components,D=P.components.filter(ee=>ee.isRegistered))}}}if(x&&a){c=be(e,c),c=we(e,c);let E=j(e,c);E=me(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}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 An(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function Cs(e,t){let r=e.ts.factory.createIdentifier(t.importName);return W(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 lo(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 co(e){let t=[],r=await hs(e,t);if(await go(e,t,r),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,fo(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function mo(e){let t=[];await go(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,fo(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}function fo(e,t,r="page"){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
580
+ `,r+=");";let n=jt(e,r);return An(e,n,t)}function An(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]=W(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function fo(e){let t=await e.readFile(e.registryPath);return t?Ps(e,t):{components:[],sourceFile:b(e,"")}}async function Ps(e,t){let r=b(e,t);return e.sdkVersion===y.gen2?vs(e,r):ys(e,r)}async function ys(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 f=p[1];if(!e.ts.isObjectLiteralExpression(f))continue;let m=p[0];if(e.ts.isIdentifier(m)){let c=await ws(e,t,n,m,f,!1);c&&r.push(c);continue}}return{sourceFile:t,components:ae(r)}}async function ws(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 Fn(e,p.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),a.importPath=M(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 f=p.moduleSpecifier;if(!e.ts.isStringLiteral(f))return null;let m=await Fn(e,f.text);a.filePath=await Fn(e,f.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=M(e,a.filePath):(a.externalImportPath=f.text,a.importPath=a.externalImportPath),a.name=K(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=se(e,a,o),a.displayFilePath=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(e,a.filePath,a.exportName,a.externalImportPath)),a}function Fn(e,t){return At(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function vs(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 Pn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:ae(r)}}async function Pn(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"};it(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(L(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 we(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=M(e,p.filePath):(n.externalImportPath=p.importPath,n.importPath=n.externalImportPath),n.displayFilePath=p.displayFilePath,n.exportType=p.exportType;let f=t.statements.filter(c=>e.ts.isImportDeclaration(c)),m=f.find(c=>c.importClause&&c.importClause.name?.text===s);if(m){let c=m.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;n.exportName="default"}else{let c=f.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;n.exportName=s}continue}}return n=se(e,n,r),n.filePath&&n.exportName&&(n.id=await V(e,n.filePath,n.exportName,n.externalImportPath)),n}async function Oe(e,t,r,n,o,i,a,s){let u=await ze(e),[p,f,m,c]=await Promise.all([wr(e,u),fo(e),ne(e),wt(e)]),d=p.map(E=>E.cmpInfo),D=f.components,g={components:Ee(d,D),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ge(d),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await pt(e,g.components),g;let x=!1,l=f.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let E=C.map(S=>{let B=p.find($=>$.cmpInfo.id===S);if(!B)throw new Error(`Component ${S} not found`);return B}),F=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),A=await G(e,F);for(let S of E){let B=g.components.find(w=>w.id===S.cmpInfo.id),$=await ct(e,S,A,e.registryPath===S.cmpInfo.filePath||Ae(S.cmpInfo.filePath));pe(B,$);let k=d.findIndex(w=>w.id===S.cmpInfo.id);d[k].inputs=$;let P=Ie(S.cmpInfo.id,d,D,r,n,o,i);if(e.sdkVersion===y.gen2){let{elements:w,elmIndex:ee,statementIndex:Ce,statement:Y,variableDeclaration:_}=await Ts(e,l,S);if(P.addCmpToRegistry)w.push(bs(e,P.addCmpToRegistry)),x=!0;else if(P.removeCmpFromRegistry)w.splice(ee,1),x=!0;else if(P.updateRegisteredCmp){let te=W(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)]),x=!0}if(x&&a){let te=[...l.statements];te[Ce]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(Te(e,w)))])),l=e.ts.factory.updateSourceFile(l,te),l=go(e,P,l),l=I(e,l,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),l=Re(e,l,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=P.components,D=P.components.filter(Qe=>Qe.isRegistered)}}else{let w=[...l.statements];P.addCmpToRegistry?(w.push(mo(e,P.addCmpToRegistry)),x=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),x=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=An(e,w[P.nodeIndex],P.updateRegisteredCmp),x=!0),x&&a&&(l=e.ts.factory.updateSourceFile(l,w),l=I(e,l,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),l=go(e,P,l),B?.acceptsChildren&&(l=I(e,l,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=P.components,D=P.components.filter(ee=>ee.isRegistered))}}}if(x&&a){l=be(e,l),l=ve(e,l);let E=j(e,l);E=De(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}async function Ts(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 Pn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function bs(e,t){let r=e.ts.factory.createIdentifier(t.importName);return W(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 go(e,t,r){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:N(e,e.registryPath,n.filePath);n.exportType==="default"?r=I(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=I(e,r,{namedImports:[n.importName],importPath:o}))}return r}async function Do(e){let t=[],r=await Is(e,t);if(await ho(e,t,r),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,Co(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function xo(e){let t=[];await ho(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,Co(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}function Co(e,t,r="page"){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
581
581
  import React from "react";
582
582
  import {
583
583
  Content,
@@ -586,10 +586,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
586
586
  isPreviewing,
587
587
  ${n?"type BuilderContent,":""}
588
588
  } from "@builder.io/sdk-react";
589
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,t,e.registryPath))};
589
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(N(e,t,e.registryPath))};
590
590
 
591
591
  // Builder Public API Key set in .env file
592
- const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${yt};`:`${Mt};`}
592
+ const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${vt};`:`${zt};`}
593
593
  const MODEL_NAME = "${r}";
594
594
 
595
595
  export default function BuilderPage() {
@@ -639,10 +639,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
639
639
  `:`
640
640
  import React from "react";
641
641
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
642
- import ${JSON.stringify(B(e,t,e.registryPath))};
642
+ import ${JSON.stringify(N(e,t,e.registryPath))};
643
643
 
644
644
  // Builder Public API Key set in .env file
645
- ${e.configType==="vite"?`builder.init(import.meta.env.${yt}${n?"!":""})`:`builder.init("${Mt}")`}
645
+ ${e.configType==="vite"?`builder.init(import.meta.env.${vt}${n?"!":""})`:`builder.init("${zt}")`}
646
646
 
647
647
  export default function BuilderPage() {
648
648
  const isPreviewingInBuilder = useIsPreviewing();
@@ -687,7 +687,7 @@ export default function BuilderPage() {
687
687
  </>
688
688
  );
689
689
  }
690
- `.trimStart()}async function go(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=Ss(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 Ne(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Ne(e,o.id,!0,!1,null,null,!0,!1)}async function hs(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}=Es(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 Es(e){let t=e.typescriptEnabled,r=`
690
+ `.trimStart()}async function ho(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=Ns(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 Oe(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Oe(e,o.id,!0,!1,null,null,!0,!1)}async function Is(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}=Rs(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 Rs(e){let t=e.typescriptEnabled,r=`
691
691
  "use client"
692
692
  import React, { useState } from "react";
693
693
  import styles from "./styles.module.css";
@@ -750,31 +750,31 @@ export default Counter;
750
750
  font-size: 42px;
751
751
  text-align: center;
752
752
  }
753
- `.trimStart();return{component:r,styles:n}}function Ss(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
753
+ `.trimStart();return{component:r,styles:n}}function Ns(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
754
754
 
755
755
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
756
756
  ];`:`export const CUSTOM_COMPONENTS = [
757
757
  ];
758
- `}async function Do(e){let t=await As(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>co(t),ensureFigmaImportPage:()=>mo(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:()=>wt(t),setPublicApiKey:n=>so(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 As(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 bt(e){return await Ps(e,["environment.ts"],zt)}async function xo(e,t){let r=await bt(e),n=await Ts(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function Ps(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 ws(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 ws(e,t){let r=await e.readFile(t);return r?ys(e,r):""}function ys(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===zt&&e.ts.isStringLiteral(u.initializer)&&(n=u.initializer.text)})}return n}async function bs(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 f=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),m=e.ts.factory.createNodeArray([...p.properties,f]),l=e.ts.factory.updateObjectLiteralExpression(p,m),d=e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,l),D=e.ts.factory.updateVariableDeclarationList(s,[d]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,D)}return null}return null}async function Ts(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 bs(e,o,r,n);if(i){let a=j(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=`
758
+ `}async function Eo(e){let t=await Bs(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Do(t),ensureFigmaImportPage:()=>xo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Oe(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Oe(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Oe(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Oe(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Oe(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Oe(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>wt(t),setPublicApiKey:n=>lo(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:()=>me(t),setCache:n=>fe(t,n)}}async function Bs(e){let t=await Os(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ne(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 mt(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 ie(e,n),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=await ie(e,r),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}async function Os(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 ks(e,["environment.ts"],qt)}async function So(e,t){let r=await Tt(e),n=await Vs(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function ks(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 Ls(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 Ls(e,t){let r=await e.readFile(t);return r?_s(e,r):""}function _s(e,t){let r=b(e,t),n="",i=st(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===qt&&e.ts.isStringLiteral(u.initializer)&&(n=u.initializer.text)})}return n}async function js(e,t,r,n){let o=b(e,t),a=st(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 f=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(r),e.ts.factory.createStringLiteral(n)),m=e.ts.factory.createNodeArray([...p.properties,f]),c=e.ts.factory.updateObjectLiteralExpression(p,m),d=e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,c),D=e.ts.factory.updateVariableDeclarationList(s,[d]);return e.ts.factory.updateVariableStatement(a.statement,a.statement.modifiers,D)}return null}return null}async function Vs(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 js(e,o,r,n);if(i){let a=j(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
759
  // https://www.builder.io/c/docs/using-your-api-key
760
760
  export const environment = {
761
761
  production: false,
762
762
  builderApiKey: "${n}",
763
763
  };
764
- `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var zt="builderApiKey";async function ho(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(Rs(e,i.fileName)||a.startsWith(".")||a==="node_modules"||Is.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await Ut(e,o,s,i);r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Is=new Set([]),vs=new Set(["node_modules"]);function Rs(e,t){for(let r of vs)if(e.dirname(t).includes(r))return!0;return!1}async function Eo(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 Ns(e,t,n)}return null}function Ns(e,t,r){let n=I(e,r);return Ut(e,null,t,n)}async function Ut(e,t,r,n){let o=[],i={};r=e.normalize(r);let a=n.statements.filter(f=>e.ts.isClassDeclaration(f)&&_s(e,f)),s=n.statements.find(f=>e.ts.isImportDeclaration(f)&&e.ts.isStringLiteral(f.moduleSpecifier)&&f.moduleSpecifier.text==="@angular/core");if(s&&e.ts.isImportDeclaration(s)){let f=s.importClause?.namedBindings;if(f&&e.ts.isNamedImports(f)){let m=f.elements.find(l=>(l.propertyName??l.name).text==="input");m&&(i.inputSignalImportName=m.name.text)}}let u=await Os(e,t,r,n),p=js(e,n);return await Promise.all(a.map(async f=>{let m=await Bs(e,t,r,f,p,i);o.push(...m)})),o.push(...u),o}async function Fn(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await it(e,t.cmpInfo.filePath,r),a=(await Ut(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 So(e,t,r){let n=await Y(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 Ut(e,o,a.filePath,s)).find(f=>f.cmpInfo.id===a.id);if(p){a.inputs=Ye(e,o,p.node.fnNode);let f=t.find(m=>m.cmpInfo.id===a.id);if(f){let m=await Fn(e,f,n);ue(a,m)}}}}return a}))}async function Bs(e,t,r,n,o,i){let a=[],s=e.relative(e.getAppRootDir(),r),u=M(e,r),p=n.name?.text;if(!p)return a;let f=!1;n.modifiers&&(f=n.modifiers.some(D=>D.kind===e.ts.SyntaxKind.DefaultKeyword));let m=f?"default":p,l=f?"default":"named",d=[];return n.members.forEach(D=>{if(e.ts.isPropertyDeclaration(D)||e.ts.isGetAccessor(D)||e.ts.isSetAccessor(D)){let c=(e.ts.getDecorators(D)??[]).find(E=>ks(e,E))!==void 0&&e.ts.isIdentifier(D.name),C=i?.inputSignalImportName!==void 0&&e.ts.isIdentifier(D.name)&&Ls(e,D,i.inputSignalImportName);if(c||C){let E="any";if(e.ts.isSetAccessor(D))E=Co(e,D.parameters[0].type);else if(D.type&&t){let A=t.getTypeAtLocation(D.type);E=t.typeToString(A)}else E=Co(e,D.type);let F={name:D.name.text,type:o[E]?"string":E};o[E]&&(F.enum=o[E]),d.push(F)}}}),a.push({cmpInfo:{id:await V(e,r,p),displayFilePath:O(e,r),name:K(p),inputs:d,exportName:m,exportType:l,importName:p,filePath:r,relFilePath:s,importPath:u,meta:{...$s(e,n)},framework:"angular"},node:{name:p,fnNode:n,deps:void 0}}),a}async function Os(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=M(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 f=p,m="named",l=[];if(t){let g=t.getSymbolAtLocation(u.name);if(g){let x=t.getDeclaredTypeOfSymbol(g);t.getPropertiesOfType(x).forEach(C=>{let E=C.getDeclarations();E&&E.forEach(F=>{if(e.ts.isPropertyDeclaration(F)){let A=t.getTypeAtLocation(F),S={name:C.getName(),type:Vs(e,t,A)};l.push(S)}})})}}let d=e.ts.isExportSpecifier(u)&&u.parent?u.parent.parent:void 0,D;if(d){let g=d.moduleSpecifier;if(g&&e.ts.isStringLiteral(g)){let x=t?.getSymbolAtLocation(g);if(x&&x.declarations&&x.declarations.length>0){let c=x.declarations[0];(!e.ts.isSourceFile(c)||e.ts.isSourceFile(c)&&c.fileName.includes("node_modules"))&&(D=g.text)}}}o.push({cmpInfo:{id:await V(e,r,p,D),displayFilePath:O(e,r),name:K(p),inputs:l,exportName:f,exportType:m,importName:p,filePath:r,relFilePath:i,importPath:D||a,externalImportPath:D,framework:"angular"},node:{name:p,fnNode:u,deps:void 0}})}else if(e.ts.isExportDeclaration(s)&&!s.exportClause&&s.moduleSpecifier&&e.ts.isStringLiteral(s.moduleSpecifier)){let u=s.moduleSpecifier.text;if(t)try{let p=t.getSymbolAtLocation(s.moduleSpecifier);if(p&&p.exports){let f=t.getExportsOfModule(p);for(let m of f)if(m.flags&e.ts.SymbolFlags.Class){let l=m.getName();if(l.startsWith("_"))continue;o.push({cmpInfo:{id:await V(e,r,l,u),displayFilePath:O(e,r),name:K(l),inputs:[],exportName:l,exportType:"named",importName:l,filePath:r,relFilePath:i,importPath:u,externalImportPath:u,framework:"angular"},node:{name:l,fnNode:s,deps:void 0}})}}}catch(p){console.warn(`Error processing star export from ${u}:`,p)}}return o}function ks(e,t){return Ao(e,t,"Input")}function Ls(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 Ao(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 _s(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 Co(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 js(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 $s(e,t){let{getDecorators:r,isCallExpression:n,isIdentifier:o,isObjectLiteralExpression:i,isPropertyAssignment:a,isStringLiteral:s,SyntaxKind:u}=e.ts,p,f;return r(t)?.forEach(l=>{if(Ao(e,l,"Component")){let{expression:d}=l;if(n(d)){let[D]=d.arguments;i(D)&&D.properties.forEach(g=>{a(g)&&o(g.name)&&(g.name.escapedText==="selector"&&s(g.initializer)&&(p=g.initializer.text),g.name.escapedText==="standalone"&&(f=g.initializer.kind===u.TrueKeyword))})}}}),{selector:p,standalone:f}}async function qt(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 Ks(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 Ks(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 f=Ms(e,r,p);u.push(f)}else u.push(p);return a=e.ts.factory.updateSourceFile(a,u),i=j(e,a),i}function Ms(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=Fo(e,i[0],"declarations",t);if(a){let s=Fo(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])),f=[...n.map(m=>m===o?u:m),...e.ts.getModifiers(r)||[]];return e.ts.factory.updateClassDeclaration(r,f,r.name,r.typeParameters,r.heritageClauses,r.members)}}}}}return r}function Fo(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>L(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=Po(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=Po(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Po(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 Pn(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],f=s.exports[p];if(f.find(l=>l.path===t))return;let m=e.magicast.builders.raw("{}");if(m.path=t,m.component=e.magicast.builders.raw(r),f.push(m),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 zs=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Us=/[\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]/,qs=/[\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]/,wn={Space_Separator:zs,ID_Start:Us,ID_Continue:qs},q={isSpaceSeparator(e){return typeof e=="string"&&wn.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||wn.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"||wn.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)}},bn,re,_e,Wt,qe,xe,Q,vn,It,Js=function(t,r){bn=String(t),re="start",_e=[],Wt=0,qe=1,xe=0,Q=void 0,vn=void 0,It=void 0;do Q=Ws(),Ys[re]();while(Q.type!=="eof");return typeof r=="function"?Tn({"":It},"",r):It};function Tn(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=Tn(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=Tn(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 T,b,Tt,Le,R;function Ws(){for(T="default",b="",Tt=!1,Le=1;;){R=je();let e=yo[T]();if(e)return e}}function je(){if(bn[Wt])return String.fromCodePoint(bn.codePointAt(Wt))}function h(){let e=je();return e===`
765
- `?(qe++,xe=0):e?xe+=e.length:xe++,e&&(Wt+=e.length),e}var yo={default(){switch(R){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
766
- `:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),T="comment";return;case void 0:return h(),z("eof")}if(q.isSpaceSeparator(R)){h();return}return yo[re]()},comment(){switch(R){case"*":h(),T="multiLineComment";return;case"/":h(),T="singleLineComment";return}throw U(h())},multiLineComment(){switch(R){case"*":h(),T="multiLineCommentAsterisk";return;case void 0:throw U(h())}h()},multiLineCommentAsterisk(){switch(R){case"*":h();return;case"/":h(),T="default";return;case void 0:throw U(h())}h(),T="multiLineComment"},singleLineComment(){switch(R){case`
767
- `:case"\r":case"\u2028":case"\u2029":h(),T="default";return;case void 0:return h(),z("eof")}h()},value(){switch(R){case"{":case"[":return z("punctuator",h());case"n":return h(),Xe("ull"),z("null",null);case"t":return h(),Xe("rue"),z("boolean",!0);case"f":return h(),Xe("alse"),z("boolean",!1);case"-":case"+":h()==="-"&&(Le=-1),T="sign";return;case".":b=h(),T="decimalPointLeading";return;case"0":b=h(),T="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":b=h(),T="decimalInteger";return;case"I":return h(),Xe("nfinity"),z("numeric",1/0);case"N":return h(),Xe("aN"),z("numeric",NaN);case'"':case"'":Tt=h()==='"',b="",T="string";return}throw U(h())},identifierNameStartEscape(){if(R!=="u")throw U(h());h();let e=In();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw wo();break}b+=e,T="identifierName"},identifierName(){switch(R){case"$":case"_":case"\u200C":case"\u200D":b+=h();return;case"\\":h(),T="identifierNameEscape";return}if(q.isIdContinueChar(R)){b+=h();return}return z("identifier",b)},identifierNameEscape(){if(R!=="u")throw U(h());h();let e=In();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!q.isIdContinueChar(e))throw wo();break}b+=e,T="identifierName"},sign(){switch(R){case".":b=h(),T="decimalPointLeading";return;case"0":b=h(),T="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":b=h(),T="decimalInteger";return;case"I":return h(),Xe("nfinity"),z("numeric",Le*(1/0));case"N":return h(),Xe("aN"),z("numeric",NaN)}throw U(h())},zero(){switch(R){case".":b+=h(),T="decimalPoint";return;case"e":case"E":b+=h(),T="decimalExponent";return;case"x":case"X":b+=h(),T="hexadecimal";return}return z("numeric",Le*0)},decimalInteger(){switch(R){case".":b+=h(),T="decimalPoint";return;case"e":case"E":b+=h(),T="decimalExponent";return}if(q.isDigit(R)){b+=h();return}return z("numeric",Le*Number(b))},decimalPointLeading(){if(q.isDigit(R)){b+=h(),T="decimalFraction";return}throw U(h())},decimalPoint(){switch(R){case"e":case"E":b+=h(),T="decimalExponent";return}if(q.isDigit(R)){b+=h(),T="decimalFraction";return}return z("numeric",Le*Number(b))},decimalFraction(){switch(R){case"e":case"E":b+=h(),T="decimalExponent";return}if(q.isDigit(R)){b+=h();return}return z("numeric",Le*Number(b))},decimalExponent(){switch(R){case"+":case"-":b+=h(),T="decimalExponentSign";return}if(q.isDigit(R)){b+=h(),T="decimalExponentInteger";return}throw U(h())},decimalExponentSign(){if(q.isDigit(R)){b+=h(),T="decimalExponentInteger";return}throw U(h())},decimalExponentInteger(){if(q.isDigit(R)){b+=h();return}return z("numeric",Le*Number(b))},hexadecimal(){if(q.isHexDigit(R)){b+=h(),T="hexadecimalInteger";return}throw U(h())},hexadecimalInteger(){if(q.isHexDigit(R)){b+=h();return}return z("numeric",Le*Number(b))},string(){switch(R){case"\\":h(),b+=Qs();return;case'"':if(Tt)return h(),z("string",b);b+=h();return;case"'":if(!Tt)return h(),z("string",b);b+=h();return;case`
768
- `:case"\r":throw U(h());case"\u2028":case"\u2029":Hs(R);break;case void 0:throw U(h())}b+=h()},start(){switch(R){case"{":case"[":return z("punctuator",h())}T="value"},beforePropertyName(){switch(R){case"$":case"_":b=h(),T="identifierName";return;case"\\":h(),T="identifierNameStartEscape";return;case"}":return z("punctuator",h());case'"':case"'":Tt=h()==='"',T="string";return}if(q.isIdStartChar(R)){b+=h(),T="identifierName";return}throw U(h())},afterPropertyName(){if(R===":")return z("punctuator",h());throw U(h())},beforePropertyValue(){T="value"},afterPropertyValue(){switch(R){case",":case"}":return z("punctuator",h())}throw U(h())},beforeArrayValue(){if(R==="]")return z("punctuator",h());T="value"},afterArrayValue(){switch(R){case",":case"]":return z("punctuator",h())}throw U(h())},end(){throw U(h())}};function z(e,t){return{type:e,value:t,line:qe,column:xe}}function Xe(e){for(let t of e){if(je()!==t)throw U(h());h()}}function Qs(){switch(je()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
769
- `;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(),Gs();case"u":return h(),In();case`
770
- `:case"\u2028":case"\u2029":return h(),"";case"\r":return h(),je()===`
771
- `&&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 Gs(){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 In(){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 Ys={start(){if(Q.type==="eof")throw Ze();yn()},beforePropertyName(){switch(Q.type){case"identifier":case"string":vn=Q.value,re="afterPropertyName";return;case"punctuator":Jt();return;case"eof":throw Ze()}},afterPropertyName(){if(Q.type==="eof")throw Ze();re="beforePropertyValue"},beforePropertyValue(){if(Q.type==="eof")throw Ze();yn()},beforeArrayValue(){if(Q.type==="eof")throw Ze();if(Q.type==="punctuator"&&Q.value==="]"){Jt();return}yn()},afterPropertyValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":re="beforePropertyName";return;case"}":Jt()}},afterArrayValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":re="beforeArrayValue";return;case"]":Jt()}},end(){}};function yn(){let e;switch(Q.type){case"punctuator":switch(Q.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=Q.value;break}if(It===void 0)It=e;else{let t=_e[_e.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,vn,{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 Jt(){_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 ${qe}:${xe}`:`JSON5: invalid character '${bo(e)}' at ${qe}:${xe}`)}function Ze(){return Qt(`JSON5: invalid end of input at ${qe}:${xe}`)}function wo(){return xe-=5,Qt(`JSON5: invalid identifier character at ${qe}:${xe}`)}function Hs(e){console.warn(`JSON5: '${bo(e)}' in strings is not valid ECMAScript; consider escaping`)}function bo(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=qe,t.columnNumber=xe,t}var Xs=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 g of r){let x;typeof g=="string"?x=g:(typeof g=="number"||g instanceof String||g instanceof Number)&&(x=String(g)),x!==void 0&&a.indexOf(x)<0&&a.push(x)}}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)),f("",{"":t});function f(g,x){let c=x[g];switch(c!=null&&(typeof c.toJSON5=="function"?c=c.toJSON5(g):typeof c.toJSON=="function"&&(c=c.toJSON(g))),s&&(c=s.call(x,g,c)),c instanceof Number?c=Number(c):c instanceof String?c=String(c):c instanceof Boolean&&(c=c.valueOf()),c){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof c=="string")return m(c,!1);if(typeof c=="number")return String(c);if(typeof c=="object")return Array.isArray(c)?D(c):l(c)}function m(g){let x={"'":.1,'"':.2},c={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},C="";for(let F=0;F<g.length;F++){let A=g[F];switch(A){case"'":case'"':x[A]++,C+=A;continue;case"\0":if(q.isDigit(g[F+1])){C+="\\x00";continue}}if(c[A]){C+=c[A];continue}if(A<" "){let S=A.charCodeAt(0).toString(16);C+="\\x"+("00"+S).substring(S.length);continue}C+=A}let E=p||Object.keys(x).reduce((F,A)=>x[F]<x[A]?F:A);return C=C.replace(new RegExp(E,"g"),c[E]),E+C+E}function l(g){if(o.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");o.push(g);let x=i;i=i+u;let c=a||Object.keys(g),C=[];for(let F of c){let A=f(F,g);if(A!==void 0){let S=d(F)+":";u!==""&&(S+=" "),S+=A,C.push(S)}}let E;if(C.length===0)E="{}";else{let F;if(u==="")F=C.join(","),E="{"+F+"}";else{let A=`,
764
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var qt="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(Ms(e,i.fileName)||a.startsWith(".")||a==="node_modules"||$s.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await Jt(e,o,s,i);r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var $s=new Set([]),Ks=new Set(["node_modules"]);function Ms(e,t){for(let r of Ks)if(e.dirname(t).includes(r))return!0;return!1}async function Po(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 Us(e,t,n)}return null}function Us(e,t,r){let n=b(e,r);return Jt(e,null,t,n)}async function Jt(e,t,r,n){let o=[],i={};r=e.normalize(r);let a=n.statements.filter(f=>e.ts.isClassDeclaration(f)&&Qs(e,f)),s=n.statements.find(f=>e.ts.isImportDeclaration(f)&&e.ts.isStringLiteral(f.moduleSpecifier)&&f.moduleSpecifier.text==="@angular/core");if(s&&e.ts.isImportDeclaration(s)){let f=s.importClause?.namedBindings;if(f&&e.ts.isNamedImports(f)){let m=f.elements.find(c=>(c.propertyName??c.name).text==="input");m&&(i.inputSignalImportName=m.name.text)}}let u=await qs(e,t,r,n),p=Ys(e,n);return await Promise.all(a.map(async f=>{let m=await zs(e,t,r,f,p,i);o.push(...m)})),o.push(...u),o}async function yn(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await at(e,t.cmpInfo.filePath,r),a=(await Jt(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 yo(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 Jt(e,o,a.filePath,s)).find(f=>f.cmpInfo.id===a.id);if(p){a.inputs=Ge(e,o,p.node.fnNode);let f=t.find(m=>m.cmpInfo.id===a.id);if(f){let m=await yn(e,f,n);pe(a,m)}}}}return a}))}async function zs(e,t,r,n,o,i){let a=[],s=e.relative(e.getAppRootDir(),r),u=M(e,r),p=n.name?.text;if(!p)return a;let f=!1;n.modifiers&&(f=n.modifiers.some(D=>D.kind===e.ts.SyntaxKind.DefaultKeyword));let m=f?"default":p,c=f?"default":"named",d=[];return n.members.forEach(D=>{if(e.ts.isPropertyDeclaration(D)||e.ts.isGetAccessor(D)||e.ts.isSetAccessor(D)){let l=(e.ts.getDecorators(D)??[]).find(E=>Js(e,E))!==void 0&&e.ts.isIdentifier(D.name),C=i?.inputSignalImportName!==void 0&&e.ts.isIdentifier(D.name)&&Ws(e,D,i.inputSignalImportName);if(l||C){let E="any";if(e.ts.isSetAccessor(D))E=Ao(e,D.parameters[0].type);else if(D.type&&t){let A=t.getTypeAtLocation(D.type);E=t.typeToString(A)}else E=Ao(e,D.type);let F={name:D.name.text,type:o[E]?"string":E};o[E]&&(F.enum=o[E]),d.push(F)}}}),a.push({cmpInfo:{id:await V(e,r,p),displayFilePath:O(e,r),name:K(p),inputs:d,exportName:m,exportType:c,importName:p,filePath:r,relFilePath:s,importPath:u,meta:{...Hs(e,n)},framework:"angular"},node:{name:p,fnNode:n,deps:void 0}}),a}async function qs(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=M(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 f=p,m="named",c=[];if(t){let g=t.getSymbolAtLocation(u.name);if(g){let x=t.getDeclaredTypeOfSymbol(g);t.getPropertiesOfType(x).forEach(C=>{let E=C.getDeclarations();E&&E.forEach(F=>{if(e.ts.isPropertyDeclaration(F)){let A=t.getTypeAtLocation(F),S={name:C.getName(),type:Gs(e,t,A)};c.push(S)}})})}}let d=e.ts.isExportSpecifier(u)&&u.parent?u.parent.parent:void 0,D;if(d){let g=d.moduleSpecifier;if(g&&e.ts.isStringLiteral(g)){let x=t?.getSymbolAtLocation(g);if(x&&x.declarations&&x.declarations.length>0){let l=x.declarations[0];(!e.ts.isSourceFile(l)||e.ts.isSourceFile(l)&&l.fileName.includes("node_modules"))&&(D=g.text)}}}o.push({cmpInfo:{id:await V(e,r,p,D),displayFilePath:O(e,r),name:K(p),inputs:c,exportName:f,exportType:m,importName:p,filePath:r,relFilePath:i,importPath:D||a,externalImportPath:D,framework:"angular"},node:{name:p,fnNode:u,deps:void 0}})}else if(e.ts.isExportDeclaration(s)&&!s.exportClause&&s.moduleSpecifier&&e.ts.isStringLiteral(s.moduleSpecifier)){let u=s.moduleSpecifier.text;if(t)try{let p=t.getSymbolAtLocation(s.moduleSpecifier);if(p&&p.exports){let f=t.getExportsOfModule(p);for(let m of f)if(m.flags&e.ts.SymbolFlags.Class){let c=m.getName();if(c.startsWith("_"))continue;o.push({cmpInfo:{id:await V(e,r,c,u),displayFilePath:O(e,r),name:K(c),inputs:[],exportName:c,exportType:"named",importName:c,filePath:r,relFilePath:i,importPath:u,externalImportPath:u,framework:"angular"},node:{name:c,fnNode:s,deps:void 0}})}}}catch(p){console.warn(`Error processing star export from ${u}:`,p)}}return o}function Js(e,t){return wo(e,t,"Input")}function Ws(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 wo(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 Qs(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 Ao(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 Ys(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 Gs(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 Hs(e,t){let{getDecorators:r,isCallExpression:n,isIdentifier:o,isObjectLiteralExpression:i,isPropertyAssignment:a,isStringLiteral:s,SyntaxKind:u}=e.ts,p,f;return r(t)?.forEach(c=>{if(wo(e,c,"Component")){let{expression:d}=c;if(n(d)){let[D]=d.arguments;i(D)&&D.properties.forEach(g=>{a(g)&&o(g.name)&&(g.name.escapedText==="selector"&&s(g.initializer)&&(p=g.initializer.text),g.name.escapedText==="standalone"&&(f=g.initializer.kind===u.TrueKeyword))})}}}),{selector:p,standalone:f}}async function Wt(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 Xs(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 Xs(e,t,r,n,o){let i=o,a=b(e,o),s=N(e,t,n);a=I(e,a,{namedImports:[r],importPath:s}),a=I(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 f=Zs(e,r,p);u.push(f)}else u.push(p);return a=e.ts.factory.updateSourceFile(a,u),i=j(e,a),i}function Zs(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=vo(e,i[0],"declarations",t);if(a){let s=vo(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])),f=[...n.map(m=>m===o?u:m),...e.ts.getModifiers(r)||[]];return e.ts.factory.updateClassDeclaration(r,f,r.name,r.typeParameters,r.heritageClauses,r.members)}}}}}return r}function vo(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>L(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=To(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=To(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function To(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 wn(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],f=s.exports[p];if(f.find(c=>c.path===t))return;let m=e.magicast.builders.raw("{}");if(m.path=t,m.component=e.magicast.builders.raw(r),f.push(m),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 eu=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,tu=/[\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]/,nu=/[\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]/,vn={Space_Separator:eu,ID_Start:tu,ID_Continue:nu},q={isSpaceSeparator(e){return typeof e=="string"&&vn.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||vn.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"||vn.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)}},bn,oe,Ve,Yt,qe,Se,Q,Nn,It,ru=function(t,r){bn=String(t),oe="start",Ve=[],Yt=0,qe=1,Se=0,Q=void 0,Nn=void 0,It=void 0;do Q=ou(),su[oe]();while(Q.type!=="eof");return typeof r=="function"?In({"":It},"",r):It};function In(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=In(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=In(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 T,v,bt,je,R;function ou(){for(T="default",v="",bt=!1,je=1;;){R=$e();let e=Io[T]();if(e)return e}}function $e(){if(bn[Yt])return String.fromCodePoint(bn.codePointAt(Yt))}function h(){let e=$e();return e===`
765
+ `?(qe++,Se=0):e?Se+=e.length:Se++,e&&(Yt+=e.length),e}var Io={default(){switch(R){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
766
+ `:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),T="comment";return;case void 0:return h(),U("eof")}if(q.isSpaceSeparator(R)){h();return}return Io[oe]()},comment(){switch(R){case"*":h(),T="multiLineComment";return;case"/":h(),T="singleLineComment";return}throw z(h())},multiLineComment(){switch(R){case"*":h(),T="multiLineCommentAsterisk";return;case void 0:throw z(h())}h()},multiLineCommentAsterisk(){switch(R){case"*":h();return;case"/":h(),T="default";return;case void 0:throw z(h())}h(),T="multiLineComment"},singleLineComment(){switch(R){case`
767
+ `:case"\r":case"\u2028":case"\u2029":h(),T="default";return;case void 0:return h(),U("eof")}h()},value(){switch(R){case"{":case"[":return U("punctuator",h());case"n":return h(),Xe("ull"),U("null",null);case"t":return h(),Xe("rue"),U("boolean",!0);case"f":return h(),Xe("alse"),U("boolean",!1);case"-":case"+":h()==="-"&&(je=-1),T="sign";return;case".":v=h(),T="decimalPointLeading";return;case"0":v=h(),T="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":v=h(),T="decimalInteger";return;case"I":return h(),Xe("nfinity"),U("numeric",1/0);case"N":return h(),Xe("aN"),U("numeric",NaN);case'"':case"'":bt=h()==='"',v="",T="string";return}throw z(h())},identifierNameStartEscape(){if(R!=="u")throw z(h());h();let e=Rn();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw bo();break}v+=e,T="identifierName"},identifierName(){switch(R){case"$":case"_":case"\u200C":case"\u200D":v+=h();return;case"\\":h(),T="identifierNameEscape";return}if(q.isIdContinueChar(R)){v+=h();return}return U("identifier",v)},identifierNameEscape(){if(R!=="u")throw z(h());h();let e=Rn();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!q.isIdContinueChar(e))throw bo();break}v+=e,T="identifierName"},sign(){switch(R){case".":v=h(),T="decimalPointLeading";return;case"0":v=h(),T="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":v=h(),T="decimalInteger";return;case"I":return h(),Xe("nfinity"),U("numeric",je*(1/0));case"N":return h(),Xe("aN"),U("numeric",NaN)}throw z(h())},zero(){switch(R){case".":v+=h(),T="decimalPoint";return;case"e":case"E":v+=h(),T="decimalExponent";return;case"x":case"X":v+=h(),T="hexadecimal";return}return U("numeric",je*0)},decimalInteger(){switch(R){case".":v+=h(),T="decimalPoint";return;case"e":case"E":v+=h(),T="decimalExponent";return}if(q.isDigit(R)){v+=h();return}return U("numeric",je*Number(v))},decimalPointLeading(){if(q.isDigit(R)){v+=h(),T="decimalFraction";return}throw z(h())},decimalPoint(){switch(R){case"e":case"E":v+=h(),T="decimalExponent";return}if(q.isDigit(R)){v+=h(),T="decimalFraction";return}return U("numeric",je*Number(v))},decimalFraction(){switch(R){case"e":case"E":v+=h(),T="decimalExponent";return}if(q.isDigit(R)){v+=h();return}return U("numeric",je*Number(v))},decimalExponent(){switch(R){case"+":case"-":v+=h(),T="decimalExponentSign";return}if(q.isDigit(R)){v+=h(),T="decimalExponentInteger";return}throw z(h())},decimalExponentSign(){if(q.isDigit(R)){v+=h(),T="decimalExponentInteger";return}throw z(h())},decimalExponentInteger(){if(q.isDigit(R)){v+=h();return}return U("numeric",je*Number(v))},hexadecimal(){if(q.isHexDigit(R)){v+=h(),T="hexadecimalInteger";return}throw z(h())},hexadecimalInteger(){if(q.isHexDigit(R)){v+=h();return}return U("numeric",je*Number(v))},string(){switch(R){case"\\":h(),v+=iu();return;case'"':if(bt)return h(),U("string",v);v+=h();return;case"'":if(!bt)return h(),U("string",v);v+=h();return;case`
768
+ `:case"\r":throw z(h());case"\u2028":case"\u2029":uu(R);break;case void 0:throw z(h())}v+=h()},start(){switch(R){case"{":case"[":return U("punctuator",h())}T="value"},beforePropertyName(){switch(R){case"$":case"_":v=h(),T="identifierName";return;case"\\":h(),T="identifierNameStartEscape";return;case"}":return U("punctuator",h());case'"':case"'":bt=h()==='"',T="string";return}if(q.isIdStartChar(R)){v+=h(),T="identifierName";return}throw z(h())},afterPropertyName(){if(R===":")return U("punctuator",h());throw z(h())},beforePropertyValue(){T="value"},afterPropertyValue(){switch(R){case",":case"}":return U("punctuator",h())}throw z(h())},beforeArrayValue(){if(R==="]")return U("punctuator",h());T="value"},afterArrayValue(){switch(R){case",":case"]":return U("punctuator",h())}throw z(h())},end(){throw z(h())}};function U(e,t){return{type:e,value:t,line:qe,column:Se}}function Xe(e){for(let t of e){if($e()!==t)throw z(h());h()}}function iu(){switch($e()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
769
+ `;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),q.isDigit($e()))throw z(h());return"\0";case"x":return h(),au();case"u":return h(),Rn();case`
770
+ `:case"\u2028":case"\u2029":return h(),"";case"\r":return h(),$e()===`
771
+ `&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw z(h());case void 0:throw z(h())}return h()}function au(){let e="",t=$e();if(!q.isHexDigit(t)||(e+=h(),t=$e(),!q.isHexDigit(t)))throw z(h());return e+=h(),String.fromCodePoint(parseInt(e,16))}function Rn(){let e="",t=4;for(;t-- >0;){let r=$e();if(!q.isHexDigit(r))throw z(h());e+=h()}return String.fromCodePoint(parseInt(e,16))}var su={start(){if(Q.type==="eof")throw Ze();Tn()},beforePropertyName(){switch(Q.type){case"identifier":case"string":Nn=Q.value,oe="afterPropertyName";return;case"punctuator":Qt();return;case"eof":throw Ze()}},afterPropertyName(){if(Q.type==="eof")throw Ze();oe="beforePropertyValue"},beforePropertyValue(){if(Q.type==="eof")throw Ze();Tn()},beforeArrayValue(){if(Q.type==="eof")throw Ze();if(Q.type==="punctuator"&&Q.value==="]"){Qt();return}Tn()},afterPropertyValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":oe="beforePropertyName";return;case"}":Qt()}},afterArrayValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":oe="beforeArrayValue";return;case"]":Qt()}},end(){}};function Tn(){let e;switch(Q.type){case"punctuator":switch(Q.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=Q.value;break}if(It===void 0)It=e;else{let t=Ve[Ve.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,Nn,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")Ve.push(e),Array.isArray(e)?oe="beforeArrayValue":oe="beforePropertyName";else{let t=Ve[Ve.length-1];t==null?oe="end":Array.isArray(t)?oe="afterArrayValue":oe="afterPropertyValue"}}function Qt(){Ve.pop();let e=Ve[Ve.length-1];e==null?oe="end":Array.isArray(e)?oe="afterArrayValue":oe="afterPropertyValue"}function z(e){return Gt(e===void 0?`JSON5: invalid end of input at ${qe}:${Se}`:`JSON5: invalid character '${Ro(e)}' at ${qe}:${Se}`)}function Ze(){return Gt(`JSON5: invalid end of input at ${qe}:${Se}`)}function bo(){return Se-=5,Gt(`JSON5: invalid identifier character at ${qe}:${Se}`)}function uu(e){console.warn(`JSON5: '${Ro(e)}' in strings is not valid ECMAScript; consider escaping`)}function Ro(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 Gt(e){let t=new SyntaxError(e);return t.lineNumber=qe,t.columnNumber=Se,t}var pu=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 g of r){let x;typeof g=="string"?x=g:(typeof g=="number"||g instanceof String||g instanceof Number)&&(x=String(g)),x!==void 0&&a.indexOf(x)<0&&a.push(x)}}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)),f("",{"":t});function f(g,x){let l=x[g];switch(l!=null&&(typeof l.toJSON5=="function"?l=l.toJSON5(g):typeof l.toJSON=="function"&&(l=l.toJSON(g))),s&&(l=s.call(x,g,l)),l instanceof Number?l=Number(l):l instanceof String?l=String(l):l instanceof Boolean&&(l=l.valueOf()),l){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof l=="string")return m(l,!1);if(typeof l=="number")return String(l);if(typeof l=="object")return Array.isArray(l)?D(l):c(l)}function m(g){let x={"'":.1,'"':.2},l={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},C="";for(let F=0;F<g.length;F++){let A=g[F];switch(A){case"'":case'"':x[A]++,C+=A;continue;case"\0":if(q.isDigit(g[F+1])){C+="\\x00";continue}}if(l[A]){C+=l[A];continue}if(A<" "){let S=A.charCodeAt(0).toString(16);C+="\\x"+("00"+S).substring(S.length);continue}C+=A}let E=p||Object.keys(x).reduce((F,A)=>x[F]<x[A]?F:A);return C=C.replace(new RegExp(E,"g"),l[E]),E+C+E}function c(g){if(o.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");o.push(g);let x=i;i=i+u;let l=a||Object.keys(g),C=[];for(let F of l){let A=f(F,g);if(A!==void 0){let S=d(F)+":";u!==""&&(S+=" "),S+=A,C.push(S)}}let E;if(C.length===0)E="{}";else{let F;if(u==="")F=C.join(","),E="{"+F+"}";else{let A=`,
772
772
  `+i;F=C.join(A),E=`{
773
773
  `+i+F+`,
774
- `+x+"}"}}return o.pop(),i=x,E}function d(g){if(g.length===0)return m(g,!0);let x=String.fromCodePoint(g.codePointAt(0));if(!q.isIdStartChar(x))return m(g,!0);for(let c=x.length;c<g.length;c++)if(!q.isIdContinueChar(String.fromCodePoint(g.codePointAt(c))))return m(g,!0);return g}function D(g){if(o.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");o.push(g);let x=i;i=i+u;let c=[];for(let E=0;E<g.length;E++){let F=f(String(E),g);c.push(F!==void 0?F:"null")}let C;if(c.length===0)C="[]";else if(u==="")C="["+c.join(",")+"]";else{let E=`,
775
- `+i,F=c.join(E);C=`[
774
+ `+x+"}"}}return o.pop(),i=x,E}function d(g){if(g.length===0)return m(g,!0);let x=String.fromCodePoint(g.codePointAt(0));if(!q.isIdStartChar(x))return m(g,!0);for(let l=x.length;l<g.length;l++)if(!q.isIdContinueChar(String.fromCodePoint(g.codePointAt(l))))return m(g,!0);return g}function D(g){if(o.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");o.push(g);let x=i;i=i+u;let l=[];for(let E=0;E<g.length;E++){let F=f(String(E),g);l.push(F!==void 0?F:"null")}let C;if(l.length===0)C="[]";else if(u==="")C="["+l.join(",")+"]";else{let E=`,
775
+ `+i,F=l.join(E);C=`[
776
776
  `+i+F+`,
777
- `+x+"]"}return o.pop(),i=x,C}},Zs={parse:Js,stringify:Xs},eu=Zs,To=eu;async function Io(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let r=await e.readFile(t);if(!r)return;let n=To.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 vo(e){let t=[],r=await ru(e,t);t.push(...await Gt(e)),await tu(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,No(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 qt(e,"Counter",r);let o=await qt(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return await Pn(e,"**",n,"./components/builder-page.component"),t}async function Ro(e){let t=[];t.push(...await Gt(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,No(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 qt(e,r,o);i&&t.push({filePath:i,modifiedType:"update"})}return await Pn(e,"figma-imports",r,`./components/${n}`),await Io(e),t}async function Gt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,nu(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function tu(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 No(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),f=i?` <ng-container *ngIf="content || isPreviewing; else notFound">
777
+ `+x+"]"}return o.pop(),i=x,C}},cu={parse:ru,stringify:pu},lu=cu,No=lu;async function Bo(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let r=await e.readFile(t);if(!r)return;let n=No.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 Oo(e){let t=[],r=await du(e,t);t.push(...await Ht(e)),await mu(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,Lo(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 Wt(e,"Counter",r);let o=await Wt(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return await wn(e,"**",n,"./components/builder-page.component"),t}async function ko(e){let t=[];t.push(...await Ht(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,Lo(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 Wt(e,r,o);i&&t.push({filePath:i,modifiedType:"update"})}return await wn(e,"figma-imports",r,`./components/${n}`),await Bo(e),t}async function Ht(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,fu(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function mu(e,t){let n=(await ke(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await ke(e,n.id,!0,!1,null,null,!0,!1)}function Lo(e,t,r,n,o,i){let a=!e.hasAppModule,s=N(e,r,e.registryPath),u=e.join(e.getAppRootDir(),"src","environments","environment.ts"),p=N(e,r,u),f=i?` <ng-container *ngIf="content || isPreviewing; else notFound">
778
778
  <builder-content
779
779
  [model]="model"
780
780
  [content]="content"
@@ -812,7 +812,7 @@ export class ${t} {
812
812
  `:""}
813
813
  @Input() model = '${o}';
814
814
 
815
- apiKey = environment.${zt};
815
+ apiKey = environment.${qt};
816
816
  ${e.typescriptEnabled?`
817
817
  content: BuilderContent | null = null;
818
818
  `:`
@@ -840,12 +840,12 @@ export class ${t} {
840
840
  }
841
841
  }
842
842
 
843
- `.trimStart()}function nu(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
843
+ `.trimStart()}function fu(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
844
844
 
845
845
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
846
846
  ];`:`export const CUSTOM_COMPONENTS = [
847
847
  ];
848
- `}async function ru(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=ou(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function ou(e){return`
848
+ `}async function du(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=gu(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function gu(e){return`
849
849
  import { Component, Input } from '@angular/core';
850
850
 
851
851
  @Component({
@@ -913,7 +913,113 @@ export class Counter {
913
913
  }
914
914
  }
915
915
 
916
- `.trimStart()}async function Bo(e){await Gt(e);let t=await e.readFile(e.registryPath);return t?iu(e,t):{components:[],sourceFile:I(e,"")}}async function iu(e,t){let r=I(e,t);return au(e,r)}async function au(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 Rn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function Rn(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(L(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=M(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 Eo(e,u.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let f=p.find(m=>m.cmpInfo.exportName===a);f&&(n.exportName=f.cmpInfo.exportName)}}continue}}return n=ie(e,n,r),n.filePath&&n.exportName&&(n.id=await V(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,f,m]=await Promise.all([ho(e,u),Bo(e),bt(e)]),l=p.map(C=>C.cmpInfo),d=f.components,D={components:De(l,d),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(l),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await So(e,p,D.components),D;let g=!1,x=f.sourceFile,c=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(c.length>0){let C=c.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(C.map(A=>A.cmpInfo.filePath))),F=await Y(e,E);for(let A of C){let S=D.components.find(_=>_.id===A.cmpInfo.id),N=await Fn(e,A,F);ue(S,N);let $=l.findIndex(_=>_.id===A.cmpInfo.id);l[$].inputs=N;let k=Te(A.cmpInfo.id,l,d,r,n,o,i),{elements:P,elmIndex:w,statementIndex:ee,statement:de,variableDeclaration:G}=await uu(e,x,A);if(k.addCmpToRegistry)P.push(su(e,k.addCmpToRegistry)),g=!0;else if(k.removeCmpFromRegistry)P.splice(w,1),g=!0;else if(k.updateRegisteredCmp){let _=W(e,P[w],k.updateRegisteredCmp);P[w]=e.ts.factory.updateObjectLiteralExpression(_,[Oo(e,k.updateRegisteredCmp),..._.properties.slice(1)]),g=!0}if(g&&a){let _=[...x.statements];_[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(G,G.name,G.exclamationToken,G.type,e.ts.factory.createArrayLiteralExpression(ye(e,P)))])),x=e.ts.factory.updateSourceFile(x,_),S.exportType==="named"?x=v(e,x,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)}):x=v(e,x,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:B(e,e.registryPath,S.filePath)}),x=v(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),x=Ie(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=k.components,d=k.components.filter(te=>te.isRegistered)}}}if(g&&a){x=be(e,x),x=we(e,x);let C=j(e,x);C=me(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return D}function Oo(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function su(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([Oo(e,t)],!0),t)}async function uu(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 Rn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function ko(e){let t=await pu(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>vo(t),ensureFigmaImportPage:()=>Ro(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Be(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:async n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Be(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Be(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Be(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Be(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Be(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>bt(t),setPublicApiKey:n=>xo(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function pu(e){let t=await lu(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i=e.join(n,"app"),a=await pe(e,i),s={},u={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:a,angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:"",hasAppModule:!1,addExternalPackage:m=>{s[e.join(r,m,"index.ts")]=`export * from "${m}";`},readFileSync:m=>s[m]??e.readFileSync(m),existsSync:m=>!!s[m]||e.existsSync(m),readdirSync:m=>{let l=e.readdirSync(m);return m===r?[...l,...Object.keys(s).map(d=>d.slice(r.length+1))]:l},readdir:async m=>{let l=await e.readdir(m);return m===r?[...l,...Object.keys(s).map(d=>d.slice(r.length+1))]:l}};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);u.srcDir=n,u.appDir=i,u.componentsDir=e.join(u.appDir,"components"),u.builderPageComponentPath=e.join(u.componentsDir,`builder-page.component.${o?"ts":"js"}`);let p=`app.module.${o?"ts":"js"}`,f=e.join(u.appDir,p);return await e.exists(f)&&(u.hasAppModule=!0),u}async function lu(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 Zt=Hn(Qo(),1);async function Go(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,Zt.compress)(n);return btoa(JSON.stringify(o))}async function Yo(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,Zt.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(m=>ge(m.filePath).endsWith(u)&&m.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 m of s.inputs)e.debug(`set input (${p.id})`),await t.setRegisteredComponentInput({cmpId:p.id,name:m.name,type:m.type,required:m.required,defaultValue:m.defaultValue,friendlyName:m.friendlyName,helperText:m.helperText});e.debug(`set input (${p.id}) info`);let f=await t.setRegisteredComponentInfo({cmpId:p.id,name:s.name,image:s.image,description:s.description});a=se(f)}return a}var Ce={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},vd={[Ce.react]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[Ce.remix]:[{version:y.gen1,recommended:!1},{version:y.gen2,recommended:!0}],[Ce.angular]:[{version:y.gen2,recommended:!0}],[Ce.next]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[Ce.qwik]:[{version:y.gen2,recommended:!0}]};async function Ho(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 f={name:p.name,subPackages:[]},m=await e.readdir(i);for(let l of m)l!=="node_modules"&&(await e.stat(e.join(i,l))).isDirectory()&&f.subPackages.push(l);return r.push(f),f}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 f of Object.keys(p)){let m=e.join(t,"node_modules",f);await o(m)}if(Array.isArray(u.workspaces))for(let f of u.workspaces){let m=await e.readdir(e.join(t,f));for(let l of m){let d=e.join(t,f,l);await o(d)}}}}}catch(i){e.Sentry?.captureException(i,{level:"warning"})}return r}var Ou={"@builder.io/qwik-city":Xr,next:Kr,"@remix-run/react":ao,react:Do,"@angular/core":ko},ku={"@builder.io/qwik-city":Ce.qwik,next:Ce.next,"@remix-run/react":Ce.remix,react:Ce.react,"@angular/core":Ce.angular};async function Xo(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 $e(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let r=Ou[t.name];if(r)try{let n=await r(e);return{...n,exportRegistry:()=>Go(e,n),importRegistry:i=>Yo(e,n,i),framework:ku[t.name],findAllDependencies:async()=>await Ho(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 Zo(e){function t(m){if(typeof m!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(m))}function r(m,l){let d="",D=0,g=-1,x=0,c;for(let C=0;C<=m.length;++C){if(C<m.length)c=m.charCodeAt(C);else{if(c===47)break;c=47}if(c===47){if(!(g===C-1||x===1))if(g!==C-1&&x===2){if(d.length<2||D!==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="",D=0):(d=d.slice(0,E),D=d.length-1-d.lastIndexOf("/")),g=C,x=0;continue}}else if(d.length===2||d.length===1){d="",D=0,g=C,x=0;continue}}l&&(d.length>0?d+="/..":d="..",D=2)}else d.length>0?d+="/"+m.slice(g+1,C):d=m.slice(g+1,C),D=C-g-1;g=C,x=0}else c===46&&x!==-1?++x:x=-1}return d}let n=function(...l){let d="",D=!1;for(let g=l.length-1;g>=-1&&!D;g--){let x;g>=0?x=l[g]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(d=x+"/"+d,D=x.charCodeAt(0)===47)}return d=r(d,!D),D?d.length>0?"/"+d:"/":d.length>0?d:"."},o=function(l){if(t(l),l.length===0)return".";let d=l.charCodeAt(0)===47,D=l.charCodeAt(l.length-1)===47;return l=r(l,!d),l.length===0&&!d&&(l="."),l.length>0&&D&&(l+="/"),d?"/"+l:l};return{relative:function(l,d){if(t(l),t(d),l===d||(l=n(l),d=n(d),l===d))return"";let D=1;for(;D<l.length&&l.charCodeAt(D)===47;++D);let g=l.length,x=g-D,c=1;for(;c<d.length&&d.charCodeAt(c)===47;++c);let E=d.length-c,F=x<E?x:E,A=-1,S=0;for(;S<=F;++S){if(S===F){if(E>F){if(d.charCodeAt(c+S)===47)return d.slice(c+S+1);if(S===0)return d.slice(c+S)}else x>F&&(l.charCodeAt(D+S)===47?A=S:S===0&&(A=0));break}let $=l.charCodeAt(D+S),k=d.charCodeAt(c+S);if($!==k)break;$===47&&(A=S)}let N="";for(S=D+A+1;S<=g;++S)(S===g||l.charCodeAt(S)===47)&&(N.length===0?N+="..":N+="/..");return N.length>0?N+d.slice(c+A):(c+=A,d.charCodeAt(c)===47&&++c,d.slice(c))},resolve:n,join:function(...l){if(l.length===0)return".";let d;for(let D=0;D<l.length;++D){let g=l[D];t(g),g.length>0&&(d===void 0?d=g:d+="/"+g)}return d===void 0?".":o(d)},isAbsolute:function(l){return t(l),l.length>0&&l.charCodeAt(0)===47},basename:function(l,d){if(d!==void 0&&typeof d!="string")throw new TypeError('"ext" argument must be a string');t(l);let D=0,g=-1,x=!0,c;if(d!==void 0&&d.length>0&&d.length<=l.length){if(d.length===l.length&&d===l)return"";let C=d.length-1,E=-1;for(c=l.length-1;c>=0;--c){let F=l.charCodeAt(c);if(F===47){if(!x){D=c+1;break}}else E===-1&&(x=!1,E=c+1),C>=0&&(F===d.charCodeAt(C)?--C===-1&&(g=c):(C=-1,g=E))}return D===g?g=E:g===-1&&(g=l.length),l.slice(D,g)}else{for(c=l.length-1;c>=0;--c)if(l.charCodeAt(c)===47){if(!x){D=c+1;break}}else g===-1&&(x=!1,g=c+1);return g===-1?"":l.slice(D,g)}},normalize:o,dirname:function(l){if(t(l),l.length===0)return".";let d=l.charCodeAt(0),D=d===47,g=-1,x=!0;for(let c=l.length-1;c>=1;--c)if(d=l.charCodeAt(c),d===47){if(!x){g=c;break}}else x=!1;return g===-1?D?"/":".":D&&g===1?"//":l.slice(0,g)},extname:function(l){t(l);let d=-1,D=0,g=-1,x=!0,c=0;for(let C=l.length-1;C>=0;--C){let E=l.charCodeAt(C);if(E===47){if(!x){D=C+1;break}continue}g===-1&&(x=!1,g=C+1),E===46?d===-1?d=C:c!==1&&(c=1):d!==-1&&(c=-1)}return d===-1||g===-1||c===0||c===1&&d===g-1&&d===D+1?"":l.slice(d,g)}}}async function ei(e){let t=e.getRepoRootDir?e.getRepoRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Zo({cwd:r,...e}),o=new Map,i=c=>n.normalize(n.resolve(r(),c)),a=c=>{for(let[C]of o)if((C+"/").startsWith(c))return!0;return c===t()},s=c=>(c=i(c),o.has(c)?!0:a(c)),u=c=>{c=i(c);let C=c===t()?c:c+"/",E=C.split("/").length-1,F=[];for(let[A]of o)if(A.split("/").slice(0,E).join("/")+"/"===C){let $=A.split("/")[E];$&&!F.includes($)&&F.push($)}return F.sort()},p=async(c,C=[])=>{c=i(c);let E=c===t()?c:c+"/",F=[],A=new Set(C);for(let[S]of o)S.startsWith(E)&&(S.slice(E.length).split("/").some(k=>A.has(k))||F.push(S));return F.sort()},f=c=>{c=i(c);let C=o.get(c);return typeof C=="string"?C:null},m=c=>{c=i(c);let C=o.get(c);return typeof C=="string"?new TextEncoder().encode(C):C instanceof Uint8Array?C:null},l=c=>(c=i(c),{isFile:()=>o.has(c),isDirectory:()=>!o.has(c)&&a(c),size:a(c)?0:o.get(c)?.length??0}),d=async c=>{if(typeof crypto<"u"){let F=new TextEncoder().encode(c),A=await crypto.subtle.digest("SHA-256",F);return Array.from(new Uint8Array(A)).map(S=>S.toString(16).padStart(2,"0")).join("")}let C=0;for(let E=0;E<c.length;E++){let F=c.charCodeAt(E);C=(C<<5)-C+F,C|=0}return Number(Math.abs(C)).toString(36)},D=new Set,g={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=>f(c),readFileSync:f,readFileSyncBuffer:c=>m(c),stat:async c=>l(c),statSync:l,writeFile:async(c,C)=>{c=i(c),o.set(c,C);let E={path:c,basename:n.basename(c),dirname:n.dirname(c),extname:n.extname(c)};for(let F of D)await F(E)},unlink:async c=>{c=i(c),o.delete(c)},unlinkSync:c=>{c=i(c),o.delete(c)},hash:d,getDeviceId:async()=>typeof navigator<"u"?d(navigator.userAgent):"",getRepoInfo:async()=>({hasGit:!1,remoteUrl:"",defaultBranch:"",currentBranch:"",commit:""}),formatCode:async(c,C)=>C,on:(c,C)=>{c==="change"&&D.add(C)},off:(c,C)=>{c==="change"&&D.delete(C)},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},x=await $e(g);return g.getFrameworks=e.getFrameworks?e.getFrameworks:()=>x,g}async function ti(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(await ar(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(ni(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 m=u[0];if(!m.isDefaultExport)throw new Error("Expected a default export from file");let l=m.statement;if(!e.ts.isVariableStatement(l))throw new Error(`Unexpected export type in ${t}
916
+ `.trimStart()}async function _o(e){await Ht(e);let t=await e.readFile(e.registryPath);return t?Du(e,t):{components:[],sourceFile:b(e,"")}}async function Du(e,t){let r=b(e,t);return xu(e,r)}async function xu(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 Bn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:ae(r)}}async function Bn(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(L(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 we(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=M(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 Po(e,u.filePath);if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let f=p.find(m=>m.cmpInfo.exportName===a);f&&(n.exportName=f.cmpInfo.exportName)}}continue}}return n=se(e,n,r),n.filePath&&n.exportName&&(n.id=await V(e,n.filePath,n.exportName,n.externalImportPath)),n}async function ke(e,t,r,n,o,i,a,s){let u=await ze(e),[p,f,m]=await Promise.all([Fo(e,u),_o(e),Tt(e)]),c=p.map(C=>C.cmpInfo),d=f.components,D={components:Ee(c,d),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ge(c),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await yo(e,p,D.components),D;let g=!1,x=f.sourceFile,l=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(l.length>0){let C=l.map(A=>{let S=p.find(B=>B.cmpInfo.id===A);if(!S)throw new Error(`Component ${A} not found`);return S}),E=Array.from(new Set(C.map(A=>A.cmpInfo.filePath))),F=await G(e,E);for(let A of C){let S=D.components.find(_=>_.id===A.cmpInfo.id),B=await yn(e,A,F);pe(S,B);let $=c.findIndex(_=>_.id===A.cmpInfo.id);c[$].inputs=B;let k=Ie(A.cmpInfo.id,c,d,r,n,o,i),{elements:P,elmIndex:w,statementIndex:ee,statement:Ce,variableDeclaration:Y}=await hu(e,x,A);if(k.addCmpToRegistry)P.push(Cu(e,k.addCmpToRegistry)),g=!0;else if(k.removeCmpFromRegistry)P.splice(w,1),g=!0;else if(k.updateRegisteredCmp){let _=W(e,P[w],k.updateRegisteredCmp);P[w]=e.ts.factory.updateObjectLiteralExpression(_,[jo(e,k.updateRegisteredCmp),..._.properties.slice(1)]),g=!0}if(g&&a){let _=[...x.statements];_[ee]=e.ts.factory.updateVariableStatement(Ce,Ce.modifiers,e.ts.factory.updateVariableDeclarationList(Ce.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(Te(e,P)))])),x=e.ts.factory.updateSourceFile(x,_),S.exportType==="named"?x=I(e,x,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:N(e,e.registryPath,S.filePath)}):x=I(e,x,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:N(e,e.registryPath,S.filePath)}),x=I(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),x=Re(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=k.components,d=k.components.filter(te=>te.isRegistered)}}}if(g&&a){x=be(e,x),x=ve(e,x);let C=j(e,x);C=De(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return D}function jo(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Cu(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([jo(e,t)],!0),t)}async function hu(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 Bn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Vo(e){let t=await Eu(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>Oo(t),ensureFigmaImportPage:()=>ko(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>ke(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:async n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await ke(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>ke(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>ke(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>ke(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>ke(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Tt(t),setPublicApiKey:n=>So(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>me(t),setCache:n=>fe(t,n)}}async function Eu(e){let t=await Su(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ne(e),i=e.join(n,"app"),a=await ie(e,i),s={},u={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:a,angularConfigPath:t,typescriptEnabled:o,builderPageComponentPath:"",hasAppModule:!1,addExternalPackage:m=>{s[e.join(r,m,"index.ts")]=`export * from "${m}";`},readFileSync:m=>s[m]??e.readFileSync(m),existsSync:m=>!!s[m]||e.existsSync(m),readdirSync:m=>{let c=e.readdirSync(m);return m===r?[...c,...Object.keys(s).map(d=>d.slice(r.length+1))]:c},readdir:async m=>{let c=await e.readdir(m);return m===r?[...c,...Object.keys(s).map(d=>d.slice(r.length+1))]:c}};if(!await e.exists(n))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);u.srcDir=n,u.appDir=i,u.componentsDir=e.join(u.appDir,"components"),u.builderPageComponentPath=e.join(u.componentsDir,`builder-page.component.${o?"ts":"js"}`);let p=`app.module.${o?"ts":"js"}`,f=e.join(u.appDir,p);return await e.exists(f)&&(u.hasAppModule=!0),u}async function Su(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()}".`)}async function Rt(e){let t=e.configType==="vite"?Au:Fu;return await Fe(e,[".env"],t)}async function $o(e,t){let r=await Rt(e),n=await Pe(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Au="VITE_PUBLIC_BUILDER_KEY",Fu="PUBLIC_BUILDER_KEY";async function Mo(e,t,r){try{let n=await e.readFile(t);if(!n)return null;let o=e.relative(e.getAppRootDir(),t),i=t.split("/").pop()?.replace(".vue","")||"UnknownComponent",a=vu(i),s=yu(n,r),u=Pu(n);return{id:Tu(t),name:a,filePath:o,relFilePath:o,inputs:s,framework:"vue",exportType:"default",exportName:"default",importName:a,importPath:o,vueApiType:u}}catch(n){return console.warn(`Failed to parse Vue component ${t}:`,n),null}}function Pu(e){return/<script[^>]*\s+setup[^>]*>/.test(e)?"composition-setup":/import\s+\{[^}]*\b(ref|reactive|computed|watch|onMounted|defineComponent)\b[^}]*\}\s+from\s+['"]vue['"]/.test(e)||/setup\s*\([^)]*\)\s*\{/.test(e)?"composition":"options"}function yu(e,t){if(!t)return[];let r=[],n=[/defineProps<\s*\{([^}]+)\}\s*>\s*\(\s*\)/g,/defineProps\s*\(\s*\{([^}]+)\}\s*\)/g,/defineProps\s*\(\s*\[([^\]]+)\]\s*\)/g];for(let u of n){let p;for(;(p=u.exec(e))!==null;){let f=p[1];f.includes(":")?r.push(...On(f)):r.push(...Ko(f))}}let o=/props\s*:\s*(\{[^}]+\}|\[[^\]]+\])/g,i;for(;(i=o.exec(e))!==null;){let u=i[1];if(u.startsWith("{")){let p=u.slice(1,-1);r.push(...On(p))}else{let p=u.slice(1,-1);r.push(...Ko(p))}}let a=/setup\s*\(\s*props\s*(?::\s*\{([^}]+)\})?\s*[,)]?/g,s;for(;(s=a.exec(e))!==null;)s[1]&&r.push(...On(s[1]));return wu(r)}function On(e){let t=[],r=/(\w+)\s*:\s*([^,;]+)/g,n;for(;(n=r.exec(e))!==null;){let[,a,s]=n;t.push({name:a.trim(),type:kn(s.trim()),required:!s.includes("?")&&!s.includes("undefined")})}let o=/(\w+)\s*:\s*\{([^}]+)\}/g;for(;(n=o.exec(e))!==null;){let[,a,s]=n,u=s.match(/type\s*:\s*(\w+)/),p=s.match(/required\s*:\s*(true|false)/),f=s.match(/default\s*:\s*([^,}]+)/);t.push({name:a.trim(),type:u?kn(u[1]):"any",required:p?p[1]==="true":!1,defaultValue:f?f[1].trim():void 0})}let i=/(\w+)\s*:\s*(\w+)(?=\s*[,}])/g;for(;(n=i.exec(e))!==null;){let[,a,s]=n;t.some(u=>u.name===a.trim())||t.push({name:a.trim(),type:kn(s.trim()),required:!1})}return t}function Ko(e){let t=[],r=e.split(",").map(n=>n.trim().replace(/['"]/g,"")).filter(n=>n.length>0);for(let n of r)t.push({name:n,type:"any",required:!1});return t}function kn(e){let t={String:"string",Number:"number",Boolean:"boolean",Array:"any[]",Object:"object",Function:"function",Date:"Date",Symbol:"symbol",string:"string",number:"number",boolean:"boolean",object:"object",function:"function"},r=e.replace(/\s*\|\s*undefined/g,"").replace(/\?$/,"");return t[r]||r||"any"}function wu(e){let t=new Set;return e.filter(r=>t.has(r.name)?!1:(t.add(r.name),!0))}function vu(e){return e.replace(/[-_\s]+(.)?/g,(t,r)=>r?r.toUpperCase():"").replace(/^(.)/,(t,r)=>r?r.toUpperCase():"")}function Tu(e){return e.replace(/[^a-zA-Z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").toLowerCase()}async function et(e,t){let r=await bu(e,t.readAllInputTypes),n=await Rt(e);return{components:r,registryPath:e.registryPath,registryDisplayPath:e.relative(e.getAppRootDir(),e.registryPath),frameworks:e.getFrameworks(),dependencies:ge(r),publicApiKey:n.envValue??void 0,devToolsVersion:e.version}}async function bu(e,t){let r=[],n=await Iu(e,e.getAppRootDir());for(let o of n){let i=await Mo(e,o,t);i&&r.push(i)}return r}async function Iu(e,t){let r=[],n=async i=>{try{let a=await e.readdir(i);for(let s of a){let u=e.join(i,s);(await e.stat(u)).isDirectory()?!s.startsWith(".")&&s!=="node_modules"&&s!=="dist"&&s!=="build"&&s!==".nuxt"&&s!==".output"&&await n(u):s.endsWith(".vue")&&r.push(u)}}catch{}};await n(t);let o=["components","pages","layouts"];for(let i of o){let a=e.join(t,i);try{(await e.stat(a)).isDirectory()&&await n(a)}catch{}}return r}async function Uo(e){let t={errors:[]};try{await qo(e)}catch(r){t.errors.push(r instanceof Error?r.message:String(r))}return t}async function zo(e){let t=[];t.push(...await qo(e));let n=e.join(e.componentsDir,"FigmaImports.vue");if(!await e.exists(n)){let o=await e.formatCode(n,Ru(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}async function qo(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Bu(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Ru(e,t,r="page"){let n=N(e,t,e.registryPath),o=e.typescriptEnabled;return e.isNuxt?`<template>
917
+ <div>
918
+ <div v-if="pending">Loading...</div>
919
+ <div v-else-if="error">Error loading content</div>
920
+ <div v-else-if="!data && !$preview">404 - Content not found</div>
921
+ <Content
922
+ v-else
923
+ :model="model"
924
+ :content="data"
925
+ :api-key="apiKey"
926
+ :custom-components="customComponents"
927
+ />
928
+ </div>
929
+ </template>
930
+
931
+ <script${o?' lang="ts"':""} setup>
932
+ import { Content } from '@builder.io/sdk-vue'
933
+ import { CUSTOM_COMPONENTS } from '${n}'
934
+
935
+ const model = '${r}'
936
+ const apiKey = useRuntimeConfig().public.builderApiKey
937
+
938
+ const customComponents = CUSTOM_COMPONENTS
939
+
940
+ const { data, pending, error } = await useFetch(\`https://cdn.builder.io/api/v3/content/\${model}\`, {
941
+ query: {
942
+ apiKey,
943
+ 'userAttributes.urlPath': useRoute().path,
944
+ }
945
+ })
946
+ </script>`:`<template>
947
+ <div>
948
+ <div v-if="loading">Loading...</div>
949
+ <div v-else-if="!content && !isPreviewing">404 - Content not found</div>
950
+ <Content
951
+ v-else
952
+ :model="model"
953
+ :content="content"
954
+ :api-key="apiKey"
955
+ :custom-components="customComponents"
956
+ />
957
+ </div>
958
+ </template>
959
+
960
+ <script${o?' lang="ts"':""}>
961
+ import { defineComponent, ref, onMounted } from 'vue'
962
+ import { Content, fetchOneEntry, isPreviewing } from '@builder.io/sdk-vue'
963
+ import { CUSTOM_COMPONENTS } from '${n}'
964
+
965
+ export default defineComponent({
966
+ name: 'FigmaImports',
967
+ components: {
968
+ Content
969
+ },
970
+ setup() {
971
+ const model = '${r}'
972
+ const apiKey = ${Nu(e)}
973
+ const content = ref${o?"<any>":""}(null)
974
+ const loading = ref(true)
975
+ const customComponents = CUSTOM_COMPONENTS
976
+
977
+ onMounted(async () => {
978
+ try {
979
+ const builderContent = await fetchOneEntry({
980
+ model,
981
+ apiKey,
982
+ userAttributes: {
983
+ urlPath: window.location.pathname,
984
+ },
985
+ })
986
+
987
+ content.value = builderContent
988
+ } catch (error) {
989
+ console.error('Error fetching content:', error)
990
+ } finally {
991
+ loading.value = false
992
+ }
993
+ })
994
+
995
+ return {
996
+ model,
997
+ apiKey,
998
+ content,
999
+ loading,
1000
+ customComponents,
1001
+ isPreviewing: isPreviewing()
1002
+ }
1003
+ }
1004
+ })
1005
+ </script>`}function Nu(e){return e.isNuxt?"useRuntimeConfig().public.builderApiKey":e.configType==="vite"?"import.meta.env.VITE_BUILDER_API_KEY":"process.env.VUE_APP_BUILDER_API_KEY"}function Bu(e){return`import type { RegisteredComponent } from "@builder.io/sdk-vue";
1006
+
1007
+ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
1008
+ // Add your Vue components here
1009
+ // Example:
1010
+ // {
1011
+ // component: MyComponent,
1012
+ // name: 'MyComponent',
1013
+ // inputs: [
1014
+ // {
1015
+ // name: 'title',
1016
+ // type: 'string',
1017
+ // defaultValue: 'Hello World'
1018
+ // }
1019
+ // ]
1020
+ // }
1021
+ ];
1022
+ `}async function Jo(e){let t=await Ou(e);return{builderPageOptions:async()=>({templateContentId:"vue-demo-template-id",pathname:"/builder-demo",title:"Builder + Vue Demo Page"}),ensureBuilderSetup:async()=>(await Uo(t)).errors.length>0?[]:[],ensureFigmaImportPage:()=>zo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>et(t,{readAllInputTypes:!!n?.readAllInputTypes}),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await et(t,{readAllInputTypes:!1}),i=o.components.find(a=>a.id===n.cmpId);return{...o,component:i}},registerComponent:async n=>et(t,{readAllInputTypes:!1}),setRegisteredComponentInfo:async n=>et(t,{readAllInputTypes:!1}),setRegisteredComponentInput:async n=>et(t,{readAllInputTypes:!1}),unregisterComponent:async n=>et(t,{readAllInputTypes:!1}),getPublicApiKey:()=>Rt(t),setPublicApiKey:n=>$o(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-vue"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/vue"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>me(t),setCache:n=>fe(t,n)}}async function Ou(e){let t=await ku(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ne(e),i={},a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",vueConfigPath:t,typescriptEnabled:o,configType:"",isNuxt:await Lu(e),addExternalPackage:p=>{i[e.join(r,p,"index.ts")]=`export * from "${p}";`},readFileSync:p=>i[p]??e.readFileSync(p),existsSync:p=>!!i[p]||e.existsSync(p),readdirSync:p=>{let f=e.readdirSync(p);return p===r?[...f,...Object.keys(i).map(m=>m.slice(r.length+1))]:f},readdir:async p=>{let f=await e.readdir(p);return p===r?[...f,...Object.keys(i).map(m=>m.slice(r.length+1))]:f}};t.includes("webpack.config")&&(a.configType="webpack"),(t.includes("vite.config")||t.includes("nuxt.config"))&&(a.configType="vite");let s=await e.exists(n);a.srcDir=s?n:null;let u=[e.join(r,"components"),e.join(r,"src","components"),e.join(r,"app","components")];for(let p of u)if(await e.exists(p)){a.componentsDir=p;break}return a.componentsDir||(a.componentsDir=s?e.join(n,"components"):e.join(r,"components")),a.registryPath=await ie(e,a.componentsDir),a}async function ku(e){let t=["nuxt.config.ts","nuxt.config.js","vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts","vue.config.js","vue.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 Vue config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function Lu(e){let t=["nuxt.config.ts","nuxt.config.js"];for(let r of t){let n=e.join(e.getAppRootDir(),r);if(await e.exists(n))return!0}try{let r=e.join(e.getAppRootDir(),"package.json");if(await e.exists(r)){let n=JSON.parse(await e.readFile(r)||"{}"),o={...n.dependencies,...n.devDependencies};return!!(o.nuxt||o["@nuxt/kit"]||o.nuxt3)}}catch{}return!1}var tn=tr(ii(),1);async function ai(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:he(e.relative(e.getAppRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:ue(i.inputs)};return ue(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,tn.compress)(n);return btoa(JSON.stringify(o))}async function si(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,tn.decompress)(o),a=ue(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let u=he(e.normalize(s.filePath)),p=n.components.find(m=>he(m.filePath).endsWith(u)&&m.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 m of s.inputs)e.debug(`set input (${p.id})`),await t.setRegisteredComponentInput({cmpId:p.id,name:m.name,type:m.type,required:m.required,defaultValue:m.defaultValue,friendlyName:m.friendlyName,helperText:m.helperText});e.debug(`set input (${p.id}) info`);let f=await t.setRegisteredComponentInfo({cmpId:p.id,name:s.name,image:s.image,description:s.description});a=ue(f)}return a}var ce={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik",vue:"vue"},Cg={[ce.react]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[ce.remix]:[{version:y.gen1,recommended:!1},{version:y.gen2,recommended:!0}],[ce.angular]:[{version:y.gen2,recommended:!0}],[ce.next]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}],[ce.qwik]:[{version:y.gen2,recommended:!0}],[ce.vue]:[{version:y.gen1,recommended:!0},{version:y.gen2,recommended:!1}]};async function ui(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 f={name:p.name,subPackages:[]},m=await e.readdir(i);for(let c of m)c!=="node_modules"&&(await e.stat(e.join(i,c))).isDirectory()&&f.subPackages.push(c);return r.push(f),f}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 f of Object.keys(p)){let m=e.join(t,"node_modules",f);await o(m)}if(Array.isArray(u.workspaces))for(let f of u.workspaces){let m=await e.readdir(e.join(t,f));for(let c of m){let d=e.join(t,f,c);await o(d)}}}}}catch(i){e.Sentry?.captureException(i,{level:"warning"})}return r}var ap={"@builder.io/qwik-city":no,next:qr,"@remix-run/react":co,react:Eo,"@angular/core":Vo,vue:Jo},sp={"@builder.io/qwik-city":ce.qwik,next:ce.next,"@remix-run/react":ce.remix,react:ce.react,"@angular/core":ce.angular,vue:ce.vue};async function pi(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 Me(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let r=ap[t.name];if(r)try{let n=await r(e);return{...n,exportRegistry:()=>ai(e,n),importRegistry:i=>si(e,n,i),framework:sp[t.name],findAllDependencies:async()=>await ui(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 ci(e){function t(m){if(typeof m!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(m))}function r(m,c){let d="",D=0,g=-1,x=0,l;for(let C=0;C<=m.length;++C){if(C<m.length)l=m.charCodeAt(C);else{if(l===47)break;l=47}if(l===47){if(!(g===C-1||x===1))if(g!==C-1&&x===2){if(d.length<2||D!==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="",D=0):(d=d.slice(0,E),D=d.length-1-d.lastIndexOf("/")),g=C,x=0;continue}}else if(d.length===2||d.length===1){d="",D=0,g=C,x=0;continue}}c&&(d.length>0?d+="/..":d="..",D=2)}else d.length>0?d+="/"+m.slice(g+1,C):d=m.slice(g+1,C),D=C-g-1;g=C,x=0}else l===46&&x!==-1?++x:x=-1}return d}let n=function(...c){let d="",D=!1;for(let g=c.length-1;g>=-1&&!D;g--){let x;g>=0?x=c[g]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(d=x+"/"+d,D=x.charCodeAt(0)===47)}return d=r(d,!D),D?d.length>0?"/"+d:"/":d.length>0?d:"."},o=function(c){if(t(c),c.length===0)return".";let d=c.charCodeAt(0)===47,D=c.charCodeAt(c.length-1)===47;return c=r(c,!d),c.length===0&&!d&&(c="."),c.length>0&&D&&(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 D=1;for(;D<c.length&&c.charCodeAt(D)===47;++D);let g=c.length,x=g-D,l=1;for(;l<d.length&&d.charCodeAt(l)===47;++l);let E=d.length-l,F=x<E?x:E,A=-1,S=0;for(;S<=F;++S){if(S===F){if(E>F){if(d.charCodeAt(l+S)===47)return d.slice(l+S+1);if(S===0)return d.slice(l+S)}else x>F&&(c.charCodeAt(D+S)===47?A=S:S===0&&(A=0));break}let $=c.charCodeAt(D+S),k=d.charCodeAt(l+S);if($!==k)break;$===47&&(A=S)}let B="";for(S=D+A+1;S<=g;++S)(S===g||c.charCodeAt(S)===47)&&(B.length===0?B+="..":B+="/..");return B.length>0?B+d.slice(l+A):(l+=A,d.charCodeAt(l)===47&&++l,d.slice(l))},resolve:n,join:function(...c){if(c.length===0)return".";let d;for(let D=0;D<c.length;++D){let g=c[D];t(g),g.length>0&&(d===void 0?d=g:d+="/"+g)}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 D=0,g=-1,x=!0,l;if(d!==void 0&&d.length>0&&d.length<=c.length){if(d.length===c.length&&d===c)return"";let C=d.length-1,E=-1;for(l=c.length-1;l>=0;--l){let F=c.charCodeAt(l);if(F===47){if(!x){D=l+1;break}}else E===-1&&(x=!1,E=l+1),C>=0&&(F===d.charCodeAt(C)?--C===-1&&(g=l):(C=-1,g=E))}return D===g?g=E:g===-1&&(g=c.length),c.slice(D,g)}else{for(l=c.length-1;l>=0;--l)if(c.charCodeAt(l)===47){if(!x){D=l+1;break}}else g===-1&&(x=!1,g=l+1);return g===-1?"":c.slice(D,g)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let d=c.charCodeAt(0),D=d===47,g=-1,x=!0;for(let l=c.length-1;l>=1;--l)if(d=c.charCodeAt(l),d===47){if(!x){g=l;break}}else x=!1;return g===-1?D?"/":".":D&&g===1?"//":c.slice(0,g)},extname:function(c){t(c);let d=-1,D=0,g=-1,x=!0,l=0;for(let C=c.length-1;C>=0;--C){let E=c.charCodeAt(C);if(E===47){if(!x){D=C+1;break}continue}g===-1&&(x=!1,g=C+1),E===46?d===-1?d=C:l!==1&&(l=1):d!==-1&&(l=-1)}return d===-1||g===-1||l===0||l===1&&d===g-1&&d===D+1?"":c.slice(d,g)}}}async function li(e){let t=e.getRepoRootDir?e.getRepoRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=ci({cwd:r,...e}),o=new Map,i=l=>n.normalize(n.resolve(r(),l)),a=l=>{for(let[C]of o)if((C+"/").startsWith(l))return!0;return l===t()},s=l=>(l=i(l),o.has(l)?!0:a(l)),u=l=>{l=i(l);let C=l===t()?l:l+"/",E=C.split("/").length-1,F=[];for(let[A]of o)if(A.split("/").slice(0,E).join("/")+"/"===C){let $=A.split("/")[E];$&&!F.includes($)&&F.push($)}return F.sort()},p=async(l,C=[])=>{l=i(l);let E=l===t()?l:l+"/",F=[],A=new Set(C);for(let[S]of o)S.startsWith(E)&&(S.slice(E.length).split("/").some(k=>A.has(k))||F.push(S));return F.sort()},f=l=>{l=i(l);let C=o.get(l);return typeof C=="string"?C:null},m=l=>{l=i(l);let C=o.get(l);return typeof C=="string"?new TextEncoder().encode(C):C instanceof Uint8Array?C:null},c=l=>(l=i(l),{isFile:()=>o.has(l),isDirectory:()=>!o.has(l)&&a(l),size:a(l)?0:o.get(l)?.length??0}),d=async l=>{if(typeof crypto<"u"){let F=new TextEncoder().encode(l),A=await crypto.subtle.digest("SHA-256",F);return Array.from(new Uint8Array(A)).map(S=>S.toString(16).padStart(2,"0")).join("")}let C=0;for(let E=0;E<l.length;E++){let F=l.charCodeAt(E);C=(C<<5)-C+F,C|=0}return Number(Math.abs(C)).toString(36)},D=new Set,g={getRepoRootDir:t,getAppRootDir:t,getCwdDir:r,cwd:r,exists:async l=>s(l),existsSync:s,readdir:async l=>u(l),readdirSync:u,readdirRecursive:p,readFile:async l=>f(l),readFileSync:f,readFileSyncBuffer:l=>m(l),stat:async l=>c(l),statSync:c,writeFile:async(l,C)=>{l=i(l),o.set(l,C);let E={path:l,basename:n.basename(l),dirname:n.dirname(l),extname:n.extname(l)};for(let F of D)await F(E)},unlink:async l=>{l=i(l),o.delete(l)},unlinkSync:l=>{l=i(l),o.delete(l)},hash:d,getDeviceId:async()=>typeof navigator<"u"?d(navigator.userAgent):"",getRepoInfo:async()=>({hasGit:!1,remoteUrl:"",defaultBranch:"",currentBranch:"",commit:""}),formatCode:async(l,C)=>C,on:(l,C)=>{l==="change"&&D.add(C)},off:(l,C)=>{l==="change"&&D.delete(C)},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},x=await Me(g);return g.getFrameworks=e.getFrameworks?e.getFrameworks:()=>x,g}async function mi(e,t,r){try{let n=b(e,r),o={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(await cr(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(fi(e,n))return o;let s=de(e,n,"cjs"),u=de(e,n);if(s.length!==1&&u.length!==1)throw new Error("Expected an export from file");if(u.length===1){let m=u[0];if(!m.isDefaultExport)throw new Error("Expected a default export from file");let c=m.statement;if(!e.ts.isVariableStatement(c))throw new Error(`Unexpected export type in ${t}
917
1023
  Found config content:
918
1024
  ${r}
919
1025
 
@@ -926,7 +1032,7 @@ The config file must follow one of these formats:
926
1032
 
927
1033
  3. export default { /* config */ }
928
1034
 
929
- Current export type: ${l.kind?e.ts.SyntaxKind[l.kind]:"none"}`);let d=m.statement;if(e.ts.isVariableStatement(d)){let D=[...d.declarationList.declarations];if(D.length!==1)throw new Error("Expected a single variable declaration");let g=D[0];if(!g.initializer)throw new Error("Expected an initializer on the declaration");let x=g.initializer;if(e.ts.isObjectLiteralExpression(x)||e.ts.isCallExpression(x)){let c="BuilderDevTools()",C=[...n.statements],E=C.indexOf(d);return C[E]=e.ts.factory.updateVariableStatement(d,d.modifiers,e.ts.factory.updateVariableDeclarationList(d.declarationList,[e.ts.factory.updateVariableDeclaration(g,g.name,g.exclamationToken,g.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[x]))])),n=e.ts.factory.updateSourceFile(n,C),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=j(e,n),o.outcome="added",o}throw new Error(`Unexpected initializer on the variable statement in file
1035
+ Current export type: ${c.kind?e.ts.SyntaxKind[c.kind]:"none"}`);let d=m.statement;if(e.ts.isVariableStatement(d)){let D=[...d.declarationList.declarations];if(D.length!==1)throw new Error("Expected a single variable declaration");let g=D[0];if(!g.initializer)throw new Error("Expected an initializer on the declaration");let x=g.initializer;if(e.ts.isObjectLiteralExpression(x)||e.ts.isCallExpression(x)){let l="BuilderDevTools()",C=[...n.statements],E=C.indexOf(d);return C[E]=e.ts.factory.updateVariableStatement(d,d.modifiers,e.ts.factory.updateVariableDeclarationList(d.declarationList,[e.ts.factory.updateVariableDeclaration(g,g.name,g.exclamationToken,g.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(l),void 0,[x]))])),n=e.ts.factory.updateSourceFile(n,C),n=I(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=j(e,n),o.outcome="added",o}throw new Error(`Unexpected initializer on the variable statement in file
930
1036
  Found config content:
931
1037
  ${r}
932
1038
 
@@ -942,7 +1048,7 @@ Detected export type: ${p?.statement.kind??"none"}
942
1048
  Valid formats:
943
1049
  1. module.exports = { ... }
944
1050
  2. module.exports = (phase, config) => { return { ... } }
945
- 3. export default { ... }`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let m=p.statement;if(!e.ts.isExpressionStatement(m))throw new Error("Expected an expression statement for the default export");let l=m.expression;if(!e.ts.isBinaryExpression(l))throw new Error("Expected a binary expression for the default export");let d=Wn(e,n);n=d.sourceFile;let D=[...n.statements],g=D.indexOf(m);return D[g]=e.ts.factory.updateExpressionStatement(m,e.ts.factory.updateBinaryExpression(l,l.left,l.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(d.withFnVariableName),void 0,[l.right]))),n=e.ts.factory.updateSourceFile(n,D),o.content=j(e,n),o.outcome="added",o}let f=p.statement;if(e.ts.isVariableStatement(f)){let m=[...f.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let l=m[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 D=Wn(e,n);n=D.sourceFile;let g=[...n.statements],x=g.indexOf(f);return g[x]=e.ts.factory.updateVariableStatement(f,f.modifiers,e.ts.factory.updateVariableDeclarationList(f.declarationList,[e.ts.factory.updateVariableDeclaration(l,l.name,l.exclamationToken,l.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(D.withFnVariableName),void 0,[d]))])),n=e.ts.factory.updateSourceFile(n,g),o.content=j(e,n),o.outcome="added",o}throw new Error(`Unexpected initializer on the variable statement in ${t}
1051
+ 3. export default { ... }`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let m=p.statement;if(!e.ts.isExpressionStatement(m))throw new Error("Expected an expression statement for the default export");let c=m.expression;if(!e.ts.isBinaryExpression(c))throw new Error("Expected a binary expression for the default export");let d=Hn(e,n);n=d.sourceFile;let D=[...n.statements],g=D.indexOf(m);return D[g]=e.ts.factory.updateExpressionStatement(m,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,D),o.content=j(e,n),o.outcome="added",o}let f=p.statement;if(e.ts.isVariableStatement(f)){let m=[...f.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let c=m[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 D=Hn(e,n);n=D.sourceFile;let g=[...n.statements],x=g.indexOf(f);return g[x]=e.ts.factory.updateVariableStatement(f,f.modifiers,e.ts.factory.updateVariableDeclarationList(f.declarationList,[e.ts.factory.updateVariableDeclaration(c,c.name,c.exclamationToken,c.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(D.withFnVariableName),void 0,[d]))])),n=e.ts.factory.updateSourceFile(n,g),o.content=j(e,n),o.outcome="added",o}throw new Error(`Unexpected initializer on the variable statement in ${t}
946
1052
  Found config content:
947
1053
  ${r}
948
1054
 
@@ -951,17 +1057,17 @@ The config variable must be initialized with either:
951
1057
  2. A function call: const nextConfig = withSomePlugin({ /* config */ })
952
1058
 
953
1059
  Current initializer type: ${d.kind}
954
- Expected types: ${e.ts.SyntaxKind.ObjectLiteralExpression} or ${e.ts.SyntaxKind.CallExpression}`)}if(e.ts.isArrowFunction(p.node)){let m=p.node,l=p.statement;if(!e.ts.isExpressionStatement(l))throw new Error("Expected an expression statement for the default export");let d=l.expression;if(!e.ts.isBinaryExpression(d))throw new Error("Expected a binary expression for the default export");let g=p.node.body;if(!e.ts.isBlock(g))throw new Error("Expected a block body on the next config function");let x=[...g.statements],c=x.findIndex(S=>e.ts.isReturnStatement(S));if(c===-1)throw new Error("Expected a return statement on the next config function");let C=x[c],E=Wn(e,n);n=E.sourceFile,x[c]=e.ts.factory.updateReturnStatement(C,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(E.withFnVariableName),void 0,[C.expression]));let F=[...n.statements],A=F.indexOf(l);return F[A]=e.ts.factory.updateExpressionStatement(l,e.ts.factory.updateBinaryExpression(d,d.left,d.operatorToken,e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,e.ts.factory.updateBlock(g,x)))),n=e.ts.factory.updateSourceFile(n,F),o.content=j(e,n),o.outcome="added",o}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function ni(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 Wn(e,t){let r=ni(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 ii(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(ai(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 f=s[0];if(!f.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let m=f.statement;if(!e.ts.isExportAssignment(m))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(m.expression)){let l="builderDevTools()",d=Lu(e,m.expression);if(!d)return o;let D=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(l),void 0,[d]),g=[...n.statements],x=g.indexOf(m);return g[x]=e.ts.factory.updateExportAssignment(m,m.modifiers,D),n=e.ts.factory.updateSourceFile(n,g),n=v(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=j(e,n),o.outcome="added",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 f=u.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let m=f.expression;if(!e.ts.isBinaryExpression(m))throw new Error("Expected a binary expression for the default export");let l=ri(e,n);n=l.sourceFile;let d=[...n.statements],D=d.indexOf(f);return d[D]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(m,m.left,m.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(l.withFnVariableName),void 0,[m.right]))),n=e.ts.factory.updateSourceFile(n,d),o.content=j(e,n),o.outcome="added",o}let p=u.statement;if(e.ts.isVariableStatement(p)){let f=[...p.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let m=f[0];if(!m.initializer)throw new Error("Expected an initializer on the declaration");let l=m.initializer;if(e.ts.isObjectLiteralExpression(l)||e.ts.isCallExpression(l)){let d=ri(e,n);n=d.sourceFile;let D=[...n.statements],g=D.indexOf(p);return D[g]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,[e.ts.factory.updateVariableDeclaration(m,m.name,m.exclamationToken,m.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(d.withFnVariableName),void 0,[l]))])),n=e.ts.factory.updateSourceFile(n,D),o.content=j(e,n),o.outcome="added",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 ai(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 ri(e,t){let r=ai(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 Lu(e,t){let r=[...t.properties],n=r.findIndex(i=>L(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=oi(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=oi(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function oi(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 ui(e,t,r){try{let n=await _u(e,t,r,"builderDevTools","@builder.io/dev-tools/vite");return{content:n.content,filePath:n.filePath,fileName:n.fileName,outcome:n.outcome}}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}async function _u(e,t,r,n,o){try{if(n==="builderDevTools"&&r.includes(n)&&r.includes(o)&&(r.includes(`plugins: [${n}()]`)||r.includes(`plugins: [ ${n}()]`)))return{content:r,filePath:t,fileName:e.basename(t),outcome:"already-exists"};if(n==="jsxLocPlugin"&&o==="@builder.io/vite-plugin-jsx-loc"&&r.includes(n)&&r.includes(o)&&I(e,r).statements.some(l=>{if(e.ts.isImportDeclaration(l)){let d=l.moduleSpecifier.text;if((d===o||d.includes(n))&&l.importClause?.namedBindings&&e.ts.isNamedImports(l.importClause.namedBindings))return l.importClause.namedBindings.elements.some(D=>D.name.text===n)}return!1}))return{content:r,filePath:t,fileName:e.basename(t),outcome:"already-exists"};let i=I(e,r),a=ce(e,i);if(a.length!==1)throw new Error(`Expected an export from ${t}`);let s=a[0];if(!s.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let u=s.statement;if(!e.ts.isExportAssignment(u))throw new Error(`Expected an export assignment from ${t}`);let p={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(e.ts.isCallExpression(s.node)&&e.ts.isIdentifier(s.node.expression)&&s.node.expression.text==="defineConfig"){let f=[...s.node.arguments];if(f.length===0)throw new Error("Expected an argument in defineConfig()");let m=f[0];if(e.ts.isArrowFunction(m)){let l=ju(e,m,n);if(!l)return p;f[0]=e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,l);let d=[...i.statements],D=d.indexOf(u);return d[D]=e.ts.factory.updateExportAssignment(u,void 0,e.ts.factory.updateCallExpression(s.node,s.node.expression,s.node.typeArguments,f)),i=e.ts.factory.updateSourceFile(i,d),i=v(e,i,{namedImports:[n],importPath:o}),p.content=j(e,i),p.outcome="added",p}if(e.ts.isObjectLiteralExpression(m)){let l=en(e,m,n);if(!l)return p;let d=[...i.statements],D=d.indexOf(u);return d[D]=e.ts.factory.updateExportAssignment(u,void 0,e.ts.factory.updateCallExpression(s.node,s.node.expression,s.node.typeArguments,[l])),i=e.ts.factory.updateSourceFile(i,d),i=v(e,i,{namedImports:[n],importPath:o}),p.content=j(e,i),p.outcome="added",p}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(u.expression)){let f=en(e,u.expression,n);if(!f)return p;let m=[...i.statements],l=m.indexOf(u);return m[l]=e.ts.factory.updateExportAssignment(u,u.modifiers,f),i=e.ts.factory.updateSourceFile(i,m),i=v(e,i,{namedImports:[n],importPath:o}),p.content=j(e,i),p.outcome="added",p}throw new Error(`Unable to parse ${t}`)}catch(i){throw e.Sentry?.captureException(i,{extra:{configFilePath:t,configContent:r},level:"warning"}),i}}function ju(e,t,r){let n=t.body;if(!e.ts.isBlock(n)){if(e.ts.isParenthesizedExpression(n)&&e.ts.isObjectLiteralExpression(n.expression)){let u=en(e,n.expression,r);if(u)return u}return null}let o=[...n.statements],i=o.findIndex(u=>e.ts.isReturnStatement(u));if(i===-1){let u=e.ts.factory.createReturnStatement(e.ts.factory.createObjectLiteralExpression());o.push(u),i=o.length-1}let a=o[i];if(!a.expression||!e.ts.isObjectLiteralExpression(a.expression))return null;let s=en(e,a.expression,r);return s?(o[i]=e.ts.factory.updateReturnStatement(a,s),e.ts.factory.updateBlock(n,o)):null}function en(e,t,r){if(Ku(e)){let a=Vu(e,t);a&&(t=a)}let n=[...t.properties],o=n.findIndex(a=>tn(e,a)==="plugins");if(o>-1){let a=n[o];if(e.ts.isPropertyAssignment(a)&&a.initializer)if(e.ts.isArrayLiteralExpression(a.initializer)){let s=si(e,a.initializer,r);if(s)return n[o]=e.ts.factory.updatePropertyAssignment(a,a.name,s),e.ts.factory.updateObjectLiteralExpression(t,n)}else{let s=e.ts.factory.createSpreadElement(a.initializer),u=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(r),void 0,[]),p=e.ts.factory.createArrayLiteralExpression([s,u],!0);return n[o]=e.ts.factory.updatePropertyAssignment(a,a.name,p),e.ts.factory.updateObjectLiteralExpression(t,n)}return null}let i=si(e,e.ts.factory.createArrayLiteralExpression([],!0),r);return i?e.ts.factory.updateObjectLiteralExpression(t,[...n,e.ts.factory.createPropertyAssignment("plugins",i)]):null}function si(e,t,r){return t.elements.some(o=>{if(e.ts.isCallExpression(o)&&e.ts.isIdentifier(o.expression))return o.expression.text===r;if(e.ts.isBinaryExpression(o)&&o.operatorToken.kind===e.ts.SyntaxKind.AmpersandAmpersandToken){let i=o.right;if(e.ts.isCallExpression(i)&&e.ts.isIdentifier(i.expression))return i.expression.text===r}if(e.ts.isConditionalExpression(o)){let i=o.whenTrue,a=o.whenFalse;if(e.ts.isCallExpression(i)&&e.ts.isIdentifier(i.expression)&&i.expression.text===r||e.ts.isCallExpression(a)&&e.ts.isIdentifier(a.expression)&&a.expression.text===r)return!0}if(e.ts.isCallExpression(o)&&e.ts.isPropertyAccessExpression(o.expression)){let i=o.expression.expression;if(e.ts.isArrayLiteralExpression(i))return i.elements.some(a=>Nt(e,a,r))}return!1})?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(r),void 0,[])])}function Nt(e,t,r){return e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)?t.expression.text===r:e.ts.isBinaryExpression(t)?Nt(e,t.left,r)||Nt(e,t.right,r):e.ts.isConditionalExpression(t)?Nt(e,t.whenTrue,r)||Nt(e,t.whenFalse,r):!1}function Vu(e,t){let r=[...t.properties],n=r.findIndex(i=>tn(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=$u(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=Qn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o){let i=r.findIndex(u=>tn(e,u)==="plugins"),a=[...r],s=e.ts.factory.createPropertyAssignment("ssr",e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("noExternal",o)]));return i>-1?a.splice(i,0,s):a.push(s),e.ts.factory.updateObjectLiteralExpression(t,a)}return null}function $u(e,t){let r=[...t.properties],n=r.findIndex(i=>tn(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Qn(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=Qn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Qn(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 tn(e,t){return(e.ts.isPropertyAssignment(t)||e.ts.isMethodDeclaration(t))&&(e.ts.isIdentifier(t.name)||e.ts.isStringLiteral(t.name))?t.name.text:""}function Ku(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function pi(e,t,r){return e.debug("Updating Webpack config to include Builder.io plugin..."),{content:r,fileName:e.basename(t),filePath:t,outcome:"added"}}async function ci(e,t,r){e.debug("Angular config updates are currently in progress...");try{await Uu(e)}catch(n){e.Sentry?.captureException(new Error("Unable to update package.json.",{cause:n}))}return await Mu(e),{content:r,fileName:e.basename(t),filePath:t,outcome:"added"}}async function Mu(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 zu(e,o);await e.writeFile(n,i)}async function zu(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=`
1060
+ Expected types: ${e.ts.SyntaxKind.ObjectLiteralExpression} or ${e.ts.SyntaxKind.CallExpression}`)}if(e.ts.isArrowFunction(p.node)){let m=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 g=p.node.body;if(!e.ts.isBlock(g))throw new Error("Expected a block body on the next config function");let x=[...g.statements],l=x.findIndex(S=>e.ts.isReturnStatement(S));if(l===-1)throw new Error("Expected a return statement on the next config function");let C=x[l],E=Hn(e,n);n=E.sourceFile,x[l]=e.ts.factory.updateReturnStatement(C,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(E.withFnVariableName),void 0,[C.expression]));let F=[...n.statements],A=F.indexOf(c);return F[A]=e.ts.factory.updateExpressionStatement(c,e.ts.factory.updateBinaryExpression(d,d.left,d.operatorToken,e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,e.ts.factory.updateBlock(g,x)))),n=e.ts.factory.updateSourceFile(n,F),o.content=j(e,n),o.outcome="added",o}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function fi(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 Hn(e,t){let r=fi(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 Di(e,t,r){try{let n=b(e,r),o={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(xi(e,n))return o;let a=de(e,n,"cjs"),s=de(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 f=s[0];if(!f.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let m=f.statement;if(!e.ts.isExportAssignment(m))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(m.expression)){let c="builderDevTools()",d=up(e,m.expression);if(!d)return o;let D=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[d]),g=[...n.statements],x=g.indexOf(m);return g[x]=e.ts.factory.updateExportAssignment(m,m.modifiers,D),n=e.ts.factory.updateSourceFile(n,g),n=I(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=j(e,n),o.outcome="added",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 f=u.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let m=f.expression;if(!e.ts.isBinaryExpression(m))throw new Error("Expected a binary expression for the default export");let c=di(e,n);n=c.sourceFile;let d=[...n.statements],D=d.indexOf(f);return d[D]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(m,m.left,m.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[m.right]))),n=e.ts.factory.updateSourceFile(n,d),o.content=j(e,n),o.outcome="added",o}let p=u.statement;if(e.ts.isVariableStatement(p)){let f=[...p.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let m=f[0];if(!m.initializer)throw new Error("Expected an initializer on the declaration");let c=m.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let d=di(e,n);n=d.sourceFile;let D=[...n.statements],g=D.indexOf(p);return D[g]=e.ts.factory.updateVariableStatement(p,p.modifiers,e.ts.factory.updateVariableDeclarationList(p.declarationList,[e.ts.factory.updateVariableDeclaration(m,m.name,m.exclamationToken,m.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(d.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,D),o.content=j(e,n),o.outcome="added",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 xi(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 di(e,t){let r=xi(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 up(e,t){let r=[...t.properties],n=r.findIndex(i=>L(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=gi(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=gi(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function gi(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 hi(e,t,r){try{let n=await pp(e,t,r,"builderDevTools","@builder.io/dev-tools/vite");return{content:n.content,filePath:n.filePath,fileName:n.fileName,outcome:n.outcome}}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}async function pp(e,t,r,n,o){try{if(n==="builderDevTools"&&r.includes(n)&&r.includes(o)&&(r.includes(`plugins: [${n}()]`)||r.includes(`plugins: [ ${n}()]`)))return{content:r,filePath:t,fileName:e.basename(t),outcome:"already-exists"};if(n==="jsxLocPlugin"&&o==="@builder.io/vite-plugin-jsx-loc"&&r.includes(n)&&r.includes(o)&&b(e,r).statements.some(c=>{if(e.ts.isImportDeclaration(c)){let d=c.moduleSpecifier.text;if((d===o||d.includes(n))&&c.importClause?.namedBindings&&e.ts.isNamedImports(c.importClause.namedBindings))return c.importClause.namedBindings.elements.some(D=>D.name.text===n)}return!1}))return{content:r,filePath:t,fileName:e.basename(t),outcome:"already-exists"};let i=b(e,r),a=de(e,i);if(a.length!==1)throw new Error(`Expected an export from ${t}`);let s=a[0];if(!s.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let u=s.statement;if(!e.ts.isExportAssignment(u))throw new Error(`Expected an export assignment from ${t}`);let p={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(e.ts.isCallExpression(s.node)&&e.ts.isIdentifier(s.node.expression)&&s.node.expression.text==="defineConfig"){let f=[...s.node.arguments];if(f.length===0)throw new Error("Expected an argument in defineConfig()");let m=f[0];if(e.ts.isArrowFunction(m)){let c=cp(e,m,n);if(!c)return p;f[0]=e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,c);let d=[...i.statements],D=d.indexOf(u);return d[D]=e.ts.factory.updateExportAssignment(u,void 0,e.ts.factory.updateCallExpression(s.node,s.node.expression,s.node.typeArguments,f)),i=e.ts.factory.updateSourceFile(i,d),i=I(e,i,{namedImports:[n],importPath:o}),p.content=j(e,i),p.outcome="added",p}if(e.ts.isObjectLiteralExpression(m)){let c=nn(e,m,n);if(!c)return p;let d=[...i.statements],D=d.indexOf(u);return d[D]=e.ts.factory.updateExportAssignment(u,void 0,e.ts.factory.updateCallExpression(s.node,s.node.expression,s.node.typeArguments,[c])),i=e.ts.factory.updateSourceFile(i,d),i=I(e,i,{namedImports:[n],importPath:o}),p.content=j(e,i),p.outcome="added",p}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(u.expression)){let f=nn(e,u.expression,n);if(!f)return p;let m=[...i.statements],c=m.indexOf(u);return m[c]=e.ts.factory.updateExportAssignment(u,u.modifiers,f),i=e.ts.factory.updateSourceFile(i,m),i=I(e,i,{namedImports:[n],importPath:o}),p.content=j(e,i),p.outcome="added",p}throw new Error(`Unable to parse ${t}`)}catch(i){throw e.Sentry?.captureException(i,{extra:{configFilePath:t,configContent:r},level:"warning"}),i}}function cp(e,t,r){let n=t.body;if(!e.ts.isBlock(n)){if(e.ts.isParenthesizedExpression(n)&&e.ts.isObjectLiteralExpression(n.expression)){let u=nn(e,n.expression,r);if(u)return u}return null}let o=[...n.statements],i=o.findIndex(u=>e.ts.isReturnStatement(u));if(i===-1){let u=e.ts.factory.createReturnStatement(e.ts.factory.createObjectLiteralExpression());o.push(u),i=o.length-1}let a=o[i];if(!a.expression||!e.ts.isObjectLiteralExpression(a.expression))return null;let s=nn(e,a.expression,r);return s?(o[i]=e.ts.factory.updateReturnStatement(a,s),e.ts.factory.updateBlock(n,o)):null}function nn(e,t,r){if(fp(e)){let a=lp(e,t);a&&(t=a)}let n=[...t.properties],o=n.findIndex(a=>rn(e,a)==="plugins");if(o>-1){let a=n[o];if(e.ts.isPropertyAssignment(a)&&a.initializer)if(e.ts.isArrayLiteralExpression(a.initializer)){let s=Ci(e,a.initializer,r);if(s)return n[o]=e.ts.factory.updatePropertyAssignment(a,a.name,s),e.ts.factory.updateObjectLiteralExpression(t,n)}else{let s=e.ts.factory.createSpreadElement(a.initializer),u=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(r),void 0,[]),p=e.ts.factory.createArrayLiteralExpression([s,u],!0);return n[o]=e.ts.factory.updatePropertyAssignment(a,a.name,p),e.ts.factory.updateObjectLiteralExpression(t,n)}return null}let i=Ci(e,e.ts.factory.createArrayLiteralExpression([],!0),r);return i?e.ts.factory.updateObjectLiteralExpression(t,[...n,e.ts.factory.createPropertyAssignment("plugins",i)]):null}function Ci(e,t,r){return t.elements.some(o=>{if(e.ts.isCallExpression(o)&&e.ts.isIdentifier(o.expression))return o.expression.text===r;if(e.ts.isBinaryExpression(o)&&o.operatorToken.kind===e.ts.SyntaxKind.AmpersandAmpersandToken){let i=o.right;if(e.ts.isCallExpression(i)&&e.ts.isIdentifier(i.expression))return i.expression.text===r}if(e.ts.isConditionalExpression(o)){let i=o.whenTrue,a=o.whenFalse;if(e.ts.isCallExpression(i)&&e.ts.isIdentifier(i.expression)&&i.expression.text===r||e.ts.isCallExpression(a)&&e.ts.isIdentifier(a.expression)&&a.expression.text===r)return!0}if(e.ts.isCallExpression(o)&&e.ts.isPropertyAccessExpression(o.expression)){let i=o.expression.expression;if(e.ts.isArrayLiteralExpression(i))return i.elements.some(a=>Ot(e,a,r))}return!1})?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(r),void 0,[])])}function Ot(e,t,r){return e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)?t.expression.text===r:e.ts.isBinaryExpression(t)?Ot(e,t.left,r)||Ot(e,t.right,r):e.ts.isConditionalExpression(t)?Ot(e,t.whenTrue,r)||Ot(e,t.whenFalse,r):!1}function lp(e,t){let r=[...t.properties],n=r.findIndex(i=>rn(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=mp(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=Xn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o){let i=r.findIndex(u=>rn(e,u)==="plugins"),a=[...r],s=e.ts.factory.createPropertyAssignment("ssr",e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("noExternal",o)]));return i>-1?a.splice(i,0,s):a.push(s),e.ts.factory.updateObjectLiteralExpression(t,a)}return null}function mp(e,t){let r=[...t.properties],n=r.findIndex(i=>rn(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Xn(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=Xn(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Xn(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 rn(e,t){return(e.ts.isPropertyAssignment(t)||e.ts.isMethodDeclaration(t))&&(e.ts.isIdentifier(t.name)||e.ts.isStringLiteral(t.name))?t.name.text:""}function fp(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Ei(e,t,r){return e.debug("Updating Webpack config to include Builder.io plugin..."),{content:r,fileName:e.basename(t),filePath:t,outcome:"added"}}async function Ai(e,t,r){e.debug("Angular config updates are currently in progress...");try{await Dp(e)}catch(n){e.Sentry?.captureException(new Error("Unable to update package.json.",{cause:n}))}return await dp(e),{content:r,fileName:e.basename(t),filePath:t,outcome:"added"}}async function dp(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 gp(e,o);await e.writeFile(n,i)}async function gp(e,t){let r=t,n=b(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=I(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
955
1061
  builderDevTools().catch((err: Error) =>
956
1062
  console.error("Error starting dev tools:", err)
957
- );`;return r=j(e,n),o||(r+=i),r}async function Uu(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=qu(e,n);o&&await e.writeFile(r,o)}function qu(e,t){let r=JSON.parse(t);if(r.scripts=r.scripts||{},r.scripts[li])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}" "${Ju}${a}"`;r.scripts.start=s,r.scripts[li]=s}return JSON.stringify(r,null,2)+`
958
- `}var li="builder-dev",Ju="npx builder-dev-tools";var fi=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:ti},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:ui},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:ii},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:pi},{id:"angular",configFileNames:["angular.json","project.json"],ensureConfigPlugin:ci}];async function Gn(e){let t=e.resolve("/");for(let n of fi)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 $e(e)).some(n=>n.name==="next")){let n=e.join(e.getAppRootDir(),"next.config.js");return await e.writeFile(n,mi),{id:"next",filePath:n,content:mi}}return null}async function di(e){let t=await Gn(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await fi.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return(n.outcome==="added"||n.outcome==="already-exists")&&(e.debug(`Successfully updated ${t.filePath}`),n.content=me(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var mi=`
1063
+ );`;return r=j(e,n),o||(r+=i),r}async function Dp(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=xp(e,n);o&&await e.writeFile(r,o)}function xp(e,t){let r=JSON.parse(t);if(r.scripts=r.scripts||{},r.scripts[Si])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}" "${Cp}${a}"`;r.scripts.start=s,r.scripts[Si]=s}return JSON.stringify(r,null,2)+`
1064
+ `}var Si="builder-dev",Cp="npx builder-dev-tools";var Pi=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:mi},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:hi},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Di},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Ei},{id:"angular",configFileNames:["angular.json","project.json"],ensureConfigPlugin:Ai}];async function Zn(e){let t=e.resolve("/");for(let n of Pi)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 Me(e)).some(n=>n.name==="next")){let n=e.join(e.getAppRootDir(),"next.config.js");return await e.writeFile(n,Fi),{id:"next",filePath:n,content:Fi}}return null}async function yi(e){let t=await Zn(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await Pi.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return(n.outcome==="added"||n.outcome==="already-exists")&&(e.debug(`Successfully updated ${t.filePath}`),n.content=De(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var Fi=`
959
1065
  /** @type {import('next').NextConfig} */
960
1066
  const nextConfig = {
961
1067
  }
962
1068
 
963
1069
  module.exports = nextConfig
964
- `.trimStart();var gi="/~builder-dev-tools.js";function Di(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(gi,e);t.searchParams.set("v",Bt);let r=JSON.stringify(Bt),n=`/* Builder Devtools v${Bt} */
1070
+ `.trimStart();var wi="/~builder-dev-tools.js";function vi(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(wi,e);t.searchParams.set("v",kt);let r=JSON.stringify(kt),n=`/* Builder Devtools v${kt} */
965
1071
  `;return n+=`(() => {
966
1072
  `,n+=` if (typeof document !== "undefined") {
967
1073
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -974,4 +1080,4 @@ module.exports = nextConfig
974
1080
  `,n+=` }
975
1081
  `,n+=` }
976
1082
  `,n+=`})();
977
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Bt=Xn;
1083
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var kt=nr;