builder.io 1.6.25 → 1.6.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/index.mjs CHANGED
@@ -1,26 +1,26 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- var li=Object.create;var zn=Object.defineProperty;var ci=Object.getOwnPropertyDescriptor;var mi=Object.getOwnPropertyNames;var fi=Object.getPrototypeOf,di=Object.prototype.hasOwnProperty;var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var gi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of mi(t))!di.call(e,o)&&o!==r&&zn(e,o,{get:()=>t[o],enumerable:!(n=ci(t,o))||n.enumerable});return e};var qn=(e,t,r)=>(r=e!=null?li(fi(e)):{},gi(t||!e||!e.__esModule?zn(r,"default",{value:e,enumerable:!0}):r,e));var Yn=Oe((qu,Qn)=>{"use strict";Qn.exports=function(){if(process.env.npm_config_user_agent)return xi(process.env.npm_config_user_agent)};function xi(e){let t=e.split(" ")[0],r=t.lastIndexOf("/"),n=t.substring(0,r);return{name:n==="npminstall"?"cnpm":n,version:t.substring(r+1)}}});var wn=Oe(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.throwUnsupportedData=qe.throwUnknownDataType=qe.getType=void 0;function Ro(e){return Object.prototype.toString.call(e)}qe.getType=Ro;function ru(e){throw new TypeError("unsupported data type: "+Ro(e))}qe.throwUnknownDataType=ru;function ou(e){throw new TypeError("unsupported data type: "+e)}qe.throwUnsupportedData=ou});var Nn=Oe(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.s_to_num=H.int_str_to_s=H.num_to_s=H.big_int_to_s=H.int_to_s=H.s_to_big_int=H.s_to_int=void 0;var Ve="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);Ve+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);Ve+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);Ve+=t}var mt=Ve.length,Tn={};for(let e=0;e<mt;e++){let t=Ve[e];Tn[t]=e}function vn(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Tn[o];i*=r,t+=i,r*=mt}return t}H.s_to_int=vn;function Bo(e){let t=BigInt(0),r=BigInt(1),n=BigInt(mt);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Tn[i]);a*=r,t+=a,r*=n}return t}H.s_to_big_int=Bo;function In(e){if(e===0)return Ve[0];let t=[];for(;e!==0;){let r=e%mt,n=Ve[r];t.push(n),e-=r,e/=mt}return t.reverse().join("")}H.int_to_s=In;function Oo(e){let t=BigInt(0),r=BigInt(mt);if(e===t)return Ve[0];let n=[];for(;e!==t;){let o=e%r,i=Ve[Number(o)];n.push(i),e/=r}return n.reverse().join("")}H.big_int_to_s=Oo;function ko(e){return e.split("").reverse().join("")}function Lo(e){if(e<0)return"-"+Lo(-e);let[t,r]=e.toString().split(".");if(!r)if(t.includes("e")){let[i,a]=t.split("e");t=i,r="0e"+a}else return In(e);let n;r&&([r,n]=r.split("e")),t=Wt(t),r=ko(r),r=Wt(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=Wt(n),o+=n}return o}H.num_to_s=Lo;function Wt(e){let t=+e;return t.toString()===e&&t+1!==t&&t-1!==t?In(t):":"+Oo(BigInt(e))}H.int_str_to_s=Wt;function bn(e){return e[0]===":"?Bo(e.substring(1)).toString():vn(e).toString()}function _o(e){if(e[0]==="-")return-_o(e.substr(1));let[t,r,n]=e.split(".");if(!r)return vn(t);t=bn(t),r=bn(r),r=ko(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=_o});var Bn=Oe(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.decodeStr=X.encodeStr=X.decodeBool=X.encodeBool=X.decodeKey=X.decodeNum=X.encodeNum=void 0;var Rn=Nn();function iu(e){return"n|"+(0,Rn.num_to_s)(e)}X.encodeNum=iu;function au(e){return e=e.replace("n|",""),(0,Rn.s_to_num)(e)}X.decodeNum=au;function su(e){return typeof e=="number"?e:(0,Rn.s_to_int)(e)}X.decodeKey=su;function uu(e){return e?"b|T":"b|F"}X.encodeBool=uu;function pu(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}X.decodeBool=pu;function lu(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}X.encodeStr=lu;function cu(e){return e[0]+e[1]==="s|"?e.substr(2):e}X.decodeStr=cu});var On=Oe(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.config=void 0;Qt.config={sort_key:!1,error_on_nan:!1,error_on_infinite:!1}});var jn=Oe(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.addValue=fe.makeInMemoryMemory=fe.makeInMemoryCache=fe.makeInMemoryStore=fe.memToValues=void 0;var _n=On(),kn=wn(),Ln=Bn(),mu=Nn();function fu(e){return e.store.toArray()}fe.memToValues=fu;function jo(){let e=[];return{forEach(t){for(let r=0;r<e.length;r++)if(t(e[r])==="break")return},add(t){e.push(t)},toArray(){return e}}}fe.makeInMemoryStore=jo;function Vo(){let e=Object.create(null),t=Object.create(null);return{getValue(r){return e[r]},getSchema(r){return t[r]},forEachValue(r){for(let[n,o]of Object.entries(e))if(r(n,o)==="break")return},forEachSchema(r){for(let[n,o]of Object.entries(t))if(r(n,o)==="break")return},setValue(r,n){e[r]=n},setSchema(r,n){t[r]=n},hasValue(r){return r in e},hasSchema(r){return r in t}}}fe.makeInMemoryCache=Vo;function du(){return{store:jo(),cache:Vo(),keyCount:0}}fe.makeInMemoryMemory=du;function et(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=(0,mu.num_to_s)(r);return e.store.add(t),e.cache.setValue(t,n),n}function gu(e,t){_n.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=It(e,t,void 0);return e.cache.setSchema(r,n),n}function It(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return It(e,null,r);break;case"object":if(t===null)return et(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":It(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),et(e,n)}else{let n=Object.keys(t);if(n.length===0)return et(e,"o|");let o="o",i=gu(e,n);o+="|"+i;for(let a of n){let s=t[a],u=It(e,s,t);o+="|"+u}return et(e,o)}case"boolean":return et(e,(0,Ln.encodeBool)(t));case"number":return Number.isNaN(t)?(_n.config.error_on_nan&&(0,kn.throwUnsupportedData)("[number NaN]"),""):Number.POSITIVE_INFINITY===t||Number.NEGATIVE_INFINITY===t?(_n.config.error_on_infinite&&(0,kn.throwUnsupportedData)("[number Infinity]"),""):et(e,(0,Ln.encodeNum)(t));case"string":return et(e,(0,Ln.encodeStr)(t))}return(0,kn.throwUnknownDataType)(t)}fe.addValue=It});var $n=Oe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.decompress=Je.decode=Je.compress=void 0;var Du=wn(),Yt=Bn(),Vn=jn();function Cu(e){let t=(0,Vn.makeInMemoryMemory)(),r=(0,Vn.addValue)(t,e,void 0);return[(0,Vn.memToValues)(t),r]}Je.compress=Cu;function xu(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Nt(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let u=i[s-2],p=n[s];p=Nt(e,p),r[u]=p}return r}function hu(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=Nt(e,a),o[i]=a}return o}function Nt(e,t){if(t===""||t==="_")return null;let r=(0,Yt.decodeKey)(t),n=e[r];if(n===null)return n;switch(typeof n){case"undefined":return n;case"number":return n;case"string":switch(n[0]+n[1]){case"b|":return(0,Yt.decodeBool)(n);case"o|":return xu(e,n);case"n|":return(0,Yt.decodeNum)(n);case"a|":return hu(e,n);default:return(0,Yt.decodeStr)(n)}}return(0,Du.throwUnknownDataType)(n)}Je.decode=Nt;function Eu(e){let[t,r]=e;return Nt(t,r)}Je.decompress=Eu});var Ko=Oe(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimUndefinedRecursively=ft.trimUndefined=void 0;function Su(e){for(let t in e)e[t]===void 0&&delete e[t]}ft.trimUndefined=Su;function Au(e){$o(e,new Set)}ft.trimUndefinedRecursively=Au;function $o(e,t){t.add(e);for(let r in e)if(e[r]===void 0)delete e[r];else{let n=e[r];n&&typeof n=="object"&&!t.has(n)&&$o(n,t)}}});var zo=Oe(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.config=Z.trimUndefinedRecursively=Z.trimUndefined=Z.addValue=Z.decode=Z.decompress=Z.compress=void 0;var Mo=$n();Object.defineProperty(Z,"compress",{enumerable:!0,get:function(){return Mo.compress}});Object.defineProperty(Z,"decompress",{enumerable:!0,get:function(){return Mo.decompress}});var Fu=$n();Object.defineProperty(Z,"decode",{enumerable:!0,get:function(){return Fu.decode}});var Pu=jn();Object.defineProperty(Z,"addValue",{enumerable:!0,get:function(){return Pu.addValue}});var Uo=Ko();Object.defineProperty(Z,"trimUndefined",{enumerable:!0,get:function(){return Uo.trimUndefined}});Object.defineProperty(Z,"trimUndefinedRecursively",{enumerable:!0,get:function(){return Uo.trimUndefinedRecursively}});var yu=On();Object.defineProperty(Z,"config",{enumerable:!0,get:function(){return yu.config}})});var Di="1.6.25",Jn=process.env.OVERRIDE_VERSION??Di;function ae(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var Ci=["node_modules","dist","build","public"];async function pe(e,t){async function r(o,i){if(i>10)return;let a=await e.readdir(o);for(let s of a){if(Ci.includes(s))continue;let u=e.join(o,s),p=await e.stat(u);if(p){if(p.isFile()&&s.startsWith("builder-registry."))return u;if(p.isDirectory()){let 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 Wn(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getAppRootDir())break;t=e.dirname(t)}return e.join(e.getAppRootDir(),"node_modules")}async function gt(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let u=await gt(e,a,r);if(u)return u}}))).find(i=>typeof i=="string")}var Hn=qn(Yn(),1);function he(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")||e.endsWith(".mapper.ts")||e.endsWith(".mapper.js")||e.endsWith(".mapper.mjs")}function O(e,t,r){t=ge(t),r=ge(r),t=e.dirname(t);let n=e.basename(r,e.extname(r));r=e.dirname(r);let o;return n==="index"?o=e.relative(t,r):o=e.relative(t,e.join(r,n)),o=ge(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function ge(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Qe(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Gn(o==="index"?e.basename(e.dirname(t)):o)}function Gn(e){return K(e).replace(/ /g,"")}function le(e,t){let r=e.extname(t),n=ge(e.basename(t,r)).split("/").pop();return K(n==="index"?e.basename(e.dirname(t)):n)}function 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 k(e,t){let r=t,n=[];for(let o=0;o<2;o++){let i=e.basename(r);if(!i||i==="components")break;n.unshift(i),r=e.dirname(r)}return n.join("/")}function K(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function oe(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function 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 Rt(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function Xn(){try{let e=(0,Hn.default)();if(e?.name)return e.name}catch{}return"npm"}async function Ye(e){let t=[],r=await dt(e,e.getRepoRootDir());if(r){let n=await tr(r,e);t.push(...n)}return t}async function er(e){let t=await dt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function tr(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let o of hi)if(n.has(o)&&!r.some(i=>i.name===o)){let i={name:o};Zn.has(o)&&(i.version=await Zn.get(o)(t)),r.push(i)}}return r}function Xt(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var Zn=new Map([["next",async e=>{if(!e.spawnSync)return;let t=Xn(),r=t==="npm"?"npx":t,{stdout:n}=e.spawnSync(r,["next","-v"],{encoding:"utf8"});if(!n)return;let o=n.match(/(Next.js v)([\d.]+)/g);if(!o)return;let i=o[0].split("Next.js v")[1],[a,s,u]=i.split(".");return{major:Xt(a),minor:Xt(s),patch:Xt(u)}}]]),hi=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];async function Ee(e){let t=nr(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function Se(e,t){t=typeof t=="object"&&t!=null?t:{};let r=nr(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function nr(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function $e(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),o),a=await Ei(e,i);if(a){let s=a[r];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return n.envValue=s,n.file=i,n}}return n.file=e.join(e.getAppRootDir(),t[t.length-1]),n}async function Ei(e,t){let r=await e.readFile(t);return typeof r=="string"?rr(r):null}function rr(e){let t={},r=e.replace(/\r\n?/gm,`
3
- `),n;for(;(n=Si.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
4
- `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Si=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Ke(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);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+=`
2
+ var mi=Object.create;var Jn=Object.defineProperty;var fi=Object.getOwnPropertyDescriptor;var di=Object.getOwnPropertyNames;var gi=Object.getPrototypeOf,Di=Object.prototype.hasOwnProperty;var Oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var xi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of di(t))!Di.call(e,o)&&o!==r&&Jn(e,o,{get:()=>t[o],enumerable:!(n=fi(t,o))||n.enumerable});return e};var Wn=(e,t,r)=>(r=e!=null?mi(gi(e)):{},xi(t||!e||!e.__esModule?Jn(r,"default",{value:e,enumerable:!0}):r,e));var Hn=Oe((Qu,Gn)=>{"use strict";Gn.exports=function(){if(process.env.npm_config_user_agent)return Ei(process.env.npm_config_user_agent)};function Ei(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 In=Oe(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.throwUnsupportedData=qe.throwUnknownDataType=qe.getType=void 0;function Oo(e){return Object.prototype.toString.call(e)}qe.getType=Oo;function iu(e){throw new TypeError("unsupported data type: "+Oo(e))}qe.throwUnknownDataType=iu;function au(e){throw new TypeError("unsupported data type: "+e)}qe.throwUnsupportedData=au});var On=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,Rn={};for(let e=0;e<mt;e++){let t=Ve[e];Rn[t]=e}function Nn(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Rn[o];i*=r,t+=i,r*=mt}return t}H.s_to_int=Nn;function ko(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(Rn[i]);a*=r,t+=a,r*=n}return t}H.s_to_big_int=ko;function Bn(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=Bn;function Lo(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=Lo;function _o(e){return e.split("").reverse().join("")}function jo(e){if(e<0)return"-"+jo(-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 Bn(e);let n;r&&([r,n]=r.split("e")),t=Qt(t),r=_o(r),r=Qt(r);let o=t+"."+r;if(n){switch(o+=".",n[0]){case"+":n=n.slice(1);break;case"-":o+="-",n=n.slice(1);break}n=Qt(n),o+=n}return o}H.num_to_s=jo;function Qt(e){let t=+e;return t.toString()===e&&t+1!==t&&t-1!==t?Bn(t):":"+Lo(BigInt(e))}H.int_str_to_s=Qt;function vn(e){return e[0]===":"?ko(e.substring(1)).toString():Nn(e).toString()}function Vo(e){if(e[0]==="-")return-Vo(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Nn(t);t=vn(t),r=vn(r),r=_o(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=vn(n),o+=i?-n:+n}return+o}H.s_to_num=Vo});var Ln=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 kn=On();function su(e){return"n|"+(0,kn.num_to_s)(e)}X.encodeNum=su;function uu(e){return e=e.replace("n|",""),(0,kn.s_to_num)(e)}X.decodeNum=uu;function pu(e){return typeof e=="number"?e:(0,kn.s_to_int)(e)}X.decodeKey=pu;function lu(e){return e?"b|T":"b|F"}X.encodeBool=lu;function cu(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}X.decodeBool=cu;function mu(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}X.encodeStr=mu;function fu(e){return e[0]+e[1]==="s|"?e.substr(2):e}X.decodeStr=fu});var _n=Oe(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.config=void 0;Yt.config={sort_key:!1,error_on_nan:!1,error_on_infinite:!1}});var Kn=Oe(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.addValue=fe.makeInMemoryMemory=fe.makeInMemoryCache=fe.makeInMemoryStore=fe.memToValues=void 0;var $n=_n(),jn=In(),Vn=Ln(),du=On();function gu(e){return e.store.toArray()}fe.memToValues=gu;function $o(){let e=[];return{forEach(t){for(let r=0;r<e.length;r++)if(t(e[r])==="break")return},add(t){e.push(t)},toArray(){return e}}}fe.makeInMemoryStore=$o;function Ko(){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=Ko;function Du(){return{store:$o(),cache:Ko(),keyCount:0}}fe.makeInMemoryMemory=Du;function et(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=(0,du.num_to_s)(r);return e.store.add(t),e.cache.setValue(t,n),n}function xu(e,t){$n.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=xu(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,Vn.encodeBool)(t));case"number":return Number.isNaN(t)?($n.config.error_on_nan&&(0,jn.throwUnsupportedData)("[number NaN]"),""):Number.POSITIVE_INFINITY===t||Number.NEGATIVE_INFINITY===t?($n.config.error_on_infinite&&(0,jn.throwUnsupportedData)("[number Infinity]"),""):et(e,(0,Vn.encodeNum)(t));case"string":return et(e,(0,Vn.encodeStr)(t))}return(0,jn.throwUnknownDataType)(t)}fe.addValue=vt});var zn=Oe(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.decompress=Je.decode=Je.compress=void 0;var Cu=In(),Gt=Ln(),Mn=Kn();function hu(e){let t=(0,Mn.makeInMemoryMemory)(),r=(0,Mn.addValue)(t,e,void 0);return[(0,Mn.memToValues)(t),r]}Je.compress=hu;function Eu(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 Su(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,Gt.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,Gt.decodeBool)(n);case"o|":return Eu(e,n);case"n|":return(0,Gt.decodeNum)(n);case"a|":return Su(e,n);default:return(0,Gt.decodeStr)(n)}}return(0,Cu.throwUnknownDataType)(n)}Je.decode=Rt;function Au(e){let[t,r]=e;return Rt(t,r)}Je.decompress=Au});var zo=Oe(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimUndefinedRecursively=ft.trimUndefined=void 0;function Fu(e){for(let t in e)e[t]===void 0&&delete e[t]}ft.trimUndefined=Fu;function Pu(e){Mo(e,new Set)}ft.trimUndefinedRecursively=Pu;function Mo(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)&&Mo(n,t)}}});var Jo=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 Uo=zn();Object.defineProperty(Z,"compress",{enumerable:!0,get:function(){return Uo.compress}});Object.defineProperty(Z,"decompress",{enumerable:!0,get:function(){return Uo.decompress}});var wu=zn();Object.defineProperty(Z,"decode",{enumerable:!0,get:function(){return wu.decode}});var yu=Kn();Object.defineProperty(Z,"addValue",{enumerable:!0,get:function(){return yu.addValue}});var qo=zo();Object.defineProperty(Z,"trimUndefined",{enumerable:!0,get:function(){return qo.trimUndefined}});Object.defineProperty(Z,"trimUndefinedRecursively",{enumerable:!0,get:function(){return qo.trimUndefinedRecursively}});var bu=_n();Object.defineProperty(Z,"config",{enumerable:!0,get:function(){return bu.config}})});var Ci="1.6.26",Qn=process.env.OVERRIDE_VERSION??Ci;function ae(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var hi=["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(hi.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 Yn(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 Zn=Wn(Hn(),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 Qe(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Xn(o==="index"?e.basename(e.dirname(t)):o)}function Xn(e){return 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 Bt(e,t,r){for(let n of t)if(e.dirname(r).includes(n))return!0;return!1}function er(){try{let e=(0,Zn.default)();if(e?.name)return e.name}catch{}return"npm"}async function Ye(e){let t=[],r=await dt(e,e.getRepoRootDir());if(r){let n=await rr(r,e);t.push(...n)}return t}async function nr(e){let t=await dt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function rr(e,t){let r=[];if(e&&typeof e=="object"){let n=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let o of Si)if(n.has(o)&&!r.some(i=>i.name===o)){let i={name:o};tr.has(o)&&(i.version=await tr.get(o)(t)),r.push(i)}}return r}function tn(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var tr=new Map([["next",async e=>{if(!e.spawnSync)return;let t=er(),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:tn(a),minor:tn(s),patch:tn(u)}}]]),Si=["@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=or(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=or(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function or(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function $e(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),o),a=await Ai(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 Ai(e,t){let r=await e.readFile(t);return typeof r=="string"?ir(r):null}function ir(e){let t={},r=e.replace(/\r\n?/gm,`
3
+ `),n;for(;(n=Fi.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
4
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Fi=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function Ke(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);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+=`
5
5
 
6
6
  ${o}
7
7
  ${r}=${n}
8
8
 
9
9
  `,await e.writeFile(t,i),"update";else return e.debug(`Creating new .env file with "${r}" at ${t}`),i=[o,`${r}=${n}`,""].join(`
10
- `),await e.writeFile(t,i),"create"}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 $e(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ae)}async function or(e,t){let r=await Ct(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ae="NEXT_PUBLIC_BUILDER_API_KEY";var w={gen1:"Gen 1",gen2:"Gen 2"};function I(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function Bt(e,t=""){let r=I(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function 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
+ `),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 $e(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ae)}async function ar(e,t){let r=await xt(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ae="NEXT_PUBLIC_BUILDER_API_KEY";var y={gen1:"Gen 1",gen2:"Gen 2"};function I(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function Ot(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()+`
11
11
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
12
- `}return""}function rt(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ai(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,u)=>u!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,xt(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,xt(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ai(e,t,r){return t.properties.findIndex(n=>R(e,n)===r)}function ht(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Pi(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Fi(e,t);case e.ts.SyntaxKind.StringLiteral:return t.text;case e.ts.SyntaxKind.NumericLiteral:return Number(t.text);case e.ts.SyntaxKind.NoSubstitutionTemplateLiteral:return t.text;case e.ts.SyntaxKind.TrueKeyword:return!0;case e.ts.SyntaxKind.FalseKeyword:return!1;case e.ts.SyntaxKind.Identifier:switch(t.escapedText){case"undefined":return;case"null":return null;case"String":return String;case"Number":return Number;case"Boolean":return Boolean;case"NaN":return NaN}}}function Fi(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=R(e,n);o&&(r[o]=ht(e,n.initializer))}}return r}function Pi(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>ht(e,r)):[]}function R(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function xt(e,t){return Zt(e,t,new WeakSet)}function Zt(e,t,r){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?yi(e,t,r):typeof t=="object"?wi(e,t,r):e.ts.factory.createIdentifier(t)}function yi(e,t,r){let n=t.map(o=>Zt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function wi(e,t,r){if(r.has(t))return e.ts.factory.createIdentifier("undefined");r.add(t);let n=Object.keys(t).map(o=>e.ts.factory.createPropertyAssignment(o,Zt(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ge(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0&&(s=s.aliasTypeArguments[0]),!!(s.flags&e.ts.TypeFlags.Object)&&(o=s.getProperties())}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let u=a.heritageClauses?.find(p=>p.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(u){for(let p of u)if(t.getSymbolAtLocation(p.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(p)){let 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=bi(e,t,i);a&&n.push(a)}return n=n.filter(ar),n.length>0?n:Ti(e,r)}function bi(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=en(p);f.knownType?i=f.builderType:Ii(p)||u.flags&e.ts.TypeFlags.StringLike?i="string":u.flags&e.ts.TypeFlags.NumberLike?i="number":u.flags&e.ts.TypeFlags.IndexedAccess?i="list":u.flags&e.ts.TypeFlags.Object||u.isUnion()&&u.types.every(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=Oi(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Ri)?s.enum=u.map(Bi):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Ti(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(ar)}var vi=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Ii(e){return typeof e!="string"?!1:!!vi.some(t=>e.includes(t))}function en(e){return typeof e=="string"&&(e=e.trim(),Ni.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Ni=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}];function Ri(e){return/^['"].*['"]$/.test(e)}function Bi(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Oi=(e,t,r)=>{let n=new Set;ir(e,t,r,n);let o=n.delete("true"),i=n.delete("false");(o||i)&&n.add("boolean");let a=Array.from(n.keys()).sort();if(a.length>1&&(a=a.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(a.length>20))return a},ki=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},ir=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{ir(e,t,o,n)});else if(r.isLiteral()){let o=ki(e,t,r);n.add(o)}};function ar(e){let t=e?.name;if(typeof t!="string"||t===""||t.startsWith("aria")||t.startsWith("data-"))return!1;if(t.startsWith("on")&&t.length>2){let r=t.charAt(2);if(r.toUpperCase()===r)return!1}return!Li.has(t.toLowerCase())}var Li=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(e=>e.toLowerCase()));function ie(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=R(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=_i(e,n.initializer);ue(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=ht(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function _i(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(ji(e,n));return r}function ji(e,t){let r=ht(e,t),n=qi(r);return n.isRegistered=!0,n}function W(e,t,r){let n=$i(r);return t=rt(e,t,"name",n.name,!1),t=rt(e,t,"description",n.description),t=rt(e,t,"image",n.image),t=rt(e,t,"meta",n.meta),t=Vi(e,t,n),Ji(e,t)}function Vi(e,t,r){let n=null,o=t.properties.filter(s=>e.ts.isPropertyAssignment(s)&&e.ts.isIdentifier(s.name)),i=o.findIndex(s=>e.ts.isIdentifier(s.name)&&s.name.text==="inputs"),a=[...r.inputs??[]];if(i>-1){if(a.length===0)return rt(e,t,"inputs",null);let s=o[i];e.ts.isPropertyAssignment(s)&&e.ts.isArrayLiteralExpression(s.initializer)&&(n=s.initializer)}return a.length===0?t:(n=Mi(e,n||e.ts.factory.createArrayLiteralExpression(),a),i>-1?o[i]=e.ts.factory.updatePropertyAssignment(o[i],o[i].name,n):o.push(e.ts.factory.createPropertyAssignment("inputs",n)),e.ts.factory.updateObjectLiteralExpression(t,o))}function $i(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Ki),...e.meta?{meta:{...e.meta}}:{}}}function Ki(e){let t={name:e.name,type:e.type};return(ne(e.defaultValue)||Dt(e.defaultValue)||tt(e.defaultValue))&&(t.defaultValue=e.defaultValue),ne(e.friendlyName)&&(t.friendlyName=e.friendlyName),ne(e.helperText)&&(t.helperText=e.helperText),e.required===!0&&(t.required=!0),Array.isArray(e.enum)&&(t.enum=e.enum),e.hideFromUI===!0&&(t.hideFromUI=!0),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(t.meta=e.meta),t}function Mi(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>R(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=Ui(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>R(e,c)==="name"),s=i.properties.find(c=>R(e,c)==="name"),u=a?.initializer,p=s?.initializer,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 Ui(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=R(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=sr(e,t[n],r);else{let o=sr(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function sr(e,t,r){let n=t.properties.filter(i=>e.ts.isPropertyAssignment(i)),o=Object.keys(r).filter(i=>i!=="isRegistered");for(let i of o)n=zi(e,n,r,i);return n=Wi(e,n.filter(i=>{let a=R(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function zi(e,t,r,n){let o=t.findIndex(i=>e.ts.isIdentifier(i.name)&&i.name.text===n);return o>-1?t[o]=e.ts.factory.updatePropertyAssignment(t[o],t[o].name,xt(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,xt(e,r[n]))),t}function ue(e,t){for(let r of t){let n=e.inputs.findIndex(o=>o.name===r.name);n>-1?(r.isRegistered||!e.inputs[n].isRegistered)&&(e.inputs[n]=r):e.inputs.push(r)}e.acceptsChildren=tn(e)}function qi(e){let t=en(e.type),r={name:e.name.trim(),type:t.builderType};return ne(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(ne(e.defaultValue)||Dt(e.defaultValue)||tt(e.defaultValue))&&(r.defaultValue=e.defaultValue),ne(e.helperText)&&(r.helperText=e.helperText),tt(e.required)&&(r.required=e.required),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(r.meta=e.meta),Array.isArray(e.enum)&&e.enum.length>0&&(r.enum=e.enum),e.hideFromUI===!0&&(r.hideFromUI=!0),nn(r)}function tn(e){let t=e.inputs.some(n=>n.name==="children"),r=e.inputs.some(n=>n.meta?.ts==="ReactNode");return!!(t||r||e.acceptsChildren===!0)}function nn(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function Ji(e,t){let r=[...t.properties].sort((n,o)=>{let i=R(e,n)||"zz",a=R(e,o)||"zz";if(i==="inputs")return 1;let s=ur.indexOf(i),u=ur.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var ur=["component","name","description"];function Wi(e,t){return[...t].sort((n,o)=>{let i=R(e,n)||"zz",a=R(e,o)||"zz",s=pr.indexOf(i),u=pr.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)})}var pr=["name","type"];function ot(e,t){for(let r of t.properties){if(!e.ts.isPropertyAssignment(r)||!e.ts.isIdentifier(r.name))continue;if(R(e,r)==="canHaveChildren"){let{initializer:o}=r;return o.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function lr(e,t){let r=`Builder.registerComponent(
12
+ `}return""}function rt(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Pi(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 Pi(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 yi(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return wi(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 wi(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 yi(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 nn(e,t,new WeakSet)}function nn(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"?Ti(e,t,r):e.ts.factory.createIdentifier(t)}function bi(e,t,r){let n=t.map(o=>nn(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Ti(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,nn(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 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=Ii(e,t,i);a&&n.push(a)}return n=n.filter(ur),n.length>0?n:vi(e,r)}function Ii(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=rn(p);f.knownType?i=f.builderType:Ni(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=Li(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Oi)?s.enum=u.map(ki):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function vi(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(ur)}var Ri=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Ni(e){return typeof e!="string"?!1:!!Ri.some(t=>e.includes(t))}function rn(e){return typeof e=="string"&&(e=e.trim(),Bi.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Bi=[{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 Oi(e){return/^['"].*['"]$/.test(e)}function ki(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Li=(e,t,r)=>{let n=new Set;sr(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},_i=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},sr=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{sr(e,t,o,n)});else if(r.isLiteral()){let o=_i(e,t,r);n.add(o)}};function ur(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!ji.has(t.toLowerCase())}var ji=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=Vi(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 Vi(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push($i(e,n));return r}function $i(e,t){let r=ht(e,t),n=Wi(r);return n.isRegistered=!0,n}function W(e,t,r){let n=Mi(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=Ki(e,t,n),Qi(e,t)}function Ki(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=Ui(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 Mi(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(zi),...e.meta?{meta:{...e.meta}}:{}}}function zi(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 Ui(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=qi(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 qi(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]=pr(e,t[n],r);else{let o=pr(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function pr(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=Ji(e,n,r,i);return n=Yi(e,n.filter(i=>{let a=L(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Ji(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=on(e)}function Wi(e){let t=rn(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),an(r)}function on(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 an(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 Qi(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=lr.indexOf(i),u=lr.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 lr=["component","name","description"];function Yi(e,t){return[...t].sort((n,o)=>{let i=L(e,n)||"zz",a=L(e,o)||"zz",s=cr.indexOf(i),u=cr.indexOf(a);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:i.localeCompare(a)})}var cr=["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 mr(e,t){let r=`Builder.registerComponent(
13
13
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
14
14
  `:r+=` ${t.importName},
15
- `;else{let o=t.externalImportPath?t.externalImportPath:O(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
15
+ `;else{let o=t.externalImportPath?t.externalImportPath:B(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
16
16
  `:r+=` dynamic(() => import(${JSON.stringify(o)})),
17
17
  `:t.acceptsChildren?r+=` withChildren(dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName})),
18
18
  `:r+=` dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName}),
19
19
  `}r+=` {
20
20
  name: "${t.name}",
21
21
  }
22
- `,r+=");";let n=Bt(e,r);return rn(e,n,t)}function rn(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=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 Wn(e,t[0]),o=e.join(n,"typescript","lib"),i=new Map,a={fileExists:s=>{if(s=e.normalize(s),s.includes("node_modules")){let u=Et.get(s);if(!u){try{e.statSync(s).isFile()?u={exists:!0,content:e.readFileSync(s)}:u={exists:!1}}catch{u={exists:!1}}Et.set(s,u)}return u.exists}if(!i.has(s))if(e.existsSync(s)){let p=e.statSync(s);i.set(s,p.isFile())}else i.set(s,!1);return i.get(s)},getCanonicalFileName:s=>e.normalize(s),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(o,"lib.d.ts"),getDefaultLibLocation:()=>o,getNewLine:()=>`
23
- `,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let p=Et.get(s);if(p)return I(e,p.content)}let u;try{u=e.readFileSync(s)}catch{console.error(`Could not read: ${s}`),u==null}if(u==null){let p=e.basename(s),f=e.extname(p).toLowerCase();if(s.startsWith(o)&&f===".ts"&&(u=mr.get(p),u==null&&typeof self<"u"&&typeof fetch=="function"))throw new kt(p)}return s.includes("node_modules")&&(u?Et.set(s,{exists:!0,content:u}):Et.set(s,{exists:!1})),I(e,u)},readFile:s=>{let u=e.readFileSync(s);return typeof u=="string"?u:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return Qi(e,a,t,r)}catch(s){if(s instanceof kt){await Yi(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function Qi(e,t,r,n){let o={rootNames:[...r],host:t,options:{}},i=e.ts.findConfigFile(e.dirname(r[0]),a=>e.existsSync(a));if(i){let a=cr.get(i);if(!a){let s=e.ts.readConfigFile(i,u=>{let p=e.readFileSync(u);return typeof p=="string"?p:void 0});s.error?e.Sentry?.captureException(new Error("Error reading tsconfig for createTsProgram"),{extra:{error:s.error,tsConfigPath:i}}):(a=e.ts.parseJsonConfigFileContent(s.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(p,f)=>e.readdirSync(p),fileExists:p=>e.existsSync(p),readFile:p=>e.readFileSync(p)||void 0},e.dirname(i),void 0,i).options,cr.set(i,a))}a&&(o.options=se(a))}return o.options.noEmit=!0,o.options.isolatedModules=!1,o.options.strict=!1,o.options.jsx=e.ts.JsxEmit.Preserve,o.options.allowJs=!0,Object.assign(o.options,n),e.ts.createProgram(o)}async function it(e,t,r){r||(r=await G(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var kt=class{constructor(t){this.libName=t}};async function Yi(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Ot.has(t)||Ot.set(t,fetch(r).then(n=>n.text()).then(n=>{mr.set(t,n)})),await Ot.get(t),Ot.delete(t)}var mr=new Map,Ot=new Map,Et=new Map,cr=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Gi(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Hi(e,t,r.defaultImport,r.importPath,n)),t}function Gi(e,t,r,n,o,i){return i==="cjs"?dr(e,t,null,r,n):fr(e,t,null,r,n,o)}function Hi(e,t,r,n,o){return o==="cjs"?dr(e,t,r,null,n):fr(e,t,r,null,n,!1)}function fr(e,t,r,n,o,i){let a=[...t.statements],s=0,u=!1,p=!1;for(let 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=[],C=D.importClause?.namedBindings;if(C&&e.ts.isNamedImports(C)&&C.elements&&g.push(...C.elements),typeof n=="string"){if(g.some(x=>x.name.text===n))return t;g.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),g.sort((x,E)=>x.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 dr(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let u=i[s];if(e.ts.isVariableStatement(u))for(let p=0;p<u.declarationList.declarations.length;p++){let 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,x)=>!e.ts.isBindingElement(l)||!e.ts.isIdentifier(l.name)||!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?0:l.name.text.localeCompare(x.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"?Zi(e,t):Xi(e,t)}function Xi(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}else!n.exportClause&&n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:n});continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function Zi(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s})}else r.push({isDefaultExport:!0,statement:n,node:i});continue}}return r}function ea(e,t,r){for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&n.importClause){if(n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings)){for(let o of n.importClause.namedBindings.elements)if(e.ts.isIdentifier(o.name)&&o.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"named"}}if(n.importClause.name&&n.importClause.name.text===r&&e.ts.isStringLiteral(n.moduleSpecifier))return{importPath:n.moduleSpecifier.text,exportType:"default"}}return null}async function Fe(e,t,r,n){let o=ea(e,r,n);if(o){let i=await St(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getAppRootDir(),i);return{displayFilePath:k(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function at(e,t,r){for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(e.ts.isVariableStatement(o)){for(let i of o.declarationList.declarations)if(e.ts.isIdentifier(i.name)&&i.name.text===r)return{statement:o,statementIndex:n}}}return null}function J(e,t,r){let n=at(e,t,r);if(n&&n.statement.declarationList.declarations.length>0){let o=n.statement.declarationList.declarations[0];if(o.initializer&&e.ts.isArrayLiteralExpression(o.initializer))return{statement:n.statement,statementIndex:n.statementIndex,variableDeclaration:o,arrayLiteralExp:o.initializer}}return null}function Lt(e,t){if(t){if(ta(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Lt(e,n)&&(r=!0)}),r)return!0}return!1}function ta(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function St(e,t){let r=e.extname(t).toLowerCase();if(r===""||!on.includes(r)){for(let n of on){let o=t+n;if(await e.exists(o))return o}for(let n of on){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var on=[".tsx",".jsx",".ts",".js"];function st(e,t,r){if(!r||!t)return;let n=t.getSymbolAtLocation(r);if(!n)return;let o=n.valueDeclaration;if(!o)return;let i=o.getSourceFile().fileName,a=na(e,i);return a?[{name:a}]:void 0}function na(e,t){if(typeof t=="string"){t=e.normalize(ge(t));let r=t.split("/"),n=r.lastIndexOf("node_modules");if(n>-1){let o=r.slice(n+1),i=o[0];if(i)return i.startsWith("@")&&o[1]&&(i+="/"+o[1]),i}}}function Pe(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}function gr(e,t,r="esm"){return r==="cjs"?ia(e,t):oa(e,t)}var ra=/^(@\w|\w)/;function oa(e,t){let r=[];for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&e.ts.isLiteralExpression(n.moduleSpecifier)){if(!ra.test(n.moduleSpecifier.text)||n.importClause?.isTypeOnly)continue;if(n.importClause&&n.importClause.namedBindings&&e.ts.isNamedImports(n.importClause.namedBindings))for(let o of n.importClause.namedBindings.elements)o.isTypeOnly||r.push({isDefaultExport:!1,statement:n,node:o.name});n.importClause&&n.importClause.name&&r.push({isDefaultExport:!0,statement:n,node:n.importClause.name})}return r}function ia(e,t){return[]}async function ut(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await G(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{let s=n.getSourceFile(a.filePath);if(s){let p=(await Me(e,o,a.filePath,s,!1)).find(f=>f.cmpInfo.id===a.id);p&&(a.inputs=Ge(e,o,p.node.fnNode))}return a}))}async function pt(e,t,r,n){if(t.node.fnNode){let{sourceFile:o,typeChecker:i}=await it(e,t.cmpInfo.filePath,r),s=(await Me(e,i,t.cmpInfo.filePath,o,n)).find(u=>u.cmpInfo.id===t.cmpInfo.id);if(!s)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,s.node.fnNode)}return[]}async function Cr(e,t,r){let n=e.extname(t).toLowerCase();if(n===".tsx"||n===".jsx"||n===".ts"||n===".js"){let o=await e.readFile(t);if(o)return aa(e,t,o,r)}return null}function aa(e,t,r,n=!1){let o=I(e,r);return Me(e,null,t,o,n)}async function Me(e,t,r,n,o){let i=[];for(let s of n.statements)if(e.ts.isExpressionStatement(s)&&e.ts.isStringLiteral(s.expression)&&s.expression.text==="use server")return i;let a=ce(e,n);return o&&a.push(...gr(e,n)),r=e.normalize(r),await Promise.all(a.map(async s=>{let u=await sa(e,t,r,s);i.push(...u)})),i}async function sa(e,t,r,n){let o=[],i=e.relative(e.getAppRootDir(),r),a=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:k(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:k(e,r),name:u,inputs:[],exportName:p,exportType:f,importName:Qe(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:k(e,r),name:p,inputs:[],exportName:f,exportType:m,importName:u.name||Qe(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",c=ua(e,n.node)?.moduleSpecifier??pa(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:k(e,r),name:p,inputs:[],exportName:f,exportType:m,importName:u.name||Qe(e,r),filePath:r,relFilePath:i,importPath:s||a,externalImportPath:s,dependencies:u.deps,framework:"react"},node:u})}return o}if(e.ts.isExportDeclaration(n.node)&&n.node.exportClause===void 0){let s=n.node.moduleSpecifier;if(s&&e.ts.isStringLiteral(s)){let u=await ca(e,t,r,s);o.push(...u)}return o}return o}function ua(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function pa(e,t){for(;t;){if(e.ts.isImportDeclaration(t))return t;t=t.parent}return null}function ke(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Lt(e,r.body)?{name:"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Lt(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(e.ts.isPropertyAccessExpression(n)){let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null:ke(e,t,o[0])}else if(e.ts.isIdentifier(n)&&(n.text==="observer"||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 xr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.normalize(i.fileName);if(Rt(e,la,i.fileName)||a===e.reactConfigPath||a===e.builderComponentPath)return;let s=await Me(e,o,a,i,a===e.registryPath);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var la=new Set(["node_modules","dist"]);async function ca(e,t,r,n){let o=[],i=n.text;if(!t)return o;try{let a=t.getSymbolAtLocation(n);if(!a)return o;let s=t.getExportsOfModule(a);for(let u of s){let p=u.valueDeclaration||u.declarations?.[0];if(!p)continue;let f=u.name;if(!nt(f)&&f!=="default"||!hr(e,t,p))continue;let m=ke(e,t,p);if(m){let c=u.name,d=c==="default"?"default":"named",D=K(c),g=c==="default"?Qe(e,r):c;o.push({cmpInfo:{id:await V(e,r,c,i),displayFilePath:k(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 hr(e,t,r){if(e.ts.isInterfaceDeclaration(r)||e.ts.isTypeAliasDeclaration(r))return!1;if(e.ts.isExportSpecifier(r)){let n=t.getSymbolAtLocation(r.name);if(n){let i=t.getAliasedSymbol(n).declarations?.[0];if(i)return hr(e,t,i)}return!1}if(e.ts.isFunctionDeclaration(r)||e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)){let n=t.getSignatureFromDeclaration(r);if(n){let o=t.getReturnTypeOfSignature(n);return Dr(o,t)}}return e.ts.isClassDeclaration(r)?r.heritageClauses?.some(o=>o.types.some(i=>i.expression.getText()==="React.Component"||i.expression.getText()==="Component"))??!1:e.ts.isVariableDeclaration(r)?t.getTypeAtLocation(r).getCallSignatures().some(i=>Dr(t.getReturnTypeOfSignature(i),t)):!1}function Dr(e,t){let r=t.typeToString(e);return r==="JSX.Element"||r==="Element"||r.includes("ReactElement")||r.includes("React.ReactElement")||r.includes("ReactNode")}async function Er(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(e.appDir&&ma.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.builderComponentPath)return;let u=await Me(e,o,s,i,s===e.registryPath||he(s));r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ma=new Set(["default.tsx","default.ts","default.jsx","default.js","error.tsx","error.ts","error.jsx","error.js","layout.tsx","layout.ts","layout.jsx","layout.js","loading.tsx","loading.ts","loading.jsx","loading.js","not-found.tsx","not-found.ts","not-found.jsx","not-found.js","page.tsx","page.ts","page.jsx","page.js","route.tsx","route.ts","route.jsx","route.js","template.tsx","template.ts","template.jsx","template.js"]);function ye(e,t){let r=[],n=[],o=[],i=[];for(let a of t.statements){if(e.ts.isImportDeclaration(a)){if(e.ts.isStringLiteral(a.moduleSpecifier)){let u=a.moduleSpecifier.text;if(!u.startsWith(".")&&!u.startsWith("/")){r.push(a);continue}}let s=a.importClause;if(s){if(s.namedBindings){n.push(a);continue}if(s.name){n.push(a);continue}}o.push(a);continue}i.push(a)}return e.ts.factory.updateSourceFile(t,[...an(e,r),...an(e,n),...an(e,o),...i])}function me(e){let t=e.split(`
22
+ `,r+=");";let n=Ot(e,r);return sn(e,n,t)}function sn(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 Yn(e,t[0]),o=e.join(n,"typescript","lib"),i=new Map,a={fileExists:s=>{if(s=e.normalize(s),s.includes("node_modules")){let u=Et.get(s);if(!u){try{e.statSync(s).isFile()?u={exists:!0,content:e.readFileSync(s)}:u={exists:!1}}catch{u={exists:!1}}Et.set(s,u)}return u.exists}if(!i.has(s))if(e.existsSync(s)){let p=e.statSync(s);i.set(s,p.isFile())}else i.set(s,!1);return i.get(s)},getCanonicalFileName:s=>e.normalize(s),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(o,"lib.d.ts"),getDefaultLibLocation:()=>o,getNewLine:()=>`
23
+ `,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let p=Et.get(s);if(p)return I(e,p.content)}let u;try{u=e.readFileSync(s)}catch{console.error(`Could not read: ${s}`),u==null}if(u==null){let p=e.basename(s),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 Lt(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 Gi(e,a,t,r)}catch(s){if(s instanceof Lt){await Hi(e,s.libName);continue}throw e.Sentry?.captureException(s),new Error(`createTsProgram() Could not create program for: ${t[0]}`,{cause:s})}}function Gi(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=fr.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,fr.set(i,a))}a&&(o.options=se(a))}return o.options.noEmit=!0,o.options.isolatedModules=!1,o.options.strict=!1,o.options.jsx=e.ts.JsxEmit.Preserve,o.options.allowJs=!0,Object.assign(o.options,n),e.ts.createProgram(o)}async function it(e,t,r){r||(r=await G(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var Lt=class{constructor(t){this.libName=t}};async function Hi(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;kt.has(t)||kt.set(t,fetch(r).then(n=>n.text()).then(n=>{dr.set(t,n)})),await kt.get(t),kt.delete(t)}var dr=new Map,kt=new Map,Et=new Map,fr=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Xi(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Zi(e,t,r.defaultImport,r.importPath,n)),t}function Xi(e,t,r,n,o,i){return i==="cjs"?Dr(e,t,null,r,n):gr(e,t,null,r,n,o)}function Zi(e,t,r,n,o){return o==="cjs"?Dr(e,t,r,null,n):gr(e,t,r,null,n,!1)}function gr(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 Dr(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let u=i[s];if(e.ts.isVariableStatement(u))for(let p=0;p<u.declarationList.declarations.length;p++){let 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"?ta(e,t):ea(e,t)}function ea(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 ta(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 na(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=na(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 _t(e,t){if(t){if(ra(e,t))return!0;let r=!1;if(t.forEachChild(n=>{_t(e,n)&&(r=!0)}),r)return!0}return!1}function ra(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===""||!un.includes(r)){for(let n of un){let o=t+n;if(await e.exists(o))return o}for(let n of un){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var un=[".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=oa(e,i);return a?[{name:a}]:void 0}function oa(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 xr(e,t,r="esm"){return r==="cjs"?sa(e,t):aa(e,t)}var ia=/^(@\w|\w)/;function aa(e,t){let r=[];for(let n of t.statements)if(e.ts.isImportDeclaration(n)&&e.ts.isLiteralExpression(n.moduleSpecifier)){if(!ia.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 sa(e,t){return[]}async function ut(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await G(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{let s=n.getSourceFile(a.filePath);if(s){let p=(await Me(e,o,a.filePath,s,!1)).find(f=>f.cmpInfo.id===a.id);p&&(a.inputs=Ge(e,o,p.node.fnNode))}return a}))}async function pt(e,t,r,n){if(t.node.fnNode){let{sourceFile:o,typeChecker:i}=await it(e,t.cmpInfo.filePath,r),s=(await Me(e,i,t.cmpInfo.filePath,o,n)).find(u=>u.cmpInfo.id===t.cmpInfo.id);if(!s)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,s.node.fnNode)}return[]}async function hr(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 ua(e,t,o,r)}return null}function ua(e,t,r,n=!1){let o=I(e,r);return Me(e,null,t,o,n)}async function Me(e,t,r,n,o){let i=[];for(let s of n.statements)if(e.ts.isExpressionStatement(s)&&e.ts.isStringLiteral(s.expression)&&s.expression.text==="use server")return i;let a=ce(e,n);return o&&a.push(...xr(e,n)),r=e.normalize(r),await Promise.all(a.map(async s=>{let u=await pa(e,t,r,s);i.push(...u)})),i}async function pa(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:Qe(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||Qe(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=la(e,n.node)?.moduleSpecifier??ca(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||Qe(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 fa(e,t,r,s);o.push(...u)}return o}return o}function la(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function ca(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 _t(e,r.body)?{name:"",fnNode:r,deps:st(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return _t(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 Er(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(Bt(e,ma,i.fileName)||a===e.reactConfigPath||a===e.builderComponentPath)return;let s=await Me(e,o,a,i,a===e.registryPath);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ma=new Set(["node_modules","dist"]);async function fa(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"||!Sr(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"?Qe(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 Sr(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 Sr(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 Cr(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=>Cr(t.getReturnTypeOfSignature(i),t)):!1}function Cr(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 Ar(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&&da.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.builderComponentPath)return;let u=await Me(e,o,s,i,s===e.registryPath||he(s));r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var da=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,[...pn(e,r),...pn(e,n),...pn(e,o),...i])}function me(e){let t=e.split(`
24
24
  `).map(n=>n.trimEnd());e="";let r=!1;for(let n=t.length-1;n>=0;n--){let o=t[n];!r&&o.startsWith("import ")&&(r=!0,o=o+`
25
25
  `),/^builder.init(.*)$/.test(o)&&(o=o+`
26
26
  `),t[n-1]&&!t[n-1].includes("*/")&&(o.trim().startsWith("Builder.registerComponent")&&(o=`
@@ -29,12 +29,12 @@ ${r}=${n}
29
29
  `+o),o.trim().startsWith("export ")&&(o=`
30
30
  `+o)),e=o+`
31
31
  `+e}return e.trim()+`
32
- `}function an(e,t){return t.sort((r,n)=>{let o=Sr(e,r),i=Sr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Sr(e,t){let r=t.importClause;if(r){let n=r.namedBindings;if(n&&e.ts.isNamedImports(n)&&n.elements.length>0)return n.elements[0].name.text;if(r.name)return r.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function Fr(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
33
- ${e}`),e}function Pr(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function we(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=Ar(e,r),i=Ar(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Ar(e,t){let r=t.properties.find(n=>R(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function yr(e){let t=await e.readFile(e.registryPath);return t?fa(e,t):{components:[],sourceFile:I(e,"")}}async function fa(e,t){let r=I(e,t);return e.sdkVersion===w.gen2?ga(e,r):da(e,r)}async function da(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let p=i.arguments;if(p.length<2)continue;let 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=pn(e,m.arguments[0]);if(e.ts.isCallExpression(D)){let g=await sn(e,n,D,f,!0);g&&r.push(g)}else{let g=D;if(e.ts.isIdentifier(g)){let C=await un(e,t,n,g,f,!0);C&&r.push(C)}}continue}if(c==="dynamic"){let D=await sn(e,n,m,f,!1);D&&r.push(D);continue}let d=pn(e,m.arguments[0]);if(e.ts.isCallExpression(d)&&e.ts.isIdentifier(d.expression)&&d.expression.text==="dynamic"){let D=await sn(e,n,d,f,!1);D&&r.push(D);continue}if(e.ts.isIdentifier(d)){let D=await un(e,t,n,d,f,!1);D&&r.push(D);continue}continue}if(e.ts.isIdentifier(m)){let c=await un(e,t,n,m,f,!1);c&&r.push(c);continue}}return{sourceFile:t,components:oe(r)}}function pn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:pn(e,t.arguments[0]):t}async function sn(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o,framework:"react"},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let u=s.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let 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=ie(e,i,n),i.displayFilePath=k(e,i.filePath),i.filePath&&i.exportName&&(i.id=await V(e,i.filePath,i.exportName,i.externalImportPath)),i}async function un(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i,framework:"react"},s=t.statements.filter(p=>e.ts.isImportDeclaration(p)),u=s.find(p=>p.importClause&&p.importClause.name?.text===n.text);if(u){let p=u.moduleSpecifier;if(!e.ts.isStringLiteral(p))return null;let 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=ie(e,a,o),a.displayFilePath=k(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 wr(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(Ae)),s=r?e.ts.factory.createNonNullExpression(a):a,u=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return i.splice(o+1,0,u),e.ts.factory.updateSourceFile(t,i)}async function ga(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await ln(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function ln(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};ot(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(R(e,i)==="component"){let s,{initializer:u}=i;if(e.ts.isCallExpression(u)&&(e.ts.isIdentifier(u.expression)&&u.expression.text)==="dynamic"){let d=u.arguments;if(d.length===0)return null;let 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 x=l.text,E=await lt(e,x);n.filePath=E,n.relFilePath=e.relative(e.getAppRootDir(),n.filePath),await e.exists(E)?n.importPath=M(e,n.filePath):(n.externalImportPath=x,n.importPath=n.externalImportPath),n.name=le(e,n.filePath),n.importName="default",n.exportName="default",n.exportType="default"}else if(e.ts.isPropertyAccessExpression(g)){let C=g.expression;if(!e.ts.isParenthesizedExpression(C))return null;let l=C.expression;if(!e.ts.isAwaitExpression(l))return null;let x=l.expression;if(!e.ts.isCallExpression(x)||x.expression.kind!==e.ts.SyntaxKind.ImportKeyword||x.arguments.length!==1)return null;let F=x.arguments[0];if(!e.ts.isStringLiteral(F)||!e.ts.isIdentifier(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=k(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(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=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 c=m.text;br(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;br(e,t,u)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function br(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),c=r.find(d=>d.id===e);if(n)c||(s={...se(m),inputs:se(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=se(c),r=r.filter(d=>d.id!==e);else if(i!=null)Da(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:(Ca(d,a),d.isRegistered=!0),p=c,f=c.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(nn),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=tn(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function Da(e,t){ne(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),ne(t.description)?e.description=t.description:t.description===null&&delete e.description,ne(t.image)?e.image=t.image:t.image===null&&delete e.image}function Ca(e,t){ne(t.type)&&(e.type=t.type),ne(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,ne(t.defaultValue)||Dt(t.defaultValue)||tt(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,ne(t.helperText)?e.helperText=t.helperText:t.helperText===null&&delete e.helperText,t.required===!0?e.required=t.required:(t.required===null||t.required===!1)&&delete e.required}async function Ue(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),u=e.extname(a).toLowerCase();if(u===".tsx"||u===".jsx"||u===".ts"||u===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getAppRootDir()),await G(e,[...t])}function ve(e,t,r){return at(e,t,r.variableName)?t:xa(e,t,r)}function xa(e,t,r){let n=typeof r.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(r.arrayType,void 0)):void 0,o=e.ts.factory.createArrayLiteralExpression([]),i=e.ts.factory.createVariableDeclaration(r.variableName,void 0,n,o),a=e.ts.factory.createVariableDeclarationList([i],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),u=e.ts.factory.createVariableStatement([s],a),p=[...t.statements,u];return e.ts.factory.updateSourceFile(t,p)}async function Ie(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,f,m,c]=await Promise.all([Er(e,u),yr(e),ae(e),Ct(e)]),d=p.map(E=>E.cmpInfo),D=f.components,g={components:De(d,D),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(d),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await ut(e,g.components),g;let C=!1,l=f.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.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(y=>y.id===S.cmpInfo.id),$=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(B,$);let L=d.findIndex(y=>y.id===S.cmpInfo.id);d[L].inputs=$;let P=Te(S.cmpInfo.id,d,D,r,n,o,i);if(e.sdkVersion===w.gen2){let{elements:y,elmIndex:ee,statementIndex:de,statement:Y,variableDeclaration:_}=await Sa(e,l,S);if(P.addCmpToRegistry)y.push(Ea(e,P.addCmpToRegistry)),C=!0;else if(P.removeCmpFromRegistry)y.splice(ee,1),C=!0;else if(P.updateRegisteredCmp){let te=W(e,y[ee],P.updateRegisteredCmp);y[ee]=e.ts.factory.updateObjectLiteralExpression(te,[vr(e,P.updateRegisteredCmp),...te.properties.slice(1)]),C=!0}if(C&&a){let te=[...l.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(we(e,y)))])),l=e.ts.factory.updateSourceFile(l,te),l=Tr(e,P,l),l=v(e,l,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),l=ve(e,l,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=P.components,D=P.components.filter(We=>We.isRegistered)}}else{let y=[...l.statements];P.addCmpToRegistry?(y.push(lr(e,P.addCmpToRegistry)),C=!0):P.removeCmpFromRegistry?(y.splice(P.nodeIndex,1),C=!0):P.updateRegisteredCmp&&(y[P.nodeIndex]=rn(e,y[P.nodeIndex],P.updateRegisteredCmp),C=!0),C&&a&&(l=e.ts.factory.updateSourceFile(l,y),l=v(e,l,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),l=wr(e,l,m),l=Tr(e,P,l),B?.acceptsChildren&&(l=v(e,l,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=P.components,D=P.components.filter(ee=>ee.isRegistered))}}}if(C&&a){l=be(e,l),l=ye(e,l),e.appDir&&(l=Pr(e,l));let E=j(e,l);E=me(E),e.appDir&&(E=Fr(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}function vr(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",Aa(e,t))}function ha(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function Ea(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([vr(e,t),...t.acceptsChildren?[ha(e)]:[]],!0),t)}async function Sa(e,t,r){let n=J(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await ln(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function Tr(e,t,r){if(e.appDir){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:O(e,e.registryPath,n.filePath);n.exportType==="default"?r=v(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=v(e,r,{namedImports:[n.importName],importPath:o}))}}else r=v(e,r,{defaultImport:"dynamic",importPath:"next/dynamic"});return r}function Aa(e,t){let r=t.externalImportPath?t.externalImportPath:O(e,e.registryPath,t.filePath),n=t.exportName!=="default",o;n?o=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createAwaitExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)])),e.ts.factory.createIdentifier(t.exportName)):o=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(r)]);let i=e.ts.factory.createArrowFunction(n?[e.ts.factory.createModifier(e.ts.SyntaxKind.AsyncKeyword)]:void 0,void 0,[],void 0,e.ts.factory.createToken(e.ts.SyntaxKind.EqualsGreaterThanToken),o);return e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("dynamic"),void 0,[i])}async function Nr(e){let t=[],r=await ba(e,t);return await Lr(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Pa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await ya(e,e.pagesDir,t)),t}async function Rr(e){let t=[];return await Lr(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Fa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await wa(e,e.pagesDir,t)),t}async function Fa(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"figma-imports",n);if(!await e.exists(o)){let i=await e.formatCode(o,Or({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let i=await e.formatCode(e.builderComponentPath,Br(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function Pa(e,t,r){let n=`page.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,"[...page]",n);if(!await e.exists(o)){let i=await e.formatCode(o,Or({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let i=await e.formatCode(e.builderComponentPath,Br(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Br(e){let t=e.typescriptEnabled;return e.sdkVersion===w.gen2?`
32
+ `}function pn(e,t){return t.sort((r,n)=>{let o=Fr(e,r),i=Fr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function Fr(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 wr(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
33
+ ${e}`),e}function yr(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=Pr(e,r),i=Pr(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function Pr(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?ga(e,t):{components:[],sourceFile:I(e,"")}}async function ga(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?xa(e,r):Da(e,r)}async function Da(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let p=i.arguments;if(p.length<2)continue;let 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=mn(e,m.arguments[0]);if(e.ts.isCallExpression(D)){let g=await ln(e,n,D,f,!0);g&&r.push(g)}else{let g=D;if(e.ts.isIdentifier(g)){let x=await cn(e,t,n,g,f,!0);x&&r.push(x)}}continue}if(l==="dynamic"){let D=await ln(e,n,m,f,!1);D&&r.push(D);continue}let d=mn(e,m.arguments[0]);if(e.ts.isCallExpression(d)&&e.ts.isIdentifier(d.expression)&&d.expression.text==="dynamic"){let D=await ln(e,n,d,f,!1);D&&r.push(D);continue}if(e.ts.isIdentifier(d)){let D=await cn(e,t,n,d,f,!1);D&&r.push(D);continue}continue}if(e.ts.isIdentifier(m)){let l=await cn(e,t,n,m,f,!1);l&&r.push(l);continue}}return{sourceFile:t,components:oe(r)}}function mn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:mn(e,t.arguments[0]):t}async function ln(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 cn(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 Tr(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 xa(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await fn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function fn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};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;Ir(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;Ir(e,t,u)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Ir(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)Ca(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:(ha(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(an),n.inputs.sort((a,s)=>a.name.toLowerCase().localeCompare(s.name.toLowerCase()));let o=t.find(a=>a.id===n.id);o&&(o.acceptsChildren=on(n));let i=e.find(a=>a.id===n.id&&a.externalImportPath);i&&(n.filePath=i.filePath,n.relFilePath=i.relFilePath)}),r}function Ca(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 ha(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 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 Ie(e,t,r){return at(e,t,r.variableName)?t:Ea(e,t,r)}function Ea(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 ze(e),[p,f,m,l]=await Promise.all([Ar(e,u),br(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 G(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:Y,variableDeclaration:_}=await Fa(e,c,S);if(P.addCmpToRegistry)w.push(Aa(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,[Rr(e,P.updateRegisteredCmp),...te.properties.slice(1)]),x=!0}if(x&&a){let te=[...c.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),c=e.ts.factory.updateSourceFile(c,te),c=vr(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(We=>We.isRegistered)}}else{let w=[...c.statements];P.addCmpToRegistry?(w.push(mr(e,P.addCmpToRegistry)),x=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),x=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=sn(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=Tr(e,c,m),c=vr(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=yr(e,c));let E=j(e,c);E=me(E),e.appDir&&(E=wr(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}function Rr(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",r):e.ts.factory.createPropertyAssignment("component",Pa(e,t))}function Sa(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function Aa(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([Rr(e,t),...t.acceptsChildren?[Sa(e)]:[]],!0),t)}async function Fa(e,t,r){let n=J(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await fn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function vr(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 Pa(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 Br(e){let t=[],r=await Ia(e,t);return await jr(e,t,r),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await ya(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 Or(e){let t=[];return await jr(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await wa(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Ta(e,e.pagesDir,t)),t}async function wa(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,Lr({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 ya(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,Lr({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?`
34
34
  "use client";
35
35
  import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
36
36
  import DefaultErrorPage from "next/error";
37
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
37
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
38
38
  ${t?`
39
39
  interface BuilderPageProps {
40
40
  content: BuilderContent | null;
@@ -68,7 +68,7 @@ ${t?'import { ComponentProps } from "react";':""}
68
68
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
69
69
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
70
70
  import DefaultErrorPage from "next/error";
71
- import ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
71
+ import ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
72
72
  ${t?`
73
73
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
74
74
 
@@ -89,7 +89,7 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
89
89
  // DefaultErrorPage with a 404.
90
90
  return <DefaultErrorPage statusCode={404} />;
91
91
  }
92
- `.trimStart()}function Ir(e){return e.features.asyncParams?`
92
+ `.trimStart()}function Nr(e){return e.features.asyncParams?`
93
93
  interface PageProps {
94
94
  params: Promise<{
95
95
  page: string[];
@@ -99,14 +99,14 @@ interface PageProps {
99
99
  params: {
100
100
  page: string[];
101
101
  };
102
- }`}function Or({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.builderComponentPath);return e.sdkVersion===w.gen2?`
102
+ }`}function Lr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=B(e,t,e.builderComponentPath);return e.sdkVersion===y.gen2?`
103
103
  import { fetchOneEntry } from "@builder.io/sdk-react";
104
104
  import { RenderBuilderContent } from ${JSON.stringify(o)};
105
105
 
106
106
  // Builder Public API Key set in .env file
107
107
  const PUBLIC_API_KEY = process.env.${Ae}${n?"!":""};
108
108
 
109
- ${n?Ir(e):""}
109
+ ${n?Nr(e):""}
110
110
 
111
111
  export default async function Page(props${n?": PageProps":""}) {
112
112
  const builderModelName = "${r}";
@@ -134,7 +134,7 @@ import { RenderBuilderContent } from ${JSON.stringify(o)};
134
134
 
135
135
  // Builder Public API Key set in .env file
136
136
  builder.init(process.env.${Ae}${n?"!":""});
137
- ${n?Ir(e):""}
137
+ ${n?Nr(e):""}
138
138
 
139
139
  export default async function Page(props${n?": PageProps":""}) {
140
140
  const builderModelName = "${r}";
@@ -157,7 +157,7 @@ export default async function Page(props${n?": PageProps":""}) {
157
157
  </>
158
158
  );
159
159
  }
160
- `.trimStart()}async function ya(e,t,r){let n=`[...page].${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,kr({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function wa(e,t,r){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,kr({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function kr({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===w.gen2?`
160
+ `.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,_r({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Ta(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,_r({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function _r({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return e.sdkVersion===y.gen2?`
161
161
  import React from "react";
162
162
  import { useRouter } from "next/router";
163
163
  ${n?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
@@ -170,7 +170,7 @@ import {
170
170
  import DefaultErrorPage from "next/error";
171
171
  import Head from "next/head";
172
172
  ${n?'import { GetStaticProps } from "next";':""}
173
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
173
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,e.builderComponentPath,e.registryPath))};
174
174
 
175
175
  const BUILDER_API_KEY = process.env.${Ae}${n?"!":""};
176
176
 
@@ -254,7 +254,7 @@ import DefaultErrorPage from "next/error";
254
254
  import Head from "next/head";${n?`
255
255
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
256
256
  import { GetStaticProps } from "next";`:""}
257
- import ${JSON.stringify(O(e,t,e.registryPath))};
257
+ import ${JSON.stringify(B(e,t,e.registryPath))};
258
258
 
259
259
  builder.init(process.env.${Ae}${n?"!":""});
260
260
 
@@ -321,7 +321,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
321
321
  </>
322
322
  );
323
323
  }
324
- `.trimStart()}async function ba(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}=Ta(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 Ta(e){let t=e.typescriptEnabled,r=`
324
+ `.trimStart()}async function Ia(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:u}=va(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 va(e){let t=e.typescriptEnabled,r=`
325
325
  "use client"
326
326
  import React, { useState } from "react";
327
327
  import styles from "./styles.module.css";
@@ -384,18 +384,18 @@ export default Counter;
384
384
  font-size: 42px;
385
385
  text-align: center;
386
386
  }
387
- `.trimStart();return{component:r,styles:n}}async function Lr(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===w.gen2){let i=va(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");t.push({filePath:e.registryPath,modifiedType:"create"})}if(!r)return;let o=(await Ie(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Ie(e,o.id,!0,!1,null,null,!0,!1)}function va(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
387
+ `.trimStart();return{component:r,styles:n}}async function jr(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=Ra(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 Ra(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
388
388
 
389
389
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
390
390
  ];`:`export const CUSTOM_COMPONENTS = [
391
391
  ];
392
- `}async function ct(e){let t=await dt(e,e.getRepoRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return w.gen2;if(r.has("@builder.io/react"))return w.gen1}return null}async function _r(e){let t=await Ia(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Nr(t),ensureFigmaImportPage:()=>Rr(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ie(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Ie(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ie(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ie(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ie(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ie(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ct(t),setPublicApiKey:n=>or(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===w.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function Ia(e){let t=e.getAppRootDir(),r=e.join(t,"src"),n=await Na(e),o=await ae(e),i=e.getFrameworks().find(p=>p.name==="next"),a={asyncParams:i?.version?.major!==void 0&&i.version.major>=15},s={},u={...e,addExternalPackage:p=>{s[e.join(t,p,"index.ts")]=`export * from "${p}";`},readFileSync:p=>s[p]??e.readFileSync(p),existsSync:p=>!!s[p]||e.existsSync(p),readdirSync:p=>{let 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 Na(e){let t=e.join(e.getAppRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getAppRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getAppRootDir()}".`)}async function At(e){return await $e(e,[".env"],Vr)}async function jr(e,t){Ra(t);let r=await At(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Ra(e){typeof process<"u"&&(process.env[Vr]=e)}var Vr="PUBLIC_BUILDER_API_KEY";function $r(e,t,r){if(r.length===0)return e;let n=e.split(`
392
+ `}async function ct(e){let t=await dt(e,e.getRepoRootDir());if(t&&typeof t=="object"){let r=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(r.has("@builder.io/sdk-react"))return y.gen2;if(r.has("@builder.io/react"))return y.gen1}return null}async function Vr(e){let t=await Na(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>Br(t),ensureFigmaImportPage:()=>Or(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=>ar(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 Na(e){let t=e.getAppRootDir(),r=e.join(t,"src"),n=await Ba(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 Ba(e){let t=e.join(e.getAppRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getAppRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getAppRootDir()}".`)}async function At(e){return await $e(e,[".env"],Kr)}async function $r(e,t){Oa(t);let r=await At(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Oa(e){typeof process<"u"&&(process.env[Kr]=e)}var Kr="PUBLIC_BUILDER_API_KEY";function Mr(e,t,r){if(r.length===0)return e;let n=e.split(`
393
393
  `),o=n.findIndex(s=>s.includes(r));if(o===-1||n.some(s=>s.includes(t[0])))return e;let a=["/**",...t.map(s=>` * ${s.trim()}`)," */"];return n.splice(o,0,...a),n.join(`
394
- `)}async function Mr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||ka.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await _t(e,o,s,i);r.push(...u)})),r}async function Ur(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ba(e,t,n)}return null}function Ba(e,t,r){let n=I(e,r);return _t(e,null,t,n)}async function _t(e,t,r,n){r=e.normalize(r);let o=[],i=ce(e,n);return await Promise.all(i.map(async a=>{let s=await Oa(e,t,r,a);s&&o.push(s)})),o}async function Oa(e,t,r,n){let o=e.relative(e.getAppRootDir(),r),i=M(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Kr(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let u=a.name.text;return{cmpInfo:{id:await V(e,r,u),displayFilePath:k(e,r),name:K(u),inputs:[],exportName:n.isDefaultExport?"default":u,exportType:n.isDefaultExport?"default":"named",importName:u,filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=Kr(e,n.node);if(a)return{cmpInfo:{id:await V(e,r,"default"),displayFilePath:k(e,r),name:le(e,r),inputs:[],exportName:"default",exportType:"default",importName:Qe(e,r),filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:a}}return null}function Kr(e,t){if(t&&e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)&&t.expression.text==="component$"&&t.arguments.length>0){let r=t.arguments[0];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))return{callExpression:t,fnNode:r}}return null}var ka=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function zr(e,t){let r=t.node.fnNode;if((e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r))&&r.parameters.length>0){let{sourceFile:o,typeChecker:i}=await it(e,t.cmpInfo.filePath,null);if(!(await _t(e,i,t.cmpInfo.filePath,o)).find(u=>u.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Ge(e,i,r)}return[]}async function qr(e){return cn(e)}async function cn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,La),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var La=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
394
+ `)}async function Ur(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(".")||_a.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}async function qr(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 jt(e,null,t,n)}async function jt(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 La(e,t,r,a);s&&o.push(s)})),o}async function La(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=zr(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=zr(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:Qe(e,r),filePath:r,relFilePath:o,importPath:i,framework:"qwik"},node:a}}return null}function zr(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 _a=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Jr(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 jt(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 Wr(e){return dn(e)}async function dn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ja),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var ja=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
395
395
 
396
396
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
397
397
  ];
398
- `;async function Jr(e){await cn(e);let t=await e.readFile(e.registryPath);return t?_a(e,t):{components:[],sourceFile:I(e,"")}}async function _a(e,t){let r=I(e,t);return ja(e,r)}async function ja(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await mn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function mn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],framework:"qwik"};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(R(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=K(a)),n.importName=a;let s=await Fe(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=M(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let u=await Ur(e,s.filePath);if(u&&u.length>0)if(u.length===1)n.exportName=u[0].cmpInfo.exportName;else{let p=u.find(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 Wr(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 Wr(e),[p,f,m]=await Promise.all([Mr(e,u),Jr(e),At(e)]),c=p.map(g=>g.cmpInfo),d=f.components,D={components:De(c,d),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(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 C=f.sourceFile,l=D.components.find(P=>P.id===t),x=await zr(e,g);ue(l,x),t=Array.isArray(t)?t[0]:t;let E=Te(t,c,d,r,n,o,i),{elements:F,elmIndex:A,statementIndex:S,statement:B,variableDeclaration:$}=await $a(e,C,g),L=!1;if(E.addCmpToRegistry?(F.push(Va(e,E.addCmpToRegistry)),L=!0):E.removeCmpFromRegistry?(F.splice(A,1),L=!0):E.updateRegisteredCmp&&(F[A]=W(e,F[A],E.updateRegisteredCmp),L=!0),L&&a){let P=[...C.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(we(e,F)))])),C=e.ts.factory.updateSourceFile(C,P),l.exportType==="named"?C=v(e,C,{namedImports:[l.importName],importPath:O(e,e.registryPath,l.filePath)}):C=v(e,C,{defaultImport:l.importName,importPath:O(e,e.registryPath,l.filePath)}),C=v(e,C,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),C=ve(e,C,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),C=be(e,C),C=ye(e,C);let y=j(e,C);y=me(y),y=$r(y,Ka,"CUSTOM_COMPONENTS"),y=await e.formatCode(e.registryPath,y),await e.writeFile(e.registryPath,y)}D.components=E.components}return D}function Va(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function $a(e,t,r){let n=J(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await mn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Ka=["This array is used to integrate custom components within Builder.","https://www.builder.io/c/docs/custom-components-intro","",'These components will be found the "Custom Components"',"section of Builder's visual editor.",'You can also turn on "components only mode" to limit',"editing to only these components.","https://www.builder.io/c/docs/guides/components-only-mode"];async function Qr(e){let t=await Ma(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>qr(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>He(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:async n=>{},loadComponent:async n=>{let o=await He(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>He(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>He(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>He(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>He(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>At(t),setPublicApiKey:n=>jr(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function Ma(e){let t=await gt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let r=await pe(e,t),n=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ft(e){return await $e(e,[".env"],Pt)}async function Yr(e,t){let r=await Ft(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Pt="PUBLIC_BUILDER_KEY";var Ua=new Set(["dist","node_modules"]);async function Gr(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getAppRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Rt(e,Ua,a.fileName)||za.has(s)||s.includes("$."))return;let u=e.normalize(a.fileName);if(u===e.remixConfigPath||u===i)return;let p=await Me(e,o,u,a,u===e.registryPath);r.push(...p)})),r}var za=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Hr(e){await jt(e);let t=await e.readFile(e.registryPath);return t?qa(e,t):{components:[],sourceFile:I(e,"")}}async function qa(e,t){let r=I(e,t);return Ja(e,r)}async function Ja(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await fn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function fn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};e.sdkVersion===w.gen2&&ot(e,r)&&(n.acceptsChildren=!0);for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(R(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let 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 Cr(e,u.filePath,e.registryPath===u.filePath||he(u.filePath));if(p&&p.length>0)if(p.length===1)n.exportName=p[0].cmpInfo.exportName;else{let 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 Ne(e,t,r,n,o,i,a,s){let u=await Ue(e),[p,f,m]=await Promise.all([Gr(e,u),Hr(e),Ft(e)]),c=p.map(x=>x.cmpInfo),d=f.components,D={components:De(c,d),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(c),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await ut(e,D.components),D;let g=!1,C=f.sourceFile,l=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(l.length>0){let x=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(x.map(A=>A.cmpInfo.filePath))),F=await G(e,E);for(let A of x){let S=D.components.find(_=>_.id===A.cmpInfo.id),B=await pt(e,A,F,e.registryPath===A.cmpInfo.filePath||he(A.cmpInfo.filePath));ue(S,B);let $=c.findIndex(_=>_.id===A.cmpInfo.id);c[$].inputs=B;let L=Te(A.cmpInfo.id,c,d,r,n,o,i),{elements:P,elmIndex:y,statementIndex:ee,statement:de,variableDeclaration:Y}=await Qa(e,C,A);if(L.addCmpToRegistry)P.push(Wa(e,L.addCmpToRegistry)),g=!0;else if(L.removeCmpFromRegistry)P.splice(y,1),g=!0;else if(L.updateRegisteredCmp){let _=W(e,P[y],L.updateRegisteredCmp);P[y]=e.ts.factory.updateObjectLiteralExpression(_,[Xr(e,L.updateRegisteredCmp),..._.properties.slice(1)]),g=!0}if(g&&a){let _=[...C.statements];_[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(we(e,P)))])),C=e.ts.factory.updateSourceFile(C,_),S.exportType==="named"?C=v(e,C,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)}):C=v(e,C,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)});let te=e.sdkVersion===w.gen2?"@builder.io/sdk-react":"@builder.io/react";C=v(e,C,{namedImports:["RegisteredComponent"],importPath:te,isTypeOnly:!0}),S.acceptsChildren&&e.sdkVersion!==w.gen2&&(C=v(e,C,{namedImports:["withChildren"],importPath:"@builder.io/react"})),C=ve(e,C,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=L.components,d=L.components.filter(We=>We.isRegistered)}}}if(g&&a){C=be(e,C),C=ye(e,C);let x=j(e,C);x=me(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return D}function Xr(e,t){if(e.sdkVersion===w.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 Wa(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([Xr(e,t),...t.acceptsChildren&&e.sdkVersion===w.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!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 fn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Zr(e){let t=[],r=await Ha(e,t);return t.push(...await jt(e)),await Za(e,r),await Ga(e,t),t}async function eo(e){let t=[];return t.push(...await jt(e)),await Ya(e,t),t}async function Ya(e,t){let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureFigmaImportRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureFigmaImportRoute, hasRoute: ${o}`);let i=await e.formatCode(n,to({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Ga(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`),e.sdkVersion===w.gen2&&(r=`($slug)._index.${e.typescriptEnabled?"tsx":"jsx"}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,to({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function to({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Pt}`,u="";return e.getFrameworks().some(p=>p.name==="@shopify/remix-oxygen")&&(s=`context.env.${Pt}`,u=", context"),n&&(s+="!"),e.sdkVersion===w.gen2?`
398
+ `;async function Qr(e){await dn(e);let t=await e.readFile(e.registryPath);return t?Va(e,t):{components:[],sourceFile:I(e,"")}}async function Va(e,t){let r=I(e,t);return $a(e,r)}async function $a(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 gn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function gn(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 qr(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 Yr(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 Yr(e),[p,f,m]=await Promise.all([Ur(e,u),Qr(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 Jr(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 Ma(e,x,g),k=!1;if(E.addCmpToRegistry?(F.push(Ka(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=Mr(w,za,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}D.components=E.components}return D}function Ka(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Ma(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 gn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var za=["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 Gr(e){let t=await Ua(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Wr(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>He(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:async n=>{},loadComponent:async n=>{let o=await He(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>He(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>He(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>He(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>He(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>At(t),setPublicApiKey:n=>$r(t,n.publicApiKey),getDependencies:n=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function Ua(e){let t=await gt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let r=await pe(e,t),n=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function Ft(e){return await $e(e,[".env"],Pt)}async function Hr(e,t){let r=await Ft(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Pt="PUBLIC_BUILDER_KEY";var qa=new Set(["dist","node_modules"]);async function Xr(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"||Bt(e,qa,a.fileName)||Ja.has(s)||s.includes("$."))return;let u=e.normalize(a.fileName);if(u===e.remixConfigPath||u===i)return;let p=await Me(e,o,u,a,u===e.registryPath);r.push(...p)})),r}var Ja=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Zr(e){await Vt(e);let t=await e.readFile(e.registryPath);return t?Wa(e,t):{components:[],sourceFile:I(e,"")}}async function Wa(e,t){let r=I(e,t);return Qa(e,r)}async function Qa(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"};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 hr(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 ze(e),[p,f,m]=await Promise.all([Xr(e,u),Zr(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 G(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:Y}=await Ga(e,x,A);if(k.addCmpToRegistry)P.push(Ya(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(_,[eo(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(Y,Y.name,Y.exclamationToken,Y.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(We=>We.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 eo(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 Ya(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([eo(e,t),...t.acceptsChildren&&e.sdkVersion===y.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function Ga(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}}async function to(e){let t=[],r=await Za(e,t);return t.push(...await Vt(e)),await ts(e,r),await Xa(e,t),t}async function no(e){let t=[];return t.push(...await Vt(e)),await Ha(e,t),t}async function Ha(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,ro({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Xa(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,ro({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function ro({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?`
399
399
 
400
400
  import {
401
401
  Content,
@@ -505,7 +505,7 @@ declare global {
505
505
  }
506
506
  }
507
507
  `:""}
508
- `}async function Ha(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:u}=Xa(e),p=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${p}`),!p){let 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 Xa(e){let t=e.typescriptEnabled,r=`
508
+ `}async function Za(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),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 es(e){let t=e.typescriptEnabled,r=`
509
509
  import { useState } from "react";
510
510
  import styles from "./styles.module.css";
511
511
  ${t?`
@@ -568,17 +568,17 @@ export default Counter;
568
568
  font-size: 42px;
569
569
  text-align: center;
570
570
  }
571
- `.trimStart();return{component:r,styles:n}}async function Za(e,t){let n=(await Ne(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Ne(e,n.id,!0,!1,null,null,!0,!1)}async function jt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,es(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function es(e){let t=e.sdkVersion===w.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
571
+ `.trimStart();return{component:r,styles:n}}async function ts(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 Vt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ns(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function ns(e){let t=e.sdkVersion===y.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
572
572
 
573
573
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
574
574
  ];`:`export const CUSTOM_COMPONENTS = [
575
575
  ];
576
- `}async function no(e){let t=await ts(e);return{builderPageOptions:async()=>{let n="/builder-demo",o=t.hasLocaleParam?`/en-us${n}`:void 0;return{templateContentId:"a5c9eef7909d4fc99554264a17de22c9",pathname:n,localePathname:o,title:"Builder + Remix Demo Page"}},ensureBuilderSetup:()=>Zr(t),ensureFigmaImportPage:()=>eo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ne(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Ne(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ne(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ne(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ne(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ne(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ft(t),setPublicApiKey:n=>Yr(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===w.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function ts(e){let t=await rs(e),r=e.getAppRootDir(),n=await os(e),o=e.dirname(n),i=e.join(o,"components"),a=await ae(e),s=await pe(e,o),u={},p={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:a,appDir:o,componentsDir:i,routesDir:n,hasLocaleParam:await ns(e,n),addExternalPackage: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 ct(p),p}async function ns(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function rs(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getAppRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function os(e){let t=await gt(e,e.getAppRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getAppRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function yt(e){let t=[".env"],r=e.configType==="vite"?wt:Vt;return await $e(e,t,r)}async function ro(e,t){let r=await yt(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var wt="VITE_PUBLIC_BUILDER_KEY",Vt="PUBLIC_BUILDER_KEY";function oo(e,t){let r=`Builder.registerComponent(
576
+ `}async function oo(e){let t=await rs(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:()=>to(t),ensureFigmaImportPage:()=>no(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=>Hr(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 rs(e){let t=await is(e),r=e.getAppRootDir(),n=await as(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 os(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 os(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function is(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 as(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:$t;return await $e(e,t,r)}async function io(e,t){let r=await wt(e),n=await Ke(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var yt="VITE_PUBLIC_BUILDER_KEY",$t="PUBLIC_BUILDER_KEY";function ao(e,t){let r=`Builder.registerComponent(
577
577
  `;r+=` ${t.importName},
578
578
  `,r+=` {
579
579
  name: "${t.name}",
580
580
  }
581
- `,r+=");";let n=Bt(e,r);return dn(e,n,t)}function dn(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=W(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function io(e){let t=await e.readFile(e.registryPath);return t?is(e,t):{components:[],sourceFile:I(e,"")}}async function is(e,t){let r=I(e,t);return e.sdkVersion===w.gen2?us(e,r):as(e,r)}async function as(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let p=i.arguments;if(p.length<2)continue;let f=p[1];if(!e.ts.isObjectLiteralExpression(f))continue;let m=p[0];if(e.ts.isIdentifier(m)){let c=await ss(e,t,n,m,f,!1);c&&r.push(c);continue}}return{sourceFile:t,components:oe(r)}}async function ss(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i,framework:"react"},s=t.statements.filter(p=>e.ts.isImportDeclaration(p)),u=s.find(p=>p.importClause&&p.importClause.name?.text===n.text);if(u){let p=u.moduleSpecifier;if(!e.ts.isStringLiteral(p))return null;a.filePath=await gn(e,p.text),a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),a.importPath=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 gn(e,f.text);a.filePath=await gn(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=k(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(e,a.filePath,a.exportName,a.externalImportPath)),a}function gn(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function us(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Dn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function Dn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1,framework:"react"};ot(e,r)&&(n.acceptsChildren=!0);for(let i of r.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(R(e,i)==="component"){let s,{initializer:u}=i;if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;n.name===""&&(n.name=K(s)),n.importName=s;let p=await Fe(e,e.registryPath,t,s);if(!p)continue;n.filePath=p.filePath,n.relFilePath=p.relFilePath,await e.exists(p.filePath)?n.importPath=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=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,c]=await Promise.all([xr(e,u),io(e),ae(e),yt(e)]),d=p.map(E=>E.cmpInfo),D=f.components,g={components:De(d,D),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(d),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await ut(e,g.components),g;let C=!1,l=f.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.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(y=>y.id===S.cmpInfo.id),$=await pt(e,S,A,e.registryPath===S.cmpInfo.filePath||he(S.cmpInfo.filePath));ue(B,$);let L=d.findIndex(y=>y.id===S.cmpInfo.id);d[L].inputs=$;let P=Te(S.cmpInfo.id,d,D,r,n,o,i);if(e.sdkVersion===w.gen2){let{elements:y,elmIndex:ee,statementIndex:de,statement:Y,variableDeclaration:_}=await ps(e,l,S);if(P.addCmpToRegistry)y.push(ls(e,P.addCmpToRegistry)),C=!0;else if(P.removeCmpFromRegistry)y.splice(ee,1),C=!0;else if(P.updateRegisteredCmp){let te=W(e,y[ee],P.updateRegisteredCmp),We=e.ts.factory.createIdentifier(P.updateRegisteredCmp.importName);y[ee]=e.ts.factory.updateObjectLiteralExpression(te,[e.ts.factory.createPropertyAssignment("component",We),...te.properties.slice(1)]),C=!0}if(C&&a){let te=[...l.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(we(e,y)))])),l=e.ts.factory.updateSourceFile(l,te),l=ao(e,P,l),l=v(e,l,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),l=ve(e,l,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=P.components,D=P.components.filter(We=>We.isRegistered)}}else{let y=[...l.statements];P.addCmpToRegistry?(y.push(oo(e,P.addCmpToRegistry)),C=!0):P.removeCmpFromRegistry?(y.splice(P.nodeIndex,1),C=!0):P.updateRegisteredCmp&&(y[P.nodeIndex]=dn(e,y[P.nodeIndex],P.updateRegisteredCmp),C=!0),C&&a&&(l=e.ts.factory.updateSourceFile(l,y),l=v(e,l,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),l=ao(e,P,l),B?.acceptsChildren&&(l=v(e,l,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=P.components,D=P.components.filter(ee=>ee.isRegistered))}}}if(C&&a){l=be(e,l),l=ye(e,l);let E=j(e,l);E=me(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}async function ps(e,t,r){let n=J(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await Dn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}function ls(e,t){let r=e.ts.factory.createIdentifier(t.importName);return 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 ao(e,t,r){let n=t.addCmpToRegistry||t.updateRegisteredCmp;if(n){let o=n.externalImportPath?n.externalImportPath:O(e,e.registryPath,n.filePath);n.exportType==="default"?r=v(e,r,{defaultImport:n.importName,importPath:o}):n.exportType==="named"&&(r=v(e,r,{namedImports:[n.importName],importPath:o}))}return r}async function so(e){let t=[],r=await cs(e,t);if(await lo(e,t,r),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,po(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function uo(e){let t=[];await lo(e,t);let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,n=e.join(e.componentsDir,r);if(!await e.exists(n)){let o=await e.formatCode(n,po(e,n,"figma-imports"));await e.writeFile(n,o),t.push({filePath:n,modifiedType:"create"})}return t}function po(e,t,r="page"){let n=e.typescriptEnabled;return e.sdkVersion===w.gen2?`
581
+ `,r+=");";let n=Ot(e,r);return xn(e,n,t)}function xn(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 so(e){let t=await e.readFile(e.registryPath);return t?ss(e,t):{components:[],sourceFile:I(e,"")}}async function ss(e,t){let r=I(e,t);return e.sdkVersion===y.gen2?ls(e,r):us(e,r)}async function us(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 ps(e,t,n,m,f,!1);l&&r.push(l);continue}}return{sourceFile:t,components:oe(r)}}async function ps(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 Cn(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 Cn(e,f.text);a.filePath=await Cn(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 Cn(e,t){return St(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}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 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"};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 ze(e),[p,f,m,l]=await Promise.all([Er(e,u),so(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 G(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:Y,variableDeclaration:_}=await cs(e,c,S);if(P.addCmpToRegistry)w.push(ms(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),We=e.ts.factory.createIdentifier(P.updateRegisteredCmp.importName);w[ee]=e.ts.factory.updateObjectLiteralExpression(te,[e.ts.factory.createPropertyAssignment("component",We),...te.properties.slice(1)]),x=!0}if(x&&a){let te=[...c.statements];te[de]=e.ts.factory.updateVariableStatement(Y,Y.modifiers,e.ts.factory.updateVariableDeclarationList(Y.declarationList,[e.ts.factory.updateVariableDeclaration(_,_.name,_.exclamationToken,_.type,e.ts.factory.createArrayLiteralExpression(ye(e,w)))])),c=e.ts.factory.updateSourceFile(c,te),c=uo(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(We=>We.isRegistered)}}else{let w=[...c.statements];P.addCmpToRegistry?(w.push(ao(e,P.addCmpToRegistry)),x=!0):P.removeCmpFromRegistry?(w.splice(P.nodeIndex,1),x=!0):P.updateRegisteredCmp&&(w[P.nodeIndex]=xn(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=uo(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 cs(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}}function ms(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 uo(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 po(e){let t=[],r=await fs(e,t);if(await mo(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 lo(e){let t=[];await mo(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?`
582
582
  import React from "react";
583
583
  import {
584
584
  Content,
@@ -587,10 +587,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
587
587
  isPreviewing,
588
588
  ${n?"type BuilderContent,":""}
589
589
  } from "@builder.io/sdk-react";
590
- import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,t,e.registryPath))};
590
+ import { CUSTOM_COMPONENTS } from ${JSON.stringify(B(e,t,e.registryPath))};
591
591
 
592
592
  // Builder Public API Key set in .env file
593
- const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${wt};`:`${Vt};`}
593
+ const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${yt};`:`${$t};`}
594
594
  const MODEL_NAME = "${r}";
595
595
 
596
596
  export default function BuilderPage() {
@@ -640,10 +640,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
640
640
  `:`
641
641
  import React from "react";
642
642
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
643
- import ${JSON.stringify(O(e,t,e.registryPath))};
643
+ import ${JSON.stringify(B(e,t,e.registryPath))};
644
644
 
645
645
  // Builder Public API Key set in .env file
646
- ${e.configType==="vite"?`builder.init(import.meta.env.${wt}${n?"!":""})`:`builder.init("${Vt}")`}
646
+ ${e.configType==="vite"?`builder.init(import.meta.env.${yt}${n?"!":""})`:`builder.init("${$t}")`}
647
647
 
648
648
  export default function BuilderPage() {
649
649
  const isPreviewingInBuilder = useIsPreviewing();
@@ -688,7 +688,7 @@ export default function BuilderPage() {
688
688
  </>
689
689
  );
690
690
  }
691
- `.trimStart()}async function lo(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===w.gen2){let i=fs(e);await e.writeFile(e.registryPath,i)}else await e.writeFile(e.registryPath,"");t.push({filePath:e.registryPath,modifiedType:"create"})}if(!r)return;let o=(await Re(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===r);o&&await Re(e,o.id,!0,!1,null,null,!0,!1)}async function cs(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:u}=ms(e);if(!await e.exists(i)){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,u),t.push({filePath:a,modifiedType:"create"})),i}function ms(e){let t=e.typescriptEnabled,r=`
691
+ `.trimStart()}async function mo(e,t,r){if(!await e.exists(e.registryPath)){if(e.sdkVersion===y.gen2){let i=gs(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 fs(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}=ds(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 ds(e){let t=e.typescriptEnabled,r=`
692
692
  "use client"
693
693
  import React, { useState } from "react";
694
694
  import styles from "./styles.module.css";
@@ -751,31 +751,31 @@ export default Counter;
751
751
  font-size: 42px;
752
752
  text-align: center;
753
753
  }
754
- `.trimStart();return{component:r,styles:n}}function fs(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
754
+ `.trimStart();return{component:r,styles:n}}function gs(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
755
755
 
756
756
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
757
757
  ];`:`export const CUSTOM_COMPONENTS = [
758
758
  ];
759
- `}async function co(e){let t=await ds(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>so(t),ensureFigmaImportPage:()=>uo(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Re(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),addExternalPackage:n=>{t.addExternalPackage(n)},loadComponent:async n=>{let o=await Re(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Re(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Re(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Re(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Re(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>yt(t),setPublicApiKey:n=>ro(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===w.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function ds(e){let t=await gs(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i={},a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:"",addExternalPackage:s=>{i[e.join(r,s,"index.ts")]=`export * from "${s}";`},readFileSync:s=>i[s]??e.readFileSync(s),existsSync:s=>!!i[s]||e.existsSync(s),readdirSync:s=>{let u=e.readdirSync(s);return s===r?[...u,...Object.keys(i).map(p=>p.slice(r.length+1))]:u},readdir:async s=>{let u=await e.readdir(s);return s===r?[...u,...Object.keys(i).map(p=>p.slice(r.length+1))]:u}};return e.sdkVersion?a.sdkVersion=e.sdkVersion:a.sdkVersion=await ct(a),t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=await pe(e,n),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=await pe(e,r),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}async function gs(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getAppRootDir(),r);if(await e.exists(n))return n}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function bt(e){return await Ds(e,["environment.ts"],$t)}async function mo(e,t){let r=await bt(e),n=await Es(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function Ds(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getAppRootDir(),"src","environments",o),a=await Cs(e,i);if(typeof a=="string"&&a.length>0&&a!=="YOUR_API_KEY")return n.envValue=a,n.file=i,n}return n.file=e.join(e.getAppRootDir(),"src","environments",t[t.length-1]),n}async function Cs(e,t){let r=await e.readFile(t);return r?xs(e,r):""}function xs(e,t){let r=I(e,t),n="",i=at(e,r,"environment");if(i&&i.statement.declarationList.declarations.length>0){let s=i.statement.declarationList.declarations[0].initializer;s&&e.ts.isObjectLiteralExpression(s)&&s.properties.forEach(u=>{e.ts.isPropertyAssignment(u)&&e.ts.isIdentifier(u.name)&&u.name.text===$t&&e.ts.isStringLiteral(u.initializer)&&(n=u.initializer.text)})}return n}async function hs(e,t,r,n){let o=I(e,t),a=at(e,o,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList,u=s.declarations[0],p=u.initializer;if(p&&e.ts.isObjectLiteralExpression(p)){let 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 Es(e,t,r,n){let o=await e.readFile(t);if(o)if(o.includes(r))e.debug(`"${r}" already set in ${t}`);else{e.debug(`Add "${r}" to ${t}`);let i=await hs(e,o,r,n);if(i){let a=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
+ `}async function fo(e){let t=await Ds(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>po(t),ensureFigmaImportPage:()=>lo(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=>io(t,n.publicApiKey),getDependencies:n=>n.sdkVersion===y.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ee(t),setCache:n=>Se(t,n)}}async function Ds(e){let t=await xs(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 xs(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 Cs(e,["environment.ts"],Kt)}async function go(e,t){let r=await bt(e),n=await As(e,r.file,r.envKey,t);return{...r,modifiedType:n}}async function Cs(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 hs(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 hs(e,t){let r=await e.readFile(t);return r?Es(e,r):""}function Es(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===Kt&&e.ts.isStringLiteral(u.initializer)&&(n=u.initializer.text)})}return n}async function Ss(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 As(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 Ss(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=`
760
760
  // https://www.builder.io/c/docs/using-your-api-key
761
761
  export const environment = {
762
762
  production: false,
763
763
  builderApiKey: "${n}",
764
764
  };
765
- `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var $t="builderApiKey";async function go(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(Fs(e,i.fileName)||a.startsWith(".")||a==="node_modules"||Ss.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let u=await Kt(e,o,s,i);r.push(...u)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Ss=new Set([]),As=new Set(["node_modules"]);function Fs(e,t){for(let r of As)if(e.dirname(t).includes(r))return!0;return!1}async function Do(e,t){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let n=await e.readFile(t);if(n)return Ps(e,t,n)}return null}function Ps(e,t,r){let n=I(e,r);return Kt(e,null,t,n)}async function Kt(e,t,r,n){let o=[],i={};r=e.normalize(r);let a=n.statements.filter(f=>e.ts.isClassDeclaration(f)&&vs(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 ws(e,t,r,n),p=Is(e,n);return await Promise.all(a.map(async f=>{let m=await ys(e,t,r,f,p,i);o.push(...m)})),o.push(...u),o}async function Cn(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await it(e,t.cmpInfo.filePath,r),a=(await Kt(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return a.cmpInfo.inputs}return[]}async function Co(e,t,r){let n=await G(e,r.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(r.filter(a=>!(a.name.endsWith("Page")||a.name.endsWith("Module")||a.name==="AppComponent")).map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let p=(await Kt(e,o,a.filePath,s)).find(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 Cn(e,f,n);ue(a,m)}}}}return a}))}async function ys(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=>bs(e,E))!==void 0&&e.ts.isIdentifier(D.name),x=i?.inputSignalImportName!==void 0&&e.ts.isIdentifier(D.name)&&Ts(e,D,i.inputSignalImportName);if(l||x){let E="any";if(e.ts.isSetAccessor(D))E=fo(e,D.parameters[0].type);else if(D.type&&t){let A=t.getTypeAtLocation(D.type);E=t.typeToString(A)}else E=fo(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:k(e,r),name:K(p),inputs:d,exportName:m,exportType:c,importName:p,filePath:r,relFilePath:s,importPath:u,meta:{...Rs(e,n)},framework:"angular"},node:{name:p,fnNode:n,deps:void 0}}),a}async function ws(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 C=t.getDeclaredTypeOfSymbol(g);t.getPropertiesOfType(C).forEach(x=>{let E=x.getDeclarations();E&&E.forEach(F=>{if(e.ts.isPropertyDeclaration(F)){let A=t.getTypeAtLocation(F),S={name:x.getName(),type:Ns(e,t,A)};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 C=t?.getSymbolAtLocation(g);if(C&&C.declarations&&C.declarations.length>0){let l=C.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:k(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:k(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 bs(e,t){return xo(e,t,"Input")}function Ts(e,t,r){return e.ts.isPropertyDeclaration(t)&&t.initializer!==void 0&&e.ts.isCallExpression(t.initializer)&&e.ts.isIdentifier(t.initializer.expression)&&t.initializer.expression.text===r}function xo(e,t,r){if(e.ts.isCallExpression(t.expression)){let n=t.expression;if(e.ts.isIdentifier(n.expression))return n.expression?.text===r}return!1}function vs(e,t){return!!e.ts.getDecorators(t)?.some(o=>e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="Component")}function fo(e,t){if(!t)return"any";let r="any";switch(t.kind){case e.ts.SyntaxKind.StringKeyword:r="string";break;case e.ts.SyntaxKind.NumberKeyword:r="number";break;case e.ts.SyntaxKind.BooleanKeyword:r="boolean";break;case e.ts.SyntaxKind.TypeReference:e.ts.isTypeReferenceNode(t)&&e.ts.isIdentifier(t.typeName)&&(r=t.typeName.text);break}return r.includes("|")?"string":r}function Is(e,t){let r={};return e.ts.forEachChild(t,n=>{e.ts.isTypeAliasDeclaration(n)&&e.ts.isUnionTypeNode(n.type)&&n.type.types.every(o=>e.ts.isLiteralTypeNode(o)&&e.ts.isStringLiteral(o.literal))&&(r[n.name.text]=n.type.types.map(o=>o.literal.text))}),r}function Ns(e,t,r){let n=t.typeToString(r);if(n==="any"){let o=r.getSymbol();if(o){let i=o.getDeclarations();if(i&&i.length>0){let a=i[0];if(e.ts.isVariableDeclaration(a)){let s=a.type;s&&(n=t.typeToString(t.getTypeAtLocation(s)))}}}}return n}function Rs(e,t){let{getDecorators:r,isCallExpression:n,isIdentifier:o,isObjectLiteralExpression:i,isPropertyAssignment:a,isStringLiteral:s,SyntaxKind:u}=e.ts,p,f;return r(t)?.forEach(c=>{if(xo(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 Mt(e,t,r){let n=e.typescriptEnabled?".ts":".js",o=`app.module${n}`,i=e.join(e.appDir,o),a=await e.readFile(i);if(!a){e.Sentry?.captureException(new Error(`Unable to read app.module.${n} at ${i}`),{extra:{appModuleCode:a,appModulePath:i}});return}let s=await Bs(e,i,t,r,a);if(!s){e.Sentry?.captureException(new Error(`Unable to update app.module.${n} at ${i}`),{extra:{appModuleCode:a,appModulePath:i}});return}return await e.writeFile(i,s),i}async function Bs(e,t,r,n,o){let i=o,a=I(e,o),s=O(e,t,n);a=v(e,a,{namedImports:[r],importPath:s}),a=v(e,a,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let u=[];for(let p of a.statements)if(e.ts.isClassDeclaration(p)&&p.name?.text==="AppModule"){let f=Os(e,r,p);u.push(f)}else u.push(p);return a=e.ts.factory.updateSourceFile(a,u),i=j(e,a),i}function Os(e,t,r){let n=e.ts.getDecorators(r);if(n){for(let o of n)if(e.ts.isCallExpression(o.expression)&&e.ts.isIdentifier(o.expression.expression)&&o.expression.expression.text==="NgModule"){let i=o.expression.arguments;if(i.length===1&&e.ts.isObjectLiteralExpression(i[0])){let a=ho(e,i[0],"declarations",t);if(a){let s=ho(e,a,"imports","Content");if(s&&(a=s),a){let u=e.ts.factory.updateDecorator(o,e.ts.factory.updateCallExpression(o.expression,o.expression.expression,o.expression.typeArguments,[a])),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 ho(e,t,r,n){let o=[...t.properties],i=o.findIndex(s=>R(e,s)===r);if(i>-1){let s=o[i];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=Eo(e,s.initializer,n);return u?(o[i]=e.ts.factory.updatePropertyAssignment(s,s.name,u),e.ts.factory.updateObjectLiteralExpression(t,o)):null}return null}let a=Eo(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Eo(e,t,r){return t.elements.some(o=>e.ts.isIdentifier(o)?o.text===r:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(r)])}async function xn(e,t,r,n){let i=`app.routes${e.typescriptEnabled?".ts":".js"}`,a=e.join(e.appDir,i);try{if(e.magicast){let s=await e.magicast.loadFile(a);Object.keys(s.exports).length===0&&(s.exports.routes=[]);let p=Object.keys(s.exports)[0],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 ks=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,Ls=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,_s=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,hn={Space_Separator:ks,ID_Start:Ls,ID_Continue:_s},q={isSpaceSeparator(e){return typeof e=="string"&&hn.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||hn.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||hn.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},Sn,re,_e,zt,ze,Ce,Q,Pn,vt,js=function(t,r){Sn=String(t),re="start",_e=[],zt=0,ze=1,Ce=0,Q=void 0,Pn=void 0,vt=void 0;do Q=Vs(),Ms[re]();while(Q.type!=="eof");return typeof r=="function"?An({"":vt},"",r):vt};function An(e,t,r){let n=e[t];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let o=0;o<n.length;o++){let i=String(o),a=An(n,i,r);a===void 0?delete n[i]:Object.defineProperty(n,i,{value:a,writable:!0,enumerable:!0,configurable:!0})}else for(let o in n){let i=An(n,o,r);i===void 0?delete n[o]:Object.defineProperty(n,o,{value:i,writable:!0,enumerable:!0,configurable:!0})}return r.call(e,t,n)}var T,b,Tt,Le,N;function Vs(){for(T="default",b="",Tt=!1,Le=1;;){N=je();let e=Ao[T]();if(e)return e}}function je(){if(Sn[zt])return String.fromCodePoint(Sn.codePointAt(zt))}function h(){let e=je();return e===`
766
- `?(ze++,Ce=0):e?Ce+=e.length:Ce++,e&&(zt+=e.length),e}var Ao={default(){switch(N){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
767
- `:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),T="comment";return;case void 0:return h(),U("eof")}if(q.isSpaceSeparator(N)){h();return}return Ao[re]()},comment(){switch(N){case"*":h(),T="multiLineComment";return;case"/":h(),T="singleLineComment";return}throw z(h())},multiLineComment(){switch(N){case"*":h(),T="multiLineCommentAsterisk";return;case void 0:throw z(h())}h()},multiLineCommentAsterisk(){switch(N){case"*":h();return;case"/":h(),T="default";return;case void 0:throw z(h())}h(),T="multiLineComment"},singleLineComment(){switch(N){case`
768
- `:case"\r":case"\u2028":case"\u2029":h(),T="default";return;case void 0:return h(),U("eof")}h()},value(){switch(N){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()==="-"&&(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"),U("numeric",1/0);case"N":return h(),Xe("aN"),U("numeric",NaN);case'"':case"'":Tt=h()==='"',b="",T="string";return}throw z(h())},identifierNameStartEscape(){if(N!=="u")throw z(h());h();let e=Fn();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw So();break}b+=e,T="identifierName"},identifierName(){switch(N){case"$":case"_":case"\u200C":case"\u200D":b+=h();return;case"\\":h(),T="identifierNameEscape";return}if(q.isIdContinueChar(N)){b+=h();return}return U("identifier",b)},identifierNameEscape(){if(N!=="u")throw z(h());h();let e=Fn();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!q.isIdContinueChar(e))throw So();break}b+=e,T="identifierName"},sign(){switch(N){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"),U("numeric",Le*(1/0));case"N":return h(),Xe("aN"),U("numeric",NaN)}throw z(h())},zero(){switch(N){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 U("numeric",Le*0)},decimalInteger(){switch(N){case".":b+=h(),T="decimalPoint";return;case"e":case"E":b+=h(),T="decimalExponent";return}if(q.isDigit(N)){b+=h();return}return U("numeric",Le*Number(b))},decimalPointLeading(){if(q.isDigit(N)){b+=h(),T="decimalFraction";return}throw z(h())},decimalPoint(){switch(N){case"e":case"E":b+=h(),T="decimalExponent";return}if(q.isDigit(N)){b+=h(),T="decimalFraction";return}return U("numeric",Le*Number(b))},decimalFraction(){switch(N){case"e":case"E":b+=h(),T="decimalExponent";return}if(q.isDigit(N)){b+=h();return}return U("numeric",Le*Number(b))},decimalExponent(){switch(N){case"+":case"-":b+=h(),T="decimalExponentSign";return}if(q.isDigit(N)){b+=h(),T="decimalExponentInteger";return}throw z(h())},decimalExponentSign(){if(q.isDigit(N)){b+=h(),T="decimalExponentInteger";return}throw z(h())},decimalExponentInteger(){if(q.isDigit(N)){b+=h();return}return U("numeric",Le*Number(b))},hexadecimal(){if(q.isHexDigit(N)){b+=h(),T="hexadecimalInteger";return}throw z(h())},hexadecimalInteger(){if(q.isHexDigit(N)){b+=h();return}return U("numeric",Le*Number(b))},string(){switch(N){case"\\":h(),b+=$s();return;case'"':if(Tt)return h(),U("string",b);b+=h();return;case"'":if(!Tt)return h(),U("string",b);b+=h();return;case`
769
- `:case"\r":throw z(h());case"\u2028":case"\u2029":Us(N);break;case void 0:throw z(h())}b+=h()},start(){switch(N){case"{":case"[":return U("punctuator",h())}T="value"},beforePropertyName(){switch(N){case"$":case"_":b=h(),T="identifierName";return;case"\\":h(),T="identifierNameStartEscape";return;case"}":return U("punctuator",h());case'"':case"'":Tt=h()==='"',T="string";return}if(q.isIdStartChar(N)){b+=h(),T="identifierName";return}throw z(h())},afterPropertyName(){if(N===":")return U("punctuator",h());throw z(h())},beforePropertyValue(){T="value"},afterPropertyValue(){switch(N){case",":case"}":return U("punctuator",h())}throw z(h())},beforeArrayValue(){if(N==="]")return U("punctuator",h());T="value"},afterArrayValue(){switch(N){case",":case"]":return U("punctuator",h())}throw z(h())},end(){throw z(h())}};function U(e,t){return{type:e,value:t,line:ze,column:Ce}}function Xe(e){for(let t of e){if(je()!==t)throw z(h());h()}}function $s(){switch(je()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
770
- `;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),q.isDigit(je()))throw z(h());return"\0";case"x":return h(),Ks();case"u":return h(),Fn();case`
765
+ `.trimStart(),a=await e.formatCode(t,i);return await e.writeFile(t,a),"create"}return null}var Kt="builderApiKey";async function xo(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(ws(e,i.fileName)||a.startsWith(".")||a==="node_modules"||Fs.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.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var Fs=new Set([]),Ps=new Set(["node_modules"]);function ws(e,t){for(let r of Ps)if(e.dirname(t).includes(r))return!0;return!1}async function Co(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 ys(e,t,n)}return null}function ys(e,t,r){let n=I(e,r);return Mt(e,null,t,n)}async function Mt(e,t,r,n){let o=[],i={};r=e.normalize(r);let a=n.statements.filter(f=>e.ts.isClassDeclaration(f)&&Rs(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 Ts(e,t,r,n),p=Ns(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 En(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await it(e,t.cmpInfo.filePath,r),a=(await Mt(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 ho(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 Mt(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 En(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=>Is(e,E))!==void 0&&e.ts.isIdentifier(D.name),C=i?.inputSignalImportName!==void 0&&e.ts.isIdentifier(D.name)&&vs(e,D,i.inputSignalImportName);if(c||C){let E="any";if(e.ts.isSetAccessor(D))E=Do(e,D.parameters[0].type);else if(D.type&&t){let A=t.getTypeAtLocation(D.type);E=t.typeToString(A)}else E=Do(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:{...Os(e,n)},framework:"angular"},node:{name:p,fnNode:n,deps:void 0}}),a}async function Ts(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:Bs(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 Is(e,t){return Eo(e,t,"Input")}function vs(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 Eo(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 Rs(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 Do(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 Ns(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 Bs(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 Os(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(Eo(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 zt(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=Ls(e,r,p);u.push(f)}else u.push(p);return a=e.ts.factory.updateSourceFile(a,u),i=j(e,a),i}function Ls(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=So(e,i[0],"declarations",t);if(a){let s=So(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 So(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=Ao(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=Ao(e,e.ts.factory.createArrayLiteralExpression([],!0),n);return a?e.ts.factory.updateObjectLiteralExpression(t,[...o,e.ts.factory.createPropertyAssignment(r,a)]):null}function Ao(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 Sn(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 _s=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,js=/[\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]/,Vs=/[\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]/,An={Space_Separator:_s,ID_Start:js,ID_Continue:Vs},q={isSpaceSeparator(e){return typeof e=="string"&&An.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||An.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"||An.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)}},Pn,re,_e,qt,Ue,xe,Q,bn,It,$s=function(t,r){Pn=String(t),re="start",_e=[],qt=0,Ue=1,xe=0,Q=void 0,bn=void 0,It=void 0;do Q=Ks(),Us[re]();while(Q.type!=="eof");return typeof r=="function"?wn({"":It},"",r):It};function wn(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=wn(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=wn(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 Ks(){for(T="default",b="",Tt=!1,Le=1;;){R=je();let e=Po[T]();if(e)return e}}function je(){if(Pn[qt])return String.fromCodePoint(Pn.codePointAt(qt))}function h(){let e=je();return e===`
766
+ `?(Ue++,xe=0):e?xe+=e.length:xe++,e&&(qt+=e.length),e}var Po={default(){switch(R){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
767
+ `:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),T="comment";return;case void 0:return h(),z("eof")}if(q.isSpaceSeparator(R)){h();return}return Po[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`
768
+ `: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=yn();switch(e){case"$":case"_":break;default:if(!q.isIdStartChar(e))throw Fo();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=yn();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!q.isIdContinueChar(e))throw Fo();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+=Ms();return;case'"':if(Tt)return h(),z("string",b);b+=h();return;case"'":if(!Tt)return h(),z("string",b);b+=h();return;case`
769
+ `:case"\r":throw U(h());case"\u2028":case"\u2029":qs(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:Ue,column:xe}}function Xe(e){for(let t of e){if(je()!==t)throw U(h());h()}}function Ms(){switch(je()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
770
+ `;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),q.isDigit(je()))throw U(h());return"\0";case"x":return h(),zs();case"u":return h(),yn();case`
771
771
  `:case"\u2028":case"\u2029":return h(),"";case"\r":return h(),je()===`
772
- `&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw z(h());case void 0:throw z(h())}return h()}function Ks(){let e="",t=je();if(!q.isHexDigit(t)||(e+=h(),t=je(),!q.isHexDigit(t)))throw z(h());return e+=h(),String.fromCodePoint(parseInt(e,16))}function Fn(){let e="",t=4;for(;t-- >0;){let r=je();if(!q.isHexDigit(r))throw z(h());e+=h()}return String.fromCodePoint(parseInt(e,16))}var Ms={start(){if(Q.type==="eof")throw Ze();En()},beforePropertyName(){switch(Q.type){case"identifier":case"string":Pn=Q.value,re="afterPropertyName";return;case"punctuator":Ut();return;case"eof":throw Ze()}},afterPropertyName(){if(Q.type==="eof")throw Ze();re="beforePropertyValue"},beforePropertyValue(){if(Q.type==="eof")throw Ze();En()},beforeArrayValue(){if(Q.type==="eof")throw Ze();if(Q.type==="punctuator"&&Q.value==="]"){Ut();return}En()},afterPropertyValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":re="beforePropertyName";return;case"}":Ut()}},afterArrayValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":re="beforeArrayValue";return;case"]":Ut()}},end(){}};function En(){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(vt===void 0)vt=e;else{let t=_e[_e.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,Pn,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")_e.push(e),Array.isArray(e)?re="beforeArrayValue":re="beforePropertyName";else{let t=_e[_e.length-1];t==null?re="end":Array.isArray(t)?re="afterArrayValue":re="afterPropertyValue"}}function Ut(){_e.pop();let e=_e[_e.length-1];e==null?re="end":Array.isArray(e)?re="afterArrayValue":re="afterPropertyValue"}function z(e){return qt(e===void 0?`JSON5: invalid end of input at ${ze}:${Ce}`:`JSON5: invalid character '${Fo(e)}' at ${ze}:${Ce}`)}function Ze(){return qt(`JSON5: invalid end of input at ${ze}:${Ce}`)}function So(){return Ce-=5,qt(`JSON5: invalid identifier character at ${ze}:${Ce}`)}function Us(e){console.warn(`JSON5: '${Fo(e)}' in strings is not valid ECMAScript; consider escaping`)}function Fo(e){let t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){let r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function qt(e){let t=new SyntaxError(e);return t.lineNumber=ze,t.columnNumber=Ce,t}var zs=function(t,r,n){let o=[],i="",a,s,u="",p;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,p=r.quote,r=r.replacer),typeof r=="function")s=r;else if(Array.isArray(r)){a=[];for(let g of r){let C;typeof g=="string"?C=g:(typeof g=="number"||g instanceof String||g instanceof Number)&&(C=String(g)),C!==void 0&&a.indexOf(C)<0&&a.push(C)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),u=" ".substr(0,n)):typeof n=="string"&&(u=n.substr(0,10)),f("",{"":t});function f(g,C){let l=C[g];switch(l!=null&&(typeof l.toJSON5=="function"?l=l.toJSON5(g):typeof l.toJSON=="function"&&(l=l.toJSON(g))),s&&(l=s.call(C,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 C={"'":.1,'"':.2},l={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},x="";for(let F=0;F<g.length;F++){let A=g[F];switch(A){case"'":case'"':C[A]++,x+=A;continue;case"\0":if(q.isDigit(g[F+1])){x+="\\x00";continue}}if(l[A]){x+=l[A];continue}if(A<" "){let S=A.charCodeAt(0).toString(16);x+="\\x"+("00"+S).substring(S.length);continue}x+=A}let E=p||Object.keys(C).reduce((F,A)=>C[F]<C[A]?F:A);return x=x.replace(new RegExp(E,"g"),l[E]),E+x+E}function c(g){if(o.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");o.push(g);let C=i;i=i+u;let l=a||Object.keys(g),x=[];for(let F of l){let A=f(F,g);if(A!==void 0){let S=d(F)+":";u!==""&&(S+=" "),S+=A,x.push(S)}}let E;if(x.length===0)E="{}";else{let F;if(u==="")F=x.join(","),E="{"+F+"}";else{let A=`,
773
- `+i;F=x.join(A),E=`{
772
+ `&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw U(h());case void 0:throw U(h())}return h()}function zs(){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 yn(){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 Us={start(){if(Q.type==="eof")throw Ze();Fn()},beforePropertyName(){switch(Q.type){case"identifier":case"string":bn=Q.value,re="afterPropertyName";return;case"punctuator":Ut();return;case"eof":throw Ze()}},afterPropertyName(){if(Q.type==="eof")throw Ze();re="beforePropertyValue"},beforePropertyValue(){if(Q.type==="eof")throw Ze();Fn()},beforeArrayValue(){if(Q.type==="eof")throw Ze();if(Q.type==="punctuator"&&Q.value==="]"){Ut();return}Fn()},afterPropertyValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":re="beforePropertyName";return;case"}":Ut()}},afterArrayValue(){if(Q.type==="eof")throw Ze();switch(Q.value){case",":re="beforeArrayValue";return;case"]":Ut()}},end(){}};function Fn(){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,bn,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")_e.push(e),Array.isArray(e)?re="beforeArrayValue":re="beforePropertyName";else{let t=_e[_e.length-1];t==null?re="end":Array.isArray(t)?re="afterArrayValue":re="afterPropertyValue"}}function Ut(){_e.pop();let e=_e[_e.length-1];e==null?re="end":Array.isArray(e)?re="afterArrayValue":re="afterPropertyValue"}function U(e){return Jt(e===void 0?`JSON5: invalid end of input at ${Ue}:${xe}`:`JSON5: invalid character '${wo(e)}' at ${Ue}:${xe}`)}function Ze(){return Jt(`JSON5: invalid end of input at ${Ue}:${xe}`)}function Fo(){return xe-=5,Jt(`JSON5: invalid identifier character at ${Ue}:${xe}`)}function qs(e){console.warn(`JSON5: '${wo(e)}' in strings is not valid ECMAScript; consider escaping`)}function wo(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 Jt(e){let t=new SyntaxError(e);return t.lineNumber=Ue,t.columnNumber=xe,t}var Js=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=`,
773
+ `+i;F=C.join(A),E=`{
774
774
  `+i+F+`,
775
- `+C+"}"}}return o.pop(),i=C,E}function d(g){if(g.length===0)return m(g,!0);let C=String.fromCodePoint(g.codePointAt(0));if(!q.isIdStartChar(C))return m(g,!0);for(let l=C.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 C=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 x;if(l.length===0)x="[]";else if(u==="")x="["+l.join(",")+"]";else{let E=`,
776
- `+i,F=l.join(E);x=`[
775
+ `+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=`,
776
+ `+i,F=c.join(E);C=`[
777
777
  `+i+F+`,
778
- `+C+"]"}return o.pop(),i=C,x}},qs={parse:js,stringify:zs},Js=qs,Po=Js;async function yo(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let r=await e.readFile(t);if(!r)return;let n=Po.parse(r);if(!n||typeof n!="object"||Array.isArray(n))return;let o=n.compilerOptions;if(!o||typeof o!="object"||Array.isArray(o))return;let i=o.paths;(!i||typeof i!="object"||Array.isArray(i))&&(o.paths={},i=o.paths),Object.assign(o.paths,{"~/*":["./src/*"]}),await e.writeFile(t,JSON.stringify(n,null,2))}}async function wo(e){let t=[],r=await Ys(e,t);t.push(...await Jt(e)),await Ws(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,To(e,n,e.builderPageComponentPath,"builder-page","page",!0));await e.writeFile(e.builderPageComponentPath,o),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){await Mt(e,"Counter",r);let o=await Mt(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return await xn(e,"**",n,"./components/builder-page.component"),t}async function bo(e){let t=[];t.push(...await Jt(e));let r="FigmaImportsPage",n="figma-imports.component",o=e.join(e.componentsDir,`${n}.${e.typescriptEnabled?"ts":"js"}`);if(!await e.exists(o)){let i=await e.formatCode(o,To(e,r,o,"figma-imports","figma-imports",!1));await e.writeFile(o,i),t.push({filePath:o,modifiedType:"create"})}if(e.hasAppModule){let i=await Mt(e,r,o);i&&t.push({filePath:i,modifiedType:"update"})}return await xn(e,"figma-imports",r,`./components/${n}`),await yo(e),t}async function Jt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Qs(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Ws(e,t){let n=(await Be(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Be(e,n.id,!0,!1,null,null,!0,!1)}function To(e,t,r,n,o,i){let a=!e.hasAppModule,s=O(e,r,e.registryPath),u=e.join(e.getAppRootDir(),"src","environments","environment.ts"),p=O(e,r,u),f=i?` <ng-container *ngIf="content || isPreviewing; else notFound">
778
+ `+x+"]"}return o.pop(),i=x,C}},Ws={parse:$s,stringify:Js},Qs=Ws,yo=Qs;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=yo.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 To(e){let t=[],r=await Hs(e,t);t.push(...await Wt(e)),await Ys(e,r);let n="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let o=await e.formatCode(e.builderPageComponentPath,vo(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 zt(e,"Counter",r);let o=await zt(e,n,e.builderPageComponentPath);o&&t.push({filePath:o,modifiedType:"update"})}return await Sn(e,"**",n,"./components/builder-page.component"),t}async function Io(e){let t=[];t.push(...await Wt(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,vo(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 zt(e,r,o);i&&t.push({filePath:i,modifiedType:"update"})}return await Sn(e,"figma-imports",r,`./components/${n}`),await bo(e),t}async function Wt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Gs(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Ys(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 vo(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">
779
779
  <builder-content
780
780
  [model]="model"
781
781
  [content]="content"
@@ -813,7 +813,7 @@ export class ${t} {
813
813
  `:""}
814
814
  @Input() model = '${o}';
815
815
 
816
- apiKey = environment.${$t};
816
+ apiKey = environment.${Kt};
817
817
  ${e.typescriptEnabled?`
818
818
  content: BuilderContent | null = null;
819
819
  `:`
@@ -841,12 +841,12 @@ export class ${t} {
841
841
  }
842
842
  }
843
843
 
844
- `.trimStart()}function Qs(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
844
+ `.trimStart()}function Gs(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
845
845
 
846
846
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
847
847
  ];`:`export const CUSTOM_COMPONENTS = [
848
848
  ];
849
- `}async function Ys(e,t){let n=e.typescriptEnabled?"ts":"js",o=e.join(e.componentsDir,`counter.component.${n}`),i=await e.exists(o);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${i}`);let a=Gs(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Gs(e){return`
849
+ `}async function Hs(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=Xs(e);if(!i){let s=await e.formatCode(o,a);await e.writeFile(o,s),t.push({filePath:o,modifiedType:"create"})}return o}function Xs(e){return`
850
850
  import { Component, Input } from '@angular/core';
851
851
 
852
852
  @Component({
@@ -914,7 +914,7 @@ export class Counter {
914
914
  }
915
915
  }
916
916
 
917
- `.trimStart()}async function vo(e){await Jt(e);let t=await e.readFile(e.registryPath);return t?Hs(e,t):{components:[],sourceFile:I(e,"")}}async function Hs(e,t){let r=I(e,t);return Xs(e,r)}async function Xs(e,t){let r=[],n=J(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await yn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function yn(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],framework:"angular"};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(R(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){let p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=K(a)),n.importName=a;let u=await Fe(e,e.registryPath,t,a);if(!u)continue;if(n.filePath=u.filePath,n.relFilePath=u.relFilePath,await e.exists(u.filePath)?n.importPath=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 Do(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([go(e,u),vo(e),bt(e)]),c=p.map(x=>x.cmpInfo),d=f.components,D={components:De(c,d),registryPath:e.registryPath,registryDisplayPath:k(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Pe(c),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await Co(e,p,D.components),D;let g=!1,C=f.sourceFile,l=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(l.length>0){let x=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(x.map(A=>A.cmpInfo.filePath))),F=await G(e,E);for(let A of x){let S=D.components.find(_=>_.id===A.cmpInfo.id),B=await Cn(e,A,F);ue(S,B);let $=c.findIndex(_=>_.id===A.cmpInfo.id);c[$].inputs=B;let L=Te(A.cmpInfo.id,c,d,r,n,o,i),{elements:P,elmIndex:y,statementIndex:ee,statement:de,variableDeclaration:Y}=await eu(e,C,A);if(L.addCmpToRegistry)P.push(Zs(e,L.addCmpToRegistry)),g=!0;else if(L.removeCmpFromRegistry)P.splice(y,1),g=!0;else if(L.updateRegisteredCmp){let _=W(e,P[y],L.updateRegisteredCmp);P[y]=e.ts.factory.updateObjectLiteralExpression(_,[Io(e,L.updateRegisteredCmp),..._.properties.slice(1)]),g=!0}if(g&&a){let _=[...C.statements];_[ee]=e.ts.factory.updateVariableStatement(de,de.modifiers,e.ts.factory.updateVariableDeclarationList(de.declarationList,[e.ts.factory.updateVariableDeclaration(Y,Y.name,Y.exclamationToken,Y.type,e.ts.factory.createArrayLiteralExpression(we(e,P)))])),C=e.ts.factory.updateSourceFile(C,_),S.exportType==="named"?C=v(e,C,{namedImports:[S.importName],importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)}):C=v(e,C,{defaultImport:S.importName,importPath:S.externalImportPath?S.externalImportPath:O(e,e.registryPath,S.filePath)}),C=v(e,C,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),C=ve(e,C,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=L.components,d=L.components.filter(te=>te.isRegistered)}}}if(g&&a){C=be(e,C),C=ye(e,C);let x=j(e,C);x=me(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return D}function Io(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function Zs(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([Io(e,t)],!0),t)}async function eu(e,t,r){let n=J(e,t,"CUSTOM_COMPONENTS");if(!n)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let o=n.arrayLiteralExp.elements.filter(a=>e.ts.isObjectLiteralExpression(a)),i=-1;for(let a=0;a<o.length;a++)if((await yn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function No(e){let t=await tu(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>wo(t),ensureFigmaImportPage:()=>bo(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=>mo(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 tu(e){let t=await nu(e),r=e.getAppRootDir(),n=e.join(r,"src"),o=await ae(e),i=e.join(n,"app"),a=await pe(e,i),s={},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 nu(e){let t=e.join(e.getAppRootDir(),"angular.json");if(await e.exists(t))return t;let r=e.join(e.getAppRootDir(),"project.json");if(await e.exists(r))return r;if(e.ignoreMissingConfig)return"";throw new Error(`Could not find Angular config file. Searched for angular.json & project.json in "${e.getAppRootDir()}".`)}var Gt=qn(zo(),1);async function qo(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:ge(e.relative(e.getAppRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:se(i.inputs)};return se(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,Gt.compress)(n);return btoa(JSON.stringify(o))}async function Jo(e,t,r){if(typeof r!="string")throw new Error("Invalid registry to import");let n=await t.getRegistry(),o=JSON.parse(atob(r)),i=(0,Gt.decompress)(o),a=se(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let u=ge(e.normalize(s.filePath)),p=n.components.find(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 xe={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Pd={[xe.react]:[{version:w.gen1,recommended:!0},{version:w.gen2,recommended:!1}],[xe.remix]:[{version:w.gen1,recommended:!1},{version:w.gen2,recommended:!0}],[xe.angular]:[{version:w.gen2,recommended:!0}],[xe.next]:[{version:w.gen1,recommended:!0},{version:w.gen2,recommended:!1}],[xe.qwik]:[{version:w.gen2,recommended:!0}]};async function Wo(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(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 wu={"@builder.io/qwik-city":Qr,next:_r,"@remix-run/react":no,react:co,"@angular/core":No},bu={"@builder.io/qwik-city":xe.qwik,next:xe.next,"@remix-run/react":xe.remix,react:xe.react,"@angular/core":xe.angular};async function Tu(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await Ye(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let r=wu[t.name];if(r)try{let n=await r(e);return{...n,exportRegistry:()=>qo(e,n),importRegistry:i=>Jo(e,n,i),framework:bu[t.name],findAllDependencies:async()=>await Wo(e,e.getRepoRootDir())}}catch(n){e.Sentry?.captureException(n,{level:"warning"})}}throw new Error(`Devtools framework not found for ${e.getAppRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Qo(e){function t(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,C=0,l;for(let x=0;x<=m.length;++x){if(x<m.length)l=m.charCodeAt(x);else{if(l===47)break;l=47}if(l===47){if(!(g===x-1||C===1))if(g!==x-1&&C===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=x,C=0;continue}}else if(d.length===2||d.length===1){d="",D=0,g=x,C=0;continue}}c&&(d.length>0?d+="/..":d="..",D=2)}else d.length>0?d+="/"+m.slice(g+1,x):d=m.slice(g+1,x),D=x-g-1;g=x,C=0}else l===46&&C!==-1?++C:C=-1}return d}let n=function(...c){let d="",D=!1;for(let g=c.length-1;g>=-1&&!D;g--){let C;g>=0?C=c[g]:e.cwd?C=e.cwd():C="/",t(C),C.length!==0&&(d=C+"/"+d,D=C.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,C=g-D,l=1;for(;l<d.length&&d.charCodeAt(l)===47;++l);let E=d.length-l,F=C<E?C: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 C>F&&(c.charCodeAt(D+S)===47?A=S:S===0&&(A=0));break}let $=c.charCodeAt(D+S),L=d.charCodeAt(l+S);if($!==L)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,C=!0,l;if(d!==void 0&&d.length>0&&d.length<=c.length){if(d.length===c.length&&d===c)return"";let x=d.length-1,E=-1;for(l=c.length-1;l>=0;--l){let F=c.charCodeAt(l);if(F===47){if(!C){D=l+1;break}}else E===-1&&(C=!1,E=l+1),x>=0&&(F===d.charCodeAt(x)?--x===-1&&(g=l):(x=-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(!C){D=l+1;break}}else g===-1&&(C=!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,C=!0;for(let l=c.length-1;l>=1;--l)if(d=c.charCodeAt(l),d===47){if(!C){g=l;break}}else C=!1;return g===-1?D?"/":".":D&&g===1?"//":c.slice(0,g)},extname:function(c){t(c);let d=-1,D=0,g=-1,C=!0,l=0;for(let x=c.length-1;x>=0;--x){let E=c.charCodeAt(x);if(E===47){if(!C){D=x+1;break}continue}g===-1&&(C=!1,g=x+1),E===46?d===-1?d=x: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 vu(e){let t=e.getRepoRootDir?e.getRepoRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Qo({cwd:r,...e}),o=new Map,i=l=>n.normalize(n.resolve(r(),l)),a=l=>{for(let[x]of o)if((x+"/").startsWith(l))return!0;return l===t()},s=l=>(l=i(l),o.has(l)?!0:a(l)),u=l=>{l=i(l);let x=l===t()?l:l+"/",E=x.split("/").length-1,F=[];for(let[A]of o)if(A.split("/").slice(0,E).join("/")+"/"===x){let $=A.split("/")[E];$&&!F.includes($)&&F.push($)}return F.sort()},p=async(l,x=[])=>{l=i(l);let E=l===t()?l:l+"/",F=[],A=new Set(x);for(let[S]of o)S.startsWith(E)&&(S.slice(E.length).split("/").some(L=>A.has(L))||F.push(S));return F.sort()},f=l=>{l=i(l);let x=o.get(l);return typeof x=="string"?x:null},m=l=>{l=i(l);let x=o.get(l);return typeof x=="string"?new TextEncoder().encode(x):x instanceof Uint8Array?x: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 x=0;for(let E=0;E<l.length;E++){let F=l.charCodeAt(E);x=(x<<5)-x+F,x|=0}return Number(Math.abs(x)).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,x)=>{l=i(l),o.set(l,x);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()=>({remoteUrl:"",defaultBranch:"",currentBranch:"",commit:""}),formatCode:async(l,x)=>x,on:(l,x)=>{l==="change"&&D.add(x)},off:(l,x)=>{l==="change"&&D.delete(x)},debug:(...l)=>{console.debug("[builder-dev-tools]",...l)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0",sdkVersion:null,kind:null,magicast:void 0,spawnSync:void 0,Sentry:void 0},C=await Ye(g);return g.getFrameworks=e.getFrameworks?e.getFrameworks:()=>C,g}async function Yo(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(await er(e))return console.warn("Turbopack does not support the Builder.io devtools cli. Please disable Turbopack or manually integrate Builder.io into your Next.js project."),o;if(Go(e,n))return o;let s=ce(e,n,"cjs"),u=ce(e,n);if(s.length!==1&&u.length!==1)throw new Error("Expected an export from file");if(u.length===1){let 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
+ `.trimStart()}async function Ro(e){await Wt(e);let t=await e.readFile(e.registryPath);return t?Zs(e,t):{components:[],sourceFile:I(e,"")}}async function Zs(e,t){let r=I(e,t);return eu(e,r)}async function eu(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 Tn(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:oe(r)}}async function Tn(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 Co(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 ze(e),[p,f,m]=await Promise.all([xo(e,u),Ro(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 ho(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 G(e,E);for(let A of C){let S=D.components.find(_=>_.id===A.cmpInfo.id),N=await En(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:Y}=await nu(e,x,A);if(k.addCmpToRegistry)P.push(tu(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(Y,Y.name,Y.exclamationToken,Y.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 No(e,t){let r=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",r)}function tu(e,t){return W(e,e.ts.factory.createObjectLiteralExpression([No(e,t)],!0),t)}async function nu(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 Tn(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Bo(e){let t=await ru(e);return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>To(t),ensureFigmaImportPage:()=>Io(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=>go(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 ru(e){let t=await ou(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 ou(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 Ht=Wn(Jo(),1);async function Wo(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,Ht.compress)(n);return btoa(JSON.stringify(o))}async function Qo(e,t,r){if(typeof r!="string")throw new Error("Invalid registry to import");let n=await t.getRegistry(),o=JSON.parse(atob(r)),i=(0,Ht.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"},bd={[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 Yo(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(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 Tu={"@builder.io/qwik-city":Gr,next:Vr,"@remix-run/react":oo,react:fo,"@angular/core":Bo},Iu={"@builder.io/qwik-city":Ce.qwik,next:Ce.next,"@remix-run/react":Ce.remix,react:Ce.react,"@angular/core":Ce.angular};async function vu(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await Ye(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let r=Tu[t.name];if(r)try{let n=await r(e);return{...n,exportRegistry:()=>Wo(e,n),importRegistry:i=>Qo(e,n,i),framework:Iu[t.name],findAllDependencies:async()=>await Yo(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 Go(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 Ru(e){let t=e.getRepoRootDir?e.getRepoRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Go({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()=>({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 Ye(g);return g.getFrameworks=e.getFrameworks?e.getFrameworks:()=>x,g}async function Ho(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(await nr(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(Xo(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}
918
918
  Found config content:
919
919
  ${r}
920
920
 
@@ -927,7 +927,7 @@ The config file must follow one of these formats:
927
927
 
928
928
  3. export default { /* config */ }
929
929
 
930
- Current export type: ${c.kind?e.ts.SyntaxKind[c.kind]:"none"}`);let d=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 C=g.initializer;if(e.ts.isObjectLiteralExpression(C)||e.ts.isCallExpression(C)){let l="BuilderDevTools()",x=[...n.statements],E=x.indexOf(d);return x[E]=e.ts.factory.updateVariableStatement(d,d.modifiers,e.ts.factory.updateVariableDeclarationList(d.declarationList,[e.ts.factory.updateVariableDeclaration(g,g.name,g.exclamationToken,g.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(l),void 0,[C]))])),n=e.ts.factory.updateSourceFile(n,x),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=j(e,n),o.hasContentUpdates=!0,o}throw new Error(`Unexpected initializer on the variable statement in file
930
+ Current export type: ${l.kind?e.ts.SyntaxKind[l.kind]:"none"}`);let 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
931
931
  Found config content:
932
932
  ${r}
933
933
 
@@ -935,7 +935,7 @@ The config variable must be initialized with either:
935
935
  1. An object literal: const nextConfig = { /* config */ }
936
936
  2. A function call: const nextConfig = withSomePlugin({ /* config */ })
937
937
 
938
- Current initializer type: ${C?.kind?e.ts.SyntaxKind[C.kind]:"none"}
938
+ Current initializer type: ${x?.kind?e.ts.SyntaxKind[x.kind]:"none"}
939
939
  Expected types: ObjectLiteralExpression or CallExpression`)}}let p=s[0];if(!p.isDefaultExport)throw new Error(`Expected a default export from ${t}
940
940
  Found config content:
941
941
  ${r}
@@ -943,7 +943,7 @@ Detected export type: ${p?.statement.kind??"none"}
943
943
  Valid formats:
944
944
  1. module.exports = { ... }
945
945
  2. module.exports = (phase, config) => { return { ... } }
946
- 3. export default { ... }`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let 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=Kn(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.hasContentUpdates=!0,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=Kn(e,n);n=D.sourceFile;let g=[...n.statements],C=g.indexOf(f);return g[C]=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.hasContentUpdates=!0,o}throw new Error(`Unexpected initializer on the variable statement in ${t}
946
+ 3. export default { ... }`);if(e.ts.isObjectLiteralExpression(p.node)||e.ts.isCallExpression(p.node)){let 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=Un(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=Un(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}
947
947
  Found config content:
948
948
  ${r}
949
949
 
@@ -952,17 +952,17 @@ The config variable must be initialized with either:
952
952
  2. A function call: const nextConfig = withSomePlugin({ /* config */ })
953
953
 
954
954
  Current initializer type: ${d.kind}
955
- Expected types: ${e.ts.SyntaxKind.ObjectLiteralExpression} or ${e.ts.SyntaxKind.CallExpression}`)}if(e.ts.isArrowFunction(p.node)){let 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 C=[...g.statements],l=C.findIndex(S=>e.ts.isReturnStatement(S));if(l===-1)throw new Error("Expected a return statement on the next config function");let x=C[l],E=Kn(e,n);n=E.sourceFile,C[l]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(E.withFnVariableName),void 0,[x.expression]));let F=[...n.statements],A=F.indexOf(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,C)))),n=e.ts.factory.updateSourceFile(n,F),o.content=j(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function Go(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/next"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Kn(e,t){let r=Go(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/next")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}async function Zo(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(ei(e,n))return o;let a=ce(e,n,"cjs"),s=ce(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let u=a[0];if(s.length===1){let 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=Iu(e,m.expression);if(!d)return o;let D=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[d]),g=[...n.statements],C=g.indexOf(m);return g[C]=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.hasContentUpdates=!0,o}}if(!u.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(u.node)||e.ts.isCallExpression(u.node)){let 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=Ho(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.hasContentUpdates=!0,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=Ho(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.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function ei(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Ho(e,t){let r=ei(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function Iu(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Xo(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Xo(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Xo(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier('"@builder.io/react"')])}async function ni(e,t,r){try{let n=I(e,r),o=ce(e,n);if(o.length!==1)throw new Error(`Expected an export from ${t}`);let i=o[0];if(!i.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let a=i.statement;if(!e.ts.isExportAssignment(a))throw new Error(`Expected an export assignment from ${t}`);let s={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(e.ts.isCallExpression(i.node)&&e.ts.isIdentifier(i.node.expression)&&i.node.expression.text==="defineConfig"){let u=[...i.node.arguments];if(u.length===0)throw new Error("Expected an argument in defineConfig()");let p=u[0];if(e.ts.isArrowFunction(p)){let f=Nu(e,p);if(!f)return s;u[0]=e.ts.factory.updateArrowFunction(p,p.modifiers,p.typeParameters,p.parameters,p.type,p.equalsGreaterThanToken,f);let m=[...n.statements],c=m.indexOf(a);return m[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,u)),n=e.ts.factory.updateSourceFile(n,m),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=j(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(p)){let f=Mn(e,p);if(!f)return s;let m=[...n.statements],c=m.indexOf(a);return m[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[f])),n=e.ts.factory.updateSourceFile(n,m),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=j(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let u=Mn(e,a.expression);if(!u)return s;let p=[...n.statements],f=p.indexOf(a);return p[f]=e.ts.factory.updateExportAssignment(a,a.modifiers,u),n=e.ts.factory.updateSourceFile(n,p),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=j(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}catch(n){throw e.Sentry?.captureException(n,{extra:{configFilePath:t,configContent:r},level:"warning"}),n}}function Nu(e,t){let r=t.body;if(!e.ts.isBlock(r))return null;let n=[...r.statements],o=n.findIndex(s=>e.ts.isReturnStatement(s));if(o===-1){let s=e.ts.factory.createReturnStatement(e.ts.factory.createObjectLiteralExpression());n.push(s),o=n.length-1}let i=n[o];if(!i.expression||!e.ts.isObjectLiteralExpression(i.expression))return null;let a=Mn(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Mn(e,t){if(Ou(e)){let i=Ru(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=ti(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=ti(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function ti(e,t){return t.elements.some(n=>e.ts.isCallExpression(n)&&e.ts.isIdentifier(n.expression)?n.expression.text==="builderDevTools":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("builderDevTools"),void 0,[])])}function Ru(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Bu(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Un(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o){let i=e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("noExternal",o)]);return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("ssr",i)])}return null}function Bu(e,t){let r=[...t.properties],n=r.findIndex(i=>R(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Un(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Un(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Un(e,t){return t.elements.some(n=>e.ts.isStringLiteral(n)?n.text==="@builder.io/react":!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createStringLiteral("@builder.io/react")])}function Ou(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function ri(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function ii(e,t,r){e.debug("Angular config updates are currently in progress...");try{await _u(e)}catch(n){e.Sentry?.captureException(new Error("Unable to update package.json.",{cause:n}))}return await ku(e),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}async function ku(e){let t=e.getAppRootDir(),r=e.join(t,"src");if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);let n=e.join(r,"main.ts"),o=await e.readFile(n);if(!o)throw new Error(`Unable to read main.ts at ${n}`);let i=await Lu(e,o);await e.writeFile(n,i)}async function Lu(e,t){let r=t,n=I(e,t),o=!1;for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isCallExpression(a.expression)&&e.ts.isPropertyAccessExpression(a.expression.expression)&&e.ts.isCallExpression(a.expression.expression.expression)&&e.ts.isIdentifier(a.expression.expression.expression.expression)&&a.expression.expression.expression.expression.text==="builderDevTools"){o=!0;break}n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
955
+ 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=Un(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 Xo(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 Un(e,t){let r=Xo(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 ti(e,t,r){try{let n=I(e,r),o={content:r,filePath:t,fileName:e.basename(t),outcome:"no-update"};if(ni(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=Nu(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=Zo(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=Zo(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 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/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Zo(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/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function Nu(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=ei(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=ei(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function ei(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 oi(e,t,r){try{let n=await Bu(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 Bu(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=Ou(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=Xt(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=Xt(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 Ou(e,t,r){let n=t.body;if(!e.ts.isBlock(n)){if(e.ts.isParenthesizedExpression(n)&&e.ts.isObjectLiteralExpression(n.expression)){let u=Xt(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=Xt(e,a.expression,r);return s?(o[i]=e.ts.factory.updateReturnStatement(a,s),e.ts.factory.updateBlock(n,o)):null}function Xt(e,t,r){if(_u(e)){let a=ku(e,t);a&&(t=a)}let n=[...t.properties],o=n.findIndex(a=>Zt(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=ri(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=ri(e,e.ts.factory.createArrayLiteralExpression([],!0),r);return i?e.ts.factory.updateObjectLiteralExpression(t,[...n,e.ts.factory.createPropertyAssignment("plugins",i)]):null}function ri(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 ku(e,t){let r=[...t.properties],n=r.findIndex(i=>Zt(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Lu(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=>Zt(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 Lu(e,t){let r=[...t.properties],n=r.findIndex(i=>Zt(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 Zt(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 _u(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function ii(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 si(e,t,r){e.debug("Angular config updates are currently in progress...");try{await $u(e)}catch(n){e.Sentry?.captureException(new Error("Unable to update package.json.",{cause:n}))}return await ju(e),{content:r,fileName:e.basename(t),filePath:t,outcome:"added"}}async function ju(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 Vu(e,o);await e.writeFile(n,i)}async function Vu(e,t){let r=t,n=I(e,t),o=!1;for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isCallExpression(a.expression)&&e.ts.isPropertyAccessExpression(a.expression.expression)&&e.ts.isCallExpression(a.expression.expression.expression)&&e.ts.isIdentifier(a.expression.expression.expression.expression)&&a.expression.expression.expression.expression.text==="builderDevTools"){o=!0;break}n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/angular"});let i=`
956
956
  builderDevTools().catch((err: Error) =>
957
957
  console.error("Error starting dev tools:", err)
958
- );`;return r=j(e,n),o||(r+=i),r}async function _u(e){let t=e.getRepoRootDir(),r=e.join(t,"package.json"),n=await e.readFile(r);if(!n)throw new Error(`Unable to read package.json at ${r}`);let o=ju(e,n);o&&await e.writeFile(r,o)}function ju(e,t){let r=JSON.parse(t);if(r.scripts=r.scripts||{},r.scripts[oi])return;let n=r.scripts.start||r.scripts.dev||"ng serve";if(!n.includes("concurrently")){let o=e.getRepoRootDir(),i=e.getAppRootDir(),a=o===i?"":` --cwd ${e.relative(o,i)}`,s=`concurrently "${n}" "${Vu}${a}"`;r.scripts.start=s,r.scripts[oi]=s}return JSON.stringify(r,null,2)+`
959
- `}var oi="builder-dev",Vu="npx builder-dev-tools";var si=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Yo},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:ni},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:Zo},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:ri},{id:"angular",configFileNames:["angular.json","project.json"],ensureConfigPlugin:ii}];async function ui(e){let t=e.resolve("/");for(let n of si)for(let o of n.configFileNames){let i=e.getAppRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),u=e.readFileSync(s);if(typeof u=="string")return{id:n.id,filePath:s,content:u};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await Ye(e)).some(n=>n.name==="next")){let n=e.join(e.getAppRootDir(),"next.config.js");return await e.writeFile(n,ai),{id:"next",filePath:n,content:ai}}return null}async function $u(e){let t=await ui(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await si.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=me(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ai=`
958
+ );`;return r=j(e,n),o||(r+=i),r}async function $u(e){let t=e.getRepoRootDir(),r=e.join(t,"package.json"),n=await e.readFile(r);if(!n)throw new Error(`Unable to read package.json at ${r}`);let o=Ku(e,n);o&&await e.writeFile(r,o)}function Ku(e,t){let r=JSON.parse(t);if(r.scripts=r.scripts||{},r.scripts[ai])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}" "${Mu}${a}"`;r.scripts.start=s,r.scripts[ai]=s}return JSON.stringify(r,null,2)+`
959
+ `}var ai="builder-dev",Mu="npx builder-dev-tools";var pi=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Ho},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:oi},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:ti},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:ii},{id:"angular",configFileNames:["angular.json","project.json"],ensureConfigPlugin:si}];async function li(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 Ye(e)).some(n=>n.name==="next")){let n=e.join(e.getAppRootDir(),"next.config.js");return await e.writeFile(n,ui),{id:"next",filePath:n,content:ui}}return null}async function zu(e){let t=await li(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=me(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ui=`
960
960
  /** @type {import('next').NextConfig} */
961
961
  const nextConfig = {
962
962
  }
963
963
 
964
964
  module.exports = nextConfig
965
- `.trimStart();var pi="/~builder-dev-tools.js";function Ku(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(pi,e);t.searchParams.set("v",Ht);let r=JSON.stringify(Ht),n=`/* Builder Devtools v${Ht} */
965
+ `.trimStart();var ci="/~builder-dev-tools.js";function Uu(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(ci,e);t.searchParams.set("v",en);let r=JSON.stringify(en),n=`/* Builder Devtools v${en} */
966
966
  `;return n+=`(() => {
967
967
  `,n+=` if (typeof document !== "undefined") {
968
968
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -975,4 +975,4 @@ module.exports = nextConfig
975
975
  `,n+=` }
976
976
  `,n+=` }
977
977
  `,n+=`})();
978
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Ht=Jn;export{Tu as createDevTools,vu as createDevToolsSys,Ye as detectFrameworks,tr as detectFrameworksFromPackageJson,$u as ensureConfigPlugin,ui as findBuildToolConfig,Ku as getClientScript,rr as parseDotEnvContent,Ht as version};
978
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var en=Qn;export{vu as createDevTools,Ru as createDevToolsSys,Ye as detectFrameworks,rr as detectFrameworksFromPackageJson,zu as ensureConfigPlugin,li as findBuildToolConfig,Uu as getClientScript,ir as parseDotEnvContent,en as version};