UNPKG

@builder.io/dev-tools

Version:

Builder.io Visual CMS Devtools

3 lines (2 loc) 1.76 kB
import { createRequire } from 'module'; const require = createRequire(import.meta.url); import{createDevTools as b}from"../core/index.mjs";import{createDevToolsNodeSys as S}from"../node/index.mjs";import{createDevToolsServer as w}from"../server/index.mjs";import{dirname as i,join as d,resolve as h}from"path";import{existsSync as a,readFileSync as f,writeFileSync as p}from"fs";import{fileURLToPath as y}from"url";var L=(r={})=>e=>{if(r.enabled==null&&(r.enabled=process.env.NODE_ENV!=="production"),r.enabled===!1)return e;let n={...e},t=D(process.cwd()),m=i(t);process.env.BUILDER_REMIX_DEVTOOLS_URL="http://localhost:5273/",n.watchPaths=async()=>{let o=await S({cwd:m}),l=await b(o),s=await w({...l,getClientId:()=>"remix-builder-dev-tools",closeAppServer:async()=>{},restartAppServer:async()=>{o.debug("restart server");let u=f(t,"utf-8");p(t,u)},enableAppWatch:async u=>u,...o,...r});return process.env.BUILDER_REMIX_DEVTOOLS_URL=s.getUrl(),typeof e.watchPaths=="function"?e.watchPaths():e.watchPaths?e.watchPaths:[]};let v;v=i(y(import.meta.url));let c=d(v,"server-build","index.mjs");if(!a(c))return console.log(`Builder Devtools unable to run: "${c}" not found`),e;if(typeof e.server=="string"){let o=h(i(t),e.server);if(!a(o))return console.log(`Builder Devtools unable to run: "${o}" set from "${e.server}" server config not found`),e;let l=!1,s=f(o,"utf-8");for(;s.includes("@remix-run/dev/server-build");)s=s.replace("@remix-run/dev/server-build","@builder.io/dev-tools/remix/server-build"),l=!0;l&&p(o,s)}else n.server=c;return n};function D(r){let e=h("/");for(let n=0;n<20;n++){let t=d(r,"remix.config.js");if(a(t)||(t=d(r,"remix.config.ts"),a(t)))return t;if(r===e)break;r=i(r)}throw new Error("Could not find Remix config")}export{L as default};