@builder.io/dev-tools 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/core/index.cjs CHANGED
@@ -1,25 +1,25 @@
1
- "use strict";var Fr=Object.create;var Qe=Object.defineProperty;var Ar=Object.getOwnPropertyDescriptor;var Lr=Object.getOwnPropertyNames;var Or=Object.getPrototypeOf,kr=Object.prototype.hasOwnProperty;var re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jr=(e,t)=>{for(var r in t)Qe(e,r,{get:t[r],enumerable:!0})},Qt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lr(t))!kr.call(e,o)&&o!==r&&Qe(e,o,{get:()=>t[o],enumerable:!(n=Ar(t,o))||n.enumerable});return e};var _r=(e,t,r)=>(r=e!=null?Fr(Or(e)):{},Qt(t||!e||!e.__esModule?Qe(r,"default",{value:e,enumerable:!0}):r,e)),Br=e=>Qt(Qe({},"__esModule",{value:!0}),e);var It=re(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});function Xn(e){return Object.prototype.toString.call(e)}it.getType=Xn;function yi(e){throw new TypeError("unsupported data type: "+Xn(e))}it.throwUnknownDataType=yi});var Lt=re(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});var ee="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);ee+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);ee+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);ee+=t}var Pe=ee.length,Rt={};for(let e=0;e<Pe;e++){let t=ee[e];Rt[t]=e}function Ft(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Rt[o];i*=r,t+=i,r*=Pe}return t}te.s_to_int=Ft;function Zn(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Pe);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Rt[i]);a*=r,t+=a,r*=n}return t}te.s_to_big_int=Zn;function At(e){if(e===0)return ee[0];let t=[];for(;e!==0;){let r=e%Pe,n=ee[r];t.push(n),e-=r,e/=Pe}return t.reverse().join("")}te.int_to_s=At;function er(e){let t=BigInt(0),r=BigInt(Pe);if(e===t)return ee[0];let n=[];for(;e!==t;){let o=e%r,i=ee[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}te.big_int_to_s=er;function st(e){return e.split("").reverse().join("")}function tr(e){if(e<0)return"-"+tr(-e);let[t,r]=e.toString().split(".");if(!r)return At(e);let n;r&&([r,n]=r.split("e")),t=at(t),r=st(r),r=at(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=st(n),n=at(n),o+=n}return o}te.num_to_s=tr;function at(e){let t=+e;return t.toString()===e?At(t):":"+er(BigInt(e))}te.int_str_to_s=at;function Nt(e){return e[0]===":"?Zn(e.substring(1)).toString():Ft(e).toString()}function nr(e){if(e[0]==="-")return-nr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Ft(t);t=Nt(t),r=Nt(r),r=st(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Nt(n),n=st(n),o+=i?-n:+n}return+o}te.s_to_num=nr});var kt=re(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});var Ot=Lt();function Ti(e){return"n|"+Ot.num_to_s(e)}ne.encodeNum=Ti;function Ei(e){return e=e.replace("n|",""),Ot.s_to_num(e)}ne.decodeNum=Ei;function wi(e){return typeof e=="number"?e:Ot.s_to_int(e)}ne.decodeKey=wi;function Di(e){return e?"b|T":"b|F"}ne.encodeBool=Di;function Pi(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}ne.decodeBool=Pi;function vi(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}ne.encodeStr=vi;function bi(e){return e[0]+e[1]==="s|"?e.substr(2):e}ne.decodeStr=bi});var rr=re(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.config={sort_key:!1}});var Bt=re(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});var Ii=rr(),Ni=It(),_t=kt(),Ri=Lt();function Fi(e){return e.store.toArray()}ye.memToValues=Fi;function or(){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}}}ye.makeInMemoryStore=or;function ir(){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}}}ye.makeInMemoryCache=ir;function Ai(){return{store:or(),cache:ir(),keyCount:0}}ye.makeInMemoryMemory=Ai;function Se(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Ri.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function Li(e,t){Ii.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=$e(e,t,void 0);return e.cache.setSchema(r,n),n}function $e(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return $e(e,null,r);break;case"object":if(t===null)return Se(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":$e(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Se(e,n)}else{let n=Object.keys(t);if(n.length===0)return Se(e,"o|");let o="o",i=Li(e,n);o+="|"+i;for(let a of n){let s=t[a],l=$e(e,s,t);o+="|"+l}return Se(e,o)}case"boolean":return Se(e,_t.encodeBool(t));case"number":return Se(e,_t.encodeNum(t));case"string":return Se(e,_t.encodeStr(t))}return Ni.throwUnknownDataType(t)}ye.addValue=$e});var $t=re(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});var Oi=It(),lt=kt(),Vt=Bt();function ki(e){let t=Vt.makeInMemoryMemory(),r=Vt.addValue(t,e,void 0);return[Vt.memToValues(t),r]}Ue.compress=ki;function ji(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ze(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let l=i[s-2],c=n[s];c=ze(e,c),r[l]=c}return r}function _i(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=ze(e,a),o[i]=a}return o}function ze(e,t){if(t===""||t==="_")return null;let r=lt.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 lt.decodeBool(n);case"o|":return ji(e,n);case"n|":return lt.decodeNum(n);case"a|":return _i(e,n);default:return lt.decodeStr(n)}}return Oi.throwUnknownDataType(n)}Ue.decode=ze;function Bi(e){let[t,r]=e;return ze(t,r)}Ue.decompress=Bi});var sr=re(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});function Vi(e){for(let t in e)e[t]===void 0&&delete e[t]}ct.trimUndefined=Vi;function $i(e){ar(e,new Set)}ct.trimUndefinedRecursively=$i;function ar(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)&&ar(n,t)}}});var pr=re(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});var lr=$t();ge.compress=lr.compress;ge.decompress=lr.decompress;var zi=$t();ge.decode=zi.decode;var Ui=Bt();ge.addValue=Ui.addValue;var cr=sr();ge.trimUndefined=cr.trimUndefined;ge.trimUndefinedRecursively=cr.trimUndefinedRecursively});var Yi={};jr(Yi,{createDevTools:()=>fr,createDevToolsSys:()=>gr,detectFrameworks:()=>oe,detectFrameworksFromPackageJson:()=>ut,ensureConfigPlugin:()=>br,findBuildToolConfig:()=>Mt,getClientScript:()=>Nr,parseDotEnvContent:()=>mt,version:()=>Ke});module.exports=Br(Yi);async function qt(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 Jt(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function ve(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let l=await ve(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function oe(e){let t=[],r=await qt(e,e.getRootDir());if(r){let n=ut(r);t.push(...n)}return t}function ut(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Vr)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Vr=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","angular","react","solid-js","svelte","vue"];async function ie(e){let t=Wt(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function ae(e,t){t=typeof t=="object"&&t!=null?t:{};let r=Wt(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Wt(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function se(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await $r(e,i);if(a){let s=a[r];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return n.envValue=s,n.file=i,n}}return n.file=e.join(e.getRootDir(),t[t.length-1]),n}async function $r(e,t){let r=await e.readFile(t);return typeof r=="string"?mt(r):null}function mt(e){let t={},r=e.replace(/\r\n?/gm,`
1
+ "use strict";var Fr=Object.create;var Qe=Object.defineProperty;var Ar=Object.getOwnPropertyDescriptor;var Lr=Object.getOwnPropertyNames;var Or=Object.getPrototypeOf,kr=Object.prototype.hasOwnProperty;var oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jr=(e,t)=>{for(var r in t)Qe(e,r,{get:t[r],enumerable:!0})},qt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lr(t))!kr.call(e,o)&&o!==r&&Qe(e,o,{get:()=>t[o],enumerable:!(n=Ar(t,o))||n.enumerable});return e};var _r=(e,t,r)=>(r=e!=null?Fr(Or(e)):{},qt(t||!e||!e.__esModule?Qe(r,"default",{value:e,enumerable:!0}):r,e)),Br=e=>qt(Qe({},"__esModule",{value:!0}),e);var Nt=oe(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});function Xn(e){return Object.prototype.toString.call(e)}at.getType=Xn;function Pi(e){throw new TypeError("unsupported data type: "+Xn(e))}at.throwUnknownDataType=Pi});var Ot=oe(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});var te="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);te+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);te+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);te+=t}var De=te.length,Ft={};for(let e=0;e<De;e++){let t=te[e];Ft[t]=e}function At(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Ft[o];i*=r,t+=i,r*=De}return t}ne.s_to_int=At;function Zn(e){let t=BigInt(0),r=BigInt(1),n=BigInt(De);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Ft[i]);a*=r,t+=a,r*=n}return t}ne.s_to_big_int=Zn;function Lt(e){if(e===0)return te[0];let t=[];for(;e!==0;){let r=e%De,n=te[r];t.push(n),e-=r,e/=De}return t.reverse().join("")}ne.int_to_s=Lt;function er(e){let t=BigInt(0),r=BigInt(De);if(e===t)return te[0];let n=[];for(;e!==t;){let o=e%r,i=te[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}ne.big_int_to_s=er;function lt(e){return e.split("").reverse().join("")}function tr(e){if(e<0)return"-"+tr(-e);let[t,r]=e.toString().split(".");if(!r)return Lt(e);let n;r&&([r,n]=r.split("e")),t=st(t),r=lt(r),r=st(r);let o=t+"."+r;if(n){switch(o+=".",n[0]){case"+":n=n.slice(1);break;case"-":o+="-",n=n.slice(1);break}n=lt(n),n=st(n),o+=n}return o}ne.num_to_s=tr;function st(e){let t=+e;return t.toString()===e?Lt(t):":"+er(BigInt(e))}ne.int_str_to_s=st;function Rt(e){return e[0]===":"?Zn(e.substring(1)).toString():At(e).toString()}function nr(e){if(e[0]==="-")return-nr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return At(t);t=Rt(t),r=Rt(r),r=lt(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Rt(n),n=lt(n),o+=i?-n:+n}return+o}ne.s_to_num=nr});var jt=oe(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});var kt=Ot();function Di(e){return"n|"+kt.num_to_s(e)}re.encodeNum=Di;function vi(e){return e=e.replace("n|",""),kt.s_to_num(e)}re.decodeNum=vi;function bi(e){return typeof e=="number"?e:kt.s_to_int(e)}re.decodeKey=bi;function Ii(e){return e?"b|T":"b|F"}re.encodeBool=Ii;function Ni(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}re.decodeBool=Ni;function Ri(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}re.encodeStr=Ri;function Fi(e){return e[0]+e[1]==="s|"?e.substr(2):e}re.decodeStr=Fi});var rr=oe(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.config={sort_key:!1}});var $t=oe(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});var Ai=rr(),Li=Nt(),Bt=jt(),Oi=Ot();function ki(e){return e.store.toArray()}ye.memToValues=ki;function or(){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}}}ye.makeInMemoryStore=or;function ir(){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}}}ye.makeInMemoryCache=ir;function ji(){return{store:or(),cache:ir(),keyCount:0}}ye.makeInMemoryMemory=ji;function Se(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=Oi.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function _i(e,t){Ai.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Ve(e,t,void 0);return e.cache.setSchema(r,n),n}function Ve(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Ve(e,null,r);break;case"object":if(t===null)return Se(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Ve(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Se(e,n)}else{let n=Object.keys(t);if(n.length===0)return Se(e,"o|");let o="o",i=_i(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Ve(e,s,t);o+="|"+l}return Se(e,o)}case"boolean":return Se(e,Bt.encodeBool(t));case"number":return Se(e,Bt.encodeNum(t));case"string":return Se(e,Bt.encodeStr(t))}return Li.throwUnknownDataType(t)}ye.addValue=Ve});var zt=oe(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});var Bi=Nt(),ct=jt(),Vt=$t();function $i(e){let t=Vt.makeInMemoryMemory(),r=Vt.addValue(t,e,void 0);return[Vt.memToValues(t),r]}Ke.compress=$i;function Vi(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ze(e,o),a=n.length;a-2===1&&!Array.isArray(i)&&(i=[i]);for(let s=2;s<a;s++){let l=i[s-2],c=n[s];c=ze(e,c),r[l]=c}return r}function zi(e,t){if(t==="a|")return[];let r=t.split("|"),n=r.length-1,o=new Array(n);for(let i=0;i<n;i++){let a=r[i+1];a=ze(e,a),o[i]=a}return o}function ze(e,t){if(t===""||t==="_")return null;let r=ct.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 ct.decodeBool(n);case"o|":return Vi(e,n);case"n|":return ct.decodeNum(n);case"a|":return zi(e,n);default:return ct.decodeStr(n)}}return Bi.throwUnknownDataType(n)}Ke.decode=ze;function Ki(e){let[t,r]=e;return ze(t,r)}Ke.decompress=Ki});var sr=oe(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});function Ui(e){for(let t in e)e[t]===void 0&&delete e[t]}pt.trimUndefined=Ui;function Mi(e){ar(e,new Set)}pt.trimUndefinedRecursively=Mi;function ar(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)&&ar(n,t)}}});var pr=oe(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});var lr=zt();xe.compress=lr.compress;xe.decompress=lr.decompress;var Qi=zt();xe.decode=Qi.decode;var qi=$t();xe.addValue=qi.addValue;var cr=sr();xe.trimUndefined=cr.trimUndefined;xe.trimUndefinedRecursively=cr.trimUndefinedRecursively});var Zi={};jr(Zi,{createDevTools:()=>fr,createDevToolsSys:()=>gr,detectFrameworks:()=>ie,detectFrameworksFromPackageJson:()=>mt,ensureConfigPlugin:()=>br,findBuildToolConfig:()=>Qt,getClientScript:()=>Nr,parseDotEnvContent:()=>ft,version:()=>Ue});module.exports=Br(Zi);async function Jt(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 Wt(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function ve(e,t,r){let n=await e.readdir(t);return n.includes(r)?e.join(t,r):(await Promise.all(n.map(async i=>{if(i.startsWith(".")||i==="node_modules")return;let a=e.join(t,i);if((await e.stat(a)).isDirectory()){let l=await ve(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function ie(e){let t=[],r=await Jt(e,e.getRootDir());if(r){let n=mt(r);t.push(...n)}return t}function mt(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of $r)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var $r=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","angular","react","solid-js","svelte","vue"];async function ae(e){let t=Yt(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=Yt(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Yt(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function le(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await Vr(e,i);if(a){let s=a[r];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return n.envValue=s,n.file=i,n}}return n.file=e.join(e.getRootDir(),t[t.length-1]),n}async function Vr(e,t){let r=await e.readFile(t);return typeof r=="string"?ft(r):null}function ft(e){let t={},r=e.replace(/\r\n?/gm,`
2
2
  `),n;for(;(n=zr.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
3
- `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var zr=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function le(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
3
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var zr=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function ce(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
4
4
 
5
5
  ${o}
6
6
  ${r}=${n}
7
7
 
8
8
  `,await e.writeFile(t,i),"update";else return e.debug(`Creating new .env file with "${r}" at ${t}`),i=[o,`${r}=${n}`,""].join(`
9
- `),await e.writeFile(t,i),"create";return null}async function be(e){return await se(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],xe)}async function Yt(e,t){let r=await be(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var xe="NEXT_PUBLIC_BUILDER_API_KEY";function P(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function qe(e,t=""){let r=P(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function F(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
9
+ `),await e.writeFile(t,i),"create";return null}async function be(e){return await le(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],he)}async function Ht(e,t){let r=await be(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var he="NEXT_PUBLIC_BUILDER_API_KEY";function D(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function qe(e,t=""){let r=D(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function F(e,t,r){if(t){let n=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:r});return e.ts.isSourceFile(t)?n.printFile(t).trim()+`
10
10
  `:n.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
11
- `}return""}function O(e,t,r){t=K(t),r=K(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=K(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function K(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ie(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Ht(o==="index"?e.basename(e.dirname(t)):o)}function Ht(e){return k(e).replace(/ /g,"")}function M(e,t){let r=e.extname(t),n=K(e.basename(t,r)).split("/").pop();return k(n==="index"?e.basename(e.dirname(t)):n)}function j(e,t){let r=K(e.relative(e.getRootDir(),t));r=r.split("/").filter(o=>o!=="."&&o!==".."&&o!=="").join("/"),r.endsWith(".tsx")||r.endsWith(".jsx")?r=r.slice(0,-4):(r.endsWith(".ts")||r.endsWith(".js"))&&(r=r.slice(0,-3));let n=e.getFrameworks();return r.startsWith("src/")&&(r=r.slice(4)),n.some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function R(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 Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function Ne(e){return typeof e=="number"}function Te(e){return typeof e=="boolean"}function B(e){return typeof e=="string"}function Je(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function Fe(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Ur(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,l)=>l!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,Re(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Re(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ur(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Ae(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Mr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Kr(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 Kr(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=b(e,n);o&&(r[o]=Ae(e,n.initializer))}}return r}function Mr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Ae(e,r)):[]}function b(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function Re(e,t){return ft(e,t,new WeakSet)}function ft(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)?Qr(e,t,r):typeof t=="object"?qr(e,t,r):e.ts.factory.createIdentifier(t)}function Qr(e,t,r){let n=t.map(o=>ft(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function qr(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,ft(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Le(e,t,r){let n=[];if(!r)return n;let o=[];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let a=t.getTypeAtLocation(r).getCallSignatures();if(a.length>0){let s=a[0].getParameters();s.length>0&&(o=t.getTypeOfSymbolAtLocation(s[0],r).getProperties())}}for(let i of o){let a=Jr(e,t,i);a&&n.push(a)}return n=n.filter(Xt),n.length>0?n:Wr(e,r)}function Jr(e,t,r){let n=r.valueDeclaration,o=r.getName();if(n||(n=r.getDeclarations()?.[0]),n&&e.ts.isPropertySignature(n)){if(o!=="children"&&n.getSourceFile().fileName.includes("node_modules/@types/"))return null;let i="string",a;if(n?.type){let l=t.getTypeFromTypeNode(n.type),c=t.typeToString(l),d=dt(c);d.knownType?i=d.builderType:Hr(c)||l.flags&e.ts.TypeFlags.StringLike?i="string":l.flags&e.ts.TypeFlags.NumberLike?i="number":l.flags&e.ts.TypeFlags.IndexedAccess?i="list":l.flags&e.ts.TypeFlags.Object||l.isUnion()&&l.types.every(p=>p.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(p=>p.flags&e.ts.TypeFlags.Object)?i="object":i="string",c!==i&&(a=c)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let l=eo(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Xr)?s.enum=l.map(Zr):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Wr(e,t){let r=[],n=e.ts.getJSDocCommentsAndTags(t);for(let o of n)if(!(!e.ts.isJSDoc(o)||!o.tags))for(let i of o.tags){if(!e.ts.isJSDocParameterTag(i)||i.tagName.text!=="param")continue;let s=i.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let l=s.jsDocPropertyTags;if(l)for(let c of l){if(!e.ts.isJSDocPropertyLikeTag(c))continue;let d=c.name;if(!e.ts.isQualifiedName(d))continue;let p=c.typeExpression;if(!p)continue;let u="";switch(p.type.kind){case e.ts.SyntaxKind.StringKeyword:{u="string";break}case e.ts.SyntaxKind.NumberKeyword:{u="number";break}case e.ts.SyntaxKind.BooleanKeyword:{u="boolean";break}default:continue}let h={name:d.right.text,type:u,isRegistered:!1};r.push(h)}}return r.filter(Xt)}var Yr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Hr(e){return typeof e!="string"?!1:!!Yr.some(t=>e.includes(t))}function dt(e){return typeof e=="string"&&(e=e.trim(),Gr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Gr=[{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 Xr(e){return/^['"].*['"]$/.test(e)}function Zr(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var eo=(e,t,r)=>{let n=new Set;Gt(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},to=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Gt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Gt(e,t,o,n)});else if(r.isLiteral()){let o=to(e,t,r);n.add(o)}};function Xt(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!no.has(t.toLowerCase())}var no=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 G(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=b(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=ro(e,n.initializer);X(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Ae(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function ro(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(oo(e,n));return r}function oo(e,t){let r=Ae(e,t),n=uo(r);return n.isRegistered=!0,n}function q(e,t,r){let n=ao(r);return t=Fe(e,t,"name",n.name,!1),t=Fe(e,t,"description",n.description),t=Fe(e,t,"image",n.image),t=io(e,t,n),mo(e,t)}function io(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 Fe(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=lo(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 ao(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(so)}}function so(e){let t={name:e.name,type:e.type};return(B(e.defaultValue)||Ne(e.defaultValue)||Te(e.defaultValue))&&(t.defaultValue=e.defaultValue),B(e.friendlyName)&&(t.friendlyName=e.friendlyName),B(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 lo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>b(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=co(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(u=>b(e,u)==="name"),s=i.properties.find(u=>b(e,u)==="name"),l=a?.initializer,c=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",p=c&&e.ts.isStringLiteral(c)?c.text:"zz";return d.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function co(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=b(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=Zt(e,t[n],r);else{let o=Zt(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Zt(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=po(e,n,r,i);return n=fo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function po(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,Re(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Re(e,r[n]))),t}function X(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=gt(e)}function uo(e){let t=dt(e.type),r={name:e.name.trim(),type:t.builderType};return B(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(B(e.defaultValue)||Ne(e.defaultValue)||Te(e.defaultValue))&&(r.defaultValue=e.defaultValue),B(e.helperText)&&(r.helperText=e.helperText),Te(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),xt(r)}function gt(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 xt(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 mo(e,t){let r=[...t.properties].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz";if(i==="inputs")return 1;let s=en.indexOf(i),l=en.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var en=["component","name","description"];function fo(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=tn.indexOf(i),l=tn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var tn=["name","type"];function nn(e,t){let r=`Builder.registerComponent(
11
+ `}return""}function A(e,t,r){t=U(t),r=U(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=U(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function U(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function Ie(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Gt(o==="index"?e.basename(e.dirname(t)):o)}function Gt(e){return k(e).replace(/ /g,"")}function M(e,t){let r=e.extname(t),n=U(e.basename(t,r)).split("/").pop();return k(n==="index"?e.basename(e.dirname(t)):n)}function j(e,t){let r=U(e.relative(e.getRootDir(),t));r=r.split("/").filter(o=>o!=="."&&o!==".."&&o!=="").join("/"),r.endsWith(".tsx")||r.endsWith(".jsx")?r=r.slice(0,-4):(r.endsWith(".ts")||r.endsWith(".js"))&&(r=r.slice(0,-3));let n=e.getFrameworks();return r.startsWith("src/")&&(r=r.slice(4)),n.some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function R(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 Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function Ne(e){return typeof e=="number"}function we(e){return typeof e=="boolean"}function B(e){return typeof e=="string"}function Je(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function $(e){return JSON.parse(JSON.stringify(e))}function Fe(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Kr(e,t,r);return a>-1?n==null&&o?e.ts.factory.updateObjectLiteralExpression(t,i.filter((s,l)=>l!==a)):(i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,Re(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Re(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Kr(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Ae(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Mr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Ur(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 Ur(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=b(e,n);o&&(r[o]=Ae(e,n.initializer))}}return r}function Mr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Ae(e,r)):[]}function b(e,t){if(t&&e.ts.isPropertyAssignment(t)){let r=t.name;switch(r.kind){case e.ts.SyntaxKind.Identifier:return r.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return r.text;case e.ts.SyntaxKind.ComputedPropertyName:let n=r.expression;if(e.ts.isStringLiteral(n)||e.ts.isNumericLiteral(n))return r.expression.text}}}function Re(e,t){return dt(e,t,new WeakSet)}function dt(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)?Qr(e,t,r):typeof t=="object"?qr(e,t,r):e.ts.factory.createIdentifier(t)}function Qr(e,t,r){let n=t.map(o=>dt(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function qr(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,dt(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Le(e,t,r){let n=[];if(!r)return n;let o=[];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let a=t.getTypeAtLocation(r).getCallSignatures();if(a.length>0){let s=a[0].getParameters();s.length>0&&(o=t.getTypeOfSymbolAtLocation(s[0],r).getProperties())}}for(let i of o){let a=Jr(e,t,i);a&&n.push(a)}return n=n.filter(Zt),n.length>0?n:Wr(e,r)}function Jr(e,t,r){let n=r.valueDeclaration,o=r.getName();if(n||(n=r.getDeclarations()?.[0]),n&&e.ts.isPropertySignature(n)){if(o!=="children"&&n.getSourceFile().fileName.includes("node_modules/@types/"))return null;let i="string",a;if(n?.type){let l=t.getTypeFromTypeNode(n.type),c=t.typeToString(l),d=gt(c);d.knownType?i=d.builderType:Hr(c)||l.flags&e.ts.TypeFlags.StringLike?i="string":l.flags&e.ts.TypeFlags.NumberLike?i="number":l.flags&e.ts.TypeFlags.IndexedAccess?i="list":l.flags&e.ts.TypeFlags.Object||l.isUnion()&&l.types.every(p=>p.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(p=>p.flags&e.ts.TypeFlags.Object)?i="object":i="string",c!==i&&(a=c)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let l=eo(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Xr)?s.enum=l.map(Zr):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Wr(e,t){let r=[],n=e.ts.getJSDocCommentsAndTags(t);for(let o of n)if(!(!e.ts.isJSDoc(o)||!o.tags))for(let i of o.tags){if(!e.ts.isJSDocParameterTag(i)||i.tagName.text!=="param")continue;let s=i.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let l=s.jsDocPropertyTags;if(l)for(let c of l){if(!e.ts.isJSDocPropertyLikeTag(c))continue;let d=c.name;if(!e.ts.isQualifiedName(d))continue;let p=c.typeExpression;if(!p)continue;let u="";switch(p.type.kind){case e.ts.SyntaxKind.StringKeyword:{u="string";break}case e.ts.SyntaxKind.NumberKeyword:{u="number";break}case e.ts.SyntaxKind.BooleanKeyword:{u="boolean";break}default:continue}let h={name:d.right.text,type:u,isRegistered:!1};r.push(h)}}return r.filter(Zt)}var Yr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Hr(e){return typeof e!="string"?!1:!!Yr.some(t=>e.includes(t))}function gt(e){return typeof e=="string"&&(e=e.trim(),Gr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Gr=[{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 Xr(e){return/^['"].*['"]$/.test(e)}function Zr(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var eo=(e,t,r)=>{let n=new Set;Xt(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},to=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Xt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Xt(e,t,o,n)});else if(r.isLiteral()){let o=to(e,t,r);n.add(o)}};function Zt(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!no.has(t.toLowerCase())}var no=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 X(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=b(e,n);if(o==="name"&&e.ts.isStringLiteral(n.initializer)){t.name=n.initializer.text;continue}if(o==="description"&&e.ts.isStringLiteral(n.initializer)){t.description=n.initializer.text;continue}if(o==="image"&&e.ts.isStringLiteral(n.initializer)){t.image=n.initializer.text;continue}if(o==="inputs"&&e.ts.isArrayLiteralExpression(n.initializer)){let i=ro(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Ae(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function ro(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(oo(e,n));return r}function oo(e,t){let r=Ae(e,t),n=uo(r);return n.isRegistered=!0,n}function q(e,t,r){let n=ao(r);return t=Fe(e,t,"name",n.name,!1),t=Fe(e,t,"description",n.description),t=Fe(e,t,"image",n.image),t=io(e,t,n),mo(e,t)}function io(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 Fe(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=lo(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 ao(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(so)}}function so(e){let t={name:e.name,type:e.type};return(B(e.defaultValue)||Ne(e.defaultValue)||we(e.defaultValue))&&(t.defaultValue=e.defaultValue),B(e.friendlyName)&&(t.friendlyName=e.friendlyName),B(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 lo(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>b(e,s)==="name");if(!i)return!1;let a=i.initializer;return e.ts.isStringLiteral(a)?r.some(s=>s.name===a.text):!1});for(let o of r)n=co(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(u=>b(e,u)==="name"),s=i.properties.find(u=>b(e,u)==="name"),l=a?.initializer,c=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",p=c&&e.ts.isStringLiteral(c)?c.text:"zz";return d.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function co(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=b(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=en(e,t[n],r);else{let o=en(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function en(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=po(e,n,r,i);return n=fo(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function po(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,Re(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Re(e,r[n]))),t}function Z(e,t){for(let r of t){let n=e.inputs.findIndex(o=>o.name===r.name);n>-1?(r.isRegistered||!e.inputs[n].isRegistered)&&(e.inputs[n]=r):e.inputs.push(r)}e.acceptsChildren=xt(e)}function uo(e){let t=gt(e.type),r={name:e.name.trim(),type:t.builderType};return B(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(B(e.defaultValue)||Ne(e.defaultValue)||we(e.defaultValue))&&(r.defaultValue=e.defaultValue),B(e.helperText)&&(r.helperText=e.helperText),we(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),ht(r)}function xt(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 ht(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 mo(e,t){let r=[...t.properties].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz";if(i==="inputs")return 1;let s=tn.indexOf(i),l=tn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var tn=["component","name","description"];function fo(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=nn.indexOf(i),l=nn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var nn=["name","type"];function rn(e,t){let r=`Builder.registerComponent(
12
12
  `;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
13
13
  `:r+=` ${t.importName},
14
- `;else{let o=O(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
14
+ `;else{let o=A(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
15
15
  `:r+=` dynamic(() => import(${JSON.stringify(o)})),
16
16
  `:t.acceptsChildren?r+=` withChildren(dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName})),
17
17
  `:r+=` dynamic(async () => (await import(${JSON.stringify(o)})).${t.exportName}),
18
18
  `}r+=` {
19
19
  name: "${t.name}",
20
20
  }
21
- `,r+=");";let n=qe(e,r);return ht(e,n,t)}function ht(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function $(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await Jt(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=Oe.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Oe.set(a,s)}return s.exists}return o.has(a)||o.set(a,e.existsSync(a)),o.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
22
- `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=Oe.get(a);if(l)return P(e,l.content)}let s=e.readFileSync(a);if(s==null){let l=e.basename(a),c=e.extname(l).toLowerCase();if(a.startsWith(n)&&c===".ts"&&(s=on.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ye(l)}return a.includes("node_modules")&&(s?Oe.set(a,{exists:!0,content:s}):Oe.set(a,{exists:!1})),P(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return go(e,i,t)}catch(a){if(a instanceof Ye){await xo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function go(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=rn.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let l=e.readFileSync(s);return typeof l=="string"?l:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,c)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(o),void 0,o).options,rn.set(o,i))}i&&(n.options=V(i))}return n.options.moduleResolution=e.ts.ModuleResolutionKind.Node16,n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,e.ts.createProgram(n)}async function He(e,t,r){r||(r=await $(e,[t]));let n=r.getSourceFile(t);if(!n)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:r.getTypeChecker(),sourceFile:n}}var Ye=class{constructor(t){this.libName=t}};async function xo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;We.has(t)||We.set(t,fetch(r).then(n=>n.text()).then(n=>{on.set(t,n)})),await We.get(t),We.delete(t)}var on=new Map,We=new Map,Oe=new Map,rn=new Map;function w(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=ho(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Co(e,t,r.defaultImport,r.importPath,n)),t}function ho(e,t,r,n,o,i){return i==="cjs"?sn(e,t,null,r,n):an(e,t,null,r,n,o)}function Co(e,t,r,n,o){return o==="cjs"?sn(e,t,r,null,n):an(e,t,r,null,n,!1)}function an(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,c=!1;for(let f=0;f<a.length;f++){let h=a[f];if(!e.ts.isImportDeclaration(h)||(s=f,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let m=[],x=h.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&m.push(...x.elements),typeof n=="string"){if(m.some(C=>C.name.text===n))return t;m.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),m.sort((C,S)=>C.name.text.localeCompare(S.name.text)),l=!0}let g=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(g&&g.text===r)return t;g=e.ts.factory.createIdentifier(r),c=!0}if(l||c)return a[f]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,g,e.ts.factory.createNamedImports(m)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,p;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(p=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let u=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,p),e.ts.factory.createStringLiteral(o));return a.splice(s,0,u),e.ts.factory.updateSourceFile(t,a)}function sn(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let l=i[s];if(e.ts.isVariableStatement(l))for(let c=0;c<l.declarationList.declarations.length;c++){let d=[...l.declarationList.declarations],p=d[c],u=p.initializer;if(!u||!e.ts.isCallExpression(u))continue;let f=u.expression;if(!e.ts.isIdentifier(f)||f.text!=="require"||u.arguments.length!==1)continue;let h=u.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(p.name)&&typeof r=="string")return p.name.text===r?t:(d[c]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createIdentifier(r),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(p.name)&&typeof n=="string"){let m=[...p.name.elements];return m.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(m.push(e.ts.factory.createBindingElement(void 0,void 0,n)),m.sort((g,C)=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:g.name.text.localeCompare(C.name.text)),d[c]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createObjectBindingPattern(m),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,d)),e.ts.factory.updateSourceFile(t,i))}}}}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,n)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}return t}function z(e,t,r="esm"){return r==="cjs"?yo(e,t):So(e,t)}function So(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(e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function yo(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s})}else r.push({isDefaultExport:!0,statement:n,node:i});continue}}return r}function To(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 Ge(e,t,r,n){let o=To(e,r,n);if(o){let i=await ke(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:R(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function St(e,t,r){for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(e.ts.isVariableStatement(o)){for(let i of o.declarationList.declarations)if(e.ts.isIdentifier(i.name)&&i.name.text===r)return{statement:o,statementIndex:n}}}return null}function ce(e,t,r){let n=St(e,t,r);if(n&&n.statement.declarationList.declarations.length>0){let o=n.statement.declarationList.declarations[0];if(o.initializer&&e.ts.isArrayLiteralExpression(o.initializer))return{statement:n.statement,statementIndex:n.statementIndex,variableDeclaration:o,arrayLiteralExp:o.initializer}}return null}function Xe(e,t){if(t){if(Eo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Xe(e,n)&&(r=!0)}),r)return!0}return!1}function Eo(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 ke(e,t){let r=e.extname(t).toLowerCase();if(r===""||!Ct.includes(r)){for(let n of Ct){let o=t+n;if(await e.exists(o))return o}for(let n of Ct){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var Ct=[".tsx",".jsx",".ts",".js"];function Ze(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=wo(e,i);return a?[{name:a}]:void 0}function wo(e,t){if(typeof t=="string"){t=e.normalize(K(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))}async function Ee(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await $(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let c=(await ue(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=Le(e,o,c.node.fnNode))}}return a}))}async function we(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await He(e,t.cmpInfo.filePath,r),a=(await ue(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Le(e,o,a.node.fnNode)}return[]}async function ln(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 Do(e,t,n)}return null}function Do(e,t,r){let n=P(e,r);return ue(e,null,t,n)}async function ue(e,t,r,n){let o=[];for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isStringLiteral(a.expression)&&a.expression.text==="use server")return o;let i=z(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await Po(e,t,r,a);o.push(...s)})),o}async function Po(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=j(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Je(s.name.text))continue;let l=et(e,t,s.initializer);if(l){let c=l.name||s.name.text,d=n.isDefaultExport?"default":c,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:R(e,r),name:k(c),inputs:[],exportName:d,exportType:p,importName:c,filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}}return o}if(e.ts.isArrowFunction(n.node)){let s=et(e,t,n.node);if(s){let l=M(e,r),c=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:Ie(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!Je(s))return o;let l=et(e,t,n.node);if(l){let c=l.name||M(e,r),d=n.isDefaultExport||!l.name?"default":l.name,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:R(e,r),name:c,inputs:[],exportName:d,exportType:p,importName:l.name||Ie(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}return o}function et(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Xe(e,r.body)?{name:"",fnNode:r,deps:Ze(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Xe(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ze(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(!e.ts.isPropertyAccessExpression(n))return null;let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null:et(e,t,o[0])}if(!t)return null;if(e.ts.isPropertyAccessExpression(r)){let n=r.expression,o=r.name;if(!e.ts.isIdentifier(n)||!e.ts.isIdentifier(o)||!Je(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ze(e,t,o)}}return null}async function cn(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(a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await ue(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}async function pn(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&&vo.has(a))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await ue(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var vo=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 me(e,t){let r=[],n=[],o=[],i=[];for(let a of t.statements){if(e.ts.isImportDeclaration(a)){if(e.ts.isStringLiteral(a.moduleSpecifier)){let l=a.moduleSpecifier.text;if(!l.startsWith(".")&&!l.startsWith("/")){r.push(a);continue}}let s=a.importClause;if(s){if(s.namedBindings){n.push(a);continue}if(s.name){n.push(a);continue}}o.push(a);continue}i.push(a)}return e.ts.factory.updateSourceFile(t,[...yt(e,r),...yt(e,n),...yt(e,o),...i])}function J(e){let t=e.split(`
21
+ `,r+=");";let n=qe(e,r);return Ct(e,n,t)}function Ct(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;r.acceptsChildren?e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"||(o[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[o[0]])):e.ts.isCallExpression(o[0])&&e.ts.isIdentifier(o[0].expression)&&o[0].expression.text==="withChildren"&&(o[0]=o[0].arguments[0]);let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function V(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await Wt(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=Oe.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Oe.set(a,s)}return s.exists}return o.has(a)||o.set(a,e.existsSync(a)),o.get(a)},getCanonicalFileName:a=>e.normalize(a),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(n,"lib.d.ts"),getDefaultLibLocation:()=>n,getNewLine:()=>`
22
+ `,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=Oe.get(a);if(l)return D(e,l.content)}let s=e.readFileSync(a);if(s==null){let l=e.basename(a),c=e.extname(l).toLowerCase();if(a.startsWith(n)&&c===".ts"&&(s=an.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ye(l)}return a.includes("node_modules")&&(s?Oe.set(a,{exists:!0,content:s}):Oe.set(a,{exists:!1})),D(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return go(e,i,t)}catch(a){if(a instanceof Ye){await xo(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function go(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=on.get(o);if(!i){let a=e.ts.readConfigFile(o,s=>{let l=e.readFileSync(s);return typeof l=="string"?l:void 0});a.error?console.error("error reading tsconfig for createTsProgram"):(i=e.ts.parseJsonConfigFileContent(a.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,c)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(o),void 0,o).options,on.set(o,i))}i&&(n.options=$(i))}return n.options.moduleResolution=e.ts.ModuleResolutionKind.Node16,n.options.noEmit=!0,n.options.isolatedModules=!1,n.options.strict=!1,n.options.jsx=e.ts.JsxEmit.Preserve,n.options.allowJs=!0,e.ts.createProgram(n)}async function He(e,t,r){r||(r=await V(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 Ye=class{constructor(t){this.libName=t}};async function xo(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;We.has(t)||We.set(t,fetch(r).then(n=>n.text()).then(n=>{an.set(t,n)})),await We.get(t),We.delete(t)}var an=new Map,We=new Map,Oe=new Map,on=new Map;function E(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=ho(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Co(e,t,r.defaultImport,r.importPath,n)),t}function ho(e,t,r,n,o,i){return i==="cjs"?ln(e,t,null,r,n):sn(e,t,null,r,n,o)}function Co(e,t,r,n,o){return o==="cjs"?ln(e,t,r,null,n):sn(e,t,r,null,n,!1)}function sn(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,c=!1;for(let f=0;f<a.length;f++){let h=a[f];if(!e.ts.isImportDeclaration(h)||(s=f,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let m=[],x=h.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&m.push(...x.elements),typeof n=="string"){if(m.some(C=>C.name.text===n))return t;m.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),m.sort((C,S)=>C.name.text.localeCompare(S.name.text)),l=!0}let g=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(g&&g.text===r)return t;g=e.ts.factory.createIdentifier(r),c=!0}if(l||c)return a[f]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,g,e.ts.factory.createNamedImports(m)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,p;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(p=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let u=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,p),e.ts.factory.createStringLiteral(o));return a.splice(s,0,u),e.ts.factory.updateSourceFile(t,a)}function ln(e,t,r,n,o){let i=[...t.statements],a=0;for(let s=0;s<i.length;s++){let l=i[s];if(e.ts.isVariableStatement(l))for(let c=0;c<l.declarationList.declarations.length;c++){let d=[...l.declarationList.declarations],p=d[c],u=p.initializer;if(!u||!e.ts.isCallExpression(u))continue;let f=u.expression;if(!e.ts.isIdentifier(f)||f.text!=="require"||u.arguments.length!==1)continue;let h=u.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(p.name)&&typeof r=="string")return p.name.text===r?t:(d[c]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createIdentifier(r),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,d)),e.ts.factory.updateSourceFile(t,i));if(e.ts.isObjectBindingPattern(p.name)&&typeof n=="string"){let m=[...p.name.elements];return m.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(m.push(e.ts.factory.createBindingElement(void 0,void 0,n)),m.sort((g,C)=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)||!e.ts.isBindingElement(C)||!e.ts.isIdentifier(C.name)?0:g.name.text.localeCompare(C.name.text)),d[c]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createObjectBindingPattern(m),p.exclamationToken,p.type,p.initializer),i[s]=e.ts.factory.updateVariableStatement(l,l.modifiers,e.ts.factory.updateVariableDeclarationList(l.declarationList,d)),e.ts.factory.updateSourceFile(t,i))}}}}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,n)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(o)]))],e.ts.NodeFlags.Const));return i.splice(a,0,s),e.ts.factory.updateSourceFile(t,i)}return t}function z(e,t,r="esm"){return r==="cjs"?yo(e,t):So(e,t)}function So(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(e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function yo(e,t){let r=[];for(let n of t.statements)if(e.ts.isExpressionStatement(n)&&e.ts.isBinaryExpression(n.expression)&&e.ts.isPropertyAccessExpression(n.expression.left)){let o=n.expression.left,i=n.expression.right;if(!e.ts.isIdentifier(o.expression))continue;if(o.expression.text==="module"&&o.name.text==="exports"){if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===a&&r.push({isDefaultExport:!0,statement:s,node:s})}else r.push({isDefaultExport:!0,statement:n,node:i});continue}}return r}function wo(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 Ge(e,t,r,n){let o=wo(e,r,n);if(o){let i=await ke(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:R(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function yt(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 pe(e,t,r){let n=yt(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 Xe(e,t){if(t){if(To(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Xe(e,n)&&(r=!0)}),r)return!0}return!1}function To(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 ke(e,t){let r=e.extname(t).toLowerCase();if(r===""||!St.includes(r)){for(let n of St){let o=t+n;if(await e.exists(o))return o}for(let n of St){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var St=[".tsx",".jsx",".ts",".js"];function Ze(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=Eo(e,i);return a?[{name:a}]:void 0}function Eo(e,t){if(typeof t=="string"){t=e.normalize(U(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 ue(e){let t=[];for(let r of e)if(r.dependencies)for(let n of r.dependencies)t.some(o=>o.name===n.name)||t.push({...n});return t.sort((r,n)=>r.name.localeCompare(n.name))}async function Te(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await V(e,t.map(a=>a.filePath)),o=n.getTypeChecker();return await Promise.all(t.map(async a=>{if(!a.isRegistered){let s=n.getSourceFile(a.filePath);if(s){let c=(await me(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=Le(e,o,c.node.fnNode))}}return a}))}async function Ee(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await He(e,t.cmpInfo.filePath,r),a=(await me(e,o,t.cmpInfo.filePath,n)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!a)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Le(e,o,a.node.fnNode)}return[]}async function cn(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 Po(e,t,n)}return null}function Po(e,t,r){let n=D(e,r);return me(e,null,t,n)}async function me(e,t,r,n){let o=[];for(let a of n.statements)if(e.ts.isExpressionStatement(a)&&e.ts.isStringLiteral(a.expression)&&a.expression.text==="use server")return o;let i=z(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await Do(e,t,r,a);o.push(...s)})),o}async function Do(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=j(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Je(s.name.text))continue;let l=et(e,t,s.initializer);if(l){let c=l.name||s.name.text,d=n.isDefaultExport?"default":c,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:R(e,r),name:k(c),inputs:[],exportName:d,exportType:p,importName:c,filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}}return o}if(e.ts.isArrowFunction(n.node)){let s=et(e,t,n.node);if(s){let l=M(e,r),c=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:Ie(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let s=n.node.name?.text;if(s&&!Je(s))return o;let l=et(e,t,n.node);if(l){let c=l.name||M(e,r),d=n.isDefaultExport||!l.name?"default":l.name,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:R(e,r),name:c,inputs:[],exportName:d,exportType:p,importName:l.name||Ie(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}return o}function et(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Xe(e,r.body)?{name:"",fnNode:r,deps:Ze(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Xe(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ze(e,t,r)}:null;if(e.ts.isCallExpression(r)){let n=r.expression;if(!e.ts.isPropertyAccessExpression(n))return null;let o=r.arguments;if(o.length===0)return null;let i=n.expression;if(!e.ts.isIdentifier(i)||i.text!=="React")return null;let a=n.name;return!e.ts.isIdentifier(a)||a.text!=="forwardRef"?null:et(e,t,o[0])}if(!t)return null;if(e.ts.isPropertyAccessExpression(r)){let n=r.expression,o=r.name;if(!e.ts.isIdentifier(n)||!e.ts.isIdentifier(o)||!Je(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ze(e,t,o)}}return null}async function pn(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(a===e.reactConfigPath||a===e.registryPath||a===e.builderComponentPath)return;let s=await me(e,o,a,i);r.push(...s)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}async function un(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&&vo.has(a))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await me(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var vo=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 fe(e,t){let r=[],n=[],o=[],i=[];for(let a of t.statements){if(e.ts.isImportDeclaration(a)){if(e.ts.isStringLiteral(a.moduleSpecifier)){let l=a.moduleSpecifier.text;if(!l.startsWith(".")&&!l.startsWith("/")){r.push(a);continue}}let s=a.importClause;if(s){if(s.namedBindings){n.push(a);continue}if(s.name){n.push(a);continue}}o.push(a);continue}i.push(a)}return e.ts.factory.updateSourceFile(t,[...wt(e,r),...wt(e,n),...wt(e,o),...i])}function J(e){let t=e.split(`
23
23
  `).map(n=>n.trimEnd());e="";let r=!1;for(let n=t.length-1;n>=0;n--){let o=t[n];!r&&o.startsWith("import ")&&(r=!0,o=o+`
24
24
  `),/^builder.init(.*)$/.test(o)&&(o=o+`
25
25
  `),t[n-1]&&!t[n-1].includes("*/")&&(o.trim().startsWith("Builder.registerComponent")&&(o=`
@@ -28,19 +28,19 @@ ${r}=${n}
28
28
  `+o),o.trim().startsWith("export ")&&(o=`
29
29
  `+o)),e=o+`
30
30
  `+e}return e.trim()+`
31
- `}function yt(e,t){return t.sort((r,n)=>{let o=un(e,r),i=un(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function un(e,t){let r=t.importClause;if(r){let n=r.namedBindings;if(n&&e.ts.isNamedImports(n)&&n.elements.length>0)return n.elements[0].name.text;if(r.name)return r.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function fn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
- ${e}`),e}function dn(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 tt(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=mn(e,r),i=mn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function mn(e,t){let r=t.properties.find(n=>b(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function hn(e){let t=await e.readFile(e.registryPath);return t?bo(e,t):{components:[],sourceFile:P(e,"")}}async function bo(e,t){let r=P(e,t);return Io(e,r)}async function Io(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let c=i.arguments;if(c.length<2)continue;let d=c[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=c[0];if(e.ts.isCallExpression(p)){if((e.ts.isIdentifier(p.expression)&&p.expression.text)==="withChildren"){let h=p.arguments[0];if(e.ts.isCallExpression(h)){let m=await gn(e,n,h,d,!0);m&&r.push(m)}else{let m=p.arguments[0];if(e.ts.isIdentifier(m)){let x=await xn(e,t,n,m,d,!0);x&&r.push(x)}}continue}let f=await gn(e,n,p,d,!1);f&&r.push(f);continue}if(e.ts.isIdentifier(p)){let u=await xn(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function gn(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let l=s.body;if(e.ts.isCallExpression(l)){if(l.expression.kind!==e.ts.SyntaxKind.ImportKeyword||l.arguments.length!==1)return null;let d=l.arguments[0];if(!e.ts.isStringLiteral(d))return null;let p=d.text;i.filePath=await nt(e,p),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=j(e,i.filePath),i.name=M(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let c=l.expression;if(!e.ts.isParenthesizedExpression(c))return null;let d=c.expression;if(!e.ts.isAwaitExpression(d))return null;let p=d.expression;if(!e.ts.isCallExpression(p)||p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let f=p.arguments[0];if(!e.ts.isStringLiteral(f)||!e.ts.isIdentifier(l.name))return null;let h=f.text;i.filePath=await nt(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=j(e,i.filePath),i.name=k(l.name.text),i.importName=l.name.text,i.exportName=l.name.text,i.exportType="named"}else return null;return i=G(e,i,n),i.displayFilePath=R(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function xn(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(c=>e.ts.isImportDeclaration(c)),l=s.find(c=>c.importClause&&c.importClause.name?.text===n.text);if(l){let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;a.filePath=await nt(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=M(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(u=>u.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await nt(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=k(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=G(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function nt(e,t){return ke(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Cn(e,t,r){let n=!1,o=0,i=[...t.statements];for(let c=0;c<i.length;c++){let d=i[c];if(e.ts.isImportDeclaration(d)){o=c;continue}if(!e.ts.isExpressionStatement(d))continue;let p=d.expression;if(!e.ts.isCallExpression(p))continue;let u=p.expression;if(!e.ts.isPropertyAccessExpression(u))continue;let f=u.expression;if(!e.ts.isIdentifier(f)||f.text!=="builder")continue;if(u.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(xe)),s=r?e.ts.factory.createNonNullExpression(a):a,l=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return i.splice(o+1,0,l),e.ts.factory.updateSourceFile(t,i)}function fe(e,t){let r=[...t.statements],n=!1;for(let o=t.statements.length-1;o>=0;o--){let i=t.statements[o];if(e.ts.isImportDeclaration(i)&&i.importClause){let a=!1,s=i.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let l=[...s.elements];for(let c=l.length-1;c>=0;c--){let d=l[c];if(e.ts.isImportSpecifier(d)){let p=d.name;if(p&&e.ts.isIdentifier(p)){let u=p.text;Sn(e,t,u)||l.splice(c,1)}}}if(l.length===0)a=!0;else if(s.elements.length!==l.length){let c=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(l)),d=e.ts.factory.updateImportDeclaration(i,void 0,c,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let l=i.importClause.name.text;Sn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function Sn(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 de(e,t,r,n,o,i,a){let s=null,l=null,c=null,d=-1;t=V(t),r=V(r);let p=t.find(f=>f.id===e),u=r.find(f=>f.id===e);if(n)u||(s={...V(p),inputs:V(p.inputs).map(f=>(f.isRegistered=!0,f))},d=r.length,r.push(s));else if(typeof u?.nodeIndex=="number"&&u.nodeIndex>-1){if(o)d=u.nodeIndex,l=V(u),r=r.filter(f=>f.id!==e);else if(i!=null)No(u,i),d=u.nodeIndex,c=u;else if(a!=null){let f=u.inputs.find(h=>h.name===a.name);f&&(a.registerInput===!1?f.isRegistered=!1:(Ro(f,a),f.isRegistered=!0),c=u,d=u.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:c,nodeIndex:d,components:Z(t,r)}}function Z(e,t){let r=Q([...t.map(n=>(n.isRegistered=!0,n)),...e.filter(n=>!t.some(o=>o.id===n.id)).map(n=>(n.isRegistered=!1,n))]);return r.forEach(n=>{n.inputs=n.inputs.map(xt),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=gt(n))}),r}function No(e,t){B(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),B(t.description)?e.description=t.description:t.description===null&&delete e.description,B(t.image)?e.image=t.image:t.image===null&&delete e.image}function Ro(e,t){B(t.type)&&(e.type=t.type),B(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,B(t.defaultValue)||Ne(t.defaultValue)||Te(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,B(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 De(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".jsx"||l===".ts"||l===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await $(e,[...t])}async function W(e,t,r,n,o,i,a,s){let l=await De(e),[c,d,p,u]=await Promise.all([pn(e,l),hn(e),Tt(e),be(e)]),f=c.map(S=>S.cmpInfo),h=d.components,m={components:Z(f,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(f),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await Ee(e,m.components),m;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(y=>{let D=c.find(A=>A.cmpInfo.id===y);if(!D)throw new Error(`Component ${y} not found`);return D}),I=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),E=await $(e,I);for(let y of S){let D=m.components.find(v=>v.id===y.cmpInfo.id),A=await we(e,y,E);X(D,A);let L=f.findIndex(v=>v.id===y.cmpInfo.id);f[L].inputs=A;let T=de(y.cmpInfo.id,f,h,r,n,o,i),N=[...g.statements];if(T.addCmpToRegistry?(N.push(nn(e,T.addCmpToRegistry)),x=!0):T.removeCmpFromRegistry?(N.splice(T.nodeIndex,1),x=!0):T.updateRegisteredCmp&&(N[T.nodeIndex]=ht(e,N[T.nodeIndex],T.updateRegisteredCmp),x=!0),x&&a){if(g=e.ts.factory.updateSourceFile(g,N),g=w(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),g=Cn(e,g,p),e.appDir){let v=T.addCmpToRegistry||T.updateRegisteredCmp;if(v){let U=O(e,e.registryPath,v.filePath);v.exportType==="default"?g=w(e,g,{defaultImport:v.importName,importPath:U}):v.exportType==="named"&&(g=w(e,g,{namedImports:[v.importName],importPath:U}))}}else g=w(e,g,{defaultImport:"dynamic",importPath:"next/dynamic"});D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=T.components,h=T.components.filter(v=>v.isRegistered)}}}if(x&&a){g=fe(e,g),g=me(e,g),e.appDir&&(g=dn(e,g));let S=F(e,g);S=J(S),e.appDir&&(S=fn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return m}async function yn(e){let t=[],r=await jo(e,t);return await Bo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Ao(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Oo(e,e.pagesDir,t)),t}async function Tn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Fo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await ko(e,e.pagesDir,t)),t}async function Fo(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,En({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Ao(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,En({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,Lo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Lo(e){let t=e.typescriptEnabled;return`
31
+ `}function wt(e,t){return t.sort((r,n)=>{let o=mn(e,r),i=mn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function mn(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 dn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
32
+ ${e}`),e}function gn(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 tt(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=fn(e,r),i=fn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function fn(e,t){let r=t.properties.find(n=>b(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function Cn(e){let t=await e.readFile(e.registryPath);return t?bo(e,t):{components:[],sourceFile:D(e,"")}}async function bo(e,t){let r=D(e,t);return Io(e,r)}async function Io(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let c=i.arguments;if(c.length<2)continue;let d=c[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=c[0];if(e.ts.isCallExpression(p)){if((e.ts.isIdentifier(p.expression)&&p.expression.text)==="withChildren"){let h=p.arguments[0];if(e.ts.isCallExpression(h)){let m=await xn(e,n,h,d,!0);m&&r.push(m)}else{let m=p.arguments[0];if(e.ts.isIdentifier(m)){let x=await hn(e,t,n,m,d,!0);x&&r.push(x)}}continue}let f=await xn(e,n,p,d,!1);f&&r.push(f);continue}if(e.ts.isIdentifier(p)){let u=await hn(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function xn(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:o},a=r.arguments;if(a.length===0)return null;let s=a[0];if(!e.ts.isArrowFunction(s))return null;let l=s.body;if(e.ts.isCallExpression(l)){if(l.expression.kind!==e.ts.SyntaxKind.ImportKeyword||l.arguments.length!==1)return null;let d=l.arguments[0];if(!e.ts.isStringLiteral(d))return null;let p=d.text;i.filePath=await nt(e,p),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=j(e,i.filePath),i.name=M(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let c=l.expression;if(!e.ts.isParenthesizedExpression(c))return null;let d=c.expression;if(!e.ts.isAwaitExpression(d))return null;let p=d.expression;if(!e.ts.isCallExpression(p)||p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let f=p.arguments[0];if(!e.ts.isStringLiteral(f)||!e.ts.isIdentifier(l.name))return null;let h=f.text;i.filePath=await nt(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=j(e,i.filePath),i.name=k(l.name.text),i.importName=l.name.text,i.exportName=l.name.text,i.exportType="named"}else return null;return i=X(e,i,n),i.displayFilePath=R(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function hn(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(c=>e.ts.isImportDeclaration(c)),l=s.find(c=>c.importClause&&c.importClause.name?.text===n.text);if(l){let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;a.filePath=await nt(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=M(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(u=>u.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await nt(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=k(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=X(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function nt(e,t){return ke(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Sn(e,t,r){let n=!1,o=0,i=[...t.statements];for(let c=0;c<i.length;c++){let d=i[c];if(e.ts.isImportDeclaration(d)){o=c;continue}if(!e.ts.isExpressionStatement(d))continue;let p=d.expression;if(!e.ts.isCallExpression(p))continue;let u=p.expression;if(!e.ts.isPropertyAccessExpression(u))continue;let f=u.expression;if(!e.ts.isIdentifier(f)||f.text!=="builder")continue;if(u.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(he)),s=r?e.ts.factory.createNonNullExpression(a):a,l=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return i.splice(o+1,0,l),e.ts.factory.updateSourceFile(t,i)}function de(e,t){let r=[...t.statements],n=!1;for(let o=t.statements.length-1;o>=0;o--){let i=t.statements[o];if(e.ts.isImportDeclaration(i)&&i.importClause){let a=!1,s=i.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let l=[...s.elements];for(let c=l.length-1;c>=0;c--){let d=l[c];if(e.ts.isImportSpecifier(d)){let p=d.name;if(p&&e.ts.isIdentifier(p)){let u=p.text;yn(e,t,u)||l.splice(c,1)}}}if(l.length===0)a=!0;else if(s.elements.length!==l.length){let c=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(l)),d=e.ts.factory.updateImportDeclaration(i,void 0,c,i.moduleSpecifier,void 0);r[o]=d,n=!0}}else if(i.importClause.name&&e.ts.isIdentifier(i.importClause.name)){let l=i.importClause.name.text;yn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function yn(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 ge(e,t,r,n,o,i,a){let s=null,l=null,c=null,d=-1;t=$(t),r=$(r);let p=t.find(f=>f.id===e),u=r.find(f=>f.id===e);if(n)u||(s={...$(p),inputs:$(p.inputs).map(f=>(f.isRegistered=!0,f))},d=r.length,r.push(s));else if(typeof u?.nodeIndex=="number"&&u.nodeIndex>-1){if(o)d=u.nodeIndex,l=$(u),r=r.filter(f=>f.id!==e);else if(i!=null)No(u,i),d=u.nodeIndex,c=u;else if(a!=null){let f=u.inputs.find(h=>h.name===a.name);f&&(a.registerInput===!1?f.isRegistered=!1:(Ro(f,a),f.isRegistered=!0),c=u,d=u.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:c,nodeIndex:d,components:ee(t,r)}}function ee(e,t){let r=Q([...t.map(n=>(n.isRegistered=!0,n)),...e.filter(n=>!t.some(o=>o.id===n.id)).map(n=>(n.isRegistered=!1,n))]);return r.forEach(n=>{n.inputs=n.inputs.map(ht),n.inputs.sort((i,a)=>i.name.toLowerCase().localeCompare(a.name.toLowerCase()));let o=t.find(i=>i.id===n.id);o&&(o.acceptsChildren=xt(n))}),r}function No(e,t){B(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),B(t.description)?e.description=t.description:t.description===null&&delete e.description,B(t.image)?e.image=t.image:t.image===null&&delete e.image}function Ro(e,t){B(t.type)&&(e.type=t.type),B(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,B(t.defaultValue)||Ne(t.defaultValue)||we(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,B(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 Pe(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".jsx"||l===".ts"||l===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await V(e,[...t])}async function W(e,t,r,n,o,i,a,s){let l=await Pe(e),[c,d,p,u]=await Promise.all([un(e,l),Cn(e),Tt(e),be(e)]),f=c.map(S=>S.cmpInfo),h=d.components,m={components:ee(f,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(f),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await Te(e,m.components),m;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(y=>{let P=c.find(L=>L.cmpInfo.id===y);if(!P)throw new Error(`Component ${y} not found`);return P}),I=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),T=await V(e,I);for(let y of S){let P=m.components.find(v=>v.id===y.cmpInfo.id),L=await Ee(e,y,T);Z(P,L);let O=f.findIndex(v=>v.id===y.cmpInfo.id);f[O].inputs=L;let w=ge(y.cmpInfo.id,f,h,r,n,o,i),N=[...g.statements];if(w.addCmpToRegistry?(N.push(rn(e,w.addCmpToRegistry)),x=!0):w.removeCmpFromRegistry?(N.splice(w.nodeIndex,1),x=!0):w.updateRegisteredCmp&&(N[w.nodeIndex]=Ct(e,N[w.nodeIndex],w.updateRegisteredCmp),x=!0),x&&a){if(g=e.ts.factory.updateSourceFile(g,N),g=E(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),g=Sn(e,g,p),e.appDir){let v=w.addCmpToRegistry||w.updateRegisteredCmp;if(v){let K=A(e,e.registryPath,v.filePath);v.exportType==="default"?g=E(e,g,{defaultImport:v.importName,importPath:K}):v.exportType==="named"&&(g=E(e,g,{namedImports:[v.importName],importPath:K}))}}else g=E(e,g,{defaultImport:"dynamic",importPath:"next/dynamic"});P?.acceptsChildren&&(g=E(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=w.components,h=w.components.filter(v=>v.isRegistered)}}}if(x&&a){g=de(e,g),g=fe(e,g),e.appDir&&(g=gn(e,g));let S=F(e,g);S=J(S),e.appDir&&(S=dn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return m}async function wn(e){let t=[],r=await jo(e,t);return await Bo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Ao(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await Oo(e,e.pagesDir,t)),t}async function Tn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Fo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await ko(e,e.pagesDir,t)),t}async function Fo(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,En({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function Ao(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,En({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,Lo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Lo(e){let t=e.typescriptEnabled;return`
33
33
  "use client";
34
34
  ${t?'import { ComponentProps } from "react";':""}
35
35
  import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
36
36
  import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
37
37
  import DefaultErrorPage from "next/error";
38
- import ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
38
+ import ${JSON.stringify(A(e,e.builderComponentPath,e.registryPath))};
39
39
  ${t?`
40
40
  type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
41
41
 
42
42
  // Builder Public API Key set in .env file
43
- builder.init(process.env.${xe}${t?"!":""});
43
+ builder.init(process.env.${he}${t?"!":""});
44
44
 
45
45
  export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
46
46
  // Call the useIsPreviewing hook to determine if
@@ -56,12 +56,12 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
56
56
  // DefaultErrorPage with a 404.
57
57
  return <DefaultErrorPage statusCode={404} />;
58
58
  }
59
- `.trimStart()}function En({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=O(e,t,e.builderComponentPath);return`
59
+ `.trimStart()}function En({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=A(e,t,e.builderComponentPath);return`
60
60
  import { builder } from "@builder.io/sdk";
61
61
  import { RenderBuilderContent } from ${JSON.stringify(o)};
62
62
 
63
63
  // Builder Public API Key set in .env file
64
- builder.init(process.env.${xe}${n?"!":""});
64
+ builder.init(process.env.${he}${n?"!":""});
65
65
  ${n?`
66
66
  interface PageProps {
67
67
  params: {
@@ -90,7 +90,7 @@ export default async function Page(props${n?": PageProps":""}) {
90
90
  </>
91
91
  );
92
92
  }
93
- `.trimStart()}async function Oo(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,wn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ko(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,wn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function wn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return`
93
+ `.trimStart()}async function Oo(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,Pn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ko(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,Pn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function Pn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return`
94
94
  import React from "react";
95
95
  import { useRouter } from "next/router";
96
96
  import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
@@ -98,9 +98,9 @@ import DefaultErrorPage from "next/error";
98
98
  import Head from "next/head";${n?`
99
99
  import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
100
100
  import { GetStaticProps } from "next";`:""}
101
- import ${JSON.stringify(O(e,t,e.registryPath))};
101
+ import ${JSON.stringify(A(e,t,e.registryPath))};
102
102
 
103
- builder.init(process.env.${xe}${n?"!":""});
103
+ builder.init(process.env.${he}${n?"!":""});
104
104
 
105
105
  // Define a function that fetches the Builder
106
106
  // content for a given page
@@ -227,13 +227,13 @@ export default Counter;
227
227
  font-size: 42px;
228
228
  text-align: center;
229
229
  }
230
- `.trimStart();return{component:r,styles:n}}async function Bo(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await W(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await W(e,o.id,!0,!1,null,null,!0,!1)}async function Dn(e){let t=await Vo(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>yn(t),ensureFigmaImportPage:()=>Tn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>W(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await W(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>W(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>W(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>W(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>W(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>be(t),setPublicApiKey:n=>Yt(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function Vo(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await $o(e),o=await Tt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(await e.exists(r)){a.srcDir=r,a.componentsDir=e.join(r,"components");let s=e.join(r,"app");await e.exists(s)&&(a.appDir=s);let l=e.join(r,"pages");await e.exists(l)&&(a.pagesDir=l),a.registryPath=e.join(r,i)}else a.componentsDir=e.join(t,"components"),a.registryPath=e.join(t,i);if(a.builderComponentPath=e.join(a.componentsDir,`builder.${o?"tsx":"jsx"}`),!a.appDir){let s=e.join(t,"app");await e.exists(s)&&(a.appDir=s)}if(!a.pagesDir){let s=e.join(t,"pages");await e.exists(s)&&(a.pagesDir=s)}if(!a.appDir&&!a.pagesDir)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return a}function Tt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function $o(e){let t=e.join(e.getRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getRootDir()}".`)}async function je(e){return await se(e,[".env"],vn)}async function Pn(e,t){zo(t);let r=await je(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function zo(e){typeof process<"u"&&(process.env[vn]=e)}var vn="PUBLIC_BUILDER_API_KEY";function bn(e,t,r){if(r.length===0)return e;let n=e.split(`
230
+ `.trimStart();return{component:r,styles:n}}async function Bo(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await W(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await W(e,o.id,!0,!1,null,null,!0,!1)}async function Dn(e){let t=await $o(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>wn(t),ensureFigmaImportPage:()=>Tn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>W(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await W(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>W(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>W(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>W(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>W(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>be(t),setPublicApiKey:n=>Ht(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ae(t),setCache:n=>se(t,n)}}async function $o(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await Vo(e),o=await Tt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:n,typescriptEnabled:o};if(await e.exists(r)){a.srcDir=r,a.componentsDir=e.join(r,"components");let s=e.join(r,"app");await e.exists(s)&&(a.appDir=s);let l=e.join(r,"pages");await e.exists(l)&&(a.pagesDir=l),a.registryPath=e.join(r,i)}else a.componentsDir=e.join(t,"components"),a.registryPath=e.join(t,i);if(a.builderComponentPath=e.join(a.componentsDir,`builder.${o?"tsx":"jsx"}`),!a.appDir){let s=e.join(t,"app");await e.exists(s)&&(a.appDir=s)}if(!a.pagesDir){let s=e.join(t,"pages");await e.exists(s)&&(a.pagesDir=s)}if(!a.appDir&&!a.pagesDir)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return a}function Tt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Vo(e){let t=e.join(e.getRootDir(),"next.config.ts");if(await e.exists(t))return t;let r=e.join(e.getRootDir(),"next.config.mjs");if(await e.exists(r))return r;let n=e.join(e.getRootDir(),"next.config.js");if(await e.exists(n))return n;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getRootDir()}".`)}async function je(e){return await le(e,[".env"],bn)}async function vn(e,t){zo(t);let r=await je(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function zo(e){typeof process<"u"&&(process.env[bn]=e)}var bn="PUBLIC_BUILDER_API_KEY";function In(e,t,r){if(r.length===0)return e;let n=e.split(`
231
231
  `),o=n.findIndex(s=>s.includes(r));if(o===-1||n.some(s=>s.includes(t[0])))return e;let a=["/**",...t.map(s=>` * ${s.trim()}`)," */"];return n.splice(o,0,...a),n.join(`
232
- `)}function rt(e,t,r){return St(e,t,r.variableName)?t:Uo(e,t,r)}function Uo(e,t,r){let n=typeof r.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(r.arrayType,void 0)):void 0,o=e.ts.factory.createArrayLiteralExpression([]),i=e.ts.factory.createVariableDeclaration(r.variableName,void 0,n,o),a=e.ts.factory.createVariableDeclarationList([i],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),l=e.ts.factory.createVariableStatement([s],a),c=[...t.statements,l];return e.ts.factory.updateSourceFile(t,c)}async function Nn(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(".")||Qo.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await ot(e,o,s,i);r.push(...l)})),r}async function Rn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Ko(e,t,n)}return null}function Ko(e,t,r){let n=P(e,r);return ot(e,null,t,n)}async function ot(e,t,r,n){r=e.normalize(r);let o=[],i=z(e,n);return await Promise.all(i.map(async a=>{let s=await Mo(e,t,r,a);s&&o.push(s)})),o}async function Mo(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=j(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=In(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await _(e,r,l),displayFilePath:R(e,r),name:k(l),inputs:[],exportName:n.isDefaultExport?"default":l,exportType:n.isDefaultExport?"default":"named",importName:l,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=In(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:R(e,r),name:M(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ie(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function In(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 Qo=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Fn(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 He(e,t.cmpInfo.filePath,null);if(!(await ot(e,i,t.cmpInfo.filePath,o)).find(l=>l.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Le(e,i,r)}return[]}async function An(e){return Et(e)}async function Et(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,qo),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var qo=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
232
+ `)}function rt(e,t,r){return yt(e,t,r.variableName)?t:Ko(e,t,r)}function Ko(e,t,r){let n=typeof r.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(r.arrayType,void 0)):void 0,o=e.ts.factory.createArrayLiteralExpression([]),i=e.ts.factory.createVariableDeclaration(r.variableName,void 0,n,o),a=e.ts.factory.createVariableDeclarationList([i],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),l=e.ts.factory.createVariableStatement([s],a),c=[...t.statements,l];return e.ts.factory.updateSourceFile(t,c)}async function Rn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker();return await Promise.all(n.map(async i=>{let a=e.basename(i.fileName);if(a.startsWith(".")||Qo.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await ot(e,o,s,i);r.push(...l)})),r}async function Fn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return Uo(e,t,n)}return null}function Uo(e,t,r){let n=D(e,r);return ot(e,null,t,n)}async function ot(e,t,r,n){r=e.normalize(r);let o=[],i=z(e,n);return await Promise.all(i.map(async a=>{let s=await Mo(e,t,r,a);s&&o.push(s)})),o}async function Mo(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=j(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Nn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await _(e,r,l),displayFilePath:R(e,r),name:k(l),inputs:[],exportName:n.isDefaultExport?"default":l,exportType:n.isDefaultExport?"default":"named",importName:l,filePath:r,relFilePath:o,importPath:i},node:s}}}else if(e.ts.isCallExpression(n.node)){let a=Nn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:R(e,r),name:M(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ie(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function Nn(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 Qo=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function An(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 He(e,t.cmpInfo.filePath,null);if(!(await ot(e,i,t.cmpInfo.filePath,o)).find(l=>l.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return Le(e,i,r)}return[]}async function Ln(e){return Et(e)}async function Et(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,qo),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var qo=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
233
233
 
234
234
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
235
235
  ];
236
- `;async function Ln(e){await Et(e);let t=await e.readFile(e.registryPath);return t?Jo(e,t):{components:[],sourceFile:P(e,"")}}async function Jo(e,t){let r=P(e,t);return Wo(e,r)}async function Wo(e,t){let r=[],n=ce(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await wt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function wt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=k(a)),n.importName=a;let s=await Ge(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=j(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await Rn(e,s.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let c=l.find(d=>d.cmpInfo.exportName===a);c&&(n.exportName=c.cmpInfo.exportName)}continue}}return n=G(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function On(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await $(e,[...t])}async function he(e,t,r,n,o,i,a,s){let l=await On(e),[c,d,p]=await Promise.all([Nn(e,l),Ln(e),je(e)]),u=c.map(m=>m.cmpInfo),f=d.components,h={components:Z(u,f),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(u),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let m=c.find(T=>T.cmpInfo.id===t);if(!m)throw new Error(`Component ${t} not found`);let x=d.sourceFile,g=h.components.find(T=>T.id===t),C=await Fn(e,m);X(g,C),t=Array.isArray(t)?t[0]:t;let S=de(t,u,f,r,n,o,i),{elements:I,elmIndex:E,statementIndex:y,statement:D,variableDeclaration:A}=await Ho(e,x,m),L=!1;if(S.addCmpToRegistry?(I.push(Yo(e,S.addCmpToRegistry)),L=!0):S.removeCmpFromRegistry?(I.splice(E,1),L=!0):S.updateRegisteredCmp&&(I[E]=q(e,I[E],S.updateRegisteredCmp),L=!0),L&&a){let T=[...x.statements];T[y]=e.ts.factory.updateVariableStatement(D,D.modifiers,e.ts.factory.updateVariableDeclarationList(D.declarationList,[e.ts.factory.updateVariableDeclaration(A,A.name,A.exclamationToken,A.type,e.ts.factory.createArrayLiteralExpression(tt(e,I)))])),x=e.ts.factory.updateSourceFile(x,T),g.exportType==="named"?x=w(e,x,{namedImports:[g.importName],importPath:O(e,e.registryPath,g.filePath)}):x=w(e,x,{defaultImport:g.importName,importPath:O(e,e.registryPath,g.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x=fe(e,x),x=me(e,x);let N=F(e,x);N=J(N),N=bn(N,Go,"CUSTOM_COMPONENTS"),N=await e.formatCode(e.registryPath,N),await e.writeFile(e.registryPath,N)}h.components=S.components}return h}function Yo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Ho(e,t,r){let n=ce(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 wt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Go=["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 kn(e){let t=await Xo(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>An(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>he(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),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:()=>je(t),setPublicApiKey:n=>Pn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function Xo(e){let t=await ve(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function _e(e){return await se(e,[".env"],Be)}async function jn(e,t){let r=await _e(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Be="PUBLIC_BUILDER_KEY";async function _n(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Zo.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let c=await ue(e,o,l,a);r.push(...c)})),r}var Zo=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Bn(e){await Pt(e);let t=await e.readFile(e.registryPath);return t?ei(e,t):{components:[],sourceFile:P(e,"")}}async function ei(e,t){let r=P(e,t);return ti(e,r)}async function ti(e,t){let r=[],n=ce(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Dt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Dt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=k(a)),n.importName=a;let l=await Ge(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=j(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await ln(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(p=>p.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=G(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Y(e,t,r,n,o,i,a,s){let l=await De(e),[c,d,p]=await Promise.all([_n(e,l),Bn(e),_e(e)]),u=c.map(C=>C.cmpInfo),f=d.components,h={components:Z(u,f),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(u),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Ee(e,h.components),h;let m=!1,x=d.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let C=g.map(E=>{let y=c.find(D=>D.cmpInfo.id===E);if(!y)throw new Error(`Component ${E} not found`);return y}),S=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),I=await $(e,S);for(let E of C){let y=h.components.find(H=>H.id===E.cmpInfo.id),D=await we(e,E,I);X(y,D);let A=u.findIndex(H=>H.id===E.cmpInfo.id);u[A].inputs=D;let L=de(E.cmpInfo.id,u,f,r,n,o,i),{elements:T,elmIndex:N,statementIndex:v,statement:U,variableDeclaration:Me}=await ri(e,x,E);if(L.addCmpToRegistry)T.push(ni(e,L.addCmpToRegistry)),m=!0;else if(L.removeCmpFromRegistry)T.splice(N,1),m=!0;else if(L.updateRegisteredCmp){let H=q(e,T[N],L.updateRegisteredCmp);T[N]=e.ts.factory.updateObjectLiteralExpression(H,[Vn(e,L.updateRegisteredCmp),...H.properties.slice(1)]),m=!0}if(m&&a){let H=[...x.statements];H[v]=e.ts.factory.updateVariableStatement(U,U.modifiers,e.ts.factory.updateVariableDeclarationList(U.declarationList,[e.ts.factory.updateVariableDeclaration(Me,Me.name,Me.exclamationToken,Me.type,e.ts.factory.createArrayLiteralExpression(tt(e,T)))])),x=e.ts.factory.updateSourceFile(x,H),y.exportType==="named"?x=w(e,x,{namedImports:[y.importName],importPath:O(e,e.registryPath,y.filePath)}):x=w(e,x,{defaultImport:y.importName,importPath:O(e,e.registryPath,y.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),y.acceptsChildren&&(x=w(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=L.components,f=L.components.filter(Rr=>Rr.isRegistered)}}}if(m&&a){x=fe(e,x),x=me(e,x);let C=F(e,x);C=J(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Vn(e,t){let r=e.ts.factory.createIdentifier(t.importName),n=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[r]):r;return e.ts.factory.createPropertyAssignment("component",n)}function ni(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([Vn(e,t)],!0),t)}async function ri(e,t,r){let n=ce(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 Dt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function $n(e){let t=[],r=await ai(e,t);return t.push(...await Pt(e)),await li(e,r),await ii(e,t),t}async function zn(e){let t=[];return await oi(e,t),t}async function oi(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,Un({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function ii(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,Un({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Un({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.${Be}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Be}`),n&&(s+="!"),`
236
+ `;async function On(e){await Et(e);let t=await e.readFile(e.registryPath);return t?Jo(e,t):{components:[],sourceFile:D(e,"")}}async function Jo(e,t){let r=D(e,t);return Wo(e,r)}async function Wo(e,t){let r=[],n=pe(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Pt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Pt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"&&e.ts.isIdentifier(o.initializer)){let a=o.initializer.text;n.name===""&&(n.name=k(a)),n.importName=a;let s=await Ge(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=j(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await Fn(e,s.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let c=l.find(d=>d.cmpInfo.exportName===a);c&&(n.exportName=c.cmpInfo.exportName)}continue}}return n=X(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function kn(e){let t=new Set,r=async o=>{let i=await e.readdir(o);await Promise.all(i.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let s=e.join(o,a),l=e.extname(a).toLowerCase();if(l===".tsx"||l===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await r(s)}))};return await r(e.getRootDir()),await V(e,[...t])}async function Ce(e,t,r,n,o,i,a,s){let l=await kn(e),[c,d,p]=await Promise.all([Rn(e,l),On(e),je(e)]),u=c.map(m=>m.cmpInfo),f=d.components,h={components:ee(u,f),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(u),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let m=c.find(w=>w.cmpInfo.id===t);if(!m)throw new Error(`Component ${t} not found`);let x=d.sourceFile,g=h.components.find(w=>w.id===t),C=await An(e,m);Z(g,C),t=Array.isArray(t)?t[0]:t;let S=ge(t,u,f,r,n,o,i),{elements:I,elmIndex:T,statementIndex:y,statement:P,variableDeclaration:L}=await Ho(e,x,m),O=!1;if(S.addCmpToRegistry?(I.push(Yo(e,S.addCmpToRegistry)),O=!0):S.removeCmpFromRegistry?(I.splice(T,1),O=!0):S.updateRegisteredCmp&&(I[T]=q(e,I[T],S.updateRegisteredCmp),O=!0),O&&a){let w=[...x.statements];w[y]=e.ts.factory.updateVariableStatement(P,P.modifiers,e.ts.factory.updateVariableDeclarationList(P.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(tt(e,I)))])),x=e.ts.factory.updateSourceFile(x,w),g.exportType==="named"?x=E(e,x,{namedImports:[g.importName],importPath:A(e,e.registryPath,g.filePath)}):x=E(e,x,{defaultImport:g.importName,importPath:A(e,e.registryPath,g.filePath)}),x=E(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),x=de(e,x),x=fe(e,x);let N=F(e,x);N=J(N),N=In(N,Go,"CUSTOM_COMPONENTS"),N=await e.formatCode(e.registryPath,N),await e.writeFile(e.registryPath,N)}h.components=S.components}return h}function Yo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Ho(e,t,r){let n=pe(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 Pt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Go=["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 jn(e){let t=await Xo(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Ln(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Ce(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Ce(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ce(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ce(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ce(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ce(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>je(t),setPublicApiKey:n=>vn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ae(t),setCache:n=>se(t,n)}}async function Xo(e){let t=await ve(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function _e(e){return await le(e,[".env"],Be)}async function _n(e,t){let r=await _e(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Be="PUBLIC_BUILDER_KEY";async function Bn(e,t){let r=[],n=t.getSourceFiles(),o=t.getTypeChecker(),i=e.join(e.getRootDir(),"build");return await Promise.all(n.map(async a=>{let s=e.basename(a.fileName);if(s.startsWith(".")||s==="node_modules"||Zo.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let c=await me(e,o,l,a);r.push(...c)})),r}var Zo=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function $n(e){await vt(e);let t=await e.readFile(e.registryPath);return t?ei(e,t):{components:[],sourceFile:D(e,"")}}async function ei(e,t){let r=D(e,t);return ti(e,r)}async function ti(e,t){let r=[],n=pe(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await Dt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Q(r)}}async function Dt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(b(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let p=s.arguments[0];e.ts.isIdentifier(p)&&(a=p.text)}if(!a)continue;n.name===""&&(n.name=k(a)),n.importName=a;let l=await Ge(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=j(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await cn(e,l.filePath);if(c&&c.length>0)if(c.length===1)n.exportName=c[0].cmpInfo.exportName;else{let d=c.find(p=>p.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=X(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Y(e,t,r,n,o,i,a,s){let l=await Pe(e),[c,d,p]=await Promise.all([Bn(e,l),$n(e),_e(e)]),u=c.map(C=>C.cmpInfo),f=d.components,h={components:ee(u,f),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(u),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Te(e,h.components),h;let m=!1,x=d.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let C=g.map(T=>{let y=c.find(P=>P.cmpInfo.id===T);if(!y)throw new Error(`Component ${T} not found`);return y}),S=Array.from(new Set(C.map(T=>T.cmpInfo.filePath))),I=await V(e,S);for(let T of C){let y=h.components.find(G=>G.id===T.cmpInfo.id),P=await Ee(e,T,I);Z(y,P);let L=u.findIndex(G=>G.id===T.cmpInfo.id);u[L].inputs=P;let O=ge(T.cmpInfo.id,u,f,r,n,o,i),{elements:w,elmIndex:N,statementIndex:v,statement:K,variableDeclaration:Me}=await ri(e,x,T);if(O.addCmpToRegistry)w.push(ni(e,O.addCmpToRegistry)),m=!0;else if(O.removeCmpFromRegistry)w.splice(N,1),m=!0;else if(O.updateRegisteredCmp){let G=q(e,w[N],O.updateRegisteredCmp);w[N]=e.ts.factory.updateObjectLiteralExpression(G,[Vn(e,O.updateRegisteredCmp),...G.properties.slice(1)]),m=!0}if(m&&a){let G=[...x.statements];G[v]=e.ts.factory.updateVariableStatement(K,K.modifiers,e.ts.factory.updateVariableDeclarationList(K.declarationList,[e.ts.factory.updateVariableDeclaration(Me,Me.name,Me.exclamationToken,Me.type,e.ts.factory.createArrayLiteralExpression(tt(e,w)))])),x=e.ts.factory.updateSourceFile(x,G),y.exportType==="named"?x=E(e,x,{namedImports:[y.importName],importPath:A(e,e.registryPath,y.filePath)}):x=E(e,x,{defaultImport:y.importName,importPath:A(e,e.registryPath,y.filePath)}),x=E(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),y.acceptsChildren&&(x=E(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=O.components,f=O.components.filter(Rr=>Rr.isRegistered)}}}if(m&&a){x=de(e,x),x=fe(e,x);let C=F(e,x);C=J(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function Vn(e,t){let r=e.ts.factory.createIdentifier(t.importName),n=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[r]):r;return e.ts.factory.createPropertyAssignment("component",n)}function ni(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([Vn(e,t)],!0),t)}async function ri(e,t,r){let n=pe(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 Dt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function zn(e){let t=[],r=await ai(e,t);return t.push(...await vt(e)),await li(e,r),await ii(e,t),t}async function Kn(e){let t=[];return await oi(e,t),t}async function oi(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,Un({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function ii(e,t){let r=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),r=`($locale).${r}`);let n=e.join(e.routesDir,r),o=await e.exists(n);e.debug(`remixEnsureAppRoute, hasRoute: ${o}`);let i=await e.formatCode(n,Un({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Un({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=A(e,t,e.registryPath),i="",a="";n&&(i="import type { LoaderArgs } from '@remix-run/server-runtime';",a=": LoaderArgs");let s=`process.env.${Be}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Be}`),n&&(s+="!"),`
237
237
  import { BuilderComponent, builder } from "@builder.io/react";
238
238
  import { useLoaderData } from "@remix-run/react";
239
239
  import { CUSTOM_COMPONENTS } from ${JSON.stringify(o)};
@@ -357,23 +357,136 @@ export default Counter;
357
357
  font-size: 42px;
358
358
  text-align: center;
359
359
  }
360
- `.trimStart();return{component:r,styles:n}}async function li(e,t){let n=(await Y(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Y(e,n.id,!0,!1,null,null,!0,!1)}async function Pt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,ci(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function ci(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
360
+ `.trimStart();return{component:r,styles:n}}async function li(e,t){let n=(await Y(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await Y(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,ci(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function ci(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
361
361
 
362
362
  export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
363
363
  ];`:`export const CUSTOM_COMPONENTS = [
364
364
  ];
365
- `}async function Kn(e){let t=await pi(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:()=>$n(t),ensureFigmaImportPage:()=>zn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Y(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Y(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Y(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Y(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Y(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Y(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>_e(t),setPublicApiKey:n=>jn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function pi(e){let t=await fi(e),r=await di(e),n=e.dirname(r),o=e.join(n,"components"),i=await ui(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a);return{...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await mi(e,r)}}function ui(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function mi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function fi(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function di(e){let t=await ve(e,e.getRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function Ve(e){return await se(e,[".env"],Qn)}async function Mn(e,t){let r=await Ve(e),n=await le(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Qn="PUBLIC_BUILDER_KEY";function qn(e,t){let r=`Builder.registerComponent(
365
+ `}async function Mn(e){let t=await pi(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:()=>zn(t),ensureFigmaImportPage:()=>Kn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Y(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Y(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Y(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Y(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Y(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Y(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>_e(t),setPublicApiKey:n=>_n(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ae(t),setCache:n=>se(t,n)}}async function pi(e){let t=await fi(e),r=await di(e),n=e.dirname(r),o=e.join(n,"components"),i=await ui(e),a=`builder-registry.${i?"ts":"js"}`,s=e.join(n,a);return{...e,registryPath:s,remixConfigPath:t,typescriptEnabled:i,appDir:n,componentsDir:o,routesDir:r,hasLocaleParam:await mi(e,r)}}function ui(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function mi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function fi(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}async function di(e){let t=await ve(e,e.getRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function $e(e){return await le(e,[".env"],it)}async function Qn(e,t){let r=await $e(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var it="VITE_PUBLIC_BUILDER_KEY";function qn(e,t){let r=`Builder.registerComponent(
366
366
  `;r+=` ${t.importName},
367
367
  `,r+=` {
368
368
  name: "${t.name}",
369
369
  }
370
- `,r+=");";let n=qe(e,r);return vt(e,n,t)}function vt(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function Wn(e){let t=await e.readFile(e.registryPath);return t?gi(e,t):{components:[],sourceFile:P(e,"")}}async function gi(e,t){let r=P(e,t);return xi(e,r)}async function xi(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let c=i.arguments;if(c.length<2)continue;let d=c[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=c[0];if(e.ts.isIdentifier(p)){let u=await hi(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function hi(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(c=>e.ts.isImportDeclaration(c)),l=s.find(c=>c.importClause&&c.importClause.name?.text===n.text);if(l){let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;a.filePath=await Jn(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=M(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(u=>u.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await Jn(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=k(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=G(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function Jn(e,t){return ke(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function Ce(e,t,r,n,o,i,a,s){let l=await De(e),[c,d,p,u]=await Promise.all([cn(e,l),Wn(e),bt(e),Ve(e)]),f=c.map(S=>S.cmpInfo),h=d.components,m={components:Z(f,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:pe(f),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await Ee(e,m.components),m;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(y=>{let D=c.find(A=>A.cmpInfo.id===y);if(!D)throw new Error(`Component ${y} not found`);return D}),I=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),E=await $(e,I);for(let y of S){let D=m.components.find(v=>v.id===y.cmpInfo.id),A=await we(e,y,E);X(D,A);let L=f.findIndex(v=>v.id===y.cmpInfo.id);f[L].inputs=A;let T=de(y.cmpInfo.id,f,h,r,n,o,i),N=[...g.statements];if(T.addCmpToRegistry?(N.push(qn(e,T.addCmpToRegistry)),x=!0):T.removeCmpFromRegistry?(N.splice(T.nodeIndex,1),x=!0):T.updateRegisteredCmp&&(N[T.nodeIndex]=vt(e,N[T.nodeIndex],T.updateRegisteredCmp),x=!0),x&&a){g=e.ts.factory.updateSourceFile(g,N),g=w(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let v=T.addCmpToRegistry||T.updateRegisteredCmp;if(v){let U=O(e,e.registryPath,v.filePath);v.exportType==="default"?g=w(e,g,{defaultImport:v.importName,importPath:U}):v.exportType==="named"&&(g=w(e,g,{namedImports:[v.importName],importPath:U}))}D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=T.components,h=T.components.filter(U=>U.isRegistered)}}}if(x&&a){g=fe(e,g),g=me(e,g);let S=F(e,g);S=J(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return m}async function Yn(e){return[]}async function Hn(e){return[]}async function Gn(e){let t=await Ci(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Yn(t),ensureFigmaImportPage:()=>Hn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>Ce(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Ce(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Ce(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Ce(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Ce(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Ce(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ve(t),setPublicApiKey:n=>Mn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ie(t),setCache:n=>ae(t,n)}}async function Ci(e){let t=await Si(e),r=e.getRootDir(),n=e.join(r,"src"),o=await bt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o};return await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i)),a}function bt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Si(e){let t=["vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}var pt=_r(pr(),1);async function ur(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:K(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:V(i.inputs)};return V(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,pt.compress)(n);return btoa(JSON.stringify(o))}async function mr(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,pt.decompress)(o),a=V(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=K(e.normalize(s.filePath)),c=n.components.find(p=>K(p.filePath).endsWith(l)&&p.exportName===s.exportName);if(!c){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${c.id})`,c.filePath),await t.registerComponent({cmpId:c.id});for(let p of s.inputs)e.debug(`set input (${c.id})`),await t.setRegisteredComponentInput({cmpId:c.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${c.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:c.id,name:s.name,image:s.image,description:s.description});a=V(d)}return a}var Ki={"@builder.io/qwik-city":kn,next:Dn,"@remix-run/react":Kn,react:Gn};async function fr(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 oe(e)),e.frameworks.length===0)throw new Error(`Supported Devtools framework for not found within ${e.getRootDir()}`);for(let t of e.frameworks){let r=Ki[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>ur(e,n),importRegistry:i=>mr(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function dr(e){function t(p){if(typeof p!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(p))}function r(p,u){let f="",h=0,m=-1,x=0,g;for(let C=0;C<=p.length;++C){if(C<p.length)g=p.charCodeAt(C);else{if(g===47)break;g=47}if(g===47){if(!(m===C-1||x===1))if(m!==C-1&&x===2){if(f.length<2||h!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){let S=f.lastIndexOf("/");if(S!==f.length-1){S===-1?(f="",h=0):(f=f.slice(0,S),h=f.length-1-f.lastIndexOf("/")),m=C,x=0;continue}}else if(f.length===2||f.length===1){f="",h=0,m=C,x=0;continue}}u&&(f.length>0?f+="/..":f="..",h=2)}else f.length>0?f+="/"+p.slice(m+1,C):f=p.slice(m+1,C),h=C-m-1;m=C,x=0}else g===46&&x!==-1?++x:x=-1}return f}let n=function(...u){let f="",h=!1;for(let m=u.length-1;m>=-1&&!h;m--){let x;m>=0?x=u[m]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(f=x+"/"+f,h=x.charCodeAt(0)===47)}return f=r(f,!h),h?f.length>0?"/"+f:"/":f.length>0?f:"."},o=function(u){if(t(u),u.length===0)return".";let f=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!f),u.length===0&&!f&&(u="."),u.length>0&&h&&(u+="/"),f?"/"+u:u};return{relative:function(u,f){if(t(u),t(f),u===f||(u=n(u),f=n(f),u===f))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let m=u.length,x=m-h,g=1;for(;g<f.length&&f.charCodeAt(g)===47;++g);let S=f.length-g,I=x<S?x:S,E=-1,y=0;for(;y<=I;++y){if(y===I){if(S>I){if(f.charCodeAt(g+y)===47)return f.slice(g+y+1);if(y===0)return f.slice(g+y)}else x>I&&(u.charCodeAt(h+y)===47?E=y:y===0&&(E=0));break}let A=u.charCodeAt(h+y),L=f.charCodeAt(g+y);if(A!==L)break;A===47&&(E=y)}let D="";for(y=h+E+1;y<=m;++y)(y===m||u.charCodeAt(y)===47)&&(D.length===0?D+="..":D+="/..");return D.length>0?D+f.slice(g+E):(g+=E,f.charCodeAt(g)===47&&++g,f.slice(g))},resolve:n,join:function(...u){if(u.length===0)return".";let f;for(let h=0;h<u.length;++h){let m=u[h];t(m),m.length>0&&(f===void 0?f=m:f+="/"+m)}return f===void 0?".":o(f)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,f){if(f!==void 0&&typeof f!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,m=-1,x=!0,g;if(f!==void 0&&f.length>0&&f.length<=u.length){if(f.length===u.length&&f===u)return"";let C=f.length-1,S=-1;for(g=u.length-1;g>=0;--g){let I=u.charCodeAt(g);if(I===47){if(!x){h=g+1;break}}else S===-1&&(x=!1,S=g+1),C>=0&&(I===f.charCodeAt(C)?--C===-1&&(m=g):(C=-1,m=S))}return h===m?m=S:m===-1&&(m=u.length),u.slice(h,m)}else{for(g=u.length-1;g>=0;--g)if(u.charCodeAt(g)===47){if(!x){h=g+1;break}}else m===-1&&(x=!1,m=g+1);return m===-1?"":u.slice(h,m)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let f=u.charCodeAt(0),h=f===47,m=-1,x=!0;for(let g=u.length-1;g>=1;--g)if(f=u.charCodeAt(g),f===47){if(!x){m=g;break}}else x=!1;return m===-1?h?"/":".":h&&m===1?"//":u.slice(0,m)},extname:function(u){t(u);let f=-1,h=0,m=-1,x=!0,g=0;for(let C=u.length-1;C>=0;--C){let S=u.charCodeAt(C);if(S===47){if(!x){h=C+1;break}continue}m===-1&&(x=!1,m=C+1),S===46?f===-1?f=C:g!==1&&(g=1):f!==-1&&(g=-1)}return f===-1||m===-1||g===0||g===1&&f===m-1&&f===h+1?"":u.slice(f,m)}}}async function gr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=dr({cwd:r,...e}),o=new Map,i=m=>n.normalize(n.resolve(r(),m)),a=m=>{for(let[x]of o)if((x+"/").startsWith(m))return!0;return m===t()},s=m=>(m=i(m),o.has(m)?!0:a(m)),l=m=>{m=i(m);let x=m===t()?m:m+"/",g=x.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,g).join("/")+"/"===x){let y=S.split("/")[g];y&&!C.includes(y)&&C.push(y)}return C.sort()},c=m=>{m=i(m);let x=o.get(m);return typeof x=="string"?x:null},d=m=>(m=i(m),{isFile:()=>o.has(m),isDirectory:()=>!o.has(m)&&a(m)}),p=async m=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(m),S=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(S)).map(I=>I.toString(16).padStart(2,"0")).join("")}let x=0;for(let g=0;g<m.length;g++){let C=m.charCodeAt(g);x=(x<<5)-x+C,x|=0}return Number(Math.abs(x)).toString(36)},u=new Set,f={getRootDir:t,cwd:r,exists:async m=>s(m),existsSync:s,readdir:async m=>l(m),readdirSync:l,readFile:async m=>c(m),readFileSync:c,stat:async m=>d(m),statSync:d,writeFile:async(m,x)=>{m=i(m),o.set(m,x);let g={path:m,basename:n.basename(m),dirname:n.dirname(m),extname:n.extname(m)};for(let C of u)await C(g)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(m,x)=>x,on:(m,x)=>{m==="change"&&u.add(x)},off:(m,x)=>{m==="change"&&u.delete(x)},debug:(...m)=>{console.debug("[builder-dev-tools]",...m)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await oe(f);return f.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,f}async function xr(e,t,r){let n=P(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(hr(e,n))return o;let a=z(e,n,"cjs"),s=z(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let p=d.statement;if(!e.ts.isVariableStatement(p))throw new Error(`Expected an export assignment from ${t}`);let u=d.statement;if(e.ts.isVariableStatement(u)){let f=[...u.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let h=f[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let m=h.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let x="BuilderDevTools()",g=[...n.statements],C=g.indexOf(u);return g[C]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(x),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,g),n=w(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let l=a[0];if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let u=zt(e,n);n=u.sourceFile;let f=[...n.statements],h=f.indexOf(d);return f[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,f),o.content=F(e,n),o.hasContentUpdates=!0,o}let c=l.statement;if(e.ts.isVariableStatement(c)){let d=[...c.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let u=p.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let f=zt(e,n);n=f.sourceFile;let h=[...n.statements],m=h.indexOf(c);return h[m]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(f.withFnVariableName),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(l.node)){let d=l.node,p=l.statement;if(!e.ts.isExpressionStatement(p))throw new Error("Expected an expression statement for the default export");let u=p.expression;if(!e.ts.isBinaryExpression(u))throw new Error("Expected a binary expression for the default export");let h=l.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let m=[...h.statements],x=m.findIndex(E=>e.ts.isReturnStatement(E));if(x===-1)throw new Error("Expected a return statement on the next config function");let g=m[x],C=zt(e,n);n=C.sourceFile,m[x]=e.ts.factory.updateReturnStatement(g,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[g.expression]));let S=[...n.statements],I=S.indexOf(p);return S[I]=e.ts.factory.updateExpressionStatement(p,e.ts.factory.updateBinaryExpression(u,u.left,u.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(h,m)))),n=e.ts.factory.updateSourceFile(n,S),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function hr(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 zt(e,t){let r=hr(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 yr(e,t,r){let n=P(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Tr(e,n))return o;let a=z(e,n,"cjs"),s=z(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let l=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let p=d.statement;if(!e.ts.isExportAssignment(p))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(p.expression)){let u="builderDevTools()",f=Mi(e,p.expression);if(!f)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[f]),m=[...n.statements],x=m.indexOf(p);return m[x]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,m),n=w(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=F(e,n),o.hasContentUpdates=!0,o}}if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let u=Cr(e,n);n=u.sourceFile;let f=[...n.statements],h=f.indexOf(d);return f[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,f),o.content=F(e,n),o.hasContentUpdates=!0,o}let c=l.statement;if(e.ts.isVariableStatement(c)){let d=[...c.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let u=p.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let f=Cr(e,n);n=f.sourceFile;let h=[...n.statements],m=h.indexOf(c);return h[m]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(f.withFnVariableName),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function Tr(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 Cr(e,t){let r=Tr(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 Mi(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Sr(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=Sr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Sr(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 wr(e,t,r){let n=P(e,r),o=z(e,n);if(o.length!==1)throw new Error(`Expected an export from ${t}`);let i=o[0];if(!i.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let a=i.statement;if(!e.ts.isExportAssignment(a))throw new Error(`Expected an export assignment from ${t}`);let s={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(e.ts.isCallExpression(i.node)&&e.ts.isIdentifier(i.node.expression)&&i.node.expression.text==="defineConfig"){let l=[...i.node.arguments];if(l.length===0)throw new Error("Expected an argument in defineConfig()");let c=l[0];if(e.ts.isArrowFunction(c)){let d=Qi(e,c);if(!d)return s;l[0]=e.ts.factory.updateArrowFunction(c,c.modifiers,c.typeParameters,c.parameters,c.type,c.equalsGreaterThanToken,d);let p=[...n.statements],u=p.indexOf(a);return p[u]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,l)),n=e.ts.factory.updateSourceFile(n,p),n=w(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(c)){let d=Ut(e,c);if(!d)return s;let p=[...n.statements],u=p.indexOf(a);return p[u]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[d])),n=e.ts.factory.updateSourceFile(n,p),n=w(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=Ut(e,a.expression);if(!l)return s;let c=[...n.statements],d=c.indexOf(a);return c[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,l),n=e.ts.factory.updateSourceFile(n,c),n=w(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Qi(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=Ut(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Ut(e,t){if(Wi(e)){let i=qi(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Er(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=Er(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Er(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 qi(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Ji(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=Kt(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 Ji(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Kt(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=Kt(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Kt(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 Wi(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Dr(e,t,r){throw new Error("Webpack config updates not implemented")}var vr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:xr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:wr},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:yr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Dr}];async function Mt(e){let t=e.resolve("/");for(let n of vr)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),l=e.readFileSync(s);if(typeof l=="string")return{id:n.id,filePath:s,content:l};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await oe(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,Pr),{id:"next",filePath:n,content:Pr}}return null}async function br(e){let t=await Mt(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await vr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=J(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var Pr=`
370
+ `,r+=");";let n=qe(e,r);return bt(e,n,t)}function bt(e,t,r){if(!e.ts.isExpressionStatement(t))return t;let n=t.expression;if(!e.ts.isCallExpression(n))return t;let o=[...n.arguments];if(o.length<2)return t;let i=o[1];return e.ts.isObjectLiteralExpression(i)?(o[1]=q(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function Wn(e){let t=await e.readFile(e.registryPath);return t?gi(e,t):{components:[],sourceFile:D(e,"")}}async function gi(e,t){let r=D(e,t);return xi(e,r)}async function xi(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let c=i.arguments;if(c.length<2)continue;let d=c[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=c[0];if(e.ts.isIdentifier(p)){let u=await hi(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function hi(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(c=>e.ts.isImportDeclaration(c)),l=s.find(c=>c.importClause&&c.importClause.name?.text===n.text);if(l){let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;a.filePath=await Jn(e,c.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=M(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let c=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(u=>u.name.text===n.text));if(!c)return null;let d=c.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await Jn(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=j(e,a.filePath),a.name=k(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=X(e,a,o),a.displayFilePath=R(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function Jn(e,t){return ke(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function H(e,t,r,n,o,i,a,s){let l=await Pe(e),[c,d,p,u]=await Promise.all([pn(e,l),Wn(e),It(e),$e(e)]),f=c.map(S=>S.cmpInfo),h=d.components,m={components:ee(f,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(f),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return m.components=await Te(e,m.components),m;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(y=>{let P=c.find(L=>L.cmpInfo.id===y);if(!P)throw new Error(`Component ${y} not found`);return P}),I=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),T=await V(e,I);for(let y of S){let P=m.components.find(v=>v.id===y.cmpInfo.id),L=await Ee(e,y,T);Z(P,L);let O=f.findIndex(v=>v.id===y.cmpInfo.id);f[O].inputs=L;let w=ge(y.cmpInfo.id,f,h,r,n,o,i),N=[...g.statements];if(w.addCmpToRegistry?(N.push(qn(e,w.addCmpToRegistry)),x=!0):w.removeCmpFromRegistry?(N.splice(w.nodeIndex,1),x=!0):w.updateRegisteredCmp&&(N[w.nodeIndex]=bt(e,N[w.nodeIndex],w.updateRegisteredCmp),x=!0),x&&a){g=e.ts.factory.updateSourceFile(g,N),g=E(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let v=w.addCmpToRegistry||w.updateRegisteredCmp;if(v){let K=A(e,e.registryPath,v.filePath);v.exportType==="default"?g=E(e,g,{defaultImport:v.importName,importPath:K}):v.exportType==="named"&&(g=E(e,g,{namedImports:[v.importName],importPath:K}))}P?.acceptsChildren&&(g=E(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),m.components=w.components,h=w.components.filter(K=>K.isRegistered)}}}if(x&&a){g=de(e,g),g=fe(e,g);let S=F(e,g);S=J(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return m}async function Yn(e){let t=[],r=await yi(e,t);if(await Si(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,Ci(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function Hn(e){return[]}function Ci(e){let t=e.typescriptEnabled;return`
371
+ "use client";
372
+ ${t?'import { ComponentProps } from "react";':""}
373
+ import { useEffect, useState } from "react";
374
+ import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
375
+ import ${JSON.stringify(A(e,e.builderComponentPath,e.registryPath))};
376
+
377
+ // Builder Public API Key set in .env file
378
+ builder.init(import.meta.env.${it}${t?"!":""});
379
+
380
+ export default function BuilderPage() {
381
+ const isPreviewingInBuilder = useIsPreviewing();
382
+ const [notFound, setNotFound] = useState(false);
383
+ const [content, setContent] = useState(null);
384
+
385
+ // get the page content from Builder
386
+ useEffect(() => {
387
+ async function fetchContent() {
388
+ const content = await builder
389
+ .get("page", {
390
+ url: window.location.pathname
391
+ })
392
+ .promise();
393
+
394
+ setContent(content);
395
+ setNotFound(!content);
396
+
397
+ // if the page title is found,
398
+ // set the document title
399
+ if (content?.data.title) {
400
+ document.title = content.data.title
401
+ }
402
+ }
403
+ fetchContent();
404
+ }, [window.location.pathname]);
405
+
406
+ // If no page is found, return
407
+ // a 404 page from your code.
408
+ if (notFound && !isPreviewingInBuilder) {
409
+ return <div>404 Page Not Found</div>;
410
+ }
411
+
412
+ // return the page when found
413
+ return (
414
+ <>
415
+ {/* Render the Builder page */}
416
+ <BuilderComponent model="page" content={content} />
417
+ </>
418
+ );
419
+ }
420
+ `.trimStart()}async function Si(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await H(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await H(e,o.id,!0,!1,null,null,!0,!1)}async function yi(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=wi(e);if(!await e.exists(i)){let c=await e.formatCode(i,s);await e.writeFile(i,c),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function wi(e){let t=e.typescriptEnabled,r=`
421
+ "use client"
422
+ import React, { useState } from "react";
423
+ import styles from "./styles.module.css";
424
+ ${t?`
425
+ interface CounterProps {
426
+ initialCount?: number;
427
+ }`:""}
428
+
429
+ function Counter({ initialCount = 99 }${t?": CounterProps":""}) {
430
+ const [count, setCount] = useState(initialCount);
431
+
432
+ const increment = () => {
433
+ setCount((prevCount) => prevCount + 1);
434
+ };
435
+
436
+ const decrement = () => {
437
+ setCount((prevCount) => prevCount - 1);
438
+ };
439
+
440
+ return (
441
+ <div className={styles.counter}>
442
+ <button className={styles.btn} onClick={decrement}>
443
+ -
444
+ </button>
445
+ <span className={styles.count}>{count}</span>
446
+ <button className={styles.btn} onClick={increment}>
447
+ +
448
+ </button>
449
+ </div>
450
+ );
451
+ }
452
+
453
+ export default Counter;
454
+ `.trimStart(),n=`
455
+ .counter {
456
+ margin: 32px auto;
457
+ display: flex;
458
+ width: 100%;
459
+ max-width: 190px;
460
+ }
461
+
462
+ .btn {
463
+ width: 42px;
464
+ font-size: 32px;
465
+ font-weight: bold;
466
+ background-color: #1c6bd1;
467
+ color: white;
468
+ border: none;
469
+ border-radius: 4px;
470
+ cursor: pointer;
471
+ line-height: 1.4;
472
+ }
473
+
474
+ .btn:hover {
475
+ opacity: 0.8;
476
+ }
477
+
478
+ .count {
479
+ flex: 1;
480
+ font-size: 42px;
481
+ text-align: center;
482
+ }
483
+ `.trimStart();return{component:r,styles:n}}async function Gn(e){let t=await Ti(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Yn(t),ensureFigmaImportPage:()=>Hn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>H(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await H(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>H(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>H(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>H(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>H(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>$e(t),setPublicApiKey:n=>Qn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ae(t),setCache:n=>se(t,n)}}async function Ti(e){let t=await Ei(e),r=e.getRootDir(),n=e.join(r,"src"),o=await It(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o};return await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder.${o?"tsx":"jsx"}`)),a}function It(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Ei(e){let t=["vite.config.ts","vite.config.js"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}var ut=_r(pr(),1);async function ur(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:U(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:$(i.inputs)};return $(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,ut.compress)(n);return btoa(JSON.stringify(o))}async function mr(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,ut.decompress)(o),a=$(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=U(e.normalize(s.filePath)),c=n.components.find(p=>U(p.filePath).endsWith(l)&&p.exportName===s.exportName);if(!c){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${c.id})`,c.filePath),await t.registerComponent({cmpId:c.id});for(let p of s.inputs)e.debug(`set input (${c.id})`),await t.setRegisteredComponentInput({cmpId:c.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${c.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:c.id,name:s.name,image:s.image,description:s.description});a=$(d)}return a}var Ji={"@builder.io/qwik-city":jn,next:Dn,"@remix-run/react":Mn,react:Gn};async function fr(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 ie(e)),e.frameworks.length===0)throw new Error(`Supported Devtools framework for not found within ${e.getRootDir()}`);for(let t of e.frameworks){let r=Ji[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>ur(e,n),importRegistry:i=>mr(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function dr(e){function t(p){if(typeof p!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(p))}function r(p,u){let f="",h=0,m=-1,x=0,g;for(let C=0;C<=p.length;++C){if(C<p.length)g=p.charCodeAt(C);else{if(g===47)break;g=47}if(g===47){if(!(m===C-1||x===1))if(m!==C-1&&x===2){if(f.length<2||h!==2||f.charCodeAt(f.length-1)!==46||f.charCodeAt(f.length-2)!==46){if(f.length>2){let S=f.lastIndexOf("/");if(S!==f.length-1){S===-1?(f="",h=0):(f=f.slice(0,S),h=f.length-1-f.lastIndexOf("/")),m=C,x=0;continue}}else if(f.length===2||f.length===1){f="",h=0,m=C,x=0;continue}}u&&(f.length>0?f+="/..":f="..",h=2)}else f.length>0?f+="/"+p.slice(m+1,C):f=p.slice(m+1,C),h=C-m-1;m=C,x=0}else g===46&&x!==-1?++x:x=-1}return f}let n=function(...u){let f="",h=!1;for(let m=u.length-1;m>=-1&&!h;m--){let x;m>=0?x=u[m]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(f=x+"/"+f,h=x.charCodeAt(0)===47)}return f=r(f,!h),h?f.length>0?"/"+f:"/":f.length>0?f:"."},o=function(u){if(t(u),u.length===0)return".";let f=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!f),u.length===0&&!f&&(u="."),u.length>0&&h&&(u+="/"),f?"/"+u:u};return{relative:function(u,f){if(t(u),t(f),u===f||(u=n(u),f=n(f),u===f))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let m=u.length,x=m-h,g=1;for(;g<f.length&&f.charCodeAt(g)===47;++g);let S=f.length-g,I=x<S?x:S,T=-1,y=0;for(;y<=I;++y){if(y===I){if(S>I){if(f.charCodeAt(g+y)===47)return f.slice(g+y+1);if(y===0)return f.slice(g+y)}else x>I&&(u.charCodeAt(h+y)===47?T=y:y===0&&(T=0));break}let L=u.charCodeAt(h+y),O=f.charCodeAt(g+y);if(L!==O)break;L===47&&(T=y)}let P="";for(y=h+T+1;y<=m;++y)(y===m||u.charCodeAt(y)===47)&&(P.length===0?P+="..":P+="/..");return P.length>0?P+f.slice(g+T):(g+=T,f.charCodeAt(g)===47&&++g,f.slice(g))},resolve:n,join:function(...u){if(u.length===0)return".";let f;for(let h=0;h<u.length;++h){let m=u[h];t(m),m.length>0&&(f===void 0?f=m:f+="/"+m)}return f===void 0?".":o(f)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,f){if(f!==void 0&&typeof f!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,m=-1,x=!0,g;if(f!==void 0&&f.length>0&&f.length<=u.length){if(f.length===u.length&&f===u)return"";let C=f.length-1,S=-1;for(g=u.length-1;g>=0;--g){let I=u.charCodeAt(g);if(I===47){if(!x){h=g+1;break}}else S===-1&&(x=!1,S=g+1),C>=0&&(I===f.charCodeAt(C)?--C===-1&&(m=g):(C=-1,m=S))}return h===m?m=S:m===-1&&(m=u.length),u.slice(h,m)}else{for(g=u.length-1;g>=0;--g)if(u.charCodeAt(g)===47){if(!x){h=g+1;break}}else m===-1&&(x=!1,m=g+1);return m===-1?"":u.slice(h,m)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let f=u.charCodeAt(0),h=f===47,m=-1,x=!0;for(let g=u.length-1;g>=1;--g)if(f=u.charCodeAt(g),f===47){if(!x){m=g;break}}else x=!1;return m===-1?h?"/":".":h&&m===1?"//":u.slice(0,m)},extname:function(u){t(u);let f=-1,h=0,m=-1,x=!0,g=0;for(let C=u.length-1;C>=0;--C){let S=u.charCodeAt(C);if(S===47){if(!x){h=C+1;break}continue}m===-1&&(x=!1,m=C+1),S===46?f===-1?f=C:g!==1&&(g=1):f!==-1&&(g=-1)}return f===-1||m===-1||g===0||g===1&&f===m-1&&f===h+1?"":u.slice(f,m)}}}async function gr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=dr({cwd:r,...e}),o=new Map,i=m=>n.normalize(n.resolve(r(),m)),a=m=>{for(let[x]of o)if((x+"/").startsWith(m))return!0;return m===t()},s=m=>(m=i(m),o.has(m)?!0:a(m)),l=m=>{m=i(m);let x=m===t()?m:m+"/",g=x.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,g).join("/")+"/"===x){let y=S.split("/")[g];y&&!C.includes(y)&&C.push(y)}return C.sort()},c=m=>{m=i(m);let x=o.get(m);return typeof x=="string"?x:null},d=m=>(m=i(m),{isFile:()=>o.has(m),isDirectory:()=>!o.has(m)&&a(m)}),p=async m=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(m),S=await crypto.subtle.digest("SHA-256",C);return Array.from(new Uint8Array(S)).map(I=>I.toString(16).padStart(2,"0")).join("")}let x=0;for(let g=0;g<m.length;g++){let C=m.charCodeAt(g);x=(x<<5)-x+C,x|=0}return Number(Math.abs(x)).toString(36)},u=new Set,f={getRootDir:t,cwd:r,exists:async m=>s(m),existsSync:s,readdir:async m=>l(m),readdirSync:l,readFile:async m=>c(m),readFileSync:c,stat:async m=>d(m),statSync:d,writeFile:async(m,x)=>{m=i(m),o.set(m,x);let g={path:m,basename:n.basename(m),dirname:n.dirname(m),extname:n.extname(m)};for(let C of u)await C(g)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(m,x)=>x,on:(m,x)=>{m==="change"&&u.add(x)},off:(m,x)=>{m==="change"&&u.delete(x)},debug:(...m)=>{console.debug("[builder-dev-tools]",...m)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await ie(f);return f.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,f}async function xr(e,t,r){let n=D(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(hr(e,n))return o;let a=z(e,n,"cjs"),s=z(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let p=d.statement;if(!e.ts.isVariableStatement(p))throw new Error(`Expected an export assignment from ${t}`);let u=d.statement;if(e.ts.isVariableStatement(u)){let f=[...u.declarationList.declarations];if(f.length!==1)throw new Error("Expected a single variable declaration");let h=f[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let m=h.initializer;if(e.ts.isObjectLiteralExpression(m)||e.ts.isCallExpression(m)){let x="BuilderDevTools()",g=[...n.statements],C=g.indexOf(u);return g[C]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(x),void 0,[m]))])),n=e.ts.factory.updateSourceFile(n,g),n=E(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}}let l=a[0];if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let u=Kt(e,n);n=u.sourceFile;let f=[...n.statements],h=f.indexOf(d);return f[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,f),o.content=F(e,n),o.hasContentUpdates=!0,o}let c=l.statement;if(e.ts.isVariableStatement(c)){let d=[...c.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let u=p.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let f=Kt(e,n);n=f.sourceFile;let h=[...n.statements],m=h.indexOf(c);return h[m]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(f.withFnVariableName),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}if(e.ts.isArrowFunction(l.node)){let d=l.node,p=l.statement;if(!e.ts.isExpressionStatement(p))throw new Error("Expected an expression statement for the default export");let u=p.expression;if(!e.ts.isBinaryExpression(u))throw new Error("Expected a binary expression for the default export");let h=l.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let m=[...h.statements],x=m.findIndex(T=>e.ts.isReturnStatement(T));if(x===-1)throw new Error("Expected a return statement on the next config function");let g=m[x],C=Kt(e,n);n=C.sourceFile,m[x]=e.ts.factory.updateReturnStatement(g,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(C.withFnVariableName),void 0,[g.expression]));let S=[...n.statements],I=S.indexOf(p);return S[I]=e.ts.factory.updateExpressionStatement(p,e.ts.factory.updateBinaryExpression(u,u.left,u.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(h,m)))),n=e.ts.factory.updateSourceFile(n,S),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function hr(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 Kt(e,t){let r=hr(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 yr(e,t,r){let n=D(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(wr(e,n))return o;let a=z(e,n,"cjs"),s=z(e,n);if(a.length!==1&&s.length!==1)throw new Error(`Expected an export from ${t}`);let l=a[0];if(s.length===1){let d=s[0];if(!d.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let p=d.statement;if(!e.ts.isExportAssignment(p))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(p.expression)){let u="builderDevTools()",f=Wi(e,p.expression);if(!f)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[f]),m=[...n.statements],x=m.indexOf(p);return m[x]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,m),n=E(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=F(e,n),o.hasContentUpdates=!0,o}}if(!l.isDefaultExport)throw new Error(`Expected a default export from ${t}`);if(e.ts.isObjectLiteralExpression(l.node)||e.ts.isCallExpression(l.node)){let d=l.statement;if(!e.ts.isExpressionStatement(d))throw new Error("Expected an expression statement for the default export");let p=d.expression;if(!e.ts.isBinaryExpression(p))throw new Error("Expected a binary expression for the default export");let u=Cr(e,n);n=u.sourceFile;let f=[...n.statements],h=f.indexOf(d);return f[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,f),o.content=F(e,n),o.hasContentUpdates=!0,o}let c=l.statement;if(e.ts.isVariableStatement(c)){let d=[...c.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let p=d[0];if(!p.initializer)throw new Error("Expected an initializer on the declaration");let u=p.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let f=Cr(e,n);n=f.sourceFile;let h=[...n.statements],m=h.indexOf(c);return h[m]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(f.withFnVariableName),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function wr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Cr(e,t){let r=wr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function Wi(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Sr(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=Sr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Sr(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 Er(e,t,r){let n=D(e,r),o=z(e,n);if(o.length!==1)throw new Error(`Expected an export from ${t}`);let i=o[0];if(!i.isDefaultExport)throw new Error(`Expected a default export from ${t}`);let a=i.statement;if(!e.ts.isExportAssignment(a))throw new Error(`Expected an export assignment from ${t}`);let s={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(e.ts.isCallExpression(i.node)&&e.ts.isIdentifier(i.node.expression)&&i.node.expression.text==="defineConfig"){let l=[...i.node.arguments];if(l.length===0)throw new Error("Expected an argument in defineConfig()");let c=l[0];if(e.ts.isArrowFunction(c)){let d=Yi(e,c);if(!d)return s;l[0]=e.ts.factory.updateArrowFunction(c,c.modifiers,c.typeParameters,c.parameters,c.type,c.equalsGreaterThanToken,d);let p=[...n.statements],u=p.indexOf(a);return p[u]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,l)),n=e.ts.factory.updateSourceFile(n,p),n=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(c)){let d=Ut(e,c);if(!d)return s;let p=[...n.statements],u=p.indexOf(a);return p[u]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[d])),n=e.ts.factory.updateSourceFile(n,p),n=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=Ut(e,a.expression);if(!l)return s;let c=[...n.statements],d=c.indexOf(a);return c[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,l),n=e.ts.factory.updateSourceFile(n,c),n=E(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=F(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Yi(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=Ut(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Ut(e,t){if(Xi(e)){let i=Hi(e,t);i&&(t=i)}let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Tr(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=Tr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function Tr(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 Hi(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="ssr");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isObjectLiteralExpression(i.initializer)){let a=Gi(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=Mt(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 Gi(e,t){let r=[...t.properties],n=r.findIndex(i=>b(e,i)==="noExternal");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Mt(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=Mt(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Mt(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 Xi(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Pr(e,t,r){throw new Error("Webpack config updates not implemented")}var vr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:xr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Er},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:yr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:Pr}];async function Qt(e){let t=e.resolve("/");for(let n of vr)for(let o of n.configFileNames){let i=e.getRootDir();for(let a=0;a<10;a++)try{let s=e.join(i,o),l=e.readFileSync(s);if(typeof l=="string")return{id:n.id,filePath:s,content:l};if(i===t)break;i=e.dirname(i)}catch(s){if((s?.message??"").includes("Invalid path"))break;throw s}}if((await ie(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,Dr),{id:"next",filePath:n,content:Dr}}return null}async function br(e){let t=await Qt(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await vr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=J(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var Dr=`
371
484
  /** @type {import('next').NextConfig} */
372
485
  const nextConfig = {
373
486
  }
374
487
 
375
488
  module.exports = nextConfig
376
- `.trimStart();var Ir="/~builder-dev-tools.js";function Nr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Ir,e);t.searchParams.set("v",Ke);let r=JSON.stringify(Ke),n=`/* Builder Devtools v${Ke} */
489
+ `.trimStart();var Ir="/~builder-dev-tools.js";function Nr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Ir,e);t.searchParams.set("v",Ue);let r=JSON.stringify(Ue),n=`/* Builder Devtools v${Ue} */
377
490
  `;return n+=`(() => {
378
491
  `,n+=` if (typeof document !== "undefined") {
379
492
  `,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
@@ -386,4 +499,4 @@ module.exports = nextConfig
386
499
  `,n+=` }
387
500
  `,n+=` }
388
501
  `,n+=`})();
389
- `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Ke="1.0.2";
502
+ `,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var Ue="1.0.4";