UNPKG

@builder.io/dev-tools

Version:

Builder.io Visual CMS Devtools

4 lines (3 loc) 2.42 kB
"use strict";var x=Object.create;var p=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var b=(e,o)=>{for(var t in o)p(e,t,{get:o[t],enumerable:!0})},u=(e,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of R(o))!I.call(e,s)&&s!==t&&p(e,s,{get:()=>o[s],enumerable:!(n=S(o,s))||n.enumerable});return e};var $=(e,o,t)=>(t=e!=null?x(A(e)):{},u(o||!e||!e.__esModule?p(t,"default",{value:e,enumerable:!0}):t,e)),O=e=>u(p({},"__esModule",{value:!0}),e);var C={};b(C,{builderDevTools:()=>P});module.exports=O(C);var f=require("../core/index.cjs"),_=require("../node/index.cjs"),E=require("../server/index.cjs");async function d(e,o){let t=await e.readFile(o);return typeof t=="string"?D(t):null}function D(e){let o={},t=e.replace(/\r\n?/gm,` `),n;for(;(n=h.exec(t))!=null;){let s=n[1],r=n[2]||"";r=r.trim();let c=r[0];r=r.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),c==='"'&&(r=r.replace(/\\n/g,` `),r=r.replace(/\\r/g,"\r")),o[s]=r}return o}var h=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;var T=$(require("path"),1);var g="/~builder-dev-tools.js";function P(e={}){return{name:"vite-plugin-builder-dev-tools",async configureServer(t){if(process.argv.includes("codegen"))return;let n=await(0,_.createDevToolsNodeSys)({cwd:T.default.normalize(t.config.root)}),s=await(0,f.createDevTools)(n),r=await(0,E.createDevToolsServer)({...s,getClientId:()=>"vite-builder-dev-tools",closeAppServer:async()=>{n.debug("close server"),await t?.close()},restartAppServer:async()=>{n.debug("restart server"),await t?.restart()},enableAppWatch:async c=>{if(c){n.debug("enable watch"),t?.watcher.add(t.config.root);let i=n.join(t.config.root,".git"),l=n.join(t.config.root,"node_modules");t?.watcher.unwatch([i,l])}else n.debug("disable watch"),t?.watcher.unwatch(t.config.root);return c},...n,...e});t.watcher.on("change",async c=>{if(c.includes(".env")){let i=await d(n,c);i&&Object.keys(i).forEach(a=>{process.env[a]=i[a]})}}),t.middlewares.use(async(c,i,l)=>{try{let a=i.end;i.end=function(...w){if((i.getHeader("Content-Type")||"").toString().includes("text/html")){let m=new URL(g,r.getUrl());i.write(`<script defer src="${m}"></script>`)}return a.apply(this,w)},l()}catch(a){l(a)}})}}}0&&(module.exports={builderDevTools});