@builder.io/dev-tools 0.2.30 → 0.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/index.cjs +24 -24
- package/core/index.mjs +24 -24
- package/node/index.cjs +1 -1
- package/node/index.mjs +1 -1
- package/package.json +1 -1
- package/server/index.cjs +8 -8
- package/server/index.mjs +8 -8
- package/types/common/builder/builder-api.d.ts +6 -0
- package/types/common/utils.d.ts +1 -0
- package/types/types.d.ts +1 -0
package/core/index.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
var
|
|
2
|
-
`),n;for(;(n=
|
|
3
|
-
`),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var
|
|
1
|
+
var ur=Object.create;var Ot=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var mr=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var H=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var xr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of mr(t))!gr.call(e,o)&&o!==r&&Ot(e,o,{get:()=>t[o],enumerable:!(n=fr(t,o))||n.enumerable});return e};var hr=(e,t,r)=>(r=e!=null?ur(dr(e)):{},xr(t||!e||!e.__esModule?Ot(r,"default",{value:e,enumerable:!0}):r,e));var Ct=H(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});function kn(e){return Object.prototype.toString.call(e)}Ze.getType=kn;function Wo(e){throw new TypeError("unsupported data type: "+kn(e))}Ze.throwUnknownDataType=Wo});var Dt=H(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});var q="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);q+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);q+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);q+=t}var Te=q.length,Tt={};for(let e=0;e<Te;e++){let t=q[e];Tt[t]=e}function yt(e){let t=0,r=1;for(let n=e.length-1;n>=0;n--){let o=e[n],i=Tt[o];i*=r,t+=i,r*=Te}return t}J.s_to_int=yt;function jn(e){let t=BigInt(0),r=BigInt(1),n=BigInt(Te);for(let o=e.length-1;o>=0;o--){let i=e[o],a=BigInt(Tt[i]);a*=r,t+=a,r*=n}return t}J.s_to_big_int=jn;function Et(e){if(e===0)return q[0];let t=[];for(;e!==0;){let r=e%Te,n=q[r];t.push(n),e-=r,e/=Te}return t.reverse().join("")}J.int_to_s=Et;function _n(e){let t=BigInt(0),r=BigInt(Te);if(e===t)return q[0];let n=[];for(;e!==t;){let o=e%r,i=q[Number(o)];n.push(i),e-=o,e/=r}return n.reverse().join("")}J.big_int_to_s=_n;function tt(e){return e.split("").reverse().join("")}function Bn(e){if(e<0)return"-"+Bn(-e);let[t,r]=e.toString().split(".");if(!r)return Et(e);let n;r&&([r,n]=r.split("e")),t=et(t),r=tt(r),r=et(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=tt(n),n=et(n),o+=n}return o}J.num_to_s=Bn;function et(e){let t=+e;return t.toString()===e?Et(t):":"+_n(BigInt(e))}J.int_str_to_s=et;function wt(e){return e[0]===":"?jn(e.substring(1)).toString():yt(e).toString()}function Vn(e){if(e[0]==="-")return-Vn(e.substr(1));let[t,r,n]=e.split(".");if(!r)return yt(t);t=wt(t),r=wt(r),r=tt(r);let o=t+"."+r;if(n){o+="e";let i=!1;n[0]==="-"&&(i=!0,n=n.slice(1)),n=wt(n),n=tt(n),o+=i?-n:+n}return+o}J.s_to_num=Vn});var Pt=H(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});var vt=Dt();function Ho(e){return"n|"+vt.num_to_s(e)}W.encodeNum=Ho;function Yo(e){return e=e.replace("n|",""),vt.s_to_num(e)}W.decodeNum=Yo;function Go(e){return typeof e=="number"?e:vt.s_to_int(e)}W.decodeKey=Go;function Xo(e){return e?"b|T":"b|F"}W.encodeBool=Xo;function Zo(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}W.decodeBool=Zo;function ei(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}W.encodeStr=ei;function ti(e){return e[0]+e[1]==="s|"?e.substr(2):e}W.decodeStr=ti});var $n=H(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.config={sort_key:!1}});var Nt=H(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});var ni=$n(),ri=Ct(),It=Pt(),oi=Dt();function ii(e){return e.store.toArray()}pe.memToValues=ii;function zn(){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}}}pe.makeInMemoryStore=zn;function Un(){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}}}pe.makeInMemoryCache=Un;function ai(){return{store:zn(),cache:Un(),keyCount:0}}pe.makeInMemoryMemory=ai;function ce(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let r=e.keyCount++,n=oi.num_to_s(r);return e.store.add(t),e.cache.setValue(t,n),n}function si(e,t){ni.config.sort_key&&t.sort();let r=t.join(",");if(e.cache.hasSchema(r))return e.cache.getSchema(r);let n=Oe(e,t,void 0);return e.cache.setSchema(r,n),n}function Oe(e,t,r){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(r))return Oe(e,null,r);break;case"object":if(t===null)return ce(e,null);if(Array.isArray(t)){let n="a";for(let o=0;o<t.length;o++){let i=t[o],a=i===null?"_":Oe(e,i,t);n+="|"+a}return n==="a"&&(n="a|"),ce(e,n)}else{let n=Object.keys(t);if(n.length===0)return ce(e,"o|");let o="o",i=si(e,n);o+="|"+i;for(let a of n){let s=t[a],l=Oe(e,s,t);o+="|"+l}return ce(e,o)}case"boolean":return ce(e,It.encodeBool(t));case"number":return ce(e,It.encodeNum(t));case"string":return ce(e,It.encodeStr(t))}return ri.throwUnknownDataType(t)}pe.addValue=Oe});var Ft=H(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});var li=Ct(),nt=Pt(),Rt=Nt();function ci(e){let t=Rt.makeInMemoryMemory(),r=Rt.addValue(t,e,void 0);return[Rt.memToValues(t),r]}je.compress=ci;function pi(e,t){if(t==="o|")return{};let r={},n=t.split("|"),o=n[1],i=ke(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],m=n[s];m=ke(e,m),r[l]=m}return r}function ui(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=ke(e,a),o[i]=a}return o}function ke(e,t){if(t===""||t==="_")return null;let r=nt.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 nt.decodeBool(n);case"o|":return pi(e,n);case"n|":return nt.decodeNum(n);case"a|":return ui(e,n);default:return nt.decodeStr(n)}}return li.throwUnknownDataType(n)}je.decode=ke;function fi(e){let[t,r]=e;return ke(t,r)}je.decompress=fi});var Kn=H(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});function mi(e){for(let t in e)e[t]===void 0&&delete e[t]}rt.trimUndefined=mi;function di(e){Mn(e,new Set)}rt.trimUndefinedRecursively=di;function Mn(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)&&Mn(n,t)}}});var Jn=H(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});var Qn=Ft();te.compress=Qn.compress;te.decompress=Qn.decompress;var gi=Ft();te.decode=gi.decode;var xi=Nt();te.addValue=xi.addValue;var qn=Kn();te.trimUndefined=qn.trimUndefined;te.trimUndefinedRecursively=qn.trimUndefinedRecursively});async function kt(e,t){let r=e.resolve("/");for(let n=0;n<20;n++){let o=e.join(t,"package.json"),i=await e.readFile(o);if(i)return JSON.parse(i);if(t===r)break;t=e.dirname(t)}return null}async function jt(e,t){for(let r=0;r<20;r++){let n=e.dirname(t),o=e.join(n,"node_modules");if(await e.exists(o))return o;if(t===e.getRootDir())break;t=e.dirname(t)}return e.join(e.getRootDir(),"node_modules")}async function ye(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 ye(e,a,r);if(l)return l}}))).find(i=>typeof i=="string")}async function ne(e){let t=[],r=await kt(e,e.getRootDir());if(r){let n=_t(r);t.push(...n)}return t}function _t(e){let t=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let n of Sr)r.has(n)&&(t.some(o=>o.name===n)||t.push({name:n}))}return t}var Sr=["@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 fe(e){let t=Bt(e),r=await e.readFile(t);return typeof r=="string"?JSON.parse(r):{}}async function me(e,t){t=typeof t=="object"&&t!=null?t:{};let r=Bt(e);await e.writeFile(r,JSON.stringify(t??{},null,2))}function Bt(e){let t=e.getRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function de(e,t,r){let n={envKey:r,envValue:null,file:""};for(let o of t){let i=e.join(e.getRootDir(),o),a=await Cr(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 Cr(e,t){let r=await e.readFile(t);return typeof r=="string"?Vt(r):null}function Vt(e){let t={},r=e.replace(/\r\n?/gm,`
|
|
2
|
+
`),n;for(;(n=wr.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let a=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),a==='"'&&(i=i.replace(/\\n/g,`
|
|
3
|
+
`),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}var wr=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function ge(e,t,r,n){let o="# https://www.builder.io/c/docs/using-your-api-key",i=await e.readFile(t);if(i)if(i.includes(r))if(i.includes(n))e.debug(`"${r}" with "${n}" already set in ${t}`);else return e.debug(`Replace "${r}" in ${t}`),i=i.replace(new RegExp(`${r}=.*`),`${r}=${n}`),await e.writeFile(t,i),"update";else return e.debug(`Append "${r}" to ${t}`),i+=`
|
|
4
4
|
|
|
5
5
|
${o}
|
|
6
6
|
${r}=${n}
|
|
7
7
|
|
|
8
8
|
`,await e.writeFile(t,i),"update";else return e.debug(`Creating new .env file with "${r}" at ${t}`),i=[o,`${r}=${n}`,""].join(`
|
|
9
|
-
`),await e.writeFile(t,i),"create";return null}async function
|
|
9
|
+
`),await e.writeFile(t,i),"create";return null}async function Ee(e){return await de(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],re)}async function $t(e,t){let r=await Ee(e),n=await ge(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var re="NEXT_PUBLIC_BUILDER_API_KEY";function E(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest)}function zt(e,t=""){let r=E(e,t?.trim());if(r.statements.length===0)throw new Error(`No statements found in code: ${t}`);return r.statements[0]}function I(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=z(t),r=z(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=z(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function z(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 zt(o==="index"?e.basename(e.dirname(t)):o)}function zt(e){return j(e).replace(/ /g,"")}function H(e,t){let r=e.extname(t),n=z(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function N(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 Y(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function De(e){return typeof e=="number"}function ge(e){return typeof e=="boolean"}function L(e){return typeof e=="string"}function _e(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function B(e){return JSON.parse(JSON.stringify(e))}function be(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=wr(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,ve(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,ve(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function wr(e,t,r){return t.properties.findIndex(n=>D(e,n)===r)}function Pe(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Tr(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return yr(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 yr(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=D(e,n);o&&(r[o]=Pe(e,n.initializer))}}return r}function Tr(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Pe(e,r)):[]}function D(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 ve(e,t){return it(e,t,new WeakSet)}function it(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)?Er(e,t,r):typeof t=="object"?Dr(e,t,r):e.ts.factory.createIdentifier(t)}function Er(e,t,r){let n=t.map(o=>it(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function Dr(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,it(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ie(e,t,r){let n=[];if(!r)return n;let o=[];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let a=t.getTypeAtLocation(r).getCallSignatures();if(a.length>0){let s=a[0].getParameters();s.length>0&&(o=t.getTypeOfSymbolAtLocation(s[0],r).getProperties())}}for(let i of o){let a=vr(e,t,i);a&&n.push(a)}return n=n.filter(Mt),n.length>0?n:br(e,r)}function vr(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),m=t.typeToString(l),d=at(m);d.knownType?i=d.builderType:Ir(m)||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(f=>f.flags&e.ts.TypeFlags.Object)||l.isIntersection()&&l.types.some(f=>f.flags&e.ts.TypeFlags.Object)?i="object":i="string",m!==i&&(a=m)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let l=Ar(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Rr)?s.enum=l.map(Fr):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function br(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 m of l){if(!e.ts.isJSDocPropertyLikeTag(m))continue;let d=m.name;if(!e.ts.isQualifiedName(d))continue;let f=m.typeExpression;if(!f)continue;let c="";switch(f.type.kind){case e.ts.SyntaxKind.StringKeyword:{c="string";break}case e.ts.SyntaxKind.NumberKeyword:{c="number";break}case e.ts.SyntaxKind.BooleanKeyword:{c="boolean";break}default:continue}let h={name:d.right.text,type:c,isRegistered:!1};r.push(h)}}return r.filter(Mt)}var Pr=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Ir(e){return typeof e!="string"?!1:!!Pr.some(t=>e.includes(t))}function at(e){return typeof e=="string"&&(e=e.trim(),Nr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Nr=[{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 Rr(e){return/^['"].*['"]$/.test(e)}function Fr(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Ar=(e,t,r)=>{let n=new Set;Ut(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},Lr=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Ut=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Ut(e,t,o,n)});else if(r.isLiteral()){let o=Lr(e,t,r);n.add(o)}};function Mt(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!Or.has(t.toLowerCase())}var Or=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 re(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=D(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=kr(e,n.initializer);oe(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Pe(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function kr(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(jr(e,n));return r}function jr(e,t){let r=Pe(e,t),n=Mr(r);return n.isRegistered=!0,n}function G(e,t,r){let n=Br(r);return t=be(e,t,"name",n.name,!1),t=be(e,t,"description",n.description),t=be(e,t,"image",n.image),t=_r(e,t,n),Kr(e,t)}function _r(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 be(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=$r(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 Br(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map(Vr)}}function Vr(e){let t={name:e.name,type:e.type};return(L(e.defaultValue)||De(e.defaultValue)||ge(e.defaultValue))&&(t.defaultValue=e.defaultValue),L(e.friendlyName)&&(t.friendlyName=e.friendlyName),L(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 $r(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>D(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=zr(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>D(e,c)==="name"),s=i.properties.find(c=>D(e,c)==="name"),l=a?.initializer,m=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",f=m&&e.ts.isStringLiteral(m)?m.text:"zz";return d.toLowerCase().localeCompare(f.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function zr(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=D(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=Kt(e,t[n],r);else{let o=Kt(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Kt(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=Ur(e,n,r,i);return n=Qr(e,n.filter(i=>{let a=D(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Ur(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,ve(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,ve(e,r[n]))),t}function oe(e,t){for(let o of t){let i=e.inputs.findIndex(a=>a.name===o.name);i>-1?(o.isRegistered||!e.inputs[i].isRegistered)&&(e.inputs[i]=o):e.inputs.push(o)}let r=e.inputs.some(o=>o.name==="children"),n=e.inputs.some(o=>o.meta?.ts==="ReactNode");r||n?e.acceptsChildren=!0:e.acceptsChildren||(e.acceptsChildren=!1)}function Mr(e){let t=at(e.type),r={name:e.name.trim(),type:t.builderType};return L(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(L(e.defaultValue)||De(e.defaultValue)||ge(e.defaultValue))&&(r.defaultValue=e.defaultValue),L(e.helperText)&&(r.helperText=e.helperText),ge(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),st(r)}function st(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 Kr(e,t){let r=[...t.properties].sort((n,o)=>{let i=D(e,n)||"zz",a=D(e,o)||"zz";if(i==="inputs")return 1;let s=Qt.indexOf(i),l=Qt.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 Qt=["component","name","description"];function Qr(e,t){return[...t].sort((n,o)=>{let i=D(e,n)||"zz",a=D(e,o)||"zz",s=qt.indexOf(i),l=qt.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var qt=["name","type"];function Jt(e,t){let r=`Builder.registerComponent(
|
|
11
|
+
`}return""}function A(e,t,r){t=z(t),r=z(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=z(e.normalize(o)),o.startsWith(".")||(o="./"+o),o}function z(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function De(e,t){let r=e.extname(t),n=e.basename(t,r).split(/[\/\\]/),o=n[n.length-1];return Ut(o==="index"?e.basename(e.dirname(t)):o)}function Ut(e){return j(e).replace(/ /g,"")}function Y(e,t){let r=e.extname(t),n=z(e.basename(t,r)).split("/").pop();return j(n==="index"?e.basename(e.dirname(t)):n)}function B(e,t){let r=z(e.relative(e.getRootDir(),t));return 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)),e.getFrameworks().some(o=>o.name.includes("next"))?"@/"+r:"~/"+r}function N(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 G(e){return e.sort((t,r)=>t.name.toLocaleLowerCase().localeCompare(r.name.toLocaleLowerCase()))}async function _(e,t,r){if(typeof r!="string"||r==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${r}, ${t}`);return t=e.normalize(t),(await e.hash(t+"#"+r)).substring(0,8)}function ve(e){return typeof e=="number"}function xe(e){return typeof e=="boolean"}function L(e){return typeof e=="string"}function Be(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function V(e){return JSON.parse(JSON.stringify(e))}function be(e,t,r,n,o=!0){let i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),a=Tr(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,Pe(e,n)),e.ts.factory.updateObjectLiteralExpression(t,i)):(n!=null&&i.push(e.ts.factory.createPropertyAssignment(r,Pe(e,n))),e.ts.factory.updateObjectLiteralExpression(t,i))}function Tr(e,t,r){return t.properties.findIndex(n=>D(e,n)===r)}function Ie(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return Er(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return yr(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 yr(e,t){let r={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let n of t.properties)if(e.ts.isPropertyAssignment(n)){let o=D(e,n);o&&(r[o]=Ie(e,n.initializer))}}return r}function Er(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(r=>Ie(e,r)):[]}function D(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 Pe(e,t){return at(e,t,new WeakSet)}function at(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)?Dr(e,t,r):typeof t=="object"?vr(e,t,r):e.ts.factory.createIdentifier(t)}function Dr(e,t,r){let n=t.map(o=>at(e,o,r));return e.ts.factory.createArrayLiteralExpression(n,!0)}function vr(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,at(e,t[o],r)));return e.ts.factory.createObjectLiteralExpression(n,!0)}function Ne(e,t,r){let n=[];if(!r)return n;let o=[];if(e.ts.isArrowFunction(r)||e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r)){let i=r.parameters;if(i.length>0){let a=i[0],s=t.getTypeAtLocation(a);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?o=s.aliasTypeArguments[0].getProperties():o=s.getProperties()}}else if(e.ts.isIdentifier(r)){let a=t.getTypeAtLocation(r).getCallSignatures();if(a.length>0){let s=a[0].getParameters();s.length>0&&(o=t.getTypeOfSymbolAtLocation(s[0],r).getProperties())}}for(let i of o){let a=Pr(e,t,i);a&&n.push(a)}return n=n.filter(Kt),n.length>0?n:br(e,r)}function Pr(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),m=t.typeToString(l),d=st(m);d.knownType?i=d.builderType:Nr(m)||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",m!==i&&(a=m)}let s={name:o,type:i,isRegistered:!1};if(a&&n.type){let l=Lr(e,t,t.getTypeFromTypeNode(n.type));s.meta=s.meta||{},l&&l.length>0&&s.type==="string"&&l.every(Fr)?s.enum=l.map(Ar):s.meta.ts=a}return n.questionToken||(s.required=!0),s}return null}function br(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 m of l){if(!e.ts.isJSDocPropertyLikeTag(m))continue;let d=m.name;if(!e.ts.isQualifiedName(d))continue;let p=m.typeExpression;if(!p)continue;let c="";switch(p.type.kind){case e.ts.SyntaxKind.StringKeyword:{c="string";break}case e.ts.SyntaxKind.NumberKeyword:{c="number";break}case e.ts.SyntaxKind.BooleanKeyword:{c="boolean";break}default:continue}let h={name:d.right.text,type:c,isRegistered:!1};r.push(h)}}return r.filter(Kt)}var Ir=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Nr(e){return typeof e!="string"?!1:!!Ir.some(t=>e.includes(t))}function st(e){return typeof e=="string"&&(e=e.trim(),Rr.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Rr=[{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 Fr(e){return/^['"].*['"]$/.test(e)}function Ar(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Lr=(e,t,r)=>{let n=new Set;Mt(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},Or=(e,t,r)=>{let n=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(r,void 0,n)},Mt=(e,t,r,n)=>{if(r.isUnion())r.types.forEach(o=>{Mt(e,t,o,n)});else if(r.isLiteral()){let o=Or(e,t,r);n.add(o)}};function Kt(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!kr.has(t.toLowerCase())}var kr=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 oe(e,t,r){for(let n of r.properties){if(!e.ts.isPropertyAssignment(n))continue;let o=D(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=jr(e,n.initializer);ie(t,i);continue}if(o==="meta"&&e.ts.isObjectLiteralExpression(n.initializer)){let i=Ie(e,n.initializer);i&&typeof i=="object"&&(t.meta=i);continue}}return t}function jr(e,t){let r=[];for(let n of t.elements)e.ts.isObjectLiteralExpression(n)&&r.push(_r(e,n));return r}function _r(e,t){let r=Ie(e,t),n=Kr(r);return n.isRegistered=!0,n}function X(e,t,r){let n=Vr(r);return t=be(e,t,"name",n.name,!1),t=be(e,t,"description",n.description),t=be(e,t,"image",n.image),t=Br(e,t,n),Qr(e,t)}function Br(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 be(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=zr(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 Vr(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(r=>r.isRegistered).map($r)}}function $r(e){let t={name:e.name,type:e.type};return(L(e.defaultValue)||ve(e.defaultValue)||xe(e.defaultValue))&&(t.defaultValue=e.defaultValue),L(e.friendlyName)&&(t.friendlyName=e.friendlyName),L(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 zr(e,t,r){let n=t.elements.filter(o=>{if(!e.ts.isObjectLiteralExpression(o))return!1;let i=o.properties.find(s=>D(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=Ur(e,n,o);return n.sort((o,i)=>{let a=o.properties.find(c=>D(e,c)==="name"),s=i.properties.find(c=>D(e,c)==="name"),l=a?.initializer,m=s?.initializer,d=l&&e.ts.isStringLiteral(l)?l.text:"zz",p=m&&e.ts.isStringLiteral(m)?m.text:"zz";return d.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,n)}function Ur(e,t,r){let n=t.findIndex(o=>o.properties.some(i=>{let a=D(e,i);return e.ts.isPropertyAssignment(i)&&a==="name"&&e.ts.isStringLiteral(i.initializer)&&i.initializer.text===r.name}));if(n>-1)t[n]=Qt(e,t[n],r);else{let o=Qt(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(r.name))],!0),r);t.push(o)}return t}function Qt(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=Mr(e,n,r,i);return n=qr(e,n.filter(i=>{let a=D(e,i);return o.includes(a)})),e.ts.factory.updateObjectLiteralExpression(t,n)}function Mr(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,Pe(e,r[n])):t.push(e.ts.factory.createPropertyAssignment(n,Pe(e,r[n]))),t}function ie(e,t){for(let o of t){let i=e.inputs.findIndex(a=>a.name===o.name);i>-1?(o.isRegistered||!e.inputs[i].isRegistered)&&(e.inputs[i]=o):e.inputs.push(o)}let r=e.inputs.some(o=>o.name==="children"),n=e.inputs.some(o=>o.meta?.ts==="ReactNode");r||n?e.acceptsChildren=!0:e.acceptsChildren||(e.acceptsChildren=!1)}function Kr(e){let t=st(e.type),r={name:e.name.trim(),type:t.builderType};return L(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(r.friendlyName=e.friendlyName),(L(e.defaultValue)||ve(e.defaultValue)||xe(e.defaultValue))&&(r.defaultValue=e.defaultValue),L(e.helperText)&&(r.helperText=e.helperText),xe(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),lt(r)}function lt(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 Qr(e,t){let r=[...t.properties].sort((n,o)=>{let i=D(e,n)||"zz",a=D(e,o)||"zz";if(i==="inputs")return 1;let s=qt.indexOf(i),l=qt.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 qt=["component","name","description"];function qr(e,t){return[...t].sort((n,o)=>{let i=D(e,n)||"zz",a=D(e,o)||"zz",s=Jt.indexOf(i),l=Jt.indexOf(a);return s>-1?l>-1&&s>l?1:-1:l>-1?s>-1&&l<s?-1:1:i.localeCompare(a)})}var Jt=["name","type"];function Wt(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
|
|
22
|
-
`,getSourceFile:a=>{if(a=e.normalize(a),a.includes("node_modules")){let l=Ne.get(a);if(l)return E(e,l.content)}let s=e.readFileSync(a);if(s==null){let l=e.basename(a),m=e.extname(l).toLowerCase();if(a.startsWith(n)&&m===".ts"&&(s=Ht.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new Ve(l)}return a.includes("node_modules")&&(s?Ne.set(a,{exists:!0,content:s}):Ne.set(a,{exists:!1})),E(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return qr(e,i,t)}catch(a){if(a instanceof Ve){await Jr(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function qr(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=Wt.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,m)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(o),void 0,o).options,Wt.set(o,i))}i&&(n.options=B(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 $e(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 Ve=class{constructor(t){this.libName=t}};async function Jr(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Be.has(t)||Be.set(t,fetch(r).then(n=>n.text()).then(n=>{Ht.set(t,n)})),await Be.get(t),Be.delete(t)}var Ht=new Map,Be=new Map,Ne=new Map,Wt=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Wr(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Hr(e,t,r.defaultImport,r.importPath,n)),t}function Wr(e,t,r,n,o,i){return i==="cjs"?Gt(e,t,null,r,n):Yt(e,t,null,r,n,o)}function Hr(e,t,r,n,o){return o==="cjs"?Gt(e,t,r,null,n):Yt(e,t,r,null,n,!1)}function Yt(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,m=!1;for(let p=0;p<a.length;p++){let h=a[p];if(!e.ts.isImportDeclaration(h)||(s=p,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let u=[],g=h.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&u.push(...g.elements),typeof n=="string"){if(u.some(S=>S.name.text===n))return t;u.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),u.sort((S,C)=>S.name.text.localeCompare(C.name.text)),l=!0}let x=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(x&&x.text===r)return t;x=e.ts.factory.createIdentifier(r),m=!0}if(l||m)return a[p]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,e.ts.factory.createNamedImports(u)),h.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,a)}let d,f;typeof r=="string"&&(d=e.ts.factory.createIdentifier(r)),typeof n=="string"&&(f=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))]));let c=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,f),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function Gt(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 m=0;m<l.declarationList.declarations.length;m++){let d=[...l.declarationList.declarations],f=d[m],c=f.initializer;if(!c||!e.ts.isCallExpression(c))continue;let p=c.expression;if(!e.ts.isIdentifier(p)||p.text!=="require"||c.arguments.length!==1)continue;let h=c.arguments[0];if(e.ts.isStringLiteral(h)&&(a=s,h.text===o)){if(e.ts.isIdentifier(f.name)&&typeof r=="string")return f.name.text===r?t:(d[m]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createIdentifier(r),f.exclamationToken,f.type,f.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(f.name)&&typeof n=="string"){let u=[...f.name.elements];return u.some(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(u.push(e.ts.factory.createBindingElement(void 0,void 0,n)),u.sort((x,S)=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)||!e.ts.isBindingElement(S)||!e.ts.isIdentifier(S.name)?0:x.name.text.localeCompare(S.name.text)),d[m]=e.ts.factory.updateVariableDeclaration(f,e.ts.factory.createObjectBindingPattern(u),f.exclamationToken,f.type,f.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 V(e,t,r="esm"){return r==="cjs"?Gr(e,t):Yr(e,t)}function Yr(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function Gr(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 Xr(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=Xr(e,r,n);if(o){let i=await ut(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:N(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function pt(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 X(e,t,r){let n=pt(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 Ue(e,t){if(t){if(Zr(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Ue(e,n)&&(r=!0)}),r)return!0}return!1}function Zr(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 ut(e,t){let r=e.extname(t).toLowerCase();if(r===""||!ct.includes(r)){for(let n of ct){let o=t+n;if(await e.exists(o))return o}for(let n of ct){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var ct=[".tsx",".jsx",".ts",".js"];function Me(e,t,r){if(!r||!t)return;let n=t.getSymbolAtLocation(r);if(!n)return;let o=n.valueDeclaration;if(!o)return;let i=o.getSourceFile().fileName,a=eo(e,i);return a?[{name:a}]:void 0}function eo(e,t){if(typeof t=="string"){t=e.normalize(z(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 xe(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 Qe(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 m=(await ie(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);m&&(a.inputs=Ie(e,o,m.node.fnNode))}}return a}))}async function qe(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await $e(e,t.cmpInfo.filePath,r),a=(await ie(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 Ie(e,o,a.node.fnNode)}return[]}async function Xt(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 to(e,t,n)}return null}function to(e,t,r){let n=E(e,r);return ie(e,null,t,n)}async function ie(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=V(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await no(e,t,r,a);o.push(...s)})),o}async function no(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r);if(e.ts.isVariableStatement(n.node)){for(let a of n.node.declarationList.declarations){if(!e.ts.isIdentifier(a.name)||!_e(a.name.text))continue;let s=Ke(e,t,a.initializer);if(s){let l=s.name||a.name.text,m=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,m),displayFilePath:N(e,r),name:j(l),inputs:[],exportName:m,exportType:d,importName:l,filePath:r,relFilePath:i,dependencies:s.deps},node:s})}}return o}if(e.ts.isArrowFunction(n.node)){let a=Ke(e,t,n.node);if(a){let s=H(e,r),l=n.isDefaultExport?"default":s,m=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,l),displayFilePath:N(e,r),name:s,inputs:[],exportName:l,exportType:m,importName:Ee(e,r),filePath:r,relFilePath:i,dependencies:a.deps},node:a})}return o}if(e.ts.isFunctionExpression(n.node)||e.ts.isFunctionDeclaration(n.node)){let a=n.node.name?.text;if(a&&!_e(a))return o;let s=Ke(e,t,n.node);if(s){let l=s.name||H(e,r),m=n.isDefaultExport||!s.name?"default":s.name,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,m),displayFilePath:N(e,r),name:l,inputs:[],exportName:m,exportType:d,importName:s.name||Ee(e,r),filePath:r,relFilePath:i,dependencies:s.deps},node:s})}return o}return o}function Ke(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Ue(e,r.body)?{name:"",fnNode:r,deps:Me(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Ue(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Me(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:Ke(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)||!_e(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Me(e,t,o)}}return null}async function Zt(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&&ro.has(a))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await ie(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var ro=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 he(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,[...ft(e,r),...ft(e,n),...ft(e,o),...i])}function Z(e){let t=e.split(`
|
|
21
|
+
`,r+=");";let n=zt(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]=X(e,i,r),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(n,n.expression,n.typeArguments,o))):t}async function U(e,t){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await jt(e,t[0]),n=e.join(r,"typescript","lib"),o=new Map,i={fileExists:a=>{if(a=e.normalize(a),a.includes("node_modules")){let s=Re.get(a);if(!s){try{e.statSync(a).isFile()?s={exists:!0,content:e.readFileSync(a)}:s={exists:!1}}catch{s={exists:!1}}Re.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=Re.get(a);if(l)return E(e,l.content)}let s=e.readFileSync(a);if(s==null){let l=e.basename(a),m=e.extname(l).toLowerCase();if(a.startsWith(n)&&m===".ts"&&(s=Yt.get(l),s==null&&typeof self<"u"&&typeof fetch=="function"))throw new $e(l)}return a.includes("node_modules")&&(s?Re.set(a,{exists:!0,content:s}):Re.set(a,{exists:!1})),E(e,s)},readFile:a=>{let s=e.readFileSync(a);return typeof s=="string"?s:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return Jr(e,i,t)}catch(a){if(a instanceof $e){await Wr(e,a.libName);continue}throw console.error("createTsProgram",a),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function Jr(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=Ht.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,m)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(o),void 0,o).options,Ht.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 ze(e,t,r){r||(r=await U(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 $e=class{constructor(t){this.libName=t}};async function Wr(e,t){let r=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;Ve.has(t)||Ve.set(t,fetch(r).then(n=>n.text()).then(n=>{Yt.set(t,n)})),await Ve.get(t),Ve.delete(t)}var Yt=new Map,Ve=new Map,Re=new Map,Ht=new Map;function v(e,t,r,n="esm"){return Array.isArray(r.namedImports)&&r.namedImports.forEach(o=>{t=Hr(e,t,o,r.importPath,!!r.isTypeOnly,n)}),typeof r.defaultImport=="string"&&(t=Yr(e,t,r.defaultImport,r.importPath,n)),t}function Hr(e,t,r,n,o,i){return i==="cjs"?Xt(e,t,null,r,n):Gt(e,t,null,r,n,o)}function Yr(e,t,r,n,o){return o==="cjs"?Xt(e,t,r,null,n):Gt(e,t,r,null,n,!1)}function Gt(e,t,r,n,o,i){let a=[...t.statements],s=0,l=!1,m=!1;for(let u=0;u<a.length;u++){let h=a[u];if(!e.ts.isImportDeclaration(h)||(s=u,!h.moduleSpecifier||!e.ts.isStringLiteral(h.moduleSpecifier))||h.moduleSpecifier.text!==o||!!h.importClause?.isTypeOnly!==i)continue;let f=[],g=h.importClause?.namedBindings;if(g&&e.ts.isNamedImports(g)&&g.elements&&f.push(...g.elements),typeof n=="string"){if(f.some(S=>S.name.text===n))return t;f.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(n))),f.sort((S,C)=>S.name.text.localeCompare(C.name.text)),l=!0}let x=h.importClause?h.importClause.name:void 0;if(typeof r=="string"){if(x&&x.text===r)return t;x=e.ts.factory.createIdentifier(r),m=!0}if(l||m)return a[u]=e.ts.factory.updateImportDeclaration(h,void 0,e.ts.factory.createImportClause(i,x,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 c=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(i,d,p),e.ts.factory.createStringLiteral(o));return a.splice(s,0,c),e.ts.factory.updateSourceFile(t,a)}function Xt(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 m=0;m<l.declarationList.declarations.length;m++){let d=[...l.declarationList.declarations],p=d[m],c=p.initializer;if(!c||!e.ts.isCallExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="require"||c.arguments.length!==1)continue;let h=c.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[m]=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(x=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?!1:x.name.text===n)?t:(f.push(e.ts.factory.createBindingElement(void 0,void 0,n)),f.sort((x,S)=>!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)||!e.ts.isBindingElement(S)||!e.ts.isIdentifier(S.name)?0:x.name.text.localeCompare(S.name.text)),d[m]=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 $(e,t,r="esm"){return r==="cjs"?Xr(e,t):Gr(e,t)}function Gr(e,t){let r=[];for(let n of t.statements){if(e.ts.isExportDeclaration(n)){if(n.exportClause&&e.ts.isNamedExports(n.exportClause)){for(let o of n.exportClause.elements)if(e.ts.isIdentifier(o.name)){let i=o.name.text;for(let a of t.statements)if(e.ts.isVariableStatement(a))for(let s of a.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a});else e.ts.isFunctionDeclaration(a)&&a.name&&a.name.text===i&&r.push({isDefaultExport:!1,statement:a,node:a})}}continue}if(e.ts.isExportAssignment(n)){let o=n.flags===e.ts.NodeFlags.None,i=n.expression;if(e.ts.isIdentifier(i)){let a=i.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let l of s.declarationList.declarations)e.ts.isIdentifier(l.name)&&l.name.text===a&&r.push({isDefaultExport:o,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===a&&r.push({isDefaultExport:o,statement:s,node:s})}}else(e.ts.isArrowFunction(i)||e.ts.isCallExpression(i)||e.ts.isFunctionDeclaration(i)||e.ts.isObjectLiteralExpression(i))&&r.push({isDefaultExport:o,statement:n,node:i});continue}if((e.ts.isVariableStatement(n)||e.ts.isFunctionDeclaration(n))&&n.modifiers&&n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.ExportKeyword)){r.push({isDefaultExport:n.modifiers.some(o=>o.kind===e.ts.SyntaxKind.DefaultKeyword),statement:n,node:n});continue}}return r}function Xr(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 Zr(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 Ue(e,t,r,n){let o=Zr(e,r,n);if(o){let i=await ft(e,e.normalize(e.resolve(e.dirname(t),o.importPath))),a=e.relative(e.getRootDir(),i);return{displayFilePath:N(e,i),filePath:i,relFilePath:a,importPath:o.importPath,exportType:o.exportType}}return null}function ut(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 Z(e,t,r){let n=ut(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 Me(e,t){if(t){if(eo(e,t))return!0;let r=!1;if(t.forEachChild(n=>{Me(e,n)&&(r=!0)}),r)return!0}return!1}function eo(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function ft(e,t){let r=e.extname(t).toLowerCase();if(r===""||!pt.includes(r)){for(let n of pt){let o=t+n;if(await e.exists(o))return o}for(let n of pt){let o=e.join(t,"index"+n);if(await e.exists(o))return o}}return t}var pt=[".tsx",".jsx",".ts",".js"];function Ke(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=to(e,i);return a?[{name:a}]:void 0}function to(e,t){if(typeof t=="string"){t=e.normalize(z(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 he(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 qe(e,t){if(!t.some(a=>!a.isRegistered))return t;let n=await U(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 m=(await ae(e,o,a.filePath,s)).find(d=>d.cmpInfo.id===a.id);m&&(a.inputs=Ne(e,o,m.node.fnNode))}}return a}))}async function Je(e,t,r){if(t.node.fnNode){let{sourceFile:n,typeChecker:o}=await ze(e,t.cmpInfo.filePath,r),a=(await ae(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 Ne(e,o,a.node.fnNode)}return[]}async function Zt(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 no(e,t,n)}return null}function no(e,t,r){let n=E(e,r);return ae(e,null,t,n)}async function ae(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=$(e,n);return r=e.normalize(r),await Promise.all(i.map(async a=>{let s=await ro(e,t,r,a);o.push(...s)})),o}async function ro(e,t,r,n){let o=[],i=e.relative(e.getRootDir(),r),a=B(e,r);if(e.ts.isVariableStatement(n.node)){for(let s of n.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Be(s.name.text))continue;let l=Qe(e,t,s.initializer);if(l){let m=l.name||s.name.text,d=n.isDefaultExport?"default":m,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:N(e,r),name:j(m),inputs:[],exportName:d,exportType:p,importName:m,filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}}return o}if(e.ts.isArrowFunction(n.node)){let s=Qe(e,t,n.node);if(s){let l=Y(e,r),m=n.isDefaultExport?"default":l,d=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,m),displayFilePath:N(e,r),name:l,inputs:[],exportName:m,exportType:d,importName:De(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&&!Be(s))return o;let l=Qe(e,t,n.node);if(l){let m=l.name||Y(e,r),d=n.isDefaultExport||!l.name?"default":l.name,p=n.isDefaultExport?"default":"named";o.push({cmpInfo:{id:await _(e,r,d),displayFilePath:N(e,r),name:m,inputs:[],exportName:d,exportType:p,importName:l.name||De(e,r),filePath:r,relFilePath:i,importPath:a,dependencies:l.deps},node:l})}return o}return o}function Qe(e,t,r){if(!r)return null;if(e.ts.isArrowFunction(r))return Me(e,r.body)?{name:"",fnNode:r,deps:Ke(e,t,r)}:null;if(e.ts.isFunctionExpression(r)||e.ts.isFunctionDeclaration(r))return Me(e,r.body)?{name:r.name?.text||"",fnNode:r,deps:Ke(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:Qe(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)||!Be(o.text))return null;let a=t.getTypeAtLocation(o).getCallSignatures();if(a.length>0&&a[0].getParameters().length>0)return{name:"",fnNode:o,deps:Ke(e,t,o)}}return null}async function en(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&&oo.has(a))return;let s=e.normalize(i.fileName);if(s===e.nextConfigPath||s===e.registryPath||s===e.builderComponentPath)return;let l=await ae(e,o,s,i);r.push(...l)})),r.sort((i,a)=>i.cmpInfo.name.localeCompare(a.cmpInfo.name))}var oo=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 Se(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,[...mt(e,r),...mt(e,n),...mt(e,o),...i])}function ee(e){let t=e.split(`
|
|
23
23
|
`).map(n=>n.trimEnd());e="";let r=!1;for(let n=t.length-1;n>=0;n--){let o=t[n];!r&&o.startsWith("import ")&&(r=!0,o=o+`
|
|
24
24
|
`),/^builder.init(.*)$/.test(o)&&(o=o+`
|
|
25
25
|
`),t[n-1]&&!t[n-1].includes("*/")&&(o.trim().startsWith("Builder.registerComponent")&&(o=`
|
|
@@ -28,8 +28,8 @@ ${r}=${n}
|
|
|
28
28
|
`+o),o.trim().startsWith("export ")&&(o=`
|
|
29
29
|
`+o)),e=o+`
|
|
30
30
|
`+e}return e.trim()+`
|
|
31
|
-
`}function
|
|
32
|
-
${e}`),e}function rn(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 Je(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=tn(e,r),i=tn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function tn(e,t){let r=t.properties.find(n=>D(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?oo(e,t):{components:[],sourceFile:E(e,"")}}async function oo(e,t){let r=E(e,t);return io(e,r)}async function io(e,t){let r=[];for(let n=0;n<t.statements.length;n++){let o=t.statements[n];if(!e.ts.isExpressionStatement(o))continue;let i=o.expression;if(!e.ts.isCallExpression(i))continue;let a=i.expression;if(!e.ts.isPropertyAccessExpression(a))continue;let s=a.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||a.name.text!=="registerComponent")continue;let m=i.arguments;if(m.length<2)continue;let d=m[1];if(!e.ts.isObjectLiteralExpression(d))continue;let f=m[0];if(e.ts.isCallExpression(f)){if((e.ts.isIdentifier(f.expression)&&f.expression.text)==="withChildren"){let h=f.arguments[0];if(e.ts.isCallExpression(h)){let u=await on(e,n,h,d,!0);u&&r.push(u)}else{let u=f.arguments[0];if(e.ts.isIdentifier(u)){let g=await an(e,t,n,u,d,!0);g&&r.push(g)}}continue}let p=await on(e,n,f,d,!1);p&&r.push(p);continue}if(e.ts.isIdentifier(f)){let c=await an(e,t,n,f,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:Y(r)}}async function on(e,t,r,n,o){let i={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",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 f=d.text;i.filePath=await We(e,f),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.name=H(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let m=l.expression;if(!e.ts.isParenthesizedExpression(m))return null;let d=m.expression;if(!e.ts.isAwaitExpression(d))return null;let f=d.expression;if(!e.ts.isCallExpression(f)||f.expression.kind!==e.ts.SyntaxKind.ImportKeyword||f.arguments.length!==1)return null;let p=f.arguments[0];if(!e.ts.isStringLiteral(p)||!e.ts.isIdentifier(l.name))return null;let h=p.text;i.filePath=await We(e,h),i.relFilePath=e.relative(e.getRootDir(),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=re(e,i,n),i.displayFilePath=N(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function an(e,t,r,n,o,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",inputs:[],nodeIndex:r,acceptsChildren:i},s=t.statements.filter(m=>e.ts.isImportDeclaration(m)),l=s.find(m=>m.importClause&&m.importClause.name?.text===n.text);if(l){let m=l.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;a.filePath=await We(e,m.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.name=H(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let m=s.find(f=>!f.importClause||!f.importClause.namedBindings||!e.ts.isNamedImports(f.importClause.namedBindings)?!1:f.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!m)return null;let d=m.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await We(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=re(e,a,o),a.displayFilePath=N(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function We(e,t){return ut(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function ln(e,t,r){let n=!1,o=0,i=[...t.statements];for(let m=0;m<i.length;m++){let d=i[m];if(e.ts.isImportDeclaration(d)){o=m;continue}if(!e.ts.isExpressionStatement(d))continue;let f=d.expression;if(!e.ts.isCallExpression(f))continue;let c=f.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let p=c.expression;if(!e.ts.isIdentifier(p)||p.text!=="builder")continue;if(c.name.text=="init"){n=!0;break}else continue}if(n)return t;let a=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(ne)),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 Se(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 m=l.length-1;m>=0;m--){let d=l[m];if(e.ts.isImportSpecifier(d)){let f=d.name;if(f&&e.ts.isIdentifier(f)){let c=f.text;cn(e,t,c)||l.splice(m,1)}}}if(l.length===0)a=!0;else if(s.elements.length!==l.length){let m=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(l)),d=e.ts.factory.updateImportDeclaration(i,void 0,m,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;cn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function cn(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 Ce(e,t,r,n,o,i,a){let s=null,l=null,m=null,d=-1;t=B(t),r=B(r);let f=t.find(p=>p.id===e),c=r.find(p=>p.id===e);if(n)c||(s={...B(f),inputs:B(f.inputs).map(p=>(p.isRegistered=!0,p))},d=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)d=c.nodeIndex,l=B(c),r=r.filter(p=>p.id!==e);else if(i!=null)ao(c,i),d=c.nodeIndex,m=c;else if(a!=null){let p=c.inputs.find(h=>h.name===a.name);p&&(a.registerInput===!1?p.isRegistered=!1:(so(p,a),p.isRegistered=!0),m=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:m,nodeIndex:d,components:ae(t,r)}}function ae(e,t){let r=Y([...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(st),n.inputs.sort((o,i)=>o.name.toLowerCase().localeCompare(i.name.toLowerCase()))}),r}function ao(e,t){L(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),L(t.description)?e.description=t.description:t.description===null&&delete e.description,L(t.image)?e.image=t.image:t.image===null&&delete e.image}function so(e,t){L(t.type)&&(e.type=t.type),L(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,L(t.defaultValue)||De(t.defaultValue)||ge(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,L(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 He(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 U(e,t,r,n,o,i,a,s){let l=await He(e),[m,d,f,c]=await Promise.all([Zt(e,l),sn(e),mt(e),Te(e)]),p=m.map(C=>C.cmpInfo),h=d.components,u={components:ae(p,h),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:xe(p),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return u.components=await Qe(e,u.components),u;let g=!1,x=d.sourceFile,S=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(S.length>0){let C=S.map(w=>{let P=m.find(O=>O.cmpInfo.id===w);if(!P)throw new Error(`Component ${w} not found`);return P}),b=Array.from(new Set(C.map(w=>w.cmpInfo.filePath))),y=await $(e,b);for(let w of C){let P=u.components.find(k=>k.id===w.cmpInfo.id),O=await qe(e,w,y);oe(P,O);let R=p.findIndex(k=>k.id===w.cmpInfo.id);p[R].inputs=O;let T=Ce(w.cmpInfo.id,p,h,r,n,o,i),F=[...x.statements];if(T.addCmpToRegistry?(F.push(Jt(e,T.addCmpToRegistry)),g=!0):T.removeCmpFromRegistry?(F.splice(T.nodeIndex,1),g=!0):T.updateRegisteredCmp&&(F[T.nodeIndex]=lt(e,F[T.nodeIndex],T.updateRegisteredCmp),g=!0),g&&a){if(x=e.ts.factory.updateSourceFile(x,F),x=v(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=ln(e,x,f),e.appDir){let k=T.addCmpToRegistry||T.updateRegisteredCmp;if(k){let pe=A(e,e.registryPath,k.filePath);k.exportType==="default"?x=v(e,x,{defaultImport:k.importName,importPath:pe}):k.exportType==="named"&&(x=v(e,x,{namedImports:[k.importName],importPath:pe}))}}else x=v(e,x,{defaultImport:"dynamic",importPath:"next/dynamic"});P?.acceptsChildren&&(x=v(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),u.components=T.components,h=T.components.filter(k=>k.isRegistered)}}}if(g&&a){x=Se(e,x),x=he(e,x),e.appDir&&(x=rn(e,x));let C=I(e,x);C=Z(C),e.appDir&&(C=nn(C)),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return u}async function pn(e){let t=[],r=await mo(e,t);return await xo(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await co(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await uo(e,e.pagesDir,t)),t}async function un(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await lo(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await fo(e,e.pagesDir,t)),t}async function lo(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,fn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function co(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,fn({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,po(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function po(e){let t=e.typescriptEnabled;return`
|
|
31
|
+
`}function mt(e,t){return t.sort((r,n)=>{let o=tn(e,r),i=tn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())})}function tn(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 rn(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
|
|
32
|
+
${e}`),e}function on(e,t){let r=t.statements.filter(n=>!(e.ts.isExpressionStatement(n)&&e.ts.isStringLiteral(n.expression)&&e.ts.isStringLiteral(n.expression)&&n.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,r)}function We(e,t){return t.sort((r,n)=>{if(e.ts.isObjectLiteralExpression(r)&&e.ts.isObjectLiteralExpression(n)){let o=nn(e,r),i=nn(e,n);return o.toLocaleLowerCase().localeCompare(i.toLocaleLowerCase())}return 1})}function nn(e,t){let r=t.properties.find(n=>D(e,n)==="name");return r&&e.ts.isPropertyAssignment(r)&&e.ts.isStringLiteral(r.initializer)?r.initializer.text:"zzzz"}async function ln(e){let t=await e.readFile(e.registryPath);return t?io(e,t):{components:[],sourceFile:E(e,"")}}async function io(e,t){let r=E(e,t);return ao(e,r)}async function ao(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 m=i.arguments;if(m.length<2)continue;let d=m[1];if(!e.ts.isObjectLiteralExpression(d))continue;let p=m[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 an(e,n,h,d,!0);f&&r.push(f)}else{let f=p.arguments[0];if(e.ts.isIdentifier(f)){let g=await sn(e,t,n,f,d,!0);g&&r.push(g)}}continue}let u=await an(e,n,p,d,!1);u&&r.push(u);continue}if(e.ts.isIdentifier(p)){let c=await sn(e,t,n,p,d,!1);c&&r.push(c);continue}}return{sourceFile:t,components:G(r)}}async function an(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 He(e,p),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=B(e,i.filePath),i.name=Y(e,i.filePath),i.importName="default",i.exportName="default",i.exportType="default"}else if(e.ts.isPropertyAccessExpression(l)){let m=l.expression;if(!e.ts.isParenthesizedExpression(m))return null;let d=m.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 u=p.arguments[0];if(!e.ts.isStringLiteral(u)||!e.ts.isIdentifier(l.name))return null;let h=u.text;i.filePath=await He(e,h),i.relFilePath=e.relative(e.getRootDir(),i.filePath),i.importPath=B(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=oe(e,i,n),i.displayFilePath=N(e,i.filePath),i.filePath&&i.exportName&&(i.id=await _(e,i.filePath,i.exportName)),i}async function sn(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(m=>e.ts.isImportDeclaration(m)),l=s.find(m=>m.importClause&&m.importClause.name?.text===n.text);if(l){let m=l.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;a.filePath=await He(e,m.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=B(e,a.filePath),a.name=Y(e,a.filePath),a.importName=n.text,a.exportName="default",a.exportType="default"}else{let m=s.find(p=>!p.importClause||!p.importClause.namedBindings||!e.ts.isNamedImports(p.importClause.namedBindings)?!1:p.importClause.namedBindings.elements.some(c=>c.name.text===n.text));if(!m)return null;let d=m.moduleSpecifier;if(!e.ts.isStringLiteral(d))return null;a.filePath=await He(e,d.text),a.relFilePath=e.relative(e.getRootDir(),a.filePath),a.importPath=B(e,a.filePath),a.name=j(n.text),a.importName=n.text,a.exportName=n.text,a.exportType="named"}return a=oe(e,a,o),a.displayFilePath=N(e,a.filePath),a.filePath&&a.exportName&&(a.id=await _(e,a.filePath,a.exportName)),a}function He(e,t){return ft(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function cn(e,t,r){let n=!1,o=0,i=[...t.statements];for(let m=0;m<i.length;m++){let d=i[m];if(e.ts.isImportDeclaration(d)){o=m;continue}if(!e.ts.isExpressionStatement(d))continue;let p=d.expression;if(!e.ts.isCallExpression(p))continue;let c=p.expression;if(!e.ts.isPropertyAccessExpression(c))continue;let u=c.expression;if(!e.ts.isIdentifier(u)||u.text!=="builder")continue;if(c.name.text=="init"){n=!0;break}else continue}if(n)return t;let a=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(re)),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 Ce(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 m=l.length-1;m>=0;m--){let d=l[m];if(e.ts.isImportSpecifier(d)){let p=d.name;if(p&&e.ts.isIdentifier(p)){let c=p.text;pn(e,t,c)||l.splice(m,1)}}}if(l.length===0)a=!0;else if(s.elements.length!==l.length){let m=e.ts.factory.updateImportClause(i.importClause,!1,i.importClause.name,e.ts.factory.createNamedImports(l)),d=e.ts.factory.updateImportDeclaration(i,void 0,m,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;pn(e,t,l)||(a=!0)}a&&(r.splice(o,1),n=!0)}}return n?e.ts.factory.updateSourceFile(t,r):t}function pn(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 we(e,t,r,n,o,i,a){let s=null,l=null,m=null,d=-1;t=V(t),r=V(r);let p=t.find(u=>u.id===e),c=r.find(u=>u.id===e);if(n)c||(s={...V(p),inputs:V(p.inputs).map(u=>(u.isRegistered=!0,u))},d=r.length,r.push(s));else if(typeof c?.nodeIndex=="number"&&c.nodeIndex>-1){if(o)d=c.nodeIndex,l=V(c),r=r.filter(u=>u.id!==e);else if(i!=null)so(c,i),d=c.nodeIndex,m=c;else if(a!=null){let u=c.inputs.find(h=>h.name===a.name);u&&(a.registerInput===!1?u.isRegistered=!1:(lo(u,a),u.isRegistered=!0),m=c,d=c.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:l,updateRegisteredCmp:m,nodeIndex:d,components:se(t,r)}}function se(e,t){let r=G([...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(lt),n.inputs.sort((o,i)=>o.name.toLowerCase().localeCompare(i.name.toLowerCase()))}),r}function so(e,t){L(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),L(t.description)?e.description=t.description:t.description===null&&delete e.description,L(t.image)?e.image=t.image:t.image===null&&delete e.image}function lo(e,t){L(t.type)&&(e.type=t.type),L(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,L(t.defaultValue)||ve(t.defaultValue)||xe(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,L(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 Ye(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 U(e,[...t])}async function M(e,t,r,n,o,i,a,s){let l=await Ye(e),[m,d,p,c]=await Promise.all([en(e,l),ln(e),dt(e),Ee(e)]),u=m.map(C=>C.cmpInfo),h=d.components,f={components:se(u,h),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:he(u),publicApiKey:c.envValue??void 0,devToolsVersion:e.version};if(s)return f.components=await qe(e,f.components),f;let g=!1,x=d.sourceFile,S=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(S.length>0){let C=S.map(w=>{let b=m.find(O=>O.cmpInfo.id===w);if(!b)throw new Error(`Component ${w} not found`);return b}),P=Array.from(new Set(C.map(w=>w.cmpInfo.filePath))),T=await U(e,P);for(let w of C){let b=f.components.find(k=>k.id===w.cmpInfo.id),O=await Je(e,w,T);ie(b,O);let R=u.findIndex(k=>k.id===w.cmpInfo.id);u[R].inputs=O;let y=we(w.cmpInfo.id,u,h,r,n,o,i),F=[...x.statements];if(y.addCmpToRegistry?(F.push(Wt(e,y.addCmpToRegistry)),g=!0):y.removeCmpFromRegistry?(F.splice(y.nodeIndex,1),g=!0):y.updateRegisteredCmp&&(F[y.nodeIndex]=ct(e,F[y.nodeIndex],y.updateRegisteredCmp),g=!0),g&&a){if(x=e.ts.factory.updateSourceFile(x,F),x=v(e,x,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),x=cn(e,x,p),e.appDir){let k=y.addCmpToRegistry||y.updateRegisteredCmp;if(k){let ue=A(e,e.registryPath,k.filePath);k.exportType==="default"?x=v(e,x,{defaultImport:k.importName,importPath:ue}):k.exportType==="named"&&(x=v(e,x,{namedImports:[k.importName],importPath:ue}))}}else x=v(e,x,{defaultImport:"dynamic",importPath:"next/dynamic"});b?.acceptsChildren&&(x=v(e,x,{namedImports:["withChildren"],importPath:"@builder.io/react"})),f.components=y.components,h=y.components.filter(k=>k.isRegistered)}}}if(g&&a){x=Ce(e,x),x=Se(e,x),e.appDir&&(x=on(e,x));let C=I(e,x);C=ee(C),e.appDir&&(C=rn(C)),C=await e.formatCode(e.registryPath,C),await e.writeFile(e.registryPath,C)}return f}async function un(e){let t=[],r=await go(e,t);return await ho(e,r,t),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await po(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await fo(e,e.pagesDir,t)),t}async function fn(e){let t=[];return e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await co(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await mo(e,e.pagesDir,t)),t}async function co(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,mn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function po(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,mn({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,uo(e));await e.writeFile(e.builderComponentPath,i),r.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function uo(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.${re}${t?"!":""});
|
|
44
44
|
|
|
45
45
|
export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
|
|
46
46
|
// Call the useIsPreviewing hook to determine if
|
|
@@ -56,12 +56,12 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
|
|
|
56
56
|
// DefaultErrorPage with a 404.
|
|
57
57
|
return <DefaultErrorPage statusCode={404} />;
|
|
58
58
|
}
|
|
59
|
-
`.trimStart()}function
|
|
59
|
+
`.trimStart()}function mn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled,o=A(e,t,e.builderComponentPath);return`
|
|
60
60
|
import { builder } from "@builder.io/sdk";
|
|
61
61
|
import { RenderBuilderContent } from ${JSON.stringify(o)};
|
|
62
62
|
|
|
63
63
|
// Builder Public API Key set in .env file
|
|
64
|
-
builder.init(process.env.${
|
|
64
|
+
builder.init(process.env.${re}${n?"!":""});
|
|
65
65
|
${n?`
|
|
66
66
|
interface PageProps {
|
|
67
67
|
params: {
|
|
@@ -90,7 +90,7 @@ export default async function Page(props${n?": PageProps":""}) {
|
|
|
90
90
|
</>
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
|
-
`.trimStart()}async function
|
|
93
|
+
`.trimStart()}async function fo(e,t,r){let n=`[...page].${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,dn({sys:e,routePath:o,modelName:"page"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}async function mo(e,t,r){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,o=e.join(t,n);if(!await e.exists(o)){let i=await e.formatCode(o,dn({sys:e,routePath:o,modelName:"figma-imports"}));await e.writeFile(o,i),r.push({filePath:o,modifiedType:"create"})}}function dn({sys:e,routePath:t,modelName:r}){let n=e.typescriptEnabled;return`
|
|
94
94
|
import React from "react";
|
|
95
95
|
import { useRouter } from "next/router";
|
|
96
96
|
import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
|
|
@@ -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.${re}${n?"!":""});
|
|
104
104
|
|
|
105
105
|
// Define a function that fetches the Builder
|
|
106
106
|
// content for a given page
|
|
@@ -164,7 +164,7 @@ export default function Page({ page }${n?": { page: BuilderContent | null }":""}
|
|
|
164
164
|
</>
|
|
165
165
|
);
|
|
166
166
|
}
|
|
167
|
-
`.trimStart()}async function
|
|
167
|
+
`.trimStart()}async function go(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=xo(e);if(!await e.exists(i)){let m=await e.formatCode(i,s);await e.writeFile(i,m),t.push({filePath:i,modifiedType:"create"})}return await e.exists(a)||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function xo(e){let t=e.typescriptEnabled,r=`
|
|
168
168
|
"use client"
|
|
169
169
|
import React, { useState } from "react";
|
|
170
170
|
import styles from "./styles.module.css";
|
|
@@ -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
|
|
230
|
+
`.trimStart();return{component:r,styles:n}}async function ho(e,t,r){await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,""),r.push({filePath:e.registryPath,modifiedType:"create"}));let o=(await M(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);o&&await M(e,o.id,!0,!1,null,null,!0,!1)}async function gn(e){let t=await So(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>un(t),ensureFigmaImportPage:()=>fn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>M(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await M(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>M(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>M(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>M(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>M(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ee(t),setPublicApiKey:n=>$t(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>fe(t),setCache:n=>me(t,n)}}async function So(e){let t=e.getRootDir(),r=e.join(t,"src"),n=await Co(e),o=await dt(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 dt(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Co(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 Fe(e){return await de(e,[".env"],hn)}async function xn(e,t){wo(t);let r=await Fe(e),n=await ge(e,r.file,r.envKey,t);return{...r,modifiedType:n}}function wo(e){typeof process<"u"&&(process.env[hn]=e)}var hn="PUBLIC_BUILDER_API_KEY";function Sn(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
|
|
232
|
+
`)}function Ge(e,t,r){return ut(e,t,r.variableName)?t:To(e,t,r)}function To(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),m=[...t.statements,l];return e.ts.factory.updateSourceFile(t,m)}async function wn(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(".")||Do.has(a))return;let s=e.normalize(i.fileName);if(s===e.registryPath)return;let l=await Xe(e,o,s,i);r.push(...l)})),r}async function Tn(e,t){if(e.extname(t).toLowerCase()===".tsx"){let n=await e.readFile(t);if(n)return yo(e,t,n)}return null}function yo(e,t,r){let n=E(e,r);return Xe(e,null,t,n)}async function Xe(e,t,r,n){r=e.normalize(r);let o=[],i=$(e,n);return await Promise.all(i.map(async a=>{let s=await Eo(e,t,r,a);s&&o.push(s)})),o}async function Eo(e,t,r,n){let o=e.relative(e.getRootDir(),r),i=B(e,r);if(e.ts.isVariableStatement(n.node))for(let a of n.node.declarationList.declarations){let s=Cn(e,a.initializer);if(s&&e.ts.isIdentifier(a.name)){let l=a.name.text;return{cmpInfo:{id:await _(e,r,l),displayFilePath:N(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=Cn(e,n.node);if(a)return{cmpInfo:{id:await _(e,r,"default"),displayFilePath:N(e,r),name:Y(e,r),inputs:[],exportName:"default",exportType:"default",importName:De(e,r),filePath:r,relFilePath:o,importPath:i},node:a}}return null}function Cn(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 Do=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function yn(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 ze(e,t.cmpInfo.filePath,null);if(!(await Xe(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 Ne(e,i,r)}return[]}async function En(e){return gt(e)}async function gt(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,vo),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var vo=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
|
|
233
233
|
|
|
234
234
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
235
235
|
];
|
|
236
|
-
`;async function En(e){await dt(e);let t=await e.readFile(e.registryPath);return t?vo(e,t):{components:[],sourceFile:E(e,"")}}async function vo(e,t){let r=E(e,t);return bo(e,r)}async function bo(e,t){let r=[],n=X(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await gt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Y(r)}}async function gt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",inputs:[]};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(D(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.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await wn(e,s.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let m=l.find(d=>d.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}continue}}return n=re(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function Dn(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 Dn(e),[m,d,f]=await Promise.all([Cn(e,l),En(e),Re(e)]),c=m.map(u=>u.cmpInfo),p=d.components,h={components:ae(c,p),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:xe(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let u=m.find(T=>T.cmpInfo.id===t);if(!u)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(T=>T.id===t),S=await yn(e,u);oe(x,S),t=Array.isArray(t)?t[0]:t;let C=Ce(t,c,p,r,n,o,i),{elements:b,elmIndex:y,statementIndex:w,statement:P,variableDeclaration:O}=await Io(e,g,u),R=!1;if(C.addCmpToRegistry?(b.push(Po(e,C.addCmpToRegistry)),R=!0):C.removeCmpFromRegistry?(b.splice(y,1),R=!0):C.updateRegisteredCmp&&(b[y]=G(e,b[y],C.updateRegisteredCmp),R=!0),R&&a){let T=[...g.statements];T[w]=e.ts.factory.updateVariableStatement(P,P.modifiers,e.ts.factory.updateVariableDeclarationList(P.declarationList,[e.ts.factory.updateVariableDeclaration(O,O.name,O.exclamationToken,O.type,e.ts.factory.createArrayLiteralExpression(Je(e,b)))])),g=e.ts.factory.updateSourceFile(g,T),x.exportType==="named"?g=v(e,g,{namedImports:[x.importName],importPath:A(e,e.registryPath,x.filePath)}):g=v(e,g,{defaultImport:x.importName,importPath:A(e,e.registryPath,x.filePath)}),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=Ye(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=Se(e,g),g=he(e,g);let F=I(e,g);F=Z(F),F=hn(F,No,"CUSTOM_COMPONENTS"),F=await e.formatCode(e.registryPath,F),await e.writeFile(e.registryPath,F)}h.components=C.components}return h}function Po(e,t){return G(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function Io(e,t,r){let n=X(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 gt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var No=["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 vn(e){let t=await Ro(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Tn(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:()=>Re(t),setPublicApiKey:n=>gn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>ue(t),setCache:n=>fe(t,n)}}async function Ro(e){let t=await ye(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 Fe(e){return await me(e,[".env"],Ae)}async function bn(e,t){let r=await Fe(e),n=await de(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Ae="PUBLIC_BUILDER_KEY";async function Pn(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"||Fo.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let m=await ie(e,o,l,a);r.push(...m)})),r}var Fo=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function In(e){await ht(e);let t=await e.readFile(e.registryPath);return t?Ao(e,t):{components:[],sourceFile:E(e,"")}}async function Ao(e,t){let r=E(e,t);return Lo(e,r)}async function Lo(e,t){let r=[],n=X(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await xt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:Y(r)}}async function xt(e,t,r){if(!e.ts.isObjectLiteralExpression(r))return null;let n={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",inputs:[],acceptsChildren:!1};for(let o of r.properties){if(!e.ts.isPropertyAssignment(o)||!e.ts.isIdentifier(o.name))continue;if(D(e,o)==="component"){let a,{initializer:s}=o;if(e.ts.isIdentifier(s))a=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(n.acceptsChildren=!0);let f=s.arguments[0];e.ts.isIdentifier(f)&&(a=f.text)}if(!a)continue;n.name===""&&(n.name=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.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let m=await Xt(e,l.filePath);if(m&&m.length>0)if(m.length===1)n.exportName=m[0].cmpInfo.exportName;else{let d=m.find(f=>f.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=re(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function M(e,t,r,n,o,i,a,s){let l=await He(e),[m,d,f]=await Promise.all([Pn(e,l),In(e),Fe(e)]),c=m.map(S=>S.cmpInfo),p=d.components,h={components:ae(c,p),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:xe(c),publicApiKey:f.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await Qe(e,h.components),h;let u=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let S=x.map(y=>{let w=m.find(P=>P.cmpInfo.id===y);if(!w)throw new Error(`Component ${y} not found`);return w}),C=Array.from(new Set(S.map(y=>y.cmpInfo.filePath))),b=await $(e,C);for(let y of S){let w=h.components.find(K=>K.id===y.cmpInfo.id),P=await qe(e,y,b);oe(w,P);let O=c.findIndex(K=>K.id===y.cmpInfo.id);c[O].inputs=P;let R=Ce(y.cmpInfo.id,c,p,r,n,o,i),{elements:T,elmIndex:F,statementIndex:k,statement:pe,variableDeclaration:je}=await ko(e,g,y);if(R.addCmpToRegistry)T.push(Oo(e,R.addCmpToRegistry)),u=!0;else if(R.removeCmpFromRegistry)T.splice(F,1),u=!0;else if(R.updateRegisteredCmp){let K=G(e,T[F],R.updateRegisteredCmp);T[F]=e.ts.factory.updateObjectLiteralExpression(K,[Nn(e,R.updateRegisteredCmp),...K.properties.slice(1)]),u=!0}if(u&&a){let K=[...g.statements];K[k]=e.ts.factory.updateVariableStatement(pe,pe.modifiers,e.ts.factory.updateVariableDeclarationList(pe.declarationList,[e.ts.factory.updateVariableDeclaration(je,je.name,je.exclamationToken,je.type,e.ts.factory.createArrayLiteralExpression(Je(e,T)))])),g=e.ts.factory.updateSourceFile(g,K),w.exportType==="named"?g=v(e,g,{namedImports:[w.importName],importPath:A(e,e.registryPath,w.filePath)}):g=v(e,g,{defaultImport:w.importName,importPath:A(e,e.registryPath,w.filePath)}),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),w.acceptsChildren&&(g=v(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=Ye(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=R.components,p=R.components.filter(cr=>cr.isRegistered)}}}if(u&&a){g=Se(e,g),g=he(e,g);let S=I(e,g);S=Z(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return h}function Nn(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 Oo(e,t){return G(e,e.ts.factory.createObjectLiteralExpression([Nn(e,t)],!0),t)}async function ko(e,t,r){let n=X(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 xt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Rn(e){let t=[],r=await Bo(e,t);return t.push(...await ht(e)),await $o(e,r),await _o(e,t),t}async function Fn(e){let t=[];return await jo(e,t),t}async function jo(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,An({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function _o(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,An({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function An({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.${Ae}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Ae}`),n&&(s+="!"),`
|
|
236
|
+
`;async function Dn(e){await gt(e);let t=await e.readFile(e.registryPath);return t?Po(e,t):{components:[],sourceFile:E(e,"")}}async function Po(e,t){let r=E(e,t);return bo(e,r)}async function bo(e,t){let r=[],n=Z(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await xt(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:G(r)}}async function xt(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(D(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 Ue(e,e.registryPath,t,a);if(!s)continue;n.filePath=s.filePath,n.relFilePath=s.relFilePath,n.importPath=B(e,s.filePath),n.displayFilePath=s.displayFilePath,n.exportType=s.exportType;let l=await Tn(e,s.filePath);if(l&&l.length>0)if(l.length===1)n.exportName=l[0].cmpInfo.exportName;else{let m=l.find(d=>d.cmpInfo.exportName===a);m&&(n.exportName=m.cmpInfo.exportName)}continue}}return n=oe(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function vn(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 U(e,[...t])}async function le(e,t,r,n,o,i,a,s){let l=await vn(e),[m,d,p]=await Promise.all([wn(e,l),Dn(e),Fe(e)]),c=m.map(f=>f.cmpInfo),u=d.components,h={components:se(c,u),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:he(c),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h;if(t!=null){let f=m.find(y=>y.cmpInfo.id===t);if(!f)throw new Error(`Component ${t} not found`);let g=d.sourceFile,x=h.components.find(y=>y.id===t),S=await yn(e,f);ie(x,S),t=Array.isArray(t)?t[0]:t;let C=we(t,c,u,r,n,o,i),{elements:P,elmIndex:T,statementIndex:w,statement:b,variableDeclaration:O}=await No(e,g,f),R=!1;if(C.addCmpToRegistry?(P.push(Io(e,C.addCmpToRegistry)),R=!0):C.removeCmpFromRegistry?(P.splice(T,1),R=!0):C.updateRegisteredCmp&&(P[T]=X(e,P[T],C.updateRegisteredCmp),R=!0),R&&a){let y=[...g.statements];y[w]=e.ts.factory.updateVariableStatement(b,b.modifiers,e.ts.factory.updateVariableDeclarationList(b.declarationList,[e.ts.factory.updateVariableDeclaration(O,O.name,O.exclamationToken,O.type,e.ts.factory.createArrayLiteralExpression(We(e,P)))])),g=e.ts.factory.updateSourceFile(g,y),x.exportType==="named"?g=v(e,g,{namedImports:[x.importName],importPath:A(e,e.registryPath,x.filePath)}):g=v(e,g,{defaultImport:x.importName,importPath:A(e,e.registryPath,x.filePath)}),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),g=Ge(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g=Ce(e,g),g=Se(e,g);let F=I(e,g);F=ee(F),F=Sn(F,Ro,"CUSTOM_COMPONENTS"),F=await e.formatCode(e.registryPath,F),await e.writeFile(e.registryPath,F)}h.components=C.components}return h}function Io(e,t){return X(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function No(e,t,r){let n=Z(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 xt(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}var Ro=["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 Pn(e){let t=await Fo(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>En(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:n=>le(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await le(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>le(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>le(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>le(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>le(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Fe(t),setPublicApiKey:n=>xn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>fe(t),setCache:n=>me(t,n)}}async function Fo(e){let t=await ye(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 Ae(e){return await de(e,[".env"],Le)}async function bn(e,t){let r=await Ae(e),n=await ge(e,r.file,r.envKey,t);return{...r,modifiedType:n}}var Le="PUBLIC_BUILDER_KEY";async function In(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"||Ao.has(s)||s.includes("$."))return;let l=e.normalize(a.fileName);if(l===e.remixConfigPath||l===e.registryPath||l===i)return;let m=await ae(e,o,l,a);r.push(...m)})),r}var Ao=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Nn(e){await St(e);let t=await e.readFile(e.registryPath);return t?Lo(e,t):{components:[],sourceFile:E(e,"")}}async function Lo(e,t){let r=E(e,t);return Oo(e,r)}async function Oo(e,t){let r=[],n=Z(e,t,"CUSTOM_COMPONENTS");return n&&await Promise.all(n.arrayLiteralExp.elements.map(async(o,i)=>{let a=await ht(e,t,o);a&&(a.nodeIndex=i,r.push(a))})),{sourceFile:t,components:G(r)}}async function ht(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(D(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 Ue(e,e.registryPath,t,a);if(!l)continue;n.filePath=l.filePath,n.relFilePath=l.relFilePath,n.importPath=B(e,l.filePath),n.displayFilePath=l.displayFilePath,n.exportType=l.exportType;let m=await Zt(e,l.filePath);if(m&&m.length>0)if(m.length===1)n.exportName=m[0].cmpInfo.exportName;else{let d=m.find(p=>p.cmpInfo.exportName===a);d&&(n.exportName=d.cmpInfo.exportName)}continue}}return n=oe(e,n,r),n.filePath&&n.exportName&&(n.id=await _(e,n.filePath,n.exportName)),n}async function K(e,t,r,n,o,i,a,s){let l=await Ye(e),[m,d,p]=await Promise.all([In(e,l),Nn(e),Ae(e)]),c=m.map(S=>S.cmpInfo),u=d.components,h={components:se(c,u),registryPath:e.registryPath,registryDisplayPath:N(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:he(c),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return h.components=await qe(e,h.components),h;let f=!1,g=d.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let S=x.map(T=>{let w=m.find(b=>b.cmpInfo.id===T);if(!w)throw new Error(`Component ${T} not found`);return w}),C=Array.from(new Set(S.map(T=>T.cmpInfo.filePath))),P=await U(e,C);for(let T of S){let w=h.components.find(Q=>Q.id===T.cmpInfo.id),b=await Je(e,T,P);ie(w,b);let O=c.findIndex(Q=>Q.id===T.cmpInfo.id);c[O].inputs=b;let R=we(T.cmpInfo.id,c,u,r,n,o,i),{elements:y,elmIndex:F,statementIndex:k,statement:ue,variableDeclaration:_e}=await jo(e,g,T);if(R.addCmpToRegistry)y.push(ko(e,R.addCmpToRegistry)),f=!0;else if(R.removeCmpFromRegistry)y.splice(F,1),f=!0;else if(R.updateRegisteredCmp){let Q=X(e,y[F],R.updateRegisteredCmp);y[F]=e.ts.factory.updateObjectLiteralExpression(Q,[Rn(e,R.updateRegisteredCmp),...Q.properties.slice(1)]),f=!0}if(f&&a){let Q=[...g.statements];Q[k]=e.ts.factory.updateVariableStatement(ue,ue.modifiers,e.ts.factory.updateVariableDeclarationList(ue.declarationList,[e.ts.factory.updateVariableDeclaration(_e,_e.name,_e.exclamationToken,_e.type,e.ts.factory.createArrayLiteralExpression(We(e,y)))])),g=e.ts.factory.updateSourceFile(g,Q),w.exportType==="named"?g=v(e,g,{namedImports:[w.importName],importPath:A(e,e.registryPath,w.filePath)}):g=v(e,g,{defaultImport:w.importName,importPath:A(e,e.registryPath,w.filePath)}),g=v(e,g,{namedImports:["RegisteredComponent"],importPath:"@builder.io/react",isTypeOnly:!0}),w.acceptsChildren&&(g=v(e,g,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g=Ge(e,g,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),h.components=R.components,u=R.components.filter(pr=>pr.isRegistered)}}}if(f&&a){g=Ce(e,g),g=Se(e,g);let S=I(e,g);S=ee(S),S=await e.formatCode(e.registryPath,S),await e.writeFile(e.registryPath,S)}return h}function Rn(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 ko(e,t){return X(e,e.ts.factory.createObjectLiteralExpression([Rn(e,t)],!0),t)}async function jo(e,t,r){let n=Z(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 ht(e,t,o[a]))?.id===r.cmpInfo.id){i=a;break}return{...n,elements:o,elmIndex:i}}async function Fn(e){let t=[],r=await Vo(e,t);return t.push(...await St(e)),await zo(e,r),await Bo(e,t),t}async function An(e){let t=[];return await _o(e,t),t}async function _o(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,Ln({sys:e,routePath:n,modelName:"figma-imports"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}async function Bo(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,Ln({sys:e,routePath:n,modelName:"page"}));await e.writeFile(n,i),t.push({filePath:n,modifiedType:o?"update":"create"})}function Ln({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.${Le}`;return e.getFrameworks().some(l=>l.name==="@shopify/remix-oxygen")&&(s=`context.env.${Le}`),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,11 +290,11 @@ export default function Page() {
|
|
|
290
290
|
${n?`
|
|
291
291
|
declare global {
|
|
292
292
|
interface Env {
|
|
293
|
-
${
|
|
293
|
+
${Le}: string;
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
296
|
`:""}
|
|
297
|
-
`}async function
|
|
297
|
+
`}async function Vo(e,t){let n=e.typescriptEnabled?"tsx":"jsx",o=e.join(e.componentsDir,"Counter"),i=e.join(o,`Counter.${n}`),a=e.join(o,"styles.module.css"),{component:s,styles:l}=$o(e),m=await e.exists(i);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${m}`),!m){let p=await e.formatCode(i,s);await e.writeFile(i,p),t.push({filePath:i,modifiedType:"create"})}let d=await e.exists(a);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${d}`),d||(await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})),i}function $o(e){let t=e.typescriptEnabled,r=`
|
|
298
298
|
import { useState } from "react";
|
|
299
299
|
import styles from "./styles.module.css";
|
|
300
300
|
${t?`
|
|
@@ -357,18 +357,18 @@ export default Counter;
|
|
|
357
357
|
font-size: 42px;
|
|
358
358
|
text-align: center;
|
|
359
359
|
}
|
|
360
|
-
`.trimStart();return{component:r,styles:n}}async function
|
|
360
|
+
`.trimStart();return{component:r,styles:n}}async function zo(e,t){let n=(await K(e,null,!1,!1,null,null,!1,!1)).components.find(o=>o.filePath===t);n&&await K(e,n.id,!0,!1,null,null,!0,!1)}async function St(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Uo(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Uo(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/react";
|
|
361
361
|
|
|
362
362
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
363
363
|
];`:`export const CUSTOM_COMPONENTS = [
|
|
364
364
|
];
|
|
365
|
-
`}async function Ln(e){let t=await Uo(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:()=>Rn(t),ensureFigmaImportPage:()=>Fn(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>M(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await M(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>M(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>M(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>M(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>M(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Fe(t),setPublicApiKey:n=>bn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>ue(t),setCache:n=>fe(t,n)}}async function Uo(e){let t=await Qo(e),r=await qo(e),n=e.dirname(r),o=e.join(n,"components"),i=await Mo(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 Ko(e,r)}}function Mo(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Ko(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function Qo(e){let t=["remix.config.ts","remix.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 qo(e){let t=await ye(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.`)}var rt=xr(qn(),1);async function Jn(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:z(e.relative(e.getRootDir(),i.filePath)),name:i.name,image:i.image,description:i.description,exportName:i.exportName,inputs:B(i.inputs)};return B(a)}),version:1};e.debug("exporting registry components:",n.components.length);let o=(0,rt.compress)(n);return btoa(JSON.stringify(o))}async function Wn(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,rt.decompress)(o),a=B(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=z(e.normalize(s.filePath)),m=n.components.find(f=>z(f.filePath).endsWith(l)&&f.exportName===s.exportName);if(!m){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${m.id})`,m.filePath),await t.registerComponent({cmpId:m.id});for(let f of s.inputs)e.debug(`set input (${m.id})`),await t.setRegisteredComponentInput({cmpId:m.id,name:f.name,type:f.type,required:f.required,defaultValue:f.defaultValue,friendlyName:f.friendlyName,helperText:f.helperText});e.debug(`set input (${m.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:m.id,name:s.name,image:s.image,description:s.description});a=B(d)}return a}var xi={"@builder.io/qwik-city":vn,next:dn,"@remix-run/react":Ln};async function hi(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 te(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=xi[t.name];if(r){let n=await r(e);return{...n,exportRegistry:()=>Jn(e,n),importRegistry:i=>Wn(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Hn(e){function t(f){if(typeof f!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(f))}function r(f,c){let p="",h=0,u=-1,g=0,x;for(let S=0;S<=f.length;++S){if(S<f.length)x=f.charCodeAt(S);else{if(x===47)break;x=47}if(x===47){if(!(u===S-1||g===1))if(u!==S-1&&g===2){if(p.length<2||h!==2||p.charCodeAt(p.length-1)!==46||p.charCodeAt(p.length-2)!==46){if(p.length>2){let C=p.lastIndexOf("/");if(C!==p.length-1){C===-1?(p="",h=0):(p=p.slice(0,C),h=p.length-1-p.lastIndexOf("/")),u=S,g=0;continue}}else if(p.length===2||p.length===1){p="",h=0,u=S,g=0;continue}}c&&(p.length>0?p+="/..":p="..",h=2)}else p.length>0?p+="/"+f.slice(u+1,S):p=f.slice(u+1,S),h=S-u-1;u=S,g=0}else x===46&&g!==-1?++g:g=-1}return p}let n=function(...c){let p="",h=!1;for(let u=c.length-1;u>=-1&&!h;u--){let g;u>=0?g=c[u]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(p=g+"/"+p,h=g.charCodeAt(0)===47)}return p=r(p,!h),h?p.length>0?"/"+p:"/":p.length>0?p:"."},o=function(c){if(t(c),c.length===0)return".";let p=c.charCodeAt(0)===47,h=c.charCodeAt(c.length-1)===47;return c=r(c,!p),c.length===0&&!p&&(c="."),c.length>0&&h&&(c+="/"),p?"/"+c:c};return{relative:function(c,p){if(t(c),t(p),c===p||(c=n(c),p=n(p),c===p))return"";let h=1;for(;h<c.length&&c.charCodeAt(h)===47;++h);let u=c.length,g=u-h,x=1;for(;x<p.length&&p.charCodeAt(x)===47;++x);let C=p.length-x,b=g<C?g:C,y=-1,w=0;for(;w<=b;++w){if(w===b){if(C>b){if(p.charCodeAt(x+w)===47)return p.slice(x+w+1);if(w===0)return p.slice(x+w)}else g>b&&(c.charCodeAt(h+w)===47?y=w:w===0&&(y=0));break}let O=c.charCodeAt(h+w),R=p.charCodeAt(x+w);if(O!==R)break;O===47&&(y=w)}let P="";for(w=h+y+1;w<=u;++w)(w===u||c.charCodeAt(w)===47)&&(P.length===0?P+="..":P+="/..");return P.length>0?P+p.slice(x+y):(x+=y,p.charCodeAt(x)===47&&++x,p.slice(x))},resolve:n,join:function(...c){if(c.length===0)return".";let p;for(let h=0;h<c.length;++h){let u=c[h];t(u),u.length>0&&(p===void 0?p=u:p+="/"+u)}return p===void 0?".":o(p)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,p){if(p!==void 0&&typeof p!="string")throw new TypeError('"ext" argument must be a string');t(c);let h=0,u=-1,g=!0,x;if(p!==void 0&&p.length>0&&p.length<=c.length){if(p.length===c.length&&p===c)return"";let S=p.length-1,C=-1;for(x=c.length-1;x>=0;--x){let b=c.charCodeAt(x);if(b===47){if(!g){h=x+1;break}}else C===-1&&(g=!1,C=x+1),S>=0&&(b===p.charCodeAt(S)?--S===-1&&(u=x):(S=-1,u=C))}return h===u?u=C:u===-1&&(u=c.length),c.slice(h,u)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!g){h=x+1;break}}else u===-1&&(g=!1,u=x+1);return u===-1?"":c.slice(h,u)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let p=c.charCodeAt(0),h=p===47,u=-1,g=!0;for(let x=c.length-1;x>=1;--x)if(p=c.charCodeAt(x),p===47){if(!g){u=x;break}}else g=!1;return u===-1?h?"/":".":h&&u===1?"//":c.slice(0,u)},extname:function(c){t(c);let p=-1,h=0,u=-1,g=!0,x=0;for(let S=c.length-1;S>=0;--S){let C=c.charCodeAt(S);if(C===47){if(!g){h=S+1;break}continue}u===-1&&(g=!1,u=S+1),C===46?p===-1?p=S:x!==1&&(x=1):p!==-1&&(x=-1)}return p===-1||u===-1||x===0||x===1&&p===u-1&&p===h+1?"":c.slice(p,u)}}}async function Si(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Hn({cwd:r,...e}),o=new Map,i=u=>n.normalize(n.resolve(r(),u)),a=u=>{for(let[g]of o)if((g+"/").startsWith(u))return!0;return u===t()},s=u=>(u=i(u),o.has(u)?!0:a(u)),l=u=>{u=i(u);let g=u===t()?u:u+"/",x=g.split("/").length-1,S=[];for(let[C]of o)if(C.split("/").slice(0,x).join("/")+"/"===g){let w=C.split("/")[x];w&&!S.includes(w)&&S.push(w)}return S.sort()},m=u=>{u=i(u);let g=o.get(u);return typeof g=="string"?g:null},d=u=>(u=i(u),{isFile:()=>o.has(u),isDirectory:()=>!o.has(u)&&a(u)}),f=async u=>{if(typeof crypto<"u"){let S=new TextEncoder().encode(u),C=await crypto.subtle.digest("SHA-256",S);return Array.from(new Uint8Array(C)).map(b=>b.toString(16).padStart(2,"0")).join("")}let g=0;for(let x=0;x<u.length;x++){let S=u.charCodeAt(x);g=(g<<5)-g+S,g|=0}return Number(Math.abs(g)).toString(36)},c=new Set,p={getRootDir:t,cwd:r,exists:async u=>s(u),existsSync:s,readdir:async u=>l(u),readdirSync:l,readFile:async u=>m(u),readFileSync:m,stat:async u=>d(u),statSync:d,writeFile:async(u,g)=>{u=i(u),o.set(u,g);let x={path:u,basename:n.basename(u),dirname:n.dirname(u),extname:n.extname(u)};for(let S of c)await S(x)},hash:f,getDeviceId:async()=>typeof navigator<"u"?f(navigator.userAgent):"",formatCode:async(u,g)=>g,on:(u,g)=>{u==="change"&&c.add(g)},off:(u,g)=>{u==="change"&&c.delete(g)},debug:(...u)=>{console.debug("[builder-dev-tools]",...u)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await te(p);return p.getFrameworks=()=>h,p}async function Yn(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Gn(e,n))return o;let a=V(e,n,"cjs"),s=V(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 f=d.statement;if(!e.ts.isVariableStatement(f))throw new Error(`Expected an export assignment from ${t}`);let c=d.statement;if(e.ts.isVariableStatement(c)){let p=[...c.declarationList.declarations];if(p.length!==1)throw new Error("Expected a single variable declaration");let h=p[0];if(!h.initializer)throw new Error("Expected an initializer on the declaration");let u=h.initializer;if(e.ts.isObjectLiteralExpression(u)||e.ts.isCallExpression(u)){let g="BuilderDevTools()",x=[...n.statements],S=x.indexOf(c);return x[S]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[u]))])),n=e.ts.factory.updateSourceFile(n,x),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=I(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 f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Ft(e,n);n=c.sourceFile;let p=[...n.statements],h=p.indexOf(d);return p[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,p),o.content=I(e,n),o.hasContentUpdates=!0,o}let m=l.statement;if(e.ts.isVariableStatement(m)){let d=[...m.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let p=Ft(e,n);n=p.sourceFile;let h=[...n.statements],u=h.indexOf(m);return h[u]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(p.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=I(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,f=l.statement;if(!e.ts.isExpressionStatement(f))throw new Error("Expected an expression statement for the default export");let c=f.expression;if(!e.ts.isBinaryExpression(c))throw new Error("Expected a binary expression for the default export");let h=l.node.body;if(!e.ts.isBlock(h))throw new Error("Expected a block body on the next config function");let u=[...h.statements],g=u.findIndex(y=>e.ts.isReturnStatement(y));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=u[g],S=Ft(e,n);n=S.sourceFile,u[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(S.withFnVariableName),void 0,[x.expression]));let C=[...n.statements],b=C.indexOf(f);return C[b]=e.ts.factory.updateExpressionStatement(f,e.ts.factory.updateBinaryExpression(c,c.left,c.operatorToken,e.ts.factory.updateArrowFunction(d,d.modifiers,d.typeParameters,d.parameters,d.type,d.equalsGreaterThanToken,e.ts.factory.updateBlock(h,u)))),n=e.ts.factory.updateSourceFile(n,C),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Gn(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 Ft(e,t){let r=Gn(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 er(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(tr(e,n))return o;let a=V(e,n,"cjs"),s=V(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 f=d.statement;if(!e.ts.isExportAssignment(f))throw new Error(`Expected an export assignment from ${t}`);if(e.ts.isObjectLiteralExpression(f.expression)){let c="builderDevTools()",p=Ci(e,f.expression);if(!p)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[p]),u=[...n.statements],g=u.indexOf(f);return u[g]=e.ts.factory.updateExportAssignment(f,f.modifiers,h),n=e.ts.factory.updateSourceFile(n,u),n=v(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=I(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 f=d.expression;if(!e.ts.isBinaryExpression(f))throw new Error("Expected a binary expression for the default export");let c=Xn(e,n);n=c.sourceFile;let p=[...n.statements],h=p.indexOf(d);return p[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(f,f.left,f.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[f.right]))),n=e.ts.factory.updateSourceFile(n,p),o.content=I(e,n),o.hasContentUpdates=!0,o}let m=l.statement;if(e.ts.isVariableStatement(m)){let d=[...m.declarationList.declarations];if(d.length!==1)throw new Error("Expected a single variable declaration");let f=d[0];if(!f.initializer)throw new Error("Expected an initializer on the declaration");let c=f.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let p=Xn(e,n);n=p.sourceFile;let h=[...n.statements],u=h.indexOf(m);return h[u]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(f,f.name,f.exclamationToken,f.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(p.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function tr(e,t){for(let r of t.statements)if(e.ts.isVariableStatement(r))for(let n of r.declarationList.declarations){if(!n.initializer||!e.ts.isCallExpression(n.initializer))continue;let o=n.initializer.expression;if(!e.ts.isCallExpression(o)||!e.ts.isIdentifier(o.expression)||o.expression.text!=="require")continue;let i=o.arguments[0];if(!(!i||!e.ts.isStringLiteral(i))&&i.text==="@builder.io/dev-tools/remix"&&e.ts.isIdentifier(n.name))return n.name.text}return null}function Xn(e,t){let r=tr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function Ci(e,t){let r=[...t.properties],n=r.findIndex(i=>D(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=Zn(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=Zn(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function Zn(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 rr(e,t,r){let n=E(e,r),o=V(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 m=l[0];if(e.ts.isArrowFunction(m)){let d=wi(e,m);if(!d)return s;l[0]=e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,d);let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,l)),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(m)){let d=At(e,m);if(!d)return s;let f=[...n.statements],c=f.indexOf(a);return f[c]=e.ts.factory.updateExportAssignment(a,void 0,e.ts.factory.updateCallExpression(i.node,i.node.expression,i.node.typeArguments,[d])),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=At(e,a.expression);if(!l)return s;let m=[...n.statements],d=m.indexOf(a);return m[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,l),n=e.ts.factory.updateSourceFile(n,m),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function wi(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=At(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function At(e,t){let r=[...t.properties],n=r.findIndex(i=>D(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=nr(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=nr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function nr(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,[])])}async function or(e,t,r){throw new Error("Webpack config updates not implemented")}var ar=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Yn},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:er},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:rr},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:or}];async function sr(e){let t=e.resolve("/");for(let n of ar)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 te(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,ir),{id:"next",filePath:n,content:ir}}return null}async function yi(e){let t=await sr(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await ar.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=Z(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ir=`
|
|
365
|
+
`}async function On(e){let t=await Mo(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:()=>Fn(t),ensureFigmaImportPage:()=>An(t),getRegistryPath:()=>t.registryPath,getRegistry:n=>K(t,null,!1,!1,null,null,!1,!!n?.readAllInputTypes),loadComponent:async n=>{let o=await K(t,n.cmpId,!1,!1,null,null,!1,!1);return{...o,component:o.components.find(i=>i.id===n.cmpId)}},registerComponent:n=>K(t,n.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:n=>K(t,n.cmpId,!1,!1,n,null,!0,!1),setRegisteredComponentInput:n=>K(t,n.cmpId,!1,!1,null,n,!0,!1),unregisterComponent:n=>K(t,n.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>Ae(t),setPublicApiKey:n=>bn(t,n.publicApiKey),getDependencies:()=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>fe(t),setCache:n=>me(t,n)}}async function Mo(e){let t=await qo(e),r=await Jo(e),n=e.dirname(r),o=e.join(n,"components"),i=await Ko(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 Qo(e,r)}}function Ko(e){let t=e.join(e.getRootDir(),"tsconfig.json");return e.exists(t)}async function Qo(e,t){return(await e.readdir(t)).some(n=>n.startsWith("($locale)."))}async function qo(e){let t=["remix.config.ts","remix.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 Jo(e){let t=await ye(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.`)}var ot=hr(Jn(),1);async function Wn(e,t){let n={components:(await t.getRegistry()).components.filter(i=>i.isRegistered).map(i=>{let a={filePath:z(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,ot.compress)(n);return btoa(JSON.stringify(o))}async function Hn(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,ot.decompress)(o),a=V(n);e.debug("importing registry components:",i.components.length);for(let s of i.components){let l=z(e.normalize(s.filePath)),m=n.components.find(p=>z(p.filePath).endsWith(l)&&p.exportName===s.exportName);if(!m){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${m.id})`,m.filePath),await t.registerComponent({cmpId:m.id});for(let p of s.inputs)e.debug(`set input (${m.id})`),await t.setRegisteredComponentInput({cmpId:m.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${m.id}) info`);let d=await t.setRegisteredComponentInfo({cmpId:m.id,name:s.name,image:s.image,description:s.description});a=V(d)}return a}var hi={"@builder.io/qwik-city":Pn,next:gn,"@remix-run/react":On};async function Si(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 ne(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:()=>Wn(e,n),importRegistry:i=>Hn(e,n,i)}}}throw new Error(`Devtools framework not found for ${e.getRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}function Yn(e){function t(p){if(typeof p!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(p))}function r(p,c){let u="",h=0,f=-1,g=0,x;for(let S=0;S<=p.length;++S){if(S<p.length)x=p.charCodeAt(S);else{if(x===47)break;x=47}if(x===47){if(!(f===S-1||g===1))if(f!==S-1&&g===2){if(u.length<2||h!==2||u.charCodeAt(u.length-1)!==46||u.charCodeAt(u.length-2)!==46){if(u.length>2){let C=u.lastIndexOf("/");if(C!==u.length-1){C===-1?(u="",h=0):(u=u.slice(0,C),h=u.length-1-u.lastIndexOf("/")),f=S,g=0;continue}}else if(u.length===2||u.length===1){u="",h=0,f=S,g=0;continue}}c&&(u.length>0?u+="/..":u="..",h=2)}else u.length>0?u+="/"+p.slice(f+1,S):u=p.slice(f+1,S),h=S-f-1;f=S,g=0}else x===46&&g!==-1?++g:g=-1}return u}let n=function(...c){let u="",h=!1;for(let f=c.length-1;f>=-1&&!h;f--){let g;f>=0?g=c[f]:e.cwd?g=e.cwd():g="/",t(g),g.length!==0&&(u=g+"/"+u,h=g.charCodeAt(0)===47)}return u=r(u,!h),h?u.length>0?"/"+u:"/":u.length>0?u:"."},o=function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0)===47,h=c.charCodeAt(c.length-1)===47;return c=r(c,!u),c.length===0&&!u&&(c="."),c.length>0&&h&&(c+="/"),u?"/"+c:c};return{relative:function(c,u){if(t(c),t(u),c===u||(c=n(c),u=n(u),c===u))return"";let h=1;for(;h<c.length&&c.charCodeAt(h)===47;++h);let f=c.length,g=f-h,x=1;for(;x<u.length&&u.charCodeAt(x)===47;++x);let C=u.length-x,P=g<C?g:C,T=-1,w=0;for(;w<=P;++w){if(w===P){if(C>P){if(u.charCodeAt(x+w)===47)return u.slice(x+w+1);if(w===0)return u.slice(x+w)}else g>P&&(c.charCodeAt(h+w)===47?T=w:w===0&&(T=0));break}let O=c.charCodeAt(h+w),R=u.charCodeAt(x+w);if(O!==R)break;O===47&&(T=w)}let b="";for(w=h+T+1;w<=f;++w)(w===f||c.charCodeAt(w)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+u.slice(x+T):(x+=T,u.charCodeAt(x)===47&&++x,u.slice(x))},resolve:n,join:function(...c){if(c.length===0)return".";let u;for(let h=0;h<c.length;++h){let f=c[h];t(f),f.length>0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":o(u)},isAbsolute:function(c){return t(c),c.length>0&&c.charCodeAt(0)===47},basename:function(c,u){if(u!==void 0&&typeof u!="string")throw new TypeError('"ext" argument must be a string');t(c);let h=0,f=-1,g=!0,x;if(u!==void 0&&u.length>0&&u.length<=c.length){if(u.length===c.length&&u===c)return"";let S=u.length-1,C=-1;for(x=c.length-1;x>=0;--x){let P=c.charCodeAt(x);if(P===47){if(!g){h=x+1;break}}else C===-1&&(g=!1,C=x+1),S>=0&&(P===u.charCodeAt(S)?--S===-1&&(f=x):(S=-1,f=C))}return h===f?f=C:f===-1&&(f=c.length),c.slice(h,f)}else{for(x=c.length-1;x>=0;--x)if(c.charCodeAt(x)===47){if(!g){h=x+1;break}}else f===-1&&(g=!1,f=x+1);return f===-1?"":c.slice(h,f)}},normalize:o,dirname:function(c){if(t(c),c.length===0)return".";let u=c.charCodeAt(0),h=u===47,f=-1,g=!0;for(let x=c.length-1;x>=1;--x)if(u=c.charCodeAt(x),u===47){if(!g){f=x;break}}else g=!1;return f===-1?h?"/":".":h&&f===1?"//":c.slice(0,f)},extname:function(c){t(c);let u=-1,h=0,f=-1,g=!0,x=0;for(let S=c.length-1;S>=0;--S){let C=c.charCodeAt(S);if(C===47){if(!g){h=S+1;break}continue}f===-1&&(g=!1,f=S+1),C===46?u===-1?u=S:x!==1&&(x=1):u!==-1&&(x=-1)}return u===-1||f===-1||x===0||x===1&&u===f-1&&u===h+1?"":c.slice(u,f)}}}async function Ci(e){let t=e.getRootDir?e.getRootDir:()=>"/",r=e.cwd?e.cwd:()=>"/",n=Yn({cwd:r,...e}),o=new Map,i=f=>n.normalize(n.resolve(r(),f)),a=f=>{for(let[g]of o)if((g+"/").startsWith(f))return!0;return f===t()},s=f=>(f=i(f),o.has(f)?!0:a(f)),l=f=>{f=i(f);let g=f===t()?f:f+"/",x=g.split("/").length-1,S=[];for(let[C]of o)if(C.split("/").slice(0,x).join("/")+"/"===g){let w=C.split("/")[x];w&&!S.includes(w)&&S.push(w)}return S.sort()},m=f=>{f=i(f);let g=o.get(f);return typeof g=="string"?g:null},d=f=>(f=i(f),{isFile:()=>o.has(f),isDirectory:()=>!o.has(f)&&a(f)}),p=async f=>{if(typeof crypto<"u"){let S=new TextEncoder().encode(f),C=await crypto.subtle.digest("SHA-256",S);return Array.from(new Uint8Array(C)).map(P=>P.toString(16).padStart(2,"0")).join("")}let g=0;for(let x=0;x<f.length;x++){let S=f.charCodeAt(x);g=(g<<5)-g+S,g|=0}return Number(Math.abs(g)).toString(36)},c=new Set,u={getRootDir:t,cwd:r,exists:async f=>s(f),existsSync:s,readdir:async f=>l(f),readdirSync:l,readFile:async f=>m(f),readFileSync:m,stat:async f=>d(f),statSync:d,writeFile:async(f,g)=>{f=i(f),o.set(f,g);let x={path:f,basename:n.basename(f),dirname:n.dirname(f),extname:n.extname(f)};for(let S of c)await S(x)},hash:p,getDeviceId:async()=>typeof navigator<"u"?p(navigator.userAgent):"",formatCode:async(f,g)=>g,on:(f,g)=>{f==="change"&&c.add(g)},off:(f,g)=>{f==="change"&&c.delete(g)},debug:(...f)=>{console.debug("[builder-dev-tools]",...f)},launchEditor:async()=>{},platform:()=>({runtime:"",os:""}),getFrameworks:()=>[],...n,...e,version:"0.0.0"},h=await ne(u);return u.getFrameworks=()=>h,u}async function Gn(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(Xn(e,n))return o;let a=$(e,n,"cjs"),s=$(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 c=d.statement;if(e.ts.isVariableStatement(c)){let u=[...c.declarationList.declarations];if(u.length!==1)throw new Error("Expected a single variable declaration");let h=u[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 g="BuilderDevTools()",x=[...n.statements],S=x.indexOf(c);return x[S]=e.ts.factory.updateVariableStatement(c,c.modifiers,e.ts.factory.updateVariableDeclarationList(c.declarationList,[e.ts.factory.updateVariableDeclaration(h,h.name,h.exclamationToken,h.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(g),void 0,[f]))])),n=e.ts.factory.updateSourceFile(n,x),n=v(e,n,{defaultImport:"BuilderDevTools",importPath:"@builder.io/dev-tools/next"}),o.content=I(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 c=At(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=I(e,n),o.hasContentUpdates=!0,o}let m=l.statement;if(e.ts.isVariableStatement(m)){let d=[...m.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 c=p.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=At(e,n);n=u.sourceFile;let h=[...n.statements],f=h.indexOf(m);return h[f]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=I(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 c=p.expression;if(!e.ts.isBinaryExpression(c))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],g=f.findIndex(T=>e.ts.isReturnStatement(T));if(g===-1)throw new Error("Expected a return statement on the next config function");let x=f[g],S=At(e,n);n=S.sourceFile,f[g]=e.ts.factory.updateReturnStatement(x,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(S.withFnVariableName),void 0,[x.expression]));let C=[...n.statements],P=C.indexOf(p);return C[P]=e.ts.factory.updateExpressionStatement(p,e.ts.factory.updateBinaryExpression(c,c.left,c.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,C),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected export type")}function Xn(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 At(e,t){let r=Xn(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 tr(e,t,r){let n=E(e,r),o={content:r,filePath:t,fileName:e.basename(t),hasContentUpdates:!1};if(nr(e,n))return o;let a=$(e,n,"cjs"),s=$(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 c="builderDevTools()",u=wi(e,p.expression);if(!u)return o;let h=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c),void 0,[u]),f=[...n.statements],g=f.indexOf(p);return f[g]=e.ts.factory.updateExportAssignment(p,p.modifiers,h),n=e.ts.factory.updateSourceFile(n,f),n=v(e,n,{defaultImport:"builderDevTools",importPath:"@builder.io/dev-tools/remix"}),o.content=I(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 c=Zn(e,n);n=c.sourceFile;let u=[...n.statements],h=u.indexOf(d);return u[h]=e.ts.factory.updateExpressionStatement(d,e.ts.factory.updateBinaryExpression(p,p.left,p.operatorToken,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(c.withFnVariableName),void 0,[p.right]))),n=e.ts.factory.updateSourceFile(n,u),o.content=I(e,n),o.hasContentUpdates=!0,o}let m=l.statement;if(e.ts.isVariableStatement(m)){let d=[...m.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 c=p.initializer;if(e.ts.isObjectLiteralExpression(c)||e.ts.isCallExpression(c)){let u=Zn(e,n);n=u.sourceFile;let h=[...n.statements],f=h.indexOf(m);return h[f]=e.ts.factory.updateVariableStatement(m,m.modifiers,e.ts.factory.updateVariableDeclarationList(m.declarationList,[e.ts.factory.updateVariableDeclaration(p,p.name,p.exclamationToken,p.type,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier(u.withFnVariableName),void 0,[c]))])),n=e.ts.factory.updateSourceFile(n,h),o.content=I(e,n),o.hasContentUpdates=!0,o}throw new Error("Unexpected initializer on the variable statement")}throw new Error("Unexpected export type")}function nr(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 Zn(e,t){let r=nr(e,t);return r||(r="withBuilderDevTools",t=e.ts.factory.updateSourceFile(t,[e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(r,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral("@builder.io/dev-tools/remix")]),void 0,[]))],e.ts.NodeFlags.Const)),...t.statements])),{withFnVariableName:r,sourceFile:t}}function wi(e,t){let r=[...t.properties],n=r.findIndex(i=>D(e,i)==="serverDependenciesToBundle");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=er(e,i.initializer);if(a)return r[n]=e.ts.factory.updatePropertyAssignment(i,i.name,a),e.ts.factory.updateObjectLiteralExpression(t,r)}return null}let o=er(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("serverDependenciesToBundle",o)]):null}function er(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 or(e,t,r){let n=E(e,r),o=$(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 m=l[0];if(e.ts.isArrowFunction(m)){let d=Ti(e,m);if(!d)return s;l[0]=e.ts.factory.updateArrowFunction(m,m.modifiers,m.typeParameters,m.parameters,m.type,m.equalsGreaterThanToken,d);let p=[...n.statements],c=p.indexOf(a);return p[c]=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=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}if(e.ts.isObjectLiteralExpression(m)){let d=Lt(e,m);if(!d)return s;let p=[...n.statements],c=p.indexOf(a);return p[c]=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=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}throw new Error("Unsupported argument in defineConfig()")}if(e.ts.isObjectLiteralExpression(a.expression)){let l=Lt(e,a.expression);if(!l)return s;let m=[...n.statements],d=m.indexOf(a);return m[d]=e.ts.factory.updateExportAssignment(a,a.modifiers,l),n=e.ts.factory.updateSourceFile(n,m),n=v(e,n,{namedImports:["builderDevTools"],importPath:"@builder.io/dev-tools/vite"}),s.content=I(e,n),s.hasContentUpdates=!0,s}throw new Error(`Unable to parse ${t}`)}function Ti(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=Lt(e,i.expression);return a?(n[o]=e.ts.factory.updateReturnStatement(i,a),e.ts.factory.updateBlock(r,n)):null}function Lt(e,t){let r=[...t.properties],n=r.findIndex(i=>D(e,i)==="plugins");if(n>-1){let i=r[n];if(e.ts.isPropertyAssignment(i)&&i.initializer&&e.ts.isArrayLiteralExpression(i.initializer)){let a=rr(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=rr(e,e.ts.factory.createArrayLiteralExpression([],!0));return o?e.ts.factory.updateObjectLiteralExpression(t,[...r,e.ts.factory.createPropertyAssignment("plugins",o)]):null}function rr(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,[])])}async function ir(e,t,r){throw new Error("Webpack config updates not implemented")}var sr=[{id:"next",configFileNames:["next.config.ts","next.config.js","next.config.mjs"],ensureConfigPlugin:Gn},{id:"remix",configFileNames:["remix.config.ts","remix.config.js"],ensureConfigPlugin:tr},{id:"vite",configFileNames:["vite.config.ts","vite.config.js"],ensureConfigPlugin:or},{id:"webpack",configFileNames:["webpack.config.ts","webpack.config.js"],ensureConfigPlugin:ir}];async function lr(e){let t=e.resolve("/");for(let n of sr)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 ne(e)).some(n=>n.name==="next")){let n=e.join(e.getRootDir(),"next.config.js");return await e.writeFile(n,ar),{id:"next",filePath:n,content:ar}}return null}async function yi(e){let t=await lr(e);if(!t)throw new Error("Unable to find config file, such as next.config.js or vite.config.js.");let n=await sr.find(o=>o.id===t.id).ensureConfigPlugin(e,t.filePath,t.content);return n.hasContentUpdates&&(n.content=ee(n.content),n.content=await e.formatCode(n.filePath,n.content),await e.writeFile(t.filePath,n.content)),n}var ar=`
|
|
366
366
|
/** @type {import('next').NextConfig} */
|
|
367
367
|
const nextConfig = {
|
|
368
368
|
}
|
|
369
369
|
|
|
370
370
|
module.exports = nextConfig
|
|
371
|
-
`.trimStart();var
|
|
371
|
+
`.trimStart();var cr="/~builder-dev-tools.js";function Ei(e){try{if(typeof e!="string"||e.trim().length===0)return console.error("Missing devtool server url"),"";let t=new URL(cr,e);t.searchParams.set("v",it);let r=JSON.stringify(it),n=`/* Builder Devtools v${it} */
|
|
372
372
|
`;return n+=`(() => {
|
|
373
373
|
`,n+=` if (typeof document !== "undefined") {
|
|
374
374
|
`,n+=` let devToolsScript = document.head.querySelector("script[data-builder-dev-tools]");
|
|
@@ -381,4 +381,4 @@ module.exports = nextConfig
|
|
|
381
381
|
`,n+=` }
|
|
382
382
|
`,n+=` }
|
|
383
383
|
`,n+=`})();
|
|
384
|
-
`,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var
|
|
384
|
+
`,n}catch(t){return console.error(`Failed to create devtools client script: ${t.message||t}`),""}}var it="0.2.32";export{Si as createDevTools,Ci as createDevToolsSys,ne as detectFrameworks,_t as detectFrameworksFromPackageJson,yi as ensureConfigPlugin,lr as findBuildToolConfig,Ei as getClientScript,Vt as parseDotEnvContent,it as version};
|