builder.io 1.1.24-1 → 1.1.24-3

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/cli/index.cjs CHANGED
@@ -1586,7 +1586,7 @@ Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-de
1586
1586
  </script>
1587
1587
  </body>
1588
1588
  </html>
1589
- `)}async function TO(e,t){let n=await Vx(e),r=e.getFrameworks();return t.replace(/__LOCAL_APP_ID__/g,n).replace(/__DEV_TOOLS_URL__/g,e.devToolsServerUrl).replace(/__CLIENT_ID__/g,e.getClientId()).replace(/__FRAMEWORK__/g,r.length?r[0].name:"")}var wO=require("node:os");async function RO(e,t){let n=new URL("/cli-auth","https://builder.io");n.searchParams.set("client_id",e.getClientId()),n.searchParams.set("host",await e.getDeviceId()),n.searchParams.set("response_type","code"),n.searchParams.set("cli","true");let r=new URL(mi,e.devToolsServerUrl);r.searchParams.set(wc,(0,wO.platform)()),r.searchParams.set(Rc,process.versions.node);let i=e.getFrameworks();return i.length>0&&(n.searchParams.set(no,i[0].name),r.searchParams.set(no,i[0].name)),n.searchParams.set("redirect_url",r.href),n.searchParams.set("preview_url",t),n.href}async function AO(e,t,n,r){try{if(!e)return ys(n,r,400,"Builder context closed");let i=ZY(n);if(i.pathname===cp){if(n.method==="POST"){let s=await XY(n);if(s)try{let o=await vO(e,JSON.parse(s));return IO(n,r,200,o)}catch(o){e.debug("Dev API Error",o.stack||o.message||o);let a={errors:[String(o.message||o)]};return IO(n,r,500,a)}}else if(n.method==="OPTIONS"){let s={"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Cache-Control, X-Builder-Devtools-Version"},o=n.headers.origin;o&&o!=="null"?NO(new URL(o))&&(s["Access-Control-Allow-Origin"]=o):s["Access-Control-Allow-Origin"]="*",r.writeHead(200,s),r.end();return}return ys(n,r,405,`${cp} is an API endpoint used only during development by the Builder.io Devtools client-side script`)}if(i.pathname===up)return WY(n,r,200,await CO(e));if(i.pathname===CE){let s=i.searchParams.get(ap);return s?QY(r,302,await RO(e,s)):ys(n,r,400,`Missing ${ap} querystring`)}return i.pathname===mi?JY(n,r,200,await xO(e)):i.pathname===gi?(e.debug(`Close Dev Tools Server Requested: ${i.href}`),setTimeout(()=>{try{t.close(s=>{e.debug(`Dev Tools Server Closed Error: ${s}`)})}catch(s){e.debug(`Error closing devtools server: ${s}`)}},20),ys(n,r,200,"Closing Dev Tools Server")):ys(n,r,404,"Not found")}catch(i){return console.error("Dev Server Error",i),ys(n,r,500,`Dev Server Error: ${i}`)}}function IO(e,t,n,r){Xd(e,t,n,"application/json",JSON.stringify(r))}function WY(e,t,n,r){Xd(e,t,n,"application/javascript",r)}function JY(e,t,n,r){Xd(e,t,n,"text/html",r)}function ys(e,t,n,r){Xd(e,t,n,"text/plain",r)}function Xd(e,t,n,r,i){let s={"Content-Type":`${r}; charset=utf-8`,"Cache-Control":"no-cache, no-store, must-revalidate","X-Builder-Devtools-Version":"1.1.24"},o=e.headers.origin;o&&o!=="null"?NO(new URL(o))&&(s["Access-Control-Allow-Origin"]=o):s["Access-Control-Allow-Origin"]="*",t.writeHead(n,s),t.end(i)}function NO(e){return e.hostname==="localhost"||e.origin.endsWith(".builder.io")?!0:e.port===""?!1:e.port!=="80"&&e.port!=="443"}function QY(e,t,n){e.writeHead(t,{Location:n}),e.end()}async function XY(e){let t="";for await(let n of e)t+=n;return t}function ZY(e){let t=e.url||"/";return new URL(t,`http://${e.headers.host}`)}async function PO(e){if(globalThis.__builderDevToolsServer)return e.debug("reusing existing devtools server"),globalThis.__builderDevToolsServer.setContext(e),globalThis.__builderDevToolsServer;let t=await e5(e),n=(0,Zd.createServer)((i,s)=>{AO(e,n,i,s)}),r=()=>new Promise((i,s)=>{n.listening?(e.debug(`closing devtools server on port ${t}`),n.close(o=>{e=null,o?(e.debug(`error closing devtools server on port ${t}`),s(o)):(e&&e.debug(`closed devtools server on port ${t}`),i())})):(e.debug(`devtools server on port ${t} not listening`),i())});return process.once("SIGTERM",r),process.once("SIGINT",r),process.env.CI!=="true"&&process.stdin.on("end",r),globalThis.__builderDevToolsServer={url:new URL(`http://localhost:${t}`).href,port:t,setContext:i=>{e.debug(`set devtools context on server ${t}`),e=i},close:async()=>{globalThis.__builderDevToolsServer=null,await r()}},new Promise(i=>{n.listen(t,()=>{e.debug(`started devtools server on port ${t}`),i(globalThis.__builderDevToolsServer)})})}function e5(e){return new Promise(t=>{let n=e.port;try{(0,Zd.request)({hostname:"localhost",port:n,path:gi,method:"GET"},i=>{i.on("end",()=>{e.debug(`${gi} - Response ended`),t(n)})}).on("error",i=>{e.debug(`${gi} - No response ${i}`),t(n)}).end()}catch(r){e.debug(`${gi} - Error ${r}`),t(n)}})}async function hE(e){let t={getPastSyncInfo:()=>null,resyncSnippet:()=>null,...e,devToolsServerUrl:"",isValid:!1,publicApiKey:"",serverShouldRestart:!1,port:e.port||5273,ignoreMissingConfig:!1},n=e.getFrameworks().map(s=>s.name).join(", ");t.debug(`create devtools ${OO} [${n}]`);let r=await PO(t);return t.devToolsServerUrl=r.url,t.port=r.port,{getUrl:()=>t.devToolsServerUrl}}var OO="1.1.24";var MO=j(require("chokidar"),1),LO=j(require("ignore"),1);function BO(e){let t=e.match(/builder\.io\/content\/([^?]+)\?codeSession=([^&]+)&sid=([^\s]+)/);return t?{contentId:t[1],sessionKey:t[2],snippetId:t[3]}:{}}async function t5(e,t,n){let r=await(0,kO.glob)("**/*",{cwd:e,ignore:["node_modules/**"],nodir:!0}),i=[];for(let s of r){let o=(0,Et.resolve)(e,s);try{let a=(0,Rt.readFileSync)(o,"utf-8");if(a.includes("This code was generated by Builder.io")){let c=BO(a);if(t&&n&&(c.contentId!==t||c.sessionKey!==n))continue;i.push({path:s,code:a,name:s.split("/").pop()||"",timestamp:(0,Rt.statSync)(o).mtime.getTime(),snippetId:c.snippetId})}}catch(a){console.error(`Error reading file ${o}:`,a)}}return i}function n5(e,t){let n=BO(e);return n.contentId===t.contentId&&n.sessionKey===t.sessionKey}function r5(e){let t=[".git",".DS_Store",".vscode","node_modules",".next","coverage"],n=(0,LO.default)().add(t);try{let r=(0,Et.resolve)(e,".gitignore");if((0,Rt.existsSync)(r)){let i=(0,Rt.readFileSync)(r,"utf8");n.add(i)}}catch(r){console.debug("No .gitignore found or error reading it:",r)}return r=>{let i=(0,Et.relative)(e,r);if(!i)return!1;let s=i.split(Et.sep).join("/");return n.ignores(s)}}function FO(e,t,n){let r=r5(e),i=MO.default.watch(e,{ignored:r,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:500,pollInterval:600},ignorePermissionErrors:!0,followSymlinks:!1,atomic:600}),s=async a=>{let c=(0,Et.relative)(e,a);try{let u=(0,Rt.readFileSync)(a,"utf-8");if(n5(u,t.snippet)){let l=t.writtenFiles.find(d=>d.path===c);l?(l.code=u,l.timestamp=Date.now()):t.writtenFiles.push({path:c,code:u,timestamp:Date.now(),name:c.split("/").pop()||""}),t.timeStamp=Date.now(),n(t)}}catch(u){console.debug(`Error reading file ${a}:`,u)}};i.on("add",async a=>{U.info(`File added: ${a}`),await s(a)}).on("change",async a=>{U.info(`File changed: ${a}`),await s(a)}).on("unlink",a=>{U.info(`File deleted: ${a}`);let c=(0,Et.relative)(e,a);t.writtenFiles=t.writtenFiles.filter(u=>u.path!==c),t.timeStamp=Date.now(),n(t)}).on("unlinkDir",a=>{U.info(`Folder deleted: ${a}`);let c=(0,Et.relative)(e,a);t.writtenFiles=t.writtenFiles.filter(u=>!u.path.startsWith(c)),t.timeStamp=Date.now(),n(t)}).on("ready",()=>{console.debug("Initial scan complete. Ready for changes.")}).on("error",a=>{console.error(`Watcher error: ${a}`)}),i.on("raw",async(a,c,u)=>{if(a==="renamed"){U.info(`File renamed: ${u.oldPath} -> ${c}`);let l=u.oldPath?(0,Et.relative)(e,u.oldPath):void 0,d=c?(0,Et.relative)(e,c):void 0;if(l&&d){let p=t.writtenFiles.find(f=>f.path===l);p&&(p.path=d,t.timeStamp=Date.now(),n(t))}}});let o=async()=>{await i.close()};return process.on("SIGINT",o),process.on("SIGTERM",o),o}async function $O(e,t){e.debug("builder sync server init");let n=await Yi(e),r=t,i=()=>Promise.resolve();r&&setTimeout(()=>{i=FO(process.cwd(),r,s=>{r=s})},1e3),await hE({...n,getPastSyncInfo:({sessionKey:s,since:o})=>!r||s!==r.snippet.sessionKey?r:{...r,hasChanged:r.timeStamp+1e3>o},resyncSnippet:async s=>{await i();let o=await _E({path:r?.pathInput,snippet:s.snippet,cwd:process.cwd()});return o&&(r=o,i=FO(process.cwd(),r,a=>{r=a})),r},getClientId:()=>"builder-sync-cli",closeAppServer:async()=>{await i()},restartAppServer:async()=>{e.debug("restart server")},enableAppWatch:async s=>s,...e})}async function _E(e){let t=e.snippetId,n=e.snippet||null;if(!n&&t&&(n=await pE(t)),!n)throw new Error(`No snippet found for id ${t}`);let r=await t5(process.cwd(),n.contentId,n.sessionKey),i=r.filter(c=>c.snippetId===n.id);if(i.length>0){let c=Math.max(...i.map(u=>u.timestamp||0));return{snippet:n,writtenFiles:i,pathInput:e.path||".",timeStamp:c}}for(let c of r){let u=(0,Et.resolve)(process.cwd(),c.path);try{(0,Rt.unlinkSync)(u),U.info(`Deleted old file: ${u}`);let l=(0,Et.dirname)(u);(0,Rt.readdirSync)(l).length===0&&((0,Rt.rmdirSync)(l),U.info(`Deleted empty folder: ${l}`))}catch(l){U.error(`Error cleaning up file ${u}: ${l}`)}}let s=fE(n.framework||"react"),o=e.path||await Ut({message:"Where should we copy the files?",initialValue:s,validate(c){if(c.length===0)return"File path is required!";if(c[0]!==".")return"Please enter a relative path."}});Ie(o)&&(te("Cancelled sync"),process.exit(0));let a=await Qd(n,n.files,o);return U.success("All files have been written successfully."),{snippet:n,writtenFiles:a,pathInput:o,timeStamp:Date.now()+500}}var UO="1.1.24";function o5(){ep.init("ac35e3108919035e7d150a2450a07405",{logLevel:ep.Types.LogLevel.None,flushIntervalMillis:500}),vn.init({dsn:"https://3252dddc08dbb5bf406dc33bf3c13633@o117565.ingest.us.sentry.io/4505630794448896",tracesSampleRate:1,release:UO,integrations:[new vn.Integrations.Http({tracing:!0}),...vn.autoDiscoverNodePerformanceMonitoringIntegrations()]})}async function s5(e){e.debug("builder dev tools cli init");let t=await(0,qO.createDevTools)(e);await(0,GO.createDevToolsServer)({...t,getClientId:()=>"builder-dev-tools-cli",closeAppServer:async()=>{},restartAppServer:async()=>{e.debug("restart server")},enableAppWatch:async n=>n,...e})}var HO=()=>process.exit(0);process.on("SIGINT",HO);process.on("SIGTERM",HO);async function a5(){o5();try{let e=await(0,jO.createDevToolsNodeSys)({getRootDir:()=>process.cwd(),ignoreMissingConfig:!0}),t=(0,KO.default)(process.argv.slice(2),{string:["figmaToken","privateKey","spaceId"],boolean:["help","ci","force","printJson"]}),n=t._[0];if(n==="figma"){let r=t._[1];try{await iO(e,r,t)}catch(i){return vn.captureException(i),console.error(i),await oe(1)}}else if(n==="add"){let r=mE(process.cwd(),process.argv.slice(2));await uO(r)}else if(n==="sync"){let r=mE(process.cwd(),process.argv.slice(2)),i=await _E(r);$O(e,i).then(()=>{console.info("Builder dev tools is running")}).catch(s=>{vn.captureException(s),console.error("Cannot start builder dev tools",s)})}else{if(n==="publish"||n==="migrate"||n==="generate")return te("Command not found, do you mean `npx builder.io figma "+n+"`?"),await oe(1);s5(e).then(()=>{console.info("Builder dev tools is running")}).catch(r=>{vn.captureException(r),console.error("Cannot start builder dev tools",r)})}}catch(e){return vn.captureException(e),console.error(e),await oe(1)}}a5();
1589
+ `)}async function TO(e,t){let n=await Vx(e),r=e.getFrameworks();return t.replace(/__LOCAL_APP_ID__/g,n).replace(/__DEV_TOOLS_URL__/g,e.devToolsServerUrl).replace(/__CLIENT_ID__/g,e.getClientId()).replace(/__FRAMEWORK__/g,r.length?r[0].name:"")}var wO=require("node:os");async function RO(e,t){let n=new URL("/cli-auth","https://builder.io");n.searchParams.set("client_id",e.getClientId()),n.searchParams.set("host",await e.getDeviceId()),n.searchParams.set("response_type","code"),n.searchParams.set("cli","true");let r=new URL(mi,e.devToolsServerUrl);r.searchParams.set(wc,(0,wO.platform)()),r.searchParams.set(Rc,process.versions.node);let i=e.getFrameworks();return i.length>0&&(n.searchParams.set(no,i[0].name),r.searchParams.set(no,i[0].name)),n.searchParams.set("redirect_url",r.href),n.searchParams.set("preview_url",t),n.href}async function AO(e,t,n,r){try{if(!e)return ys(n,r,400,"Builder context closed");let i=ZY(n);if(i.pathname===cp){if(n.method==="POST"){let s=await XY(n);if(s)try{let o=await vO(e,JSON.parse(s));return IO(n,r,200,o)}catch(o){e.debug("Dev API Error",o.stack||o.message||o);let a={errors:[String(o.message||o)]};return IO(n,r,500,a)}}else if(n.method==="OPTIONS"){let s={"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Cache-Control, X-Builder-Devtools-Version"},o=n.headers.origin;o&&o!=="null"?NO(new URL(o))&&(s["Access-Control-Allow-Origin"]=o):s["Access-Control-Allow-Origin"]="*",r.writeHead(200,s),r.end();return}return ys(n,r,405,`${cp} is an API endpoint used only during development by the Builder.io Devtools client-side script`)}if(i.pathname===up)return WY(n,r,200,await CO(e));if(i.pathname===CE){let s=i.searchParams.get(ap);return s?QY(r,302,await RO(e,s)):ys(n,r,400,`Missing ${ap} querystring`)}return i.pathname===mi?JY(n,r,200,await xO(e)):i.pathname===gi?(e.debug(`Close Dev Tools Server Requested: ${i.href}`),setTimeout(()=>{try{t.close(s=>{e.debug(`Dev Tools Server Closed Error: ${s}`)})}catch(s){e.debug(`Error closing devtools server: ${s}`)}},20),ys(n,r,200,"Closing Dev Tools Server")):ys(n,r,404,"Not found")}catch(i){return console.error("Dev Server Error",i),ys(n,r,500,`Dev Server Error: ${i}`)}}function IO(e,t,n,r){Xd(e,t,n,"application/json",JSON.stringify(r))}function WY(e,t,n,r){Xd(e,t,n,"application/javascript",r)}function JY(e,t,n,r){Xd(e,t,n,"text/html",r)}function ys(e,t,n,r){Xd(e,t,n,"text/plain",r)}function Xd(e,t,n,r,i){let s={"Content-Type":`${r}; charset=utf-8`,"Cache-Control":"no-cache, no-store, must-revalidate","X-Builder-Devtools-Version":"1.1.24"},o=e.headers.origin;o&&o!=="null"?NO(new URL(o))&&(s["Access-Control-Allow-Origin"]=o):s["Access-Control-Allow-Origin"]="*",t.writeHead(n,s),t.end(i)}function NO(e){return e.hostname==="localhost"||e.origin.endsWith(".builder.io")?!0:e.port===""?!1:e.port!=="80"&&e.port!=="443"}function QY(e,t,n){e.writeHead(t,{Location:n}),e.end()}async function XY(e){let t="";for await(let n of e)t+=n;return t}function ZY(e){let t=e.url||"/";return new URL(t,`http://${e.headers.host}`)}async function PO(e){if(globalThis.__builderDevToolsServer)return e.debug("reusing existing devtools server"),globalThis.__builderDevToolsServer.setContext(e),globalThis.__builderDevToolsServer;let t=await e5(e),n=(0,Zd.createServer)((i,s)=>{AO(e,n,i,s)}),r=()=>new Promise((i,s)=>{n.listening?(e.debug(`closing devtools server on port ${t}`),n.close(o=>{e=null,o?(e.debug(`error closing devtools server on port ${t}`),s(o)):(e&&e.debug(`closed devtools server on port ${t}`),i())})):(e.debug(`devtools server on port ${t} not listening`),i())});return process.once("SIGTERM",r),process.once("SIGINT",r),process.env.CI!=="true"&&process.stdin.on("end",r),globalThis.__builderDevToolsServer={url:new URL(`http://localhost:${t}`).href,port:t,setContext:i=>{e.debug(`set devtools context on server ${t}`),e=i},close:async()=>{globalThis.__builderDevToolsServer=null,await r()}},new Promise(i=>{n.listen(t,()=>{e.debug(`started devtools server on port ${t}`),i(globalThis.__builderDevToolsServer)})})}function e5(e){return new Promise(t=>{let n=e.port;try{(0,Zd.request)({hostname:"localhost",port:n,path:gi,method:"GET"},i=>{i.on("end",()=>{e.debug(`${gi} - Response ended`),t(n)})}).on("error",i=>{e.debug(`${gi} - No response ${i}`),t(n)}).end()}catch(r){e.debug(`${gi} - Error ${r}`),t(n)}})}async function hE(e){let t={getPastSyncInfo:()=>null,resyncSnippet:()=>null,...e,devToolsServerUrl:"",isValid:!1,publicApiKey:"",serverShouldRestart:!1,port:e.port||5273,ignoreMissingConfig:!1},n=e.getFrameworks().map(s=>s.name).join(", ");t.debug(`create devtools ${OO} [${n}]`);let r=await PO(t);return t.devToolsServerUrl=r.url,t.port=r.port,{getUrl:()=>t.devToolsServerUrl}}var OO="1.1.24";var MO=j(require("chokidar"),1),LO=j(require("ignore"),1);function BO(e){let t=e.match(/builder\.io\/content\/([^?]+)\?codeSession=([^&]+)&sid=([^\s]+)/);return t?{contentId:t[1],sessionKey:t[2],snippetId:t[3]}:{}}async function t5(e,t,n){let r=await(0,kO.glob)("**/*",{cwd:e,ignore:["node_modules/**"],nodir:!0}),i=[];for(let s of r){let o=(0,Et.resolve)(e,s);try{let a=(0,Rt.readFileSync)(o,"utf-8");if(a.includes("This code was generated by Builder.io")){let c=BO(a);if(t&&n&&(c.contentId!==t||c.sessionKey!==n))continue;i.push({path:s,code:a,name:s.split("/").pop()||"",timestamp:(0,Rt.statSync)(o).mtime.getTime(),snippetId:c.snippetId})}}catch(a){console.error(`Error reading file ${o}:`,a)}}return i}function n5(e,t){let n=BO(e);return n.contentId===t.contentId&&n.sessionKey===t.sessionKey}function r5(e){let t=[".git",".DS_Store",".vscode","node_modules",".next","coverage"],n=(0,LO.default)().add(t);try{let r=(0,Et.resolve)(e,".gitignore");if((0,Rt.existsSync)(r)){let i=(0,Rt.readFileSync)(r,"utf8");n.add(i)}}catch(r){console.debug("No .gitignore found or error reading it:",r)}return r=>{let i=(0,Et.relative)(e,r);if(!i)return!1;let s=i.split(Et.sep).join("/");return n.ignores(s)}}function FO(e,t,n){let r=r5(e),i=MO.default.watch(e,{ignored:r,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:500,pollInterval:600},ignorePermissionErrors:!0,followSymlinks:!1,atomic:600}),s=async a=>{let c=(0,Et.relative)(e,a);try{let u=(0,Rt.readFileSync)(a,"utf-8");if(n5(u,t.snippet)){let l=t.writtenFiles.find(d=>d.path===c);l?(l.code=u,l.timestamp=Date.now()):t.writtenFiles.push({path:c,code:u,timestamp:Date.now(),name:c.split("/").pop()||""}),t.timeStamp=Date.now(),n(t)}}catch(u){console.debug(`Error reading file ${a}:`,u)}};i.on("add",async a=>{U.info(`File added: ${a}`),await s(a)}).on("change",async a=>{U.info(`File changed: ${a}`),await s(a)}).on("unlink",a=>{U.info(`File deleted: ${a}`);let c=(0,Et.relative)(e,a);t.writtenFiles=t.writtenFiles.filter(u=>u.path!==c),t.timeStamp=Date.now(),n(t)}).on("unlinkDir",a=>{U.info(`Folder deleted: ${a}`);let c=(0,Et.relative)(e,a);t.writtenFiles=t.writtenFiles.filter(u=>!u.path.startsWith(c)),t.timeStamp=Date.now(),n(t)}).on("ready",()=>{console.debug("Initial scan complete. Ready for changes.")}).on("error",a=>{console.error(`Watcher error: ${a}`)}),i.on("raw",async(a,c,u)=>{if(a==="renamed"){U.info(`File renamed: ${u.oldPath} -> ${c}`);let l=u.oldPath?(0,Et.relative)(e,u.oldPath):void 0,d=c?(0,Et.relative)(e,c):void 0;if(l&&d){let p=t.writtenFiles.find(f=>f.path===l);p&&(p.path=d,t.timeStamp=Date.now(),n(t))}}});let o=async()=>{await i.close()};return process.on("SIGINT",o),process.on("SIGTERM",o),o}async function $O(e,t){e.debug("builder sync server init");let n=await Yi(e),r=t,i=()=>Promise.resolve();r&&setTimeout(()=>{i=FO(process.cwd(),r,s=>{r=s})},1e3),await hE({...n,getPastSyncInfo:({sessionKey:s,since:o})=>!r||s!==r.snippet.sessionKey?null:{...r,hasChanged:r.timeStamp>o},resyncSnippet:async s=>{await i();let o=await _E({path:r?.pathInput,snippet:s.snippet,cwd:process.cwd()});return o&&(r=o,i=FO(process.cwd(),r,a=>{r=a})),r},getClientId:()=>"builder-sync-cli",closeAppServer:async()=>{await i()},restartAppServer:async()=>{e.debug("restart server")},enableAppWatch:async s=>s,...e})}async function _E(e){let t=e.snippetId,n=e.snippet||null;if(!n&&t&&(n=await pE(t)),!n)throw new Error(`No snippet found for id ${t}`);let r=await t5(process.cwd(),n.contentId,n.sessionKey),i=r.filter(c=>c.snippetId===n.id);if(U.info(`Found ${i.length} matching files for snippet ${n.id} in existing files ${r.length}`),i.length>0){let c=Math.max(...i.map(u=>u.timestamp||0));return{snippet:n,writtenFiles:i,pathInput:e.path||".",timeStamp:c}}for(let c of r){let u=(0,Et.resolve)(process.cwd(),c.path);try{(0,Rt.unlinkSync)(u),U.info(`Deleted old file: ${u}`);let l=(0,Et.dirname)(u);(0,Rt.readdirSync)(l).length===0&&((0,Rt.rmdirSync)(l),U.info(`Deleted empty folder: ${l}`))}catch(l){U.error(`Error cleaning up file ${u}: ${l}`)}}let s=fE(n.framework||"react"),o=e.path||await Ut({message:"Where should we copy the files?",initialValue:s,validate(c){if(c.length===0)return"File path is required!";if(c[0]!==".")return"Please enter a relative path."}});Ie(o)&&(te("Cancelled sync"),process.exit(0));let a=await Qd(n,n.files,o);return U.success("All files have been written successfully."),{snippet:n,writtenFiles:a,pathInput:o,timeStamp:Date.now()}}var UO="1.1.24";function o5(){ep.init("ac35e3108919035e7d150a2450a07405",{logLevel:ep.Types.LogLevel.None,flushIntervalMillis:500}),vn.init({dsn:"https://3252dddc08dbb5bf406dc33bf3c13633@o117565.ingest.us.sentry.io/4505630794448896",tracesSampleRate:1,release:UO,integrations:[new vn.Integrations.Http({tracing:!0}),...vn.autoDiscoverNodePerformanceMonitoringIntegrations()]})}async function s5(e){e.debug("builder dev tools cli init");let t=await(0,qO.createDevTools)(e);await(0,GO.createDevToolsServer)({...t,getClientId:()=>"builder-dev-tools-cli",closeAppServer:async()=>{},restartAppServer:async()=>{e.debug("restart server")},enableAppWatch:async n=>n,...e})}var HO=()=>process.exit(0);process.on("SIGINT",HO);process.on("SIGTERM",HO);async function a5(){o5();try{let e=await(0,jO.createDevToolsNodeSys)({getRootDir:()=>process.cwd(),ignoreMissingConfig:!0}),t=(0,KO.default)(process.argv.slice(2),{string:["figmaToken","privateKey","spaceId"],boolean:["help","ci","force","printJson"]}),n=t._[0];if(n==="figma"){let r=t._[1];try{await iO(e,r,t)}catch(i){return vn.captureException(i),console.error(i),await oe(1)}}else if(n==="add"){let r=mE(process.cwd(),process.argv.slice(2));await uO(r)}else if(n==="sync"){let r=mE(process.cwd(),process.argv.slice(2)),i=await _E(r);$O(e,i).then(()=>{console.info("Builder dev tools is running")}).catch(s=>{vn.captureException(s),console.error("Cannot start builder dev tools",s)})}else{if(n==="publish"||n==="migrate"||n==="generate")return te("Command not found, do you mean `npx builder.io figma "+n+"`?"),await oe(1);s5(e).then(()=>{console.info("Builder dev tools is running")}).catch(r=>{vn.captureException(r),console.error("Cannot start builder dev tools",r)})}}catch(e){return vn.captureException(e),console.error(e),await oe(1)}}a5();
1590
1590
  /*! Bundled license information:
1591
1591
 
1592
1592
  cookie/index.js: