UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

6 lines (5 loc) 2.19 kB
"use strict";const j=require("path"),b=require("fs"),o=require("../utils/index.js"),q=require("./transform/transformMain.js"),w=require("./transform/transformApp.js"),A=require("./transform/transformVue.js");function d(i){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const u in i)if(u!=="default"){const p=Object.getOwnPropertyDescriptor(i,u);Object.defineProperty(a,u,p.get?p:{enumerable:!0,get:()=>i[u]})}}return a.default=i,Object.freeze(a)}const L=d(j),T=d(b),f={isReady:!1,urls:[]};function O({pages:i,sourceFileServers:a,importConsole:u,vueVersion:p=3,excludeImportConsole:S=["uni_modules","node_modules","src/App.vue"],excludeImportDevTool:v=["uni_modules","node_modules"],captureList:P=[],injectDevTool:h=!0,..._}){return{name:"vite-uni-dev-tool",enforce:"pre",configureServer(t){var c;t.middlewares.use((n,s,r)=>{const{originalUrl:e}=n;if(_.useDevSource&&(e!=null&&e.includes("__dev_sourcefile__"))){const l=e.replace("/__dev_sourcefile__","");try{const m=t.config.root,g=L.join(m,l),y=T.readFileSync(g,"utf-8");s.setHeader("Content-Type",o.getContentType(g)),s.end(y)}catch{r()}}else r()}),(c=t.httpServer)==null||c.once("listening",()=>{var r;const n=(r=t.httpServer)==null?void 0:r.address(),s=o.getLocalIPs();if(n&&!Array.isArray(n)&&typeof n!="string"){const e=s.map(l=>`http://${l}:${n.port}/__dev_sourcefile__`);f.isReady=!0,f.urls=e,console.warn(` ⚡️ vite-uni-dev-tool source file server running at: ${s.map(l=>`➜ Source File Network: http://${l}:${n==null?void 0:n.port}/__dev_sourcefile__`).join(` `)} `)}})},transform(t,c){if(h){const n=o.hasLangTS(t),s=o.hasLangJS(t),r=o.hasSetup(t);let e="<script>";if(n&&r?e='<script lang="ts" setup>':s&&r?e='<script lang="js" setup>':s?e='<script lang="js">':n?e='<script lang="ts">':r&&(e="<script setup>"),o.isMainFile(c))return q.transformMain({code:t,vueVersion:p});if(o.isAppVue(c))return w.transformApp({code:t,isSetup:r,importConsole:u,scriptRow:e,netWorkInfo:f,sourceFileServers:a,reset:_});if(o.isVueFile(c))return A.transformVue({id:c,code:t,pages:i,scriptRow:e,importConsole:u,excludeImportConsole:S,excludeImportDevTool:v})}return{code:t,map:null}}}}module.exports=O;