khulnasoft.com
Version:
Development tools for Khulnasoft CMS integration
4 lines (3 loc) • 2.37 kB
JavaScript
;var b=Object.create;var p=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var V=(n,e)=>{for(var t in e)p(n,t,{get:e[t],enumerable:!0})},g=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of E(e))!x.call(n,s)&&s!==t&&p(n,s,{get:()=>e[s],enumerable:!(o=h(e,s))||o.enumerable});return n};var D=(n,e,t)=>(t=n!=null?b(y(n)):{},g(e||!n||!n.__esModule?p(t,"default",{value:n,enumerable:!0}):t,n)),I=n=>g(p({},"__esModule",{value:!0}),n);var j={};V(j,{khulnasoftDevTools:()=>C});module.exports=I(j);var u=require("../core/index.cjs"),d=require("../node/index.cjs"),w=require("../server/index.cjs");async function f(n,e){let t=await n.readFile(e);return typeof t=="string"?A(t):null}function A(n){let e={},t=n.replace(/\r\n?/gm,`
`),o;for(;(o=R.exec(t))!=null;){let s=o[1],r=o[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")),e[s]=r}return e}var R=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;var m=D(require("node:path"),1);function C(n={}){return{name:"vite-plugin-khulnasoft-dev-tools",async configureServer(t){let o=await(0,d.createDevToolsNodeSys)({cwd:m.default.normalize(t.config.root)}),s=await(0,u.createDevTools)(o),r=await(0,w.createDevToolsServer)({...s,getClientId:()=>"vite-khulnasoft-dev-tools",closeAppServer:async()=>{o.debug("close server"),await t?.close()},restartAppServer:async()=>{o.debug("restart server"),await t?.restart()},enableAppWatch:async c=>{if(c){o.debug("enable watch"),t?.watcher.add(t.config.root);let i=o.join(t.config.root,".git"),l=o.join(t.config.root,"node_modules");t?.watcher.unwatch([i,l])}else o.debug("disable watch"),t?.watcher.unwatch(t.config.root);return c},...o,...n});t.watcher.on("change",async c=>{if(c.includes(".env")){let i=await f(o,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(...$){if((i.getHeader("Content-Type")||"").toString().includes("text/html")){let T=(0,u.getClientScript)(r.getUrl());i.write(`<script>${T}</script>`)}return a.apply(this,$)},l()}catch(a){l(a)}})}}}0&&(module.exports={khulnasoftDevTools});