@builder.io/dev-tools 1.0.10 → 1.0.11
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/README.md +6 -0
- package/core/index.cjs +18 -18
- package/core/index.mjs +17 -17
- package/node/index.cjs +1 -1
- package/node/index.mjs +1 -1
- package/package.json +1 -1
- package/server/index.cjs +3 -3
- package/server/index.mjs +3 -3
package/core/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Ar=Object.create;var Je=Object.defineProperty;var Lr=Object.getOwnPropertyDescriptor;var Or=Object.getOwnPropertyNames;var kr=Object.getPrototypeOf,jr=Object.prototype.hasOwnProperty;var oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_r=(e,t)=>{for(var r in t)Je(e,r,{get:t[r],enumerable:!0})},Wt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Or(t))!jr.call(e,o)&&o!==r&&Je(e,o,{get:()=>t[o],enumerable:!(n=Lr(t,o))||n.enumerable});return e};var Br=(e,t,r)=>(r=e!=null?Ar(kr(e)):{},Wt(t||!e||!e.__esModule?Je(r,"default",{value:e,enumerable:!0}):r,e)),Vr=e=>Wt(Je({},"__esModule",{value:!0}),e);var Rt=oe(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});function Zn(e){return Object.prototype.toString.call(e)}at.getType=Zn;function bi(e){throw new TypeError("unsupported data type: "+Zn(e))}at.throwUnknownDataType=bi});var kt=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
|
|
1
|
+
"use strict";var Ar=Object.create;var Je=Object.defineProperty;var Lr=Object.getOwnPropertyDescriptor;var Or=Object.getOwnPropertyNames;var kr=Object.getPrototypeOf,jr=Object.prototype.hasOwnProperty;var oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_r=(e,t)=>{for(var r in t)Je(e,r,{get:t[r],enumerable:!0})},Wt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Or(t))!jr.call(e,o)&&o!==r&&Je(e,o,{get:()=>t[o],enumerable:!(n=Lr(t,o))||n.enumerable});return e};var Br=(e,t,r)=>(r=e!=null?Ar(kr(e)):{},Wt(t||!e||!e.__esModule?Je(r,"default",{value:e,enumerable:!0}):r,e)),Vr=e=>Wt(Je({},"__esModule",{value:!0}),e);var Rt=oe(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});function Zn(e){return Object.prototype.toString.call(e)}at.getType=Zn;function bi(e){throw new TypeError("unsupported data type: "+Zn(e))}at.throwUnknownDataType=bi});var kt=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 be=te.length,At={};for(let e=0;e<be;e++){let t=te[e];At[t]=e}function Lt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=At[o];i*=r,t+=i,r*=be}return t}ne.s_to_int=Lt;function er(e){let t=BigInt(0),r=BigInt(1),n=BigInt(be);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(At[i]);a*=r,t+=a,r*=n}return t}ne.s_to_big_int=er;function Ot(e){if(e===0)return te[0];let t=[];for(;e!==0;){let r=e%be,n=te[r];t.push(n),e-=r,e/=be}return t.reverse().join("")}ne.int_to_s=Ot;function tr(e){let t=BigInt(0),r=BigInt(be);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=tr;function lt(e){return e.split("").reverse().join("")}function nr(e){if(e<0)return"-"+nr(-e);let[t,r]=e.toString().split(".");if(!r)return Ot(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=nr;function st(e){let t=+e;return t.toString()===e?Ot(t):":"+tr(BigInt(e))}ne.int_str_to_s=st;function Ft(e){return e[0]===":"?er(e.substring(1)).toString():Lt(e).toString()}function rr(e){if(e[0]==="-")return-rr(e.substr(1));let[t,r,n]=e.split(".");if(!r)return Lt(t);t=Ft(t),r=Ft(r),r=lt(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=Ft(n),n=lt(n),o+=i?-n:+n}return+o}ne.s_to_num=rr});var _t=oe(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});var jt=kt();function Ii(e){return"n|"+jt.num_to_s(e)}re.encodeNum=Ii;function Ni(e){return e=e.replace("n|",""),jt.s_to_num(e)}re.decodeNum=Ni;function Ri(e){return typeof e=="number"?e:jt.s_to_int(e)}re.decodeKey=Ri;function Fi(e){return e?"b|T":"b|F"}re.encodeBool=Fi;function Ai(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}re.decodeBool=Ai;function Li(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}re.encodeStr=Li;function Oi(e){return e[0]+e[1]==="s|"?e.substr(2):e}re.decodeStr=Oi});var or=oe(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.config={sort_key:!1}});var $t=oe(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});var ki=or(),ji=Rt(),Vt=_t(),_i=kt();function Bi(e){return e.store.toArray()}ye.memToValues=Bi;function ir(){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=ir;function ar(){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=ar;function Vi(){return{store:ir(),cache:ar(),keyCount:0}}ye.makeInMemoryMemory=Vi;function Te(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=_i.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function $i(e,t){ki.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Me(e,t,void 0);return e.cache.setSchema(r,n),n}function Me(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Me(e,null,r);break;case"object":if(t===null)return Te(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Me(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),Te(e,n)}else{let n=Object.keys(t);if(n.length===0)return Te(e,"o|");let o="o",i=$i(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Me(e,s,t);o+="|"+l}return Te(e,o)}case"boolean":return Te(e,Vt.encodeBool(t));case"number":return Te(e,Vt.encodeNum(t));case"string":return Te(e,Vt.encodeStr(t))}return ji.throwUnknownDataType(t)}ye.addValue=Me});var Kt=oe(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});var zi=Rt(),ct=_t(),zt=$t();function Ki(e){let t=zt.makeInMemoryMemory(),r=zt.addValue(t,e,void 0);return[zt.memToValues(t),r]}qe.compress=Ki;function Ui(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=Qe(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=Qe(e,c),r[l]=c}return r}function Mi(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=Qe(e,a),o[i]=a}return o}function Qe(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 Ui(e,n);case"n|":return ct.decodeNum(n);case"a|":return Mi(e,n);default:return ct.decodeStr(n)}}return zi.throwUnknownDataType(n)}qe.decode=Qe;function Qi(e){let[t,r]=e;return Qe(t,r)}qe.decompress=Qi});var lr=oe(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});function qi(e){for(let t in e)e[t]===void 0&&delete e[t]}pt.trimUndefined=qi;function Wi(e){sr(e,new Set)}pt.trimUndefinedRecursively=Wi;function sr(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)&&sr(n,t)}}});var ur=oe(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});var cr=Kt();xe.compress=cr.compress;xe.decompress=cr.decompress;var Ji=Kt();xe.decode=Ji.decode;var Yi=$t();xe.addValue=Yi.addValue;var pr=lr();xe.trimUndefined=pr.trimUndefined;xe.trimUndefinedRecursively=pr.trimUndefinedRecursively});var na={};_r(na,{createDevTools:()=>dr,createDevToolsSys:()=>xr,detectFrameworks:()=>ie,detectFrameworksFromPackageJson:()=>mt,ensureConfigPlugin:()=>Ir,findBuildToolConfig:()=>qt,getClientScript:()=>Rr,parseDotEnvContent:()=>ft,version:()=>We});module.exports=Vr(na);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 Yt(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 Ie(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 Ie(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=Ht(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=Ht(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Ht(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 zr(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 zr(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=Kr.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
3
|
`),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var Kr=/(?:^|^)\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
|
|
|
@@ -6,9 +6,9 @@ ${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
|
|
9
|
+
`),await e.writeFile(t,i),"create";return null}async function Ne(e){return await le(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ce)}async function Gt(e,t){let r=await Ne(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ce="NEXT_PUBLIC_BUILDER_API_KEY";function v(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function Ye(e,t=""){let r=v(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 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 ye(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Xt(o==="index"?e.basename(e.dirname(t)):o)}function Xt(e){return j(e).replace(/ /g,"")}function M(e,t){let r=e.extname(t),n=U(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function _(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 j(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function k(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 Ee(e){return typeof e=="boolean"}function B(e){return typeof e=="string"}function Re(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function Ae(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,Fe(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Fe(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ur(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Le(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Qr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Mr(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 Mr(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]=Le(e,n.initializer))}}return r}function Qr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Le(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 Fe(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"?Wr(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 Wr(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 Oe(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let l=a.heritageClauses?.find(c=>c.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(l){for(let c of l)if(t.getSymbolAtLocation(c.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(c)){let p=c.typeArguments;if(p){let u=p[0];o=t.getTypeFromTypeNode(u).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let l=s[0].getParameters();l.length>0&&(o=t.getTypeOfSymbolAtLocation(l[0],r).getProperties())}}}if(o)for(let i of o){let a=Jr(e,t,i);a&&n.push(a)}return n=n.filter(en),n.length>0?n:Yr(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:Gr(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=to(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Zr)?s.enum=l.map(eo):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Yr(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(en)}var Hr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Gr(e){return typeof e!="string"?!1:!!Hr.some(t=>e.includes(t))}function gt(e){return typeof e=="string"&&(e=e.trim(),Xr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Xr=[{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 Zr(e){return/^['"].*['"]$/.test(e)}function eo(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var to=(e,t,r)=>{let n=new Set;Zt(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},no=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Zt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Zt(e,t,o,n)});else if(r.isLiteral()){let o=no(e,t,r);n.add(o)}};function en(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!ro.has(t.toLowerCase())}var ro=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=oo(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Le(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function oo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(io(e,n));return r}function io(e,t){let r=Le(e,t),n=mo(r);return n.isRegistered=!0,n}function q(e,t,r){let n=so(r);return t=Ae(e,t,"name",n.name,!1),t=Ae(e,t,"description",n.description),t=Ae(e,t,"image",n.image),t=ao(e,t,n),fo(e,t)}function ao(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 Ae(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=co(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 so(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(lo)}}function lo(e){let t={name:e.name,type:e.type};return(B(e.defaultValue)||Ne(e.defaultValue)||Ee(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 co(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=po(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 po(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]=tn(e,t[n],r);else{let o=tn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function tn(e,t,r){let n=t.properties.filter(i=>e.ts.isPropertyAssignment(i)),o=Object.keys(r).filter(i=>i!=="isRegistered");for(let i of o)n=uo(e,n,r,i);return n=go(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function uo(e,t,r,n){let o=t.findIndex(i=>e.ts.isIdentifier(i.name)&&i.name.text===n);return o>-1?t[o]=e.ts.factory.updatePropertyAssignment(t[o],t[o].name,Fe(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Fe(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 mo(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)||Ee(e.defaultValue))&&(r.defaultValue=e.defaultValue),B(e.helperText)&&(r.helperText=e.helperText),Ee(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 fo(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=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)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var nn=["component","name","description"];function go(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=rn.indexOf(i),l=rn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var rn=["name","type"];function on(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 Ee(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Xt(o==="index"?e.basename(e.dirname(t)):o)}function Xt(e){return j(e).replace(/ /g,"")}function M(e,t){let r=e.extname(t),n=U(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function _(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 j(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function Q(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function k(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 Re(e){return typeof e=="number"}function we(e){return typeof e=="boolean"}function B(e){return typeof e=="string"}function Fe(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function Le(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,Ae(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Ae(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Ur(e,t,r){return t.properties.findIndex(n=>b(e,n)===r)}function Oe(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Qr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return Mr(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 Mr(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]=Oe(e,n.initializer))}}return r}function Qr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Oe(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 Ae(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"?Wr(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 Wr(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 ke(e,t,r){let n=[];if(!r)return n;let o=null;if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let i=t.getTypeAtLocation(r),a=i.symbol?.valueDeclaration;if(a&&e.ts.isClassDeclaration(a)){let l=a.heritageClauses?.find(c=>c.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(l){for(let c of l)if(t.getSymbolAtLocation(c.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(c)){let p=c.typeArguments;if(p){let u=p[0];o=t.getTypeFromTypeNode(u).getProperties()}}break}}}if(!o){let s=i.getCallSignatures();if(s.length>0){let l=s[0].getParameters();l.length>0&&(o=t.getTypeOfSymbolAtLocation(l[0],r).getProperties())}}}if(o)for(let i of o){let a=Jr(e,t,i);a&&n.push(a)}return n=n.filter(en),n.length>0?n:Yr(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:Gr(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=to(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Zr)?s.enum=l.map(eo):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function Yr(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(en)}var Hr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Gr(e){return typeof e!="string"?!1:!!Hr.some(t=>e.includes(t))}function gt(e){return typeof e=="string"&&(e=e.trim(),Xr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Xr=[{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 Zr(e){return/^['"].*['"]$/.test(e)}function eo(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var to=(e,t,r)=>{let n=new Set;Zt(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},no=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Zt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Zt(e,t,o,n)});else if(r.isLiteral()){let o=no(e,t,r);n.add(o)}};function en(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!ro.has(t.toLowerCase())}var ro=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=oo(e,n.initializer);Z(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Oe(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function oo(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(io(e,n));return r}function io(e,t){let r=Oe(e,t),n=mo(r);return n.isRegistered=!0,n}function q(e,t,r){let n=so(r);return t=Le(e,t,"name",n.name,!1),t=Le(e,t,"description",n.description),t=Le(e,t,"image",n.image),t=ao(e,t,n),fo(e,t)}function ao(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 Le(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=co(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 so(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(lo)}}function lo(e){let t={name:e.name,type:e.type};return(B(e.defaultValue)||Re(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 co(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=po(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 po(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]=tn(e,t[n],r);else{let o=tn(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function tn(e,t,r){let n=t.properties.filter(i=>e.ts.isPropertyAssignment(i)),o=Object.keys(r).filter(i=>i!=="isRegistered");for(let i of o)n=uo(e,n,r,i);return n=go(e,n.filter(i=>{let a=b(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function uo(e,t,r,n){let o=t.findIndex(i=>e.ts.isIdentifier(i.name)&&i.name.text===n);return o>-1?t[o]=e.ts.factory.updatePropertyAssignment(t[o],t[o].name,Ae(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Ae(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 mo(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)||Re(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 fo(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=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)});return e.ts.factory.updateObjectLiteralExpression(t,r)}var nn=["component","name","description"];function go(e,t){return[...t].sort((n,o)=>{let i=b(e,n)||"zz",a=b(e,o)||"zz",s=rn.indexOf(i),l=rn.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var rn=["name","type"];function on(e,t){let r=`Builder.registerComponent(
|
|
12
12
|
`;if(e.appDir)t.acceptsChildren?r+=` withChildren(${t.importName}),
|
|
13
13
|
`:r+=` ${t.importName},
|
|
14
14
|
`;else{let o=A(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?r+=` withChildren(dynamic(() => import(${JSON.stringify(o)}))),
|
|
@@ -18,8 +18,8 @@ ${r}=${n}
|
|
|
18
18
|
`}r+=` {
|
|
19
19
|
name: "${t.name}",
|
|
20
20
|
}
|
|
21
|
-
`,r+=");";let n=Ye(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 $(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await Yt(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=
|
|
22
|
-
`,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=ke.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=sn.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ge(l)}return a.includes("node_modules")&&(s?ke.set(a,{exists:!0,content:s}):ke.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 xo(e,i,t)}catch(a){if(a instanceof Ge){await ho(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function xo(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=an.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,an.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 Xe(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 Ge=class{constructor(t){this.libName=t}};async function ho(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;He.has(t)||He.set(t,fetch(r).then(n=>n.text()).then(n=>{sn.set(t,n)})),await He.get(t),He.delete(t)}var sn=new Map,He=new Map,ke=new Map,an=new Map;function w(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Co(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=So(e,t,r.defaultImport,r.importPath,n)),t}function Co(e,t,r,n,o,i){return i==="cjs"?cn(e,t,null,r,n):ln(e,t,null,r,n,o)}function So(e,t,r,n,o){return o==="cjs"?cn(e,t,r,null,n):ln(e,t,r,null,n,!1)}function ln(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,c=!1;for(let m=0;m<a.length;m++){let h=a[m];if(!e.ts.isImportDeclaration(h)||(s=m,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let f=[],x=h.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&f.push(...x.elements),typeof n=="string"){if(f.some(C=>C.name.text===n))return t;f.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),f.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[m]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,g,e.ts.factory.createNamedImports(f)),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 cn(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 m=u.expression;if(!e.ts.isIdentifier(m)||m.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 f=[...p.name.elements];return f.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(f.push(e.ts.factory.createBindingElement(void 0,void 0,n)),f.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(f),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):To(e,t)}function To(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let 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 Eo(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 Ze(e,t,r,n){let o=Eo(e,r,n);if(o){let i=await je(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 Tt(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=Tt(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 et(e,t){if(t){if(wo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{et(e,n)&&(r=!0)}),r)return!0}return!1}function wo(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 je(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 _e(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=Do(e,i);return a?[{name:a}]:void 0}function Do(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 we(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 me(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=Oe(e,o,c.node.fnNode))}}return a}))}async function De(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Xe(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 Oe(e,o,a.node.fnNode)}return[]}async function pn(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=P(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 vo(e,t,r,a);o.push(...s)})),o}async function vo(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=_(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Re(s.name.text))continue;let l=Be(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 k(e,r,d),displayFilePath:R(e,r),name:j(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=Be(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 k(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:ye(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&&!Re(s))return o;let l=Be(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 k(e,r,d),displayFilePath:R(e,r),name:c,inputs:[],exportName:d,exportType:p,importName:l.name||ye(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}if(e.ts.isExportSpecifier(n.node)&&Re(n.node.getText())){let s=Be(e,t,n.node);if(s){let l=s.name||M(e,r),c=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await k(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:s.name||ye(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps},node:s})}return o}return o}function Be(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return et(e,r.body)?{name:"",fnNode:r,deps:_e(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return et(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:_e(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:Be(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)||!Re(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:_e(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:_e(e,t,n)}}return null}async function un(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(Io(e,i.fileName)||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))}var bo=new Set(["node_modules","dist"]);function Io(e,t){for(let r of bo)if(e.dirname(t).includes(r))return!0;return!1}async function mn(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&&No.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await me(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var No=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,[...yt(e,r),...yt(e,n),...yt(e,o),...i])}function W(e){let t=e.split(`
|
|
21
|
+
`,r+=");";let n=Ye(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 $(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await Yt(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=je.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}je.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=je.get(a);if(l)return v(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=sn.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ge(l)}return a.includes("node_modules")&&(s?je.set(a,{exists:!0,content:s}):je.set(a,{exists:!1})),v(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return xo(e,i,t)}catch(a){if(a instanceof Ge){await ho(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function xo(e,t,r){let n={rootNames:[...r],options:{},host:t},o=e.ts.findConfigFile(e.dirname(r[0]),i=>e.existsSync(i));if(o){let i=an.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,an.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 Xe(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 Ge=class{constructor(t){this.libName=t}};async function ho(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;He.has(t)||He.set(t,fetch(r).then(n=>n.text()).then(n=>{sn.set(t,n)})),await He.get(t),He.delete(t)}var sn=new Map,He=new Map,je=new Map,an=new Map;function w(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Co(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=So(e,t,r.defaultImport,r.importPath,n)),t}function Co(e,t,r,n,o,i){return i==="cjs"?cn(e,t,null,r,n):ln(e,t,null,r,n,o)}function So(e,t,r,n,o){return o==="cjs"?cn(e,t,r,null,n):ln(e,t,r,null,n,!1)}function ln(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,c=!1;for(let m=0;m<a.length;m++){let h=a[m];if(!e.ts.isImportDeclaration(h)||(s=m,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let f=[],x=h.importClause?.namedBindings;if(x&&e.ts.isNamedImports(x)&&x.elements&&f.push(...x.elements),typeof n=="string"){if(f.some(C=>C.name.text===n))return t;f.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),f.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[m]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,g,e.ts.factory.createNamedImports(f)),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 cn(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 m=u.expression;if(!e.ts.isIdentifier(m)||m.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 f=[...p.name.elements];return f.some(g=>!e.ts.isBindingElement(g)||!e.ts.isIdentifier(g.name)?!1:g.name.text===n)?t:(f.push(e.ts.factory.createBindingElement(void 0,void 0,n)),f.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(f),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 K(e,t,r="esm"){return r==="cjs"?yo(e,t):To(e,t)}function To(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(n.moduleSpecifier&&r.push({isDefaultExport:!1,statement:n,node:o}),e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let 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 Eo(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 Ze(e,t,r,n){let o=Eo(e,r,n);if(o){let i=await _e(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 Tt(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=Tt(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 et(e,t){if(t){if(wo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{et(e,n)&&(r=!0)}),r)return!0}return!1}function wo(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 _e(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 Be(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=Do(e,i);return a?[{name:a}]:void 0}function Do(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 De(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 me(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);c&&(a.inputs=ke(e,o,c.node.fnNode))}}return a}))}async function Pe(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await Xe(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 ke(e,o,a.node.fnNode)}return[]}async function pn(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=v(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=K(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await vo(e,t,r,a);o.push(...s)})),o}async function vo(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=_(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Fe(s.name.text))continue;let l=Ve(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 k(e,r,d),displayFilePath:R(e,r),name:j(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=Ve(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 k(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:Ee(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&&!Fe(s))return o;let l=Ve(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 k(e,r,d),displayFilePath:R(e,r),name:c,inputs:[],exportName:d,exportType:p,importName:l.name||Ee(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}if(e.ts.isExportSpecifier(n.node)&&Fe(n.node.getText())){let s=Ve(e,t,n.node);if(s){let l=s.name||M(e,r),c=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named",p=!1;e.ts.isExportDeclaration(n.statement)&&n.statement.moduleSpecifier&&(a=n.statement.moduleSpecifier.getText().replace(/['"]/g,""),p=!0);let u={id:await k(e,r,c),displayFilePath:R(e,r),name:l,inputs:[],exportName:c,exportType:d,importName:s.name||Ee(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:s.deps};p&&(u.meta={importPath:a}),o.push({cmpInfo:u,node:s})}return o}return o}function Ve(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return et(e,r.body)?{name:"",fnNode:r,deps:Be(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return et(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Be(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:Ve(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)||!Fe(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Be(e,t,o)}}if(e.ts.isExportSpecifier(r)){let n=r.name;return{name:n.text||"",fnNode:n,deps:Be(e,t,n)}}return null}async function un(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(Io(e,i.fileName)||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))}var bo=new Set(["node_modules","dist"]);function Io(e,t){for(let r of bo)if(e.dirname(t).includes(r))return!0;return!1}async function mn(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&&No.has(a)||e.dirname(i.fileName).includes("node_modules"))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await me(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var No=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,[...yt(e,r),...yt(e,n),...yt(e,o),...i])}function W(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=`
|
|
@@ -29,7 +29,7 @@ ${r}=${n}
|
|
|
29
29
|
`+o)),e=o+`
|
|
30
30
|
`+e}return e.trim()+`
|
|
31
31
|
`}function yt(e,t){return t.sort((r,n)=>{let o=fn(e,r),i=fn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function fn(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 gn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
|
|
32
|
-
${e}`),e}function xn(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=dn(e,r),i=dn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function dn(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 Sn(e){let t=await e.readFile(e.registryPath);return t?Ro(e,t):{components:[],sourceFile:P(e,"")}}async function Ro(e,t){let r=P(e,t);return Fo(e,r)}async function Fo(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 f=await hn(e,n,h,d,!0);f&&r.push(f)}else{let f=p.arguments[0];if(e.ts.isIdentifier(f)){let x=await Cn(e,t,n,f,d,!0);x&&r.push(x)}}continue}let m=await hn(e,n,p,d,!1);m&&r.push(m);continue}if(e.ts.isIdentifier(p)){let u=await Cn(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function hn(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=_(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 m=p.arguments[0];if(!e.ts.isStringLiteral(m)||!e.ts.isIdentifier(l.name))return null;let h=m.text;i.filePath=await nt(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=_(e,i.filePath),i.name=j(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 k(e,i.filePath,i.exportName)),i}async function Cn(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},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=_(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=_(e,a.filePath),a.name=j(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 k(e,a.filePath,a.exportName)),a}function nt(e,t){return je(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Tn(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 m=u.expression;if(!e.ts.isIdentifier(m)||m.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=V(t),r=V(r);let p=t.find(m=>m.id===e),u=r.find(m=>m.id===e);if(n)u||(s={...V(p),inputs:V(p.inputs).map(m=>(m.isRegistered=!0,m))},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(m=>m.id!==e);else if(i!=null)Ao(u,i),d=u.nodeIndex,c=u;else if(a!=null){let m=u.inputs.find(h=>h.name===a.name);m&&(a.registerInput===!1?m.isRegistered=!1:(Lo(m,a),m.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 Ao(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 Lo(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)||Ee(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 $(e,[...t])}async function J(e,t,r,n,o,i,a,s){let l=await Pe(e),[c,d,p,u]=await Promise.all([mn(e,l),Sn(e),Et(e),Ie(e)]),m=c.map(S=>S.cmpInfo),h=d.components,f={components:ee(m,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await we(e,f.components),f;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(T=>{let D=c.find(L=>L.cmpInfo.id===T);if(!D)throw new Error(`Component ${T} not found`);return D}),I=Array.from(new Set(S.map(T=>T.cmpInfo.filePath))),E=await $(e,I);for(let T of S){let D=f.components.find(v=>v.id===T.cmpInfo.id),L=await De(e,T,E);Z(D,L);let O=m.findIndex(v=>v.id===T.cmpInfo.id);m[O].inputs=L;let y=ge(T.cmpInfo.id,m,h,r,n,o,i),N=[...g.statements];if(y.addCmpToRegistry?(N.push(on(e,y.addCmpToRegistry)),x=!0):y.removeCmpFromRegistry?(N.splice(y.nodeIndex,1),x=!0):y.updateRegisteredCmp&&(N[y.nodeIndex]=Ct(e,N[y.nodeIndex],y.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=Tn(e,g,p),e.appDir){let v=y.addCmpToRegistry||y.updateRegisteredCmp;if(v){let K=A(e,e.registryPath,v.filePath);v.exportType==="default"?g=w(e,g,{defaultImport:v.importName,importPath:K}):v.exportType==="named"&&(g=w(e,g,{namedImports:[v.importName],importPath:K}))}}else g=w(e,g,{defaultImport:"dynamic",importPath:"next/dynamic"});D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(v=>v.isRegistered)}}}if(x&&a){g=de(e,g),g=fe(e,g),e.appDir&&(g=xn(e,g));let S=F(e,g);S=W(S),e.appDir&&(S=gn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return f}async function En(e){let t=[],r=await Vo(e,t);return await zo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await ko(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await _o(e,e.pagesDir,t)),t}async function wn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Oo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Bo(e,e.pagesDir,t)),t}async function Oo(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,Dn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ko(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,Dn({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,jo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function jo(e){let t=e.typescriptEnabled;return`
|
|
32
|
+
${e}`),e}function xn(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=dn(e,r),i=dn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function dn(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 Sn(e){let t=await e.readFile(e.registryPath);return t?Ro(e,t):{components:[],sourceFile:v(e,"")}}async function Ro(e,t){let r=v(e,t);return Fo(e,r)}async function Fo(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 f=await hn(e,n,h,d,!0);f&&r.push(f)}else{let f=p.arguments[0];if(e.ts.isIdentifier(f)){let x=await Cn(e,t,n,f,d,!0);x&&r.push(x)}}continue}let m=await hn(e,n,p,d,!1);m&&r.push(m);continue}if(e.ts.isIdentifier(p)){let u=await Cn(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function hn(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=_(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 m=p.arguments[0];if(!e.ts.isStringLiteral(m)||!e.ts.isIdentifier(l.name))return null;let h=m.text;i.filePath=await nt(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=_(e,i.filePath),i.name=j(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 k(e,i.filePath,i.exportName)),i}async function Cn(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:r,acceptsChildren:i},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=_(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=_(e,a.filePath),a.name=j(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 k(e,a.filePath,a.exportName)),a}function nt(e,t){return _e(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function Tn(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 m=u.expression;if(!e.ts.isIdentifier(m)||m.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(Ce)),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=V(t),r=V(r);let p=t.find(m=>m.id===e),u=r.find(m=>m.id===e);if(n)u||(s={...V(p),inputs:V(p.inputs).map(m=>(m.isRegistered=!0,m))},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(m=>m.id!==e);else if(i!=null)Ao(u,i),d=u.nodeIndex,c=u;else if(a!=null){let m=u.inputs.find(h=>h.name===a.name);m&&(a.registerInput===!1?m.isRegistered=!1:(Lo(m,a),m.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 Ao(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 Lo(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)||Re(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 ve(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 J(e,t,r,n,o,i,a,s){let l=await ve(e),[c,d,p,u]=await Promise.all([mn(e,l),Sn(e),Et(e),Ne(e)]),m=c.map(S=>S.cmpInfo),h=d.components,f={components:ee(m,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await De(e,f.components),f;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(T=>{let D=c.find(L=>L.cmpInfo.id===T);if(!D)throw new Error(`Component ${T} not found`);return D}),I=Array.from(new Set(S.map(T=>T.cmpInfo.filePath))),E=await $(e,I);for(let T of S){let D=f.components.find(P=>P.id===T.cmpInfo.id),L=await Pe(e,T,E);Z(D,L);let O=m.findIndex(P=>P.id===T.cmpInfo.id);m[O].inputs=L;let y=ge(T.cmpInfo.id,m,h,r,n,o,i),N=[...g.statements];if(y.addCmpToRegistry?(N.push(on(e,y.addCmpToRegistry)),x=!0):y.removeCmpFromRegistry?(N.splice(y.nodeIndex,1),x=!0):y.updateRegisteredCmp&&(N[y.nodeIndex]=Ct(e,N[y.nodeIndex],y.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=Tn(e,g,p),e.appDir){let P=y.addCmpToRegistry||y.updateRegisteredCmp;if(P){let z=A(e,e.registryPath,P.filePath),he=P.meta||{};he.importPath&&(z=he.importPath),P.exportType==="default"?g=w(e,g,{defaultImport:P.importName,importPath:z}):P.exportType==="named"&&(g=w(e,g,{namedImports:[P.importName],importPath:z}))}}else g=w(e,g,{defaultImport:"dynamic",importPath:"next/dynamic"});D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(P=>P.isRegistered)}}}if(x&&a){g=de(e,g),g=fe(e,g),e.appDir&&(g=xn(e,g));let S=F(e,g);S=W(S),e.appDir&&(S=gn(S)),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return f}async function En(e){let t=[],r=await Vo(e,t);return await zo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await ko(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await _o(e,e.pagesDir,t)),t}async function wn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Oo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await Bo(e,e.pagesDir,t)),t}async function Oo(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,Dn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function ko(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,Dn({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,jo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function jo(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";
|
|
@@ -40,7 +40,7 @@ ${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.${
|
|
43
|
+
builder.init(process.env.${Ce}${t?"!":""});
|
|
44
44
|
|
|
45
45
|
export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
|
|
46
46
|
// Call the useIsPreviewing hook to determine if
|
|
@@ -61,7 +61,7 @@ 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.${
|
|
64
|
+
builder.init(process.env.${Ce}${n?"!":""});
|
|
65
65
|
${n?`
|
|
66
66
|
interface PageProps {
|
|
67
67
|
params: {
|
|
@@ -100,7 +100,7 @@ import { BuilderContent } from "@builder.io/sdk";`:""}${n?`
|
|
|
100
100
|
import { GetStaticProps } from "next";`:""}
|
|
101
101
|
import ${JSON.stringify(A(e,t,e.registryPath))};
|
|
102
102
|
|
|
103
|
-
builder.init(process.env.${
|
|
103
|
+
builder.init(process.env.${Ce}${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 zo(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await J(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await J(e,o.id,!0,!1,null,null,!0,!1)}async function vn(e){let t=await Ko(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>En(t),ensureFigmaImportPage:()=>wn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>J(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await J(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>J(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>J(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>J(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>J(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>
|
|
230
|
+
`.trimStart();return{component:r,styles:n}}async function zo(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await J(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await J(e,o.id,!0,!1,null,null,!0,!1)}async function vn(e){let t=await Ko(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>En(t),ensureFigmaImportPage:()=>wn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>J(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await J(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>J(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>J(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>J(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>J(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ne(t),setPublicApiKey:n=>Gt(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 Ko(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await Uo(e),o=await Et(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 Et(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Uo(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 $e(e){return await le(e,[".env"],In)}async function bn(e,t){Mo(t);let r=await $e(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function Mo(e){typeof process<"u"&&(process.env[In]=e)}var In="PUBLIC_BUILDER_API_KEY";function Nn(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 Tt(e,t,r.variableName)?t:Qo(e,t,r)}function Qo(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 Fn(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(".")||Jo.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 An(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return qo(e,t,n)}return null}function qo(e,t,r){let n=
|
|
232
|
+
`)}function rt(e,t,r){return Tt(e,t,r.variableName)?t:Qo(e,t,r)}function Qo(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 Fn(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(".")||Jo.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 An(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return qo(e,t,n)}return null}function qo(e,t,r){let n=v(e,r);return ot(e,null,t,n)}async function ot(e,t,r,n){r=e.normalize(r);let o=[],i=K(e,n);return await Promise.all(i.map(async a=>{let s=await Wo(e,t,r,a);s&&o.push(s)})),o}async function Wo(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=_(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Rn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await k(e,r,l),displayFilePath:R(e,r),name:j(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=Rn(e,n.node);if(a)return{cmpInfo:{id:await k(e,r,"default"),displayFilePath:R(e,r),name:M(e,r),inputs:[],exportName:"default",exportType:"default",importName:Ee(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function Rn(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 Jo=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function Ln(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 Xe(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 ke(e,i,r)}return[]}async function On(e){return wt(e)}async function wt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Yo),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Yo=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
|
|
233
233
|
|
|
234
234
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
235
235
|
];
|
|
236
|
-
`;async function kn(e){await wt(e);let t=await e.readFile(e.registryPath);return t?Ho(e,t):{components:[],sourceFile:P(e,"")}}async function Ho(e,t){let r=P(e,t);return Go(e,r)}async function Go(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:[]};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=j(a)),n.importName=a;let s=await Ze(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=_(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await An(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 k(e,n.filePath,n.exportName)),n}async function jn(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 Ce(e,t,r,n,o,i,a,s){let l=await jn(e),[c,d,p]=await Promise.all([Fn(e,l),kn(e),Ve(e)]),u=c.map(f=>f.cmpInfo),m=d.components,h={components:ee(u,m),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 f=c.find(y=>y.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let x=d.sourceFile,g=h.components.find(y=>y.id===t),C=await Ln(e,f);Z(g,C),t=Array.isArray(t)?t[0]:t;let S=ge(t,u,m,r,n,o,i),{elements:I,elmIndex:E,statementIndex:T,statement:D,variableDeclaration:L}=await Zo(e,x,f),O=!1;if(S.addCmpToRegistry?(I.push(Xo(e,S.addCmpToRegistry)),O=!0):S.removeCmpFromRegistry?(I.splice(E,1),O=!0):S.updateRegisteredCmp&&(I[E]=q(e,I[E],S.updateRegisteredCmp),O=!0),O&&a){let y=[...x.statements];y[T]=e.ts.factory.updateVariableStatement(D,D.modifiers,e.ts.factory.updateVariableDeclarationList(D.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(tt(e,I)))])),x=e.ts.factory.updateSourceFile(x,y),g.exportType==="named"?x=w(e,x,{namedImports:[g.importName],importPath:A(e,e.registryPath,g.filePath)}):x=w(e,x,{defaultImport:g.importName,importPath:A(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=de(e,x),x=fe(e,x);let N=F(e,x);N=W(N),N=Nn(N,ei,"CUSTOM_COMPONENTS"),N=await e.formatCode(e.registryPath,N),await e.writeFile(e.registryPath,N)}h.components=S.components}return h}function Xo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Zo(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}}var ei=["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 _n(e){let t=await ti(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>On(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:()=>Ve(t),setPublicApiKey:n=>bn(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 ti(e){let t=await be(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"],ze)}async function Bn(e,t){let r=await $e(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var ze="PUBLIC_BUILDER_KEY";async function Vn(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"||ni.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 ni=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?ri(e,t):{components:[],sourceFile:P(e,"")}}async function ri(e,t){let r=P(e,t);return oi(e,r)}async function oi(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:[],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=j(a)),n.importName=a;let l=await Ze(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=_(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await pn(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 k(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([Vn(e,l),$n(e),$e(e)]),u=c.map(C=>C.cmpInfo),m=d.components,h={components:ee(u,m),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 we(e,h.components),h;let f=!1,x=d.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let C=g.map(E=>{let T=c.find(D=>D.cmpInfo.id===E);if(!T)throw new Error(`Component ${E} not found`);return T}),S=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),I=await $(e,S);for(let E of C){let T=h.components.find(G=>G.id===E.cmpInfo.id),D=await De(e,E,I);Z(T,D);let L=u.findIndex(G=>G.id===E.cmpInfo.id);u[L].inputs=D;let O=ge(E.cmpInfo.id,u,m,r,n,o,i),{elements:y,elmIndex:N,statementIndex:v,statement:K,variableDeclaration:We}=await ai(e,x,E);if(O.addCmpToRegistry)y.push(ii(e,O.addCmpToRegistry)),f=!0;else if(O.removeCmpFromRegistry)y.splice(N,1),f=!0;else if(O.updateRegisteredCmp){let G=q(e,y[N],O.updateRegisteredCmp);y[N]=e.ts.factory.updateObjectLiteralExpression(G,[zn(e,O.updateRegisteredCmp),...G.properties.slice(1)]),f=!0}if(f&&a){let G=[...x.statements];G[v]=e.ts.factory.updateVariableStatement(K,K.modifiers,e.ts.factory.updateVariableDeclarationList(K.declarationList,[e.ts.factory.updateVariableDeclaration(We,We.name,We.exclamationToken,We.type,e.ts.factory.createArrayLiteralExpression(tt(e,y)))])),x=e.ts.factory.updateSourceFile(x,G),T.exportType==="named"?x=w(e,x,{namedImports:[T.importName],importPath:A(e,e.registryPath,T.filePath)}):x=w(e,x,{defaultImport:T.importName,importPath:A(e,e.registryPath,T.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),T.acceptsChildren&&(x=w(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=O.components,m=O.components.filter(Fr=>Fr.isRegistered)}}}if(f&&a){x=de(e,x),x=fe(e,x);let C=F(e,x);C=W(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function zn(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 ii(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([zn(e,t)],!0),t)}async function ai(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}}async function Kn(e){let t=[],r=await ci(e,t);return t.push(...await vt(e)),await ui(e,r),await li(e,t),t}async function Un(e){let t=[];return await si(e,t),t}async function si(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,Mn({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function li(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,Mn({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Mn({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.${ze}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${ze}`),n&&(s+="!"),`
|
|
236
|
+
`;async function kn(e){await wt(e);let t=await e.readFile(e.registryPath);return t?Ho(e,t):{components:[],sourceFile:v(e,"")}}async function Ho(e,t){let r=v(e,t);return Go(e,r)}async function Go(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:[]};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=j(a)),n.importName=a;let s=await Ze(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=_(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await An(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 k(e,n.filePath,n.exportName)),n}async function jn(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 Se(e,t,r,n,o,i,a,s){let l=await jn(e),[c,d,p]=await Promise.all([Fn(e,l),kn(e),$e(e)]),u=c.map(f=>f.cmpInfo),m=d.components,h={components:ee(u,m),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 f=c.find(y=>y.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let x=d.sourceFile,g=h.components.find(y=>y.id===t),C=await Ln(e,f);Z(g,C),t=Array.isArray(t)?t[0]:t;let S=ge(t,u,m,r,n,o,i),{elements:I,elmIndex:E,statementIndex:T,statement:D,variableDeclaration:L}=await Zo(e,x,f),O=!1;if(S.addCmpToRegistry?(I.push(Xo(e,S.addCmpToRegistry)),O=!0):S.removeCmpFromRegistry?(I.splice(E,1),O=!0):S.updateRegisteredCmp&&(I[E]=q(e,I[E],S.updateRegisteredCmp),O=!0),O&&a){let y=[...x.statements];y[T]=e.ts.factory.updateVariableStatement(D,D.modifiers,e.ts.factory.updateVariableDeclarationList(D.declarationList,[e.ts.factory.updateVariableDeclaration(L,L.name,L.exclamationToken,L.type,e.ts.factory.createArrayLiteralExpression(tt(e,I)))])),x=e.ts.factory.updateSourceFile(x,y),g.exportType==="named"?x=w(e,x,{namedImports:[g.importName],importPath:A(e,e.registryPath,g.filePath)}):x=w(e,x,{defaultImport:g.importName,importPath:A(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=de(e,x),x=fe(e,x);let N=F(e,x);N=W(N),N=Nn(N,ei,"CUSTOM_COMPONENTS"),N=await e.formatCode(e.registryPath,N),await e.writeFile(e.registryPath,N)}h.components=S.components}return h}function Xo(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Zo(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}}var ei=["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 _n(e){let t=await ti(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>On(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>Se(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await Se(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>Se(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>Se(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>Se(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>Se(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>$e(t),setPublicApiKey:n=>bn(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 ti(e){let t=await Ie(e,e.getRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getRootDir()}`);let r=e.join(t,"builder-registry.ts"),n=e.join(e.getRootDir(),".env");return{...e,componentsDir:t,registryPath:r,envPath:n}}async function ze(e){return await le(e,[".env"],Ke)}async function Bn(e,t){let r=await ze(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ke="PUBLIC_BUILDER_KEY";async function Vn(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"||ni.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 ni=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?ri(e,t):{components:[],sourceFile:v(e,"")}}async function ri(e,t){let r=v(e,t);return oi(e,r)}async function oi(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:[],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=j(a)),n.importName=a;let l=await Ze(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=_(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let c=await pn(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 k(e,n.filePath,n.exportName)),n}async function Y(e,t,r,n,o,i,a,s){let l=await ve(e),[c,d,p]=await Promise.all([Vn(e,l),$n(e),ze(e)]),u=c.map(C=>C.cmpInfo),m=d.components,h={components:ee(u,m),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 De(e,h.components),h;let f=!1,x=d.sourceFile,g=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(g.length>0){let C=g.map(E=>{let T=c.find(D=>D.cmpInfo.id===E);if(!T)throw new Error(`Component ${E} not found`);return T}),S=Array.from(new Set(C.map(E=>E.cmpInfo.filePath))),I=await $(e,S);for(let E of C){let T=h.components.find(G=>G.id===E.cmpInfo.id),D=await Pe(e,E,I);Z(T,D);let L=u.findIndex(G=>G.id===E.cmpInfo.id);u[L].inputs=D;let O=ge(E.cmpInfo.id,u,m,r,n,o,i),{elements:y,elmIndex:N,statementIndex:P,statement:z,variableDeclaration:he}=await ai(e,x,E);if(O.addCmpToRegistry)y.push(ii(e,O.addCmpToRegistry)),f=!0;else if(O.removeCmpFromRegistry)y.splice(N,1),f=!0;else if(O.updateRegisteredCmp){let G=q(e,y[N],O.updateRegisteredCmp);y[N]=e.ts.factory.updateObjectLiteralExpression(G,[zn(e,O.updateRegisteredCmp),...G.properties.slice(1)]),f=!0}if(f&&a){let G=[...x.statements];G[P]=e.ts.factory.updateVariableStatement(z,z.modifiers,e.ts.factory.updateVariableDeclarationList(z.declarationList,[e.ts.factory.updateVariableDeclaration(he,he.name,he.exclamationToken,he.type,e.ts.factory.createArrayLiteralExpression(tt(e,y)))])),x=e.ts.factory.updateSourceFile(x,G),T.exportType==="named"?x=w(e,x,{namedImports:[T.importName],importPath:A(e,e.registryPath,T.filePath)}):x=w(e,x,{defaultImport:T.importName,importPath:A(e,e.registryPath,T.filePath)}),x=w(e,x,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),T.acceptsChildren&&(x=w(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),x=rt(e,x,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=O.components,m=O.components.filter(Fr=>Fr.isRegistered)}}}if(f&&a){x=de(e,x),x=fe(e,x);let C=F(e,x);C=W(C),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return h}function zn(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 ii(e,t){return q(e,e.ts.factory.createObjectLiteralExpression([zn(e,t)],!0),t)}async function ai(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}}async function Kn(e){let t=[],r=await ci(e,t);return t.push(...await vt(e)),await ui(e,r),await li(e,t),t}async function Un(e){let t=[];return await si(e,t),t}async function si(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,Mn({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function li(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,Mn({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Mn({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.${Ke}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Ke}`),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)};
|
|
@@ -290,7 +290,7 @@ export default function Page() {
|
|
|
290
290
|
${n?`
|
|
291
291
|
declare global {
|
|
292
292
|
interface Env {
|
|
293
|
-
${
|
|
293
|
+
${Ke}: string;
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
296
|
`:""}
|
|
@@ -362,12 +362,12 @@ export default Counter;
|
|
|
362
362
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
363
363
|
];`:`export const CUSTOM_COMPONENTS = [
|
|
364
364
|
];
|
|
365
|
-
`}async function Qn(e){let t=await fi(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:()=>Kn(t),ensureFigmaImportPage:()=>Un(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:()
|
|
365
|
+
`}async function Qn(e){let t=await fi(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:()=>Kn(t),ensureFigmaImportPage:()=>Un(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:()=>ze(t),setPublicApiKey:n=>Bn(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 fi(e){let t=await xi(e),r=await hi(e),n=e.dirname(r),o=e.join(n,"components"),i=await di(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 gi(e,r)}}function di(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function gi(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function xi(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 hi(e){let t=await Ie(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 Ue(e){let t=[".env"],r=e.configType==="vite"?it:bt;return await le(e,t,r)}async function qn(e,t){let r=await Ue(e),n=await ce(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var it="VITE_PUBLIC_BUILDER_KEY",bt="YOUR_PUBLIC_BUILDER_KEY";function Wn(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=Ye(e,r);return It(e,n,t)}function It(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 Yn(e){let t=await e.readFile(e.registryPath);return t?Ci(e,t):{components:[],sourceFile:
|
|
370
|
+
`,r+=");";let n=Ye(e,r);return It(e,n,t)}function It(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 Yn(e){let t=await e.readFile(e.registryPath);return t?Ci(e,t):{components:[],sourceFile:v(e,"")}}async function Ci(e,t){let r=v(e,t);return Si(e,r)}async function Si(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 Ti(e,t,n,p,d,!1);u&&r.push(u);continue}}return{sourceFile:t,components:Q(r)}}async function Ti(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=_(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=_(e,a.filePath),a.name=j(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 k(e,a.filePath,a.exportName)),a}function Jn(e,t){return _e(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function H(e,t,r,n,o,i,a,s){let l=await ve(e),[c,d,p,u]=await Promise.all([un(e,l),Yn(e),Nt(e),Ue(e)]),m=c.map(S=>S.cmpInfo),h=d.components,f={components:ee(m,h),registryPath:e.registryPath,registryDisplayPath:R(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:ue(m),publicApiKey:u.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await De(e,f.components),f;let x=!1,g=d.sourceFile,C=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(C.length>0){let S=C.map(T=>{let D=c.find(L=>L.cmpInfo.id===T);if(!D)throw new Error(`Component ${T} not found`);return D}),I=Array.from(new Set(S.map(T=>T.cmpInfo.filePath))),E=await $(e,I);for(let T of S){let D=f.components.find(P=>P.id===T.cmpInfo.id),L=await Pe(e,T,E);Z(D,L);let O=m.findIndex(P=>P.id===T.cmpInfo.id);m[O].inputs=L;let y=ge(T.cmpInfo.id,m,h,r,n,o,i),N=[...g.statements];if(y.addCmpToRegistry?(N.push(Wn(e,y.addCmpToRegistry)),x=!0):y.removeCmpFromRegistry?(N.splice(y.nodeIndex,1),x=!0):y.updateRegisteredCmp&&(N[y.nodeIndex]=It(e,N[y.nodeIndex],y.updateRegisteredCmp),x=!0),x&&a){g=e.ts.factory.updateSourceFile(g,N),g=w(e,g,{namedImports:["Builder","builder"],importPath:"@builder.io/react"});let P=y.addCmpToRegistry||y.updateRegisteredCmp;if(P){let z=A(e,e.registryPath,P.filePath);P.exportType==="default"?g=w(e,g,{defaultImport:P.importName,importPath:z}):P.exportType==="named"&&(g=w(e,g,{namedImports:[P.importName],importPath:z}))}D?.acceptsChildren&&(g=w(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(z=>z.isRegistered)}}}if(x&&a){g=de(e,g),g=fe(e,g);let S=F(e,g);S=W(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return f}async function Hn(e){let t=[],r=await wi(e,t);if(await Ei(e,r,t),!await e.exists(e.builderComponentPath)){let n=await e.formatCode(e.builderComponentPath,yi(e));await e.writeFile(e.builderComponentPath,n),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function Gn(e){return[]}function yi(e){let t=e.typescriptEnabled;return`
|
|
371
371
|
import React from "react";
|
|
372
372
|
import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
|
|
373
373
|
import ${JSON.stringify(A(e,e.builderComponentPath,e.registryPath))};
|
|
@@ -481,13 +481,13 @@ export default Counter;
|
|
|
481
481
|
font-size: 42px;
|
|
482
482
|
text-align: center;
|
|
483
483
|
}
|
|
484
|
-
`.trimStart();return{component:r,styles:n}}async function Xn(e){let t=await Pi(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Hn(t),ensureFigmaImportPage:()=>Gn(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:()=>Ke(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 Pi(e){let t=await vi(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Nt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function Nt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function vi(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}var ut=Br(ur(),1);async function mr(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:V(i.inputs)};return V(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,ut.compress)(n);return btoa(JSON.stringify(o))}async function fr(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=V(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=V(d)}return a}var Hi={"@builder.io/qwik-city":_n,next:vn,"@remix-run/react":Qn,react:Xn};async function dr(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=Hi[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>mr(e,n),importRegistry:i=>fr(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function gr(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 m="",h=0,f=-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(!(f===C-1||x===1))if(f!==C-1&&x===2){if(m.length<2||h!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){let S=m.lastIndexOf("/");if(S!==m.length-1){S===-1?(m="",h=0):(m=m.slice(0,S),h=m.length-1-m.lastIndexOf("/")),f=C,x=0;continue}}else if(m.length===2||m.length===1){m="",h=0,f=C,x=0;continue}}u&&(m.length>0?m+="/..":m="..",h=2)}else m.length>0?m+="/"+p.slice(f+1,C):m=p.slice(f+1,C),h=C-f-1;f=C,x=0}else g===46&&x!==-1?++x:x=-1}return m}let n=function(...u){let m="",h=!1;for(let f=u.length-1;f>=-1&&!h;f--){let x;f>=0?x=u[f]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(m=x+"/"+m,h=x.charCodeAt(0)===47)}return m=r(m,!h),h?m.length>0?"/"+m:"/":m.length>0?m:"."},o=function(u){if(t(u),u.length===0)return".";let m=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!m),u.length===0&&!m&&(u="."),u.length>0&&h&&(u+="/"),m?"/"+u:u};return{relative:function(u,m){if(t(u),t(m),u===m||(u=n(u),m=n(m),u===m))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let f=u.length,x=f-h,g=1;for(;g<m.length&&m.charCodeAt(g)===47;++g);let S=m.length-g,I=x<S?x:S,E=-1,T=0;for(;T<=I;++T){if(T===I){if(S>I){if(m.charCodeAt(g+T)===47)return m.slice(g+T+1);if(T===0)return m.slice(g+T)}else x>I&&(u.charCodeAt(h+T)===47?E=T:T===0&&(E=0));break}let L=u.charCodeAt(h+T),O=m.charCodeAt(g+T);if(L!==O)break;L===47&&(E=T)}let D="";for(T=h+E+1;T<=f;++T)(T===f||u.charCodeAt(T)===47)&&(D.length===0?D+="..":D+="/..");return D.length>0?D+m.slice(g+E):(g+=E,m.charCodeAt(g)===47&&++g,m.slice(g))},resolve:n,join:function(...u){if(u.length===0)return".";let m;for(let h=0;h<u.length;++h){let f=u[h];t(f),f.length>0&&(m===void 0?m=f:m+="/"+f)}return m===void 0?".":o(m)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,m){if(m!==void 0&&typeof m!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,f=-1,x=!0,g;if(m!==void 0&&m.length>0&&m.length<=u.length){if(m.length===u.length&&m===u)return"";let C=m.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===m.charCodeAt(C)?--C===-1&&(f=g):(C=-1,f=S))}return h===f?f=S:f===-1&&(f=u.length),u.slice(h,f)}else{for(g=u.length-1;g>=0;--g)if(u.charCodeAt(g)===47){if(!x){h=g+1;break}}else f===-1&&(x=!1,f=g+1);return f===-1?"":u.slice(h,f)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let m=u.charCodeAt(0),h=m===47,f=-1,x=!0;for(let g=u.length-1;g>=1;--g)if(m=u.charCodeAt(g),m===47){if(!x){f=g;break}}else x=!1;return f===-1?h?"/":".":h&&f===1?"//":u.slice(0,f)},extname:function(u){t(u);let m=-1,h=0,f=-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}f===-1&&(x=!1,f=C+1),S===46?m===-1?m=C:g!==1&&(g=1):m!==-1&&(g=-1)}return m===-1||f===-1||g===0||g===1&&m===f-1&&m===h+1?"":u.slice(m,f)}}}async function xr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=gr({cwd:r,...e}),o=new Map,i=f=>n.normalize(n.resolve(r(),f)),a=f=>{for(let[x]of o)if((x+"/").startsWith(f))return!0;return f===t()},s=f=>(f=i(f),o.has(f)?!0:a(f)),l=f=>{f=i(f);let x=f===t()?f:f+"/",g=x.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,g).join("/")+"/"===x){let T=S.split("/")[g];T&&!C.includes(T)&&C.push(T)}return C.sort()},c=f=>{f=i(f);let x=o.get(f);return typeof x=="string"?x:null},d=f=>(f=i(f),{isFile:()=>o.has(f),isDirectory:()=>!o.has(f)&&a(f)}),p=async f=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(f),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<f.length;g++){let C=f.charCodeAt(g);x=(x<<5)-x+C,x|=0}return Number(Math.abs(x)).toString(36)},u=new Set,m={getRootDir:t,cwd:r,exists:async f=>s(f),existsSync:s,readdir:async f=>l(f),readdirSync:l,readFile:async f=>c(f),readFileSync:c,stat:async f=>d(f),statSync:d,writeFile:async(f,x)=>{f=i(f),o.set(f,x);let g={path:f,basename:n.basename(f),dirname:n.dirname(f),extname:n.extname(f)};for(let C of u)await C(g)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(f,x)=>x,on:(f,x)=>{f==="change"&&u.add(x)},off:(f,x)=>{f==="change"&&u.delete(x)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await ie(m);return m.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,m}async function hr(e,t,r){let n=P(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Cr(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 m=[...u.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let h=m[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let f=h.initializer;if(e.ts.isObjectLiteralExpression(f)||e.ts.isCallExpression(f)){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,[f]))])),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=Ut(e,n);n=u.sourceFile;let m=[...n.statements],h=m.indexOf(d);return m[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,m),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 m=Ut(e,n);n=m.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=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(m.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 f=[...h.statements],x=f.findIndex(E=>e.ts.isReturnStatement(E));if(x===-1)throw new Error("Expected a return statement on the next config function");let g=f[x],C=Ut(e,n);n=C.sourceFile,f[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,f)))),n=e.ts.factory.updateSourceFile(n,S),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Cr(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 Ut(e,t){let r=Cr(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(Er(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()",m=Gi(e,p.expression);if(!m)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[m]),f=[...n.statements],x=f.indexOf(p);return f[x]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,f),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=Sr(e,n);n=u.sourceFile;let m=[...n.statements],h=m.indexOf(d);return m[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,m),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 m=Sr(e,n);n=m.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=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(m.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 Er(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 Sr(e,t){let r=Er(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 Gi(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=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("serverDependenciesToBundle",o)]):null}function Tr(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 Dr(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=Xi(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=Mt(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=Mt(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 Xi(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=Mt(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Mt(e,t){if(ta(e)){let i=Zi(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=wr(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=wr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function wr(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 Zi(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=ea(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=Qt(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 ea(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=Qt(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=Qt(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Qt(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 ta(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Pr(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}var br=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:hr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Dr},{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 br)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,vr),{id:"next",filePath:n,content:vr}}return null}async function Ir(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 br.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=W(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var vr=`
|
|
484
|
+
`.trimStart();return{component:r,styles:n}}async function Xn(e){let t=await Pi(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>Hn(t),ensureFigmaImportPage:()=>Gn(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:()=>Ue(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 Pi(e){let t=await vi(e),r=e.getRootDir(),n=e.join(r,"src"),o=await Nt(e),i=`builder-registry.${o?"ts":"js"}`,a={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:o,configType:""};return t.includes("webpack.config")&&(a.configType="webpack"),t.includes("vite.config")&&(a.configType="vite"),await e.exists(n)?(a.srcDir=n,a.componentsDir=e.join(n,"components"),a.registryPath=e.join(n,i),a.builderComponentPath=e.join(a.srcDir,`builder-page.${o?"tsx":"jsx"}`)):(a.componentsDir=e.join(r,"components"),a.registryPath=e.join(r,i),a.builderComponentPath=e.join(r,`builder-page.${o?"tsx":"jsx"}`)),a}function Nt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function vi(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let r of t){let n=e.join(e.getRootDir(),r);if(await e.exists(n))return n}throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getRootDir()}".`)}var ut=Br(ur(),1);async function mr(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:V(i.inputs)};return V(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,ut.compress)(n);return btoa(JSON.stringify(o))}async function fr(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=V(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=V(d)}return a}var Hi={"@builder.io/qwik-city":_n,next:vn,"@remix-run/react":Qn,react:Xn};async function dr(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=Hi[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>mr(e,n),importRegistry:i=>fr(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function gr(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 m="",h=0,f=-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(!(f===C-1||x===1))if(f!==C-1&&x===2){if(m.length<2||h!==2||m.charCodeAt(m.length-1)!==46||m.charCodeAt(m.length-2)!==46){if(m.length>2){let S=m.lastIndexOf("/");if(S!==m.length-1){S===-1?(m="",h=0):(m=m.slice(0,S),h=m.length-1-m.lastIndexOf("/")),f=C,x=0;continue}}else if(m.length===2||m.length===1){m="",h=0,f=C,x=0;continue}}u&&(m.length>0?m+="/..":m="..",h=2)}else m.length>0?m+="/"+p.slice(f+1,C):m=p.slice(f+1,C),h=C-f-1;f=C,x=0}else g===46&&x!==-1?++x:x=-1}return m}let n=function(...u){let m="",h=!1;for(let f=u.length-1;f>=-1&&!h;f--){let x;f>=0?x=u[f]:e.cwd?x=e.cwd():x="/",t(x),x.length!==0&&(m=x+"/"+m,h=x.charCodeAt(0)===47)}return m=r(m,!h),h?m.length>0?"/"+m:"/":m.length>0?m:"."},o=function(u){if(t(u),u.length===0)return".";let m=u.charCodeAt(0)===47,h=u.charCodeAt(u.length-1)===47;return u=r(u,!m),u.length===0&&!m&&(u="."),u.length>0&&h&&(u+="/"),m?"/"+u:u};return{relative:function(u,m){if(t(u),t(m),u===m||(u=n(u),m=n(m),u===m))return"";let h=1;for(;h<u.length&&u.charCodeAt(h)===47;++h);let f=u.length,x=f-h,g=1;for(;g<m.length&&m.charCodeAt(g)===47;++g);let S=m.length-g,I=x<S?x:S,E=-1,T=0;for(;T<=I;++T){if(T===I){if(S>I){if(m.charCodeAt(g+T)===47)return m.slice(g+T+1);if(T===0)return m.slice(g+T)}else x>I&&(u.charCodeAt(h+T)===47?E=T:T===0&&(E=0));break}let L=u.charCodeAt(h+T),O=m.charCodeAt(g+T);if(L!==O)break;L===47&&(E=T)}let D="";for(T=h+E+1;T<=f;++T)(T===f||u.charCodeAt(T)===47)&&(D.length===0?D+="..":D+="/..");return D.length>0?D+m.slice(g+E):(g+=E,m.charCodeAt(g)===47&&++g,m.slice(g))},resolve:n,join:function(...u){if(u.length===0)return".";let m;for(let h=0;h<u.length;++h){let f=u[h];t(f),f.length>0&&(m===void 0?m=f:m+="/"+f)}return m===void 0?".":o(m)},isAbsolute:function(u){return t(u),u.length>0&&u.charCodeAt(0)===47},basename:function(u,m){if(m!==void 0&&typeof m!="string")throw new TypeError('"ext" argument must be a string');t(u);let h=0,f=-1,x=!0,g;if(m!==void 0&&m.length>0&&m.length<=u.length){if(m.length===u.length&&m===u)return"";let C=m.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===m.charCodeAt(C)?--C===-1&&(f=g):(C=-1,f=S))}return h===f?f=S:f===-1&&(f=u.length),u.slice(h,f)}else{for(g=u.length-1;g>=0;--g)if(u.charCodeAt(g)===47){if(!x){h=g+1;break}}else f===-1&&(x=!1,f=g+1);return f===-1?"":u.slice(h,f)}},normalize:o,dirname:function(u){if(t(u),u.length===0)return".";let m=u.charCodeAt(0),h=m===47,f=-1,x=!0;for(let g=u.length-1;g>=1;--g)if(m=u.charCodeAt(g),m===47){if(!x){f=g;break}}else x=!1;return f===-1?h?"/":".":h&&f===1?"//":u.slice(0,f)},extname:function(u){t(u);let m=-1,h=0,f=-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}f===-1&&(x=!1,f=C+1),S===46?m===-1?m=C:g!==1&&(g=1):m!==-1&&(g=-1)}return m===-1||f===-1||g===0||g===1&&m===f-1&&m===h+1?"":u.slice(m,f)}}}async function xr(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=gr({cwd:r,...e}),o=new Map,i=f=>n.normalize(n.resolve(r(),f)),a=f=>{for(let[x]of o)if((x+"/").startsWith(f))return!0;return f===t()},s=f=>(f=i(f),o.has(f)?!0:a(f)),l=f=>{f=i(f);let x=f===t()?f:f+"/",g=x.split("/").length-1,C=[];for(let[S]of o)if(S.split("/").slice(0,g).join("/")+"/"===x){let T=S.split("/")[g];T&&!C.includes(T)&&C.push(T)}return C.sort()},c=f=>{f=i(f);let x=o.get(f);return typeof x=="string"?x:null},d=f=>(f=i(f),{isFile:()=>o.has(f),isDirectory:()=>!o.has(f)&&a(f)}),p=async f=>{if(typeof crypto<"u"){let C=new TextEncoder().encode(f),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<f.length;g++){let C=f.charCodeAt(g);x=(x<<5)-x+C,x|=0}return Number(Math.abs(x)).toString(36)},u=new Set,m={getRootDir:t,cwd:r,exists:async f=>s(f),existsSync:s,readdir:async f=>l(f),readdirSync:l,readFile:async f=>c(f),readFileSync:c,stat:async f=>d(f),statSync:d,writeFile:async(f,x)=>{f=i(f),o.set(f,x);let g={path:f,basename:n.basename(f),dirname:n.dirname(f),extname:n.extname(f)};for(let C of u)await C(g)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(f,x)=>x,on:(f,x)=>{f==="change"&&u.add(x)},off:(f,x)=>{f==="change"&&u.delete(x)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await ie(m);return m.getFrameworks=e.getFrameworks?e.getFrameworks:()=>h,m}async function hr(e,t,r){let n=v(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Cr(e,n))return o;let a=K(e,n,"cjs"),s=K(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 m=[...u.declarationList.declarations];if(m.length!==1)throw new Error("Expected a single variable declaration");let h=m[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let f=h.initializer;if(e.ts.isObjectLiteralExpression(f)||e.ts.isCallExpression(f)){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,[f]))])),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=Ut(e,n);n=u.sourceFile;let m=[...n.statements],h=m.indexOf(d);return m[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,m),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 m=Ut(e,n);n=m.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=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(m.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 f=[...h.statements],x=f.findIndex(E=>e.ts.isReturnStatement(E));if(x===-1)throw new Error("Expected a return statement on the next config function");let g=f[x],C=Ut(e,n);n=C.sourceFile,f[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,f)))),n=e.ts.factory.updateSourceFile(n,S),o.content=F(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Cr(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 Ut(e,t){let r=Cr(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=v(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Er(e,n))return o;let a=K(e,n,"cjs"),s=K(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()",m=Gi(e,p.expression);if(!m)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u),void 0,[m]),f=[...n.statements],x=f.indexOf(p);return f[x]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,f),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=Sr(e,n);n=u.sourceFile;let m=[...n.statements],h=m.indexOf(d);return m[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,m),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 m=Sr(e,n);n=m.sourceFile;let h=[...n.statements],f=h.indexOf(c);return h[f]=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(m.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 Er(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 Sr(e,t){let r=Er(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 Gi(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=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("serverDependenciesToBundle",o)]):null}function Tr(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 Dr(e,t,r){let n=v(e,r),o=K(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=Xi(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=Mt(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=Mt(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 Xi(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=Mt(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Mt(e,t){if(ta(e)){let i=Zi(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=wr(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=wr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function wr(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 Zi(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=ea(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=Qt(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 ea(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=Qt(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=Qt(e,e.ts.factory.createArrayLiteralExpression([],!0));if(o)return e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("noExternal",o)])}function Qt(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 ta(e){return e.getFrameworks().some(t=>t.name==="@remix-run/react")}async function Pr(e,t,r){return e.debug("Webpack config updates are currently in progress..."),{content:r,fileName:e.basename(t),filePath:t,hasContentUpdates:!0}}var br=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:hr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:Dr},{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 br)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,vr),{id:"next",filePath:n,content:vr}}return null}async function Ir(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 br.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=W(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var vr=`
|
|
485
485
|
/** @type {import('next').NextConfig} */
|
|
486
486
|
const nextConfig = {
|
|
487
487
|
}
|
|
488
488
|
|
|
489
489
|
module.exports = nextConfig
|
|
490
|
-
`.trimStart();var Nr="/~builder-dev-tools.js";function Rr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Nr,e);t.searchParams.set("v",
|
|
490
|
+
`.trimStart();var Nr="/~builder-dev-tools.js";function Rr(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(Nr,e);t.searchParams.set("v",We);let r=JSON.stringify(We),n=`/* Builder Devtools v${We} */
|
|
491
491
|
`;return n+=`(() => {
|
|
492
492
|
`,n+=` if (typeof document !== "undefined") {
|
|
493
493
|
`,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
|
|
@@ -500,4 +500,4 @@ module.exports = nextConfig
|
|
|
500
500
|
`,n+=` }
|
|
501
501
|
`,n+=` }
|
|
502
502
|
`,n+=`})();
|
|
503
|
-
`,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var
|
|
503
|
+
`,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var We="1.0.11";
|