vite-plugin-mock-dev-server 1.3.0-beta.0 → 1.3.0

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/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var ct=Object.create;var Z=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var lt=Object.getPrototypeOf,mt=Object.prototype.hasOwnProperty;var ut=(t,o)=>{for(var e in o)Z(t,e,{get:o[e],enumerable:!0})},Se=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of pt(o))!mt.call(t,s)&&s!==e&&Z(t,s,{get:()=>o[s],enumerable:!(n=at(o,s))||n.enumerable});return t};var f=(t,o,e)=>(e=t!=null?ct(lt(t)):{},Se(o||!t||!t.__esModule?Z(e,"default",{value:t,enumerable:!0}):e,t)),dt=t=>Se(Z({},"__esModule",{value:!0}),t);var qt={};ut(qt,{baseMiddleware:()=>ke,createDefineMock:()=>Ft,default:()=>Ut,defineMock:()=>Ht,mockDevServerPlugin:()=>xe,mockWebSocket:()=>Me,transformMockData:()=>ye});module.exports=dt(qt);var ft=()=>typeof document>"u"?new URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,w=ft();var nt=require("@pengzhanbo/utils");var Fe=f(require("fs"),1),K=f(require("fs/promises"),1),q=f(require("path"),1),X=require("@pengzhanbo/utils"),Ue=f(require("fast-glob"),1),qe=f(require("is-core-module"),1),pe=require("vite");var Re="vite-plugin-mock-dev-server",Ce="1.3.0-beta.0";var U=f(require("fs"),1),$e=require("module"),se=f(require("path"),1),_e=require("url"),De=require("esbuild"),Ie=f(require("json5"),1);var ee=f(require("fs"),1),te=f(require("path"),1),Pe=require("querystring"),oe=require("url"),We=f(require("debug"),1),je=require("path-to-regexp"),gt=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function",Le=t=>gt(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";function Ee(t){return te.default.dirname((0,oe.fileURLToPath)(t))}var re=(0,We.default)("vite:mock-dev-server");function Q(t,o,e){for(let s of o){let r=te.default.join(t,s);if(ee.default.existsSync(r)&&ee.default.statSync(r).isFile()){let i=e!=null&&e.pathOnly?r:ee.default.readFileSync(r,"utf-8");if(!(e!=null&&e.predicate)||e.predicate(i))return i}}let n=te.default.dirname(t);if(n!==t&&(!(e!=null&&e.rootDir)||n.startsWith(e==null?void 0:e.rootDir)))return Q(n,o,e)}var ne=(t={})=>{let o=[],e=[];return Object.keys(t).forEach(n=>{var r,i;let s=t[n];typeof s=="string"||!s.ws&&!((r=s.target)!=null&&r.toString().startsWith("ws:"))&&!((i=s.target)!=null&&i.toString().startsWith("wss:"))?o.push(n):e.push(n)}),{httpProxies:o,wsProxies:e}};function z(t,o){return t[0]==="^"&&new RegExp(t).test(o)||o.startsWith(t)}function V(t,o){return((0,je.match)(t,{decode:decodeURIComponent})(o)||{params:{}}).params||{}}function W(t){let o=new oe.URL(t,"http://example.com"),e=decodeURIComponent(o.pathname),n=(0,Pe.parse)(o.search.replace(/^\?/,""));return{pathname:e,query:n}}var kt={name:"externalize-deps",setup(t){t.onResolve({filter:/.*/},({path:o})=>{if(o[0]!=="."&&!se.default.isAbsolute(o))return{external:!0}})}},yt={name:"json5-loader",setup(t){t.onLoad({filter:/\.json5$/},async({path:o})=>{let e=await U.promises.readFile(o,"utf-8");return{contents:`export default ${JSON.stringify(Ie.default.parse(e))}`,loader:"js"}})}},ht={name:"json-loader",setup(t){t.onLoad({filter:/\.json$/},async({path:o})=>({contents:`export default ${await U.promises.readFile(o,"utf-8")}`,loader:"js"}))}},vt=t=>({name:"alias-plugin",setup(o){o.onResolve({filter:/.*/},async({path:e})=>{let n=t.find(({find:c})=>Mt(c,e));if(!n)return null;let{find:s,replacement:r}=n;return{path:(await o.resolve(e.replace(s,r),{kind:"import-statement",resolveDir:r,namespace:"file"})).path,external:!1}})}});function Mt(t,o){return t instanceof RegExp?t.test(o):o.length<t.length?!1:o===t?!0:o.startsWith(`${t}/`)}async function ie(t,o){var r;let{isESM:e=!0,define:n,alias:s}=o;try{let i=await(0,De.build)({entryPoints:[t],outfile:"out.js",write:!1,target:["node14.18","node16"],platform:"node",bundle:!0,metafile:!0,format:e?"esm":"cjs",define:n,plugins:[vt(s),kt,ht,yt]});return{code:i.outputFiles[0].text,deps:((r=i.metafile)==null?void 0:r.inputs)||{}}}catch(i){console.error(i)}return{code:"",deps:{}}}var bt=Ee(w),F=(0,$e.createRequire)(bt);async function Te(t,o,e,n){if(e){let s=`${t}.timestamp-${Date.now()}`,r=`${s}.mjs`,i=`${(0,_e.pathToFileURL)(s)}.mjs`;await U.promises.writeFile(r,o,"utf8");try{return await import(i)}finally{try{U.default.unlinkSync(r)}catch{}}}else{t=se.default.resolve(n,t);let s=se.default.extname(t),r=U.default.realpathSync(t),i=s in F.extensions?s:".js",c=F.extensions[i];F.extensions[i]=(p,m)=>{m===r?p._compile(o,m):c(p,m)},delete F.cache[F.resolve(t)];let a=F(t);return F.extensions[i]=c,a.__esModule?a:{default:a}}}var ue=f(require("picocolors"),1);var He=require("@pengzhanbo/utils"),$=f(require("picocolors"),1),Ne={silent:0,error:1,warn:2,info:3};function ce(t,o="info"){t=`[${t}]`;function e(s,r,i){if(i=(0,He.isBoolean)(i)?i?o:"error":i,Ne[i]>=Ne[s]){let a=s==="info"?"log":s,p=s==="info"?$.default.cyan($.default.bold(t)):s==="warn"?$.default.yellow($.default.bold(t)):$.default.red($.default.bold(t)),m=`${$.default.dim(new Date().toLocaleTimeString())} ${p} ${r}`;console[a](m)}}return{info(s,r=o){e("info",s,r)},warn(s,r=o){e("warn",s,r)},error(s,r=o){e("error",s,r)}}}var xt=/import\.meta\.env\.(.+)/;function ae(t){let o=ce("vite:mock-dev-server","warn"),e={},n=process.env.NODE_ENV||t.mode;Object.assign(e,{"process.env.NODE_ENV":JSON.stringify(n),"global.process.env.NODE_ENV":JSON.stringify(n),"globalThis.process.env.NODE_ENV":JSON.stringify(n),__vite_process_env_NODE_ENV:JSON.stringify(n)});let s={},r={},i=[];for(let p in t.define){let m=t.define[p];if(typeof m=="string")try{JSON.parse(m),s[p]=m}catch{i.push(p)}else s[p]=JSON.stringify(m);let h=p.match(xt);h&&s[p]&&(r[h[1]]=`__vite__define__${s[p]}`)}i.length&&o.warn(`The following keys: ${ue.default.yellow(ue.default.underline(i.join(", ")))} declared in 'define' cannot be parsed as regular code snippets.`);let c={},a={};c["import.meta.hot"]="undefined";for(let p in t.env)c[`import.meta.env.${p}`]=JSON.stringify(t.env[p]);return Object.assign(a,{"import.meta.env":JSON.stringify({...t.env,...r}).replace(/"__vite__define__(.+?)"([,}])/g,(p,m,h)=>`${m.replace(/(^\\")|(\\"$)/g,'"')}${h}`)}),{...c,...s,...a,...e}}async function Be(t,o,e){let n=(0,X.toArray)(e.include),s=(0,X.toArray)(e.exclude),r=ae(o),{httpProxies:i}=ne(o.server.proxy||{});i.push(...(0,X.toArray)(e.prefix));let c=(0,X.toArray)(e.wsPrefix),a={};try{let u=Q(o.root,["package.json"]);u&&(a=JSON.parse(u))}catch{}let p=e.build.dist,m=await Rt(process.cwd(),n,s),h=q.default.join(o.root,`mock-data-${Date.now()}.js`);await K.default.writeFile(h,m,"utf-8");let{code:S,deps:E}=await ie(h,{define:r,alias:o.resolve.alias}),j=wt(E);await K.default.unlink(h);let l=[{filename:q.default.join(p,"mock-data.js"),source:S},{filename:q.default.join(p,"index.js"),source:Ot(i,c,e.cookiesOptions,e.build.serverPort)},{filename:q.default.join(p,"package.json"),source:St(a,j)}];try{if(q.default.isAbsolute(p)){await K.default.rm(p,{recursive:!0}),Fe.default.mkdirSync(p,{recursive:!0});for(let{filename:u,source:d}of l)await K.default.writeFile(u,d,"utf-8")}else for(let{filename:u,source:d}of l)t.emitFile({type:"asset",fileName:u,source:d})}catch{}}function wt(t){let o=new Set,e=[Re,"connect","cors"];return Object.keys(t).forEach(n=>{t[n].imports.filter(r=>r.external&&!r.path.startsWith("<define:")).map(r=>r.path).forEach(r=>{!e.includes(r)&&!(0,qe.default)(r)&&o.add(r)})}),Array.from(o)}function St(t,o){let{dependencies:e={},devDependencies:n={}}=t,s={...e,...n},r={name:"mock-server",type:"module",scripts:{start:"node index.js"},dependencies:{connect:"^3.7.0","vite-plugin-mock-dev-server":`^${Ce}`,cors:"^2.8.5"},pnpm:{peerDependencyRules:{ignoreMissing:["vite"]}}};return o.forEach(i=>{r.dependencies[i]=s[i]||"latest"}),JSON.stringify(r,null,2)}function Ot(t,o,e={},n=8080){return`import { createServer } from 'node:http';
1
+ "use strict";var ct=Object.create;var Z=Object.defineProperty;var at=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var lt=Object.getPrototypeOf,mt=Object.prototype.hasOwnProperty;var ut=(t,o)=>{for(var e in o)Z(t,e,{get:o[e],enumerable:!0})},Se=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of pt(o))!mt.call(t,s)&&s!==e&&Z(t,s,{get:()=>o[s],enumerable:!(n=at(o,s))||n.enumerable});return t};var f=(t,o,e)=>(e=t!=null?ct(lt(t)):{},Se(o||!t||!t.__esModule?Z(e,"default",{value:t,enumerable:!0}):e,t)),dt=t=>Se(Z({},"__esModule",{value:!0}),t);var qt={};ut(qt,{baseMiddleware:()=>ke,createDefineMock:()=>Ft,default:()=>Ut,defineMock:()=>Ht,mockDevServerPlugin:()=>xe,mockWebSocket:()=>Me,transformMockData:()=>ye});module.exports=dt(qt);var ft=()=>typeof document>"u"?new URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,w=ft();var nt=require("@pengzhanbo/utils");var Fe=f(require("fs"),1),K=f(require("fs/promises"),1),q=f(require("path"),1),X=require("@pengzhanbo/utils"),Ue=f(require("fast-glob"),1),qe=f(require("is-core-module"),1),pe=require("vite");var Re="vite-plugin-mock-dev-server",Ce="1.3.0";var U=f(require("fs"),1),$e=require("module"),se=f(require("path"),1),_e=require("url"),De=require("esbuild"),Ie=f(require("json5"),1);var ee=f(require("fs"),1),te=f(require("path"),1),Pe=require("querystring"),oe=require("url"),We=f(require("debug"),1),je=require("path-to-regexp"),gt=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function",Le=t=>gt(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";function Ee(t){return te.default.dirname((0,oe.fileURLToPath)(t))}var re=(0,We.default)("vite:mock-dev-server");function Q(t,o,e){for(let s of o){let r=te.default.join(t,s);if(ee.default.existsSync(r)&&ee.default.statSync(r).isFile()){let i=e!=null&&e.pathOnly?r:ee.default.readFileSync(r,"utf-8");if(!(e!=null&&e.predicate)||e.predicate(i))return i}}let n=te.default.dirname(t);if(n!==t&&(!(e!=null&&e.rootDir)||n.startsWith(e==null?void 0:e.rootDir)))return Q(n,o,e)}var ne=(t={})=>{let o=[],e=[];return Object.keys(t).forEach(n=>{var r,i;let s=t[n];typeof s=="string"||!s.ws&&!((r=s.target)!=null&&r.toString().startsWith("ws:"))&&!((i=s.target)!=null&&i.toString().startsWith("wss:"))?o.push(n):e.push(n)}),{httpProxies:o,wsProxies:e}};function z(t,o){return t[0]==="^"&&new RegExp(t).test(o)||o.startsWith(t)}function V(t,o){return((0,je.match)(t,{decode:decodeURIComponent})(o)||{params:{}}).params||{}}function W(t){let o=new oe.URL(t,"http://example.com"),e=decodeURIComponent(o.pathname),n=(0,Pe.parse)(o.search.replace(/^\?/,""));return{pathname:e,query:n}}var kt={name:"externalize-deps",setup(t){t.onResolve({filter:/.*/},({path:o})=>{if(o[0]!=="."&&!se.default.isAbsolute(o))return{external:!0}})}},yt={name:"json5-loader",setup(t){t.onLoad({filter:/\.json5$/},async({path:o})=>{let e=await U.promises.readFile(o,"utf-8");return{contents:`export default ${JSON.stringify(Ie.default.parse(e))}`,loader:"js"}})}},ht={name:"json-loader",setup(t){t.onLoad({filter:/\.json$/},async({path:o})=>({contents:`export default ${await U.promises.readFile(o,"utf-8")}`,loader:"js"}))}},vt=t=>({name:"alias-plugin",setup(o){o.onResolve({filter:/.*/},async({path:e})=>{let n=t.find(({find:c})=>Mt(c,e));if(!n)return null;let{find:s,replacement:r}=n;return{path:(await o.resolve(e.replace(s,r),{kind:"import-statement",resolveDir:r,namespace:"file"})).path,external:!1}})}});function Mt(t,o){return t instanceof RegExp?t.test(o):o.length<t.length?!1:o===t?!0:o.startsWith(`${t}/`)}async function ie(t,o){var r;let{isESM:e=!0,define:n,alias:s}=o;try{let i=await(0,De.build)({entryPoints:[t],outfile:"out.js",write:!1,target:["node14.18","node16"],platform:"node",bundle:!0,metafile:!0,format:e?"esm":"cjs",define:n,plugins:[vt(s),kt,ht,yt]});return{code:i.outputFiles[0].text,deps:((r=i.metafile)==null?void 0:r.inputs)||{}}}catch(i){console.error(i)}return{code:"",deps:{}}}var bt=Ee(w),F=(0,$e.createRequire)(bt);async function Te(t,o,e,n){if(e){let s=`${t}.timestamp-${Date.now()}`,r=`${s}.mjs`,i=`${(0,_e.pathToFileURL)(s)}.mjs`;await U.promises.writeFile(r,o,"utf8");try{return await import(i)}finally{try{U.default.unlinkSync(r)}catch{}}}else{t=se.default.resolve(n,t);let s=se.default.extname(t),r=U.default.realpathSync(t),i=s in F.extensions?s:".js",c=F.extensions[i];F.extensions[i]=(p,m)=>{m===r?p._compile(o,m):c(p,m)},delete F.cache[F.resolve(t)];let a=F(t);return F.extensions[i]=c,a.__esModule?a:{default:a}}}var ue=f(require("picocolors"),1);var He=require("@pengzhanbo/utils"),$=f(require("picocolors"),1),Ne={silent:0,error:1,warn:2,info:3};function ce(t,o="info"){t=`[${t}]`;function e(s,r,i){if(i=(0,He.isBoolean)(i)?i?o:"error":i,Ne[i]>=Ne[s]){let a=s==="info"?"log":s,p=s==="info"?$.default.cyan($.default.bold(t)):s==="warn"?$.default.yellow($.default.bold(t)):$.default.red($.default.bold(t)),m=`${$.default.dim(new Date().toLocaleTimeString())} ${p} ${r}`;console[a](m)}}return{info(s,r=o){e("info",s,r)},warn(s,r=o){e("warn",s,r)},error(s,r=o){e("error",s,r)}}}var xt=/import\.meta\.env\.(.+)/;function ae(t){let o=ce("vite:mock-dev-server","warn"),e={},n=process.env.NODE_ENV||t.mode;Object.assign(e,{"process.env.NODE_ENV":JSON.stringify(n),"global.process.env.NODE_ENV":JSON.stringify(n),"globalThis.process.env.NODE_ENV":JSON.stringify(n),__vite_process_env_NODE_ENV:JSON.stringify(n)});let s={},r={},i=[];for(let p in t.define){let m=t.define[p];if(typeof m=="string")try{JSON.parse(m),s[p]=m}catch{i.push(p)}else s[p]=JSON.stringify(m);let h=p.match(xt);h&&s[p]&&(r[h[1]]=`__vite__define__${s[p]}`)}i.length&&o.warn(`The following keys: ${ue.default.yellow(ue.default.underline(i.join(", ")))} declared in 'define' cannot be parsed as regular code snippets.`);let c={},a={};c["import.meta.hot"]="undefined";for(let p in t.env)c[`import.meta.env.${p}`]=JSON.stringify(t.env[p]);return Object.assign(a,{"import.meta.env":JSON.stringify({...t.env,...r}).replace(/"__vite__define__(.+?)"([,}])/g,(p,m,h)=>`${m.replace(/(^\\")|(\\"$)/g,'"')}${h}`)}),{...c,...s,...a,...e}}async function Be(t,o,e){let n=(0,X.toArray)(e.include),s=(0,X.toArray)(e.exclude),r=ae(o),{httpProxies:i}=ne(o.server.proxy||{});i.push(...(0,X.toArray)(e.prefix));let c=(0,X.toArray)(e.wsPrefix),a={};try{let u=Q(o.root,["package.json"]);u&&(a=JSON.parse(u))}catch{}let p=e.build.dist,m=await Rt(process.cwd(),n,s),h=q.default.join(o.root,`mock-data-${Date.now()}.js`);await K.default.writeFile(h,m,"utf-8");let{code:S,deps:E}=await ie(h,{define:r,alias:o.resolve.alias}),j=wt(E);await K.default.unlink(h);let l=[{filename:q.default.join(p,"mock-data.js"),source:S},{filename:q.default.join(p,"index.js"),source:Ot(i,c,e.cookiesOptions,e.build.serverPort)},{filename:q.default.join(p,"package.json"),source:St(a,j)}];try{if(q.default.isAbsolute(p)){await K.default.rm(p,{recursive:!0}),Fe.default.mkdirSync(p,{recursive:!0});for(let{filename:u,source:d}of l)await K.default.writeFile(u,d,"utf-8")}else for(let{filename:u,source:d}of l)t.emitFile({type:"asset",fileName:u,source:d})}catch{}}function wt(t){let o=new Set,e=[Re,"connect","cors"];return Object.keys(t).forEach(n=>{t[n].imports.filter(r=>r.external&&!r.path.startsWith("<define:")).map(r=>r.path).forEach(r=>{!e.includes(r)&&!(0,qe.default)(r)&&o.add(r)})}),Array.from(o)}function St(t,o){let{dependencies:e={},devDependencies:n={}}=t,s={...e,...n},r={name:"mock-server",type:"module",scripts:{start:"node index.js"},dependencies:{connect:"^3.7.0","vite-plugin-mock-dev-server":`^${Ce}`,cors:"^2.8.5"},pnpm:{peerDependencyRules:{ignoreMissing:["vite"]}}};return o.forEach(i=>{r.dependencies[i]=s[i]||"latest"}),JSON.stringify(r,null,2)}function Ot(t,o,e={},n=8080){return`import { createServer } from 'node:http';
2
2
  import connect from 'connect';
3
3
  import corsMiddleware from 'cors';
4
4
  import { baseMiddleware, mockWebSocket } from 'vite-plugin-mock-dev-server';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{toArray as Jt}from"@pengzhanbo/utils";import rt from"node:fs";import K from"node:fs/promises";import H from"node:path";import{toArray as X}from"@pengzhanbo/utils";import nt from"fast-glob";import st from"is-core-module";import{createFilter as it,normalizePath as ct}from"vite";var me="vite-plugin-mock-dev-server",ue="1.3.0-beta.0";import ge,{promises as se}from"node:fs";import{createRequire as Ae}from"node:module";import ne from"node:path";import{pathToFileURL as ze}from"node:url";import{build as Ge}from"esbuild";import Qe from"json5";import oe from"node:fs";import re from"node:path";import{parse as He}from"node:querystring";import{URL as Fe,fileURLToPath as qe}from"node:url";import Ue from"debug";import{match as Be}from"path-to-regexp";var Je=o=>o!==null&&typeof o=="object"&&typeof o.pipe=="function",de=o=>Je(o)&&o.readable!==!1&&typeof o._read=="function"&&typeof o._readableState=="object";function fe(o){return re.dirname(qe(o))}var A=Ue("vite:mock-dev-server");function q(o,t,e){for(let s of t){let r=re.join(o,s);if(oe.existsSync(r)&&oe.statSync(r).isFile()){let i=e!=null&&e.pathOnly?r:oe.readFileSync(r,"utf-8");if(!(e!=null&&e.predicate)||e.predicate(i))return i}}let n=re.dirname(o);if(n!==o&&(!(e!=null&&e.rootDir)||n.startsWith(e==null?void 0:e.rootDir)))return q(n,t,e)}var z=(o={})=>{let t=[],e=[];return Object.keys(o).forEach(n=>{var r,i;let s=o[n];typeof s=="string"||!s.ws&&!((r=s.target)!=null&&r.toString().startsWith("ws:"))&&!((i=s.target)!=null&&i.toString().startsWith("wss:"))?t.push(n):e.push(n)}),{httpProxies:t,wsProxies:e}};function N(o,t){return o[0]==="^"&&new RegExp(o).test(t)||t.startsWith(o)}function U(o,t){return(Be(o,{decode:decodeURIComponent})(t)||{params:{}}).params||{}}function R(o){let t=new Fe(o,"http://example.com"),e=decodeURIComponent(t.pathname),n=He(t.search.replace(/^\?/,""));return{pathname:e,query:n}}var Ve={name:"externalize-deps",setup(o){o.onResolve({filter:/.*/},({path:t})=>{if(t[0]!=="."&&!ne.isAbsolute(t))return{external:!0}})}},Ke={name:"json5-loader",setup(o){o.onLoad({filter:/\.json5$/},async({path:t})=>{let e=await se.readFile(t,"utf-8");return{contents:`export default ${JSON.stringify(Qe.parse(e))}`,loader:"js"}})}},Xe={name:"json-loader",setup(o){o.onLoad({filter:/\.json$/},async({path:t})=>({contents:`export default ${await se.readFile(t,"utf-8")}`,loader:"js"}))}},Ye=o=>({name:"alias-plugin",setup(t){t.onResolve({filter:/.*/},async({path:e})=>{let n=o.find(({find:c})=>Ze(c,e));if(!n)return null;let{find:s,replacement:r}=n;return{path:(await t.resolve(e.replace(s,r),{kind:"import-statement",resolveDir:r,namespace:"file"})).path,external:!1}})}});function Ze(o,t){return o instanceof RegExp?o.test(t):t.length<o.length?!1:t===o?!0:t.startsWith(`${o}/`)}async function G(o,t){var r;let{isESM:e=!0,define:n,alias:s}=t;try{let i=await Ge({entryPoints:[o],outfile:"out.js",write:!1,target:["node14.18","node16"],platform:"node",bundle:!0,metafile:!0,format:e?"esm":"cjs",define:n,plugins:[Ye(s),Ve,Xe,Ke]});return{code:i.outputFiles[0].text,deps:((r=i.metafile)==null?void 0:r.inputs)||{}}}catch(i){console.error(i)}return{code:"",deps:{}}}var et=fe(import.meta.url),_=Ae(et);async function ke(o,t,e,n){if(e){let s=`${o}.timestamp-${Date.now()}`,r=`${s}.mjs`,i=`${ze(s)}.mjs`;await se.writeFile(r,t,"utf8");try{return await import(i)}finally{try{ge.unlinkSync(r)}catch{}}}else{o=ne.resolve(n,o);let s=ne.extname(o),r=ge.realpathSync(o),i=s in _.extensions?s:".js",c=_.extensions[i];_.extensions[i]=(p,m)=>{m===r?p._compile(t,m):c(p,m)},delete _.cache[_.resolve(o)];let a=_(o);return _.extensions[i]=c,a.__esModule?a:{default:a}}}import he from"picocolors";import{isBoolean as tt}from"@pengzhanbo/utils";import I from"picocolors";var ye={silent:0,error:1,warn:2,info:3};function Q(o,t="info"){o=`[${o}]`;function e(s,r,i){if(i=tt(i)?i?t:"error":i,ye[i]>=ye[s]){let a=s==="info"?"log":s,p=s==="info"?I.cyan(I.bold(o)):s==="warn"?I.yellow(I.bold(o)):I.red(I.bold(o)),m=`${I.dim(new Date().toLocaleTimeString())} ${p} ${r}`;console[a](m)}}return{info(s,r=t){e("info",s,r)},warn(s,r=t){e("warn",s,r)},error(s,r=t){e("error",s,r)}}}var ot=/import\.meta\.env\.(.+)/;function V(o){let t=Q("vite:mock-dev-server","warn"),e={},n=process.env.NODE_ENV||o.mode;Object.assign(e,{"process.env.NODE_ENV":JSON.stringify(n),"global.process.env.NODE_ENV":JSON.stringify(n),"globalThis.process.env.NODE_ENV":JSON.stringify(n),__vite_process_env_NODE_ENV:JSON.stringify(n)});let s={},r={},i=[];for(let p in o.define){let m=o.define[p];if(typeof m=="string")try{JSON.parse(m),s[p]=m}catch{i.push(p)}else s[p]=JSON.stringify(m);let k=p.match(ot);k&&s[p]&&(r[k[1]]=`__vite__define__${s[p]}`)}i.length&&t.warn(`The following keys: ${he.yellow(he.underline(i.join(", ")))} declared in 'define' cannot be parsed as regular code snippets.`);let c={},a={};c["import.meta.hot"]="undefined";for(let p in o.env)c[`import.meta.env.${p}`]=JSON.stringify(o.env[p]);return Object.assign(a,{"import.meta.env":JSON.stringify({...o.env,...r}).replace(/"__vite__define__(.+?)"([,}])/g,(p,m,k)=>`${m.replace(/(^\\")|(\\"$)/g,'"')}${k}`)}),{...c,...s,...a,...e}}async function ve(o,t,e){let n=X(e.include),s=X(e.exclude),r=V(t),{httpProxies:i}=z(t.server.proxy||{});i.push(...X(e.prefix));let c=X(e.wsPrefix),a={};try{let u=q(t.root,["package.json"]);u&&(a=JSON.parse(u))}catch{}let p=e.build.dist,m=await mt(process.cwd(),n,s),k=H.join(t.root,`mock-data-${Date.now()}.js`);await K.writeFile(k,m,"utf-8");let{code:w,deps:j}=await G(k,{define:r,alias:t.resolve.alias}),P=at(j);await K.unlink(k);let l=[{filename:H.join(p,"mock-data.js"),source:w},{filename:H.join(p,"index.js"),source:lt(i,c,e.cookiesOptions,e.build.serverPort)},{filename:H.join(p,"package.json"),source:pt(a,P)}];try{if(H.isAbsolute(p)){await K.rm(p,{recursive:!0}),rt.mkdirSync(p,{recursive:!0});for(let{filename:u,source:d}of l)await K.writeFile(u,d,"utf-8")}else for(let{filename:u,source:d}of l)o.emitFile({type:"asset",fileName:u,source:d})}catch{}}function at(o){let t=new Set,e=[me,"connect","cors"];return Object.keys(o).forEach(n=>{o[n].imports.filter(r=>r.external&&!r.path.startsWith("<define:")).map(r=>r.path).forEach(r=>{!e.includes(r)&&!st(r)&&t.add(r)})}),Array.from(t)}function pt(o,t){let{dependencies:e={},devDependencies:n={}}=o,s={...e,...n},r={name:"mock-server",type:"module",scripts:{start:"node index.js"},dependencies:{connect:"^3.7.0","vite-plugin-mock-dev-server":`^${ue}`,cors:"^2.8.5"},pnpm:{peerDependencyRules:{ignoreMissing:["vite"]}}};return t.forEach(i=>{r.dependencies[i]=s[i]||"latest"}),JSON.stringify(r,null,2)}function lt(o,t,e={},n=8080){return`import { createServer } from 'node:http';
1
+ import{toArray as Jt}from"@pengzhanbo/utils";import rt from"node:fs";import K from"node:fs/promises";import H from"node:path";import{toArray as X}from"@pengzhanbo/utils";import nt from"fast-glob";import st from"is-core-module";import{createFilter as it,normalizePath as ct}from"vite";var me="vite-plugin-mock-dev-server",ue="1.3.0";import ge,{promises as se}from"node:fs";import{createRequire as Ae}from"node:module";import ne from"node:path";import{pathToFileURL as ze}from"node:url";import{build as Ge}from"esbuild";import Qe from"json5";import oe from"node:fs";import re from"node:path";import{parse as He}from"node:querystring";import{URL as Fe,fileURLToPath as qe}from"node:url";import Ue from"debug";import{match as Be}from"path-to-regexp";var Je=o=>o!==null&&typeof o=="object"&&typeof o.pipe=="function",de=o=>Je(o)&&o.readable!==!1&&typeof o._read=="function"&&typeof o._readableState=="object";function fe(o){return re.dirname(qe(o))}var A=Ue("vite:mock-dev-server");function q(o,t,e){for(let s of t){let r=re.join(o,s);if(oe.existsSync(r)&&oe.statSync(r).isFile()){let i=e!=null&&e.pathOnly?r:oe.readFileSync(r,"utf-8");if(!(e!=null&&e.predicate)||e.predicate(i))return i}}let n=re.dirname(o);if(n!==o&&(!(e!=null&&e.rootDir)||n.startsWith(e==null?void 0:e.rootDir)))return q(n,t,e)}var z=(o={})=>{let t=[],e=[];return Object.keys(o).forEach(n=>{var r,i;let s=o[n];typeof s=="string"||!s.ws&&!((r=s.target)!=null&&r.toString().startsWith("ws:"))&&!((i=s.target)!=null&&i.toString().startsWith("wss:"))?t.push(n):e.push(n)}),{httpProxies:t,wsProxies:e}};function N(o,t){return o[0]==="^"&&new RegExp(o).test(t)||t.startsWith(o)}function U(o,t){return(Be(o,{decode:decodeURIComponent})(t)||{params:{}}).params||{}}function R(o){let t=new Fe(o,"http://example.com"),e=decodeURIComponent(t.pathname),n=He(t.search.replace(/^\?/,""));return{pathname:e,query:n}}var Ve={name:"externalize-deps",setup(o){o.onResolve({filter:/.*/},({path:t})=>{if(t[0]!=="."&&!ne.isAbsolute(t))return{external:!0}})}},Ke={name:"json5-loader",setup(o){o.onLoad({filter:/\.json5$/},async({path:t})=>{let e=await se.readFile(t,"utf-8");return{contents:`export default ${JSON.stringify(Qe.parse(e))}`,loader:"js"}})}},Xe={name:"json-loader",setup(o){o.onLoad({filter:/\.json$/},async({path:t})=>({contents:`export default ${await se.readFile(t,"utf-8")}`,loader:"js"}))}},Ye=o=>({name:"alias-plugin",setup(t){t.onResolve({filter:/.*/},async({path:e})=>{let n=o.find(({find:c})=>Ze(c,e));if(!n)return null;let{find:s,replacement:r}=n;return{path:(await t.resolve(e.replace(s,r),{kind:"import-statement",resolveDir:r,namespace:"file"})).path,external:!1}})}});function Ze(o,t){return o instanceof RegExp?o.test(t):t.length<o.length?!1:t===o?!0:t.startsWith(`${o}/`)}async function G(o,t){var r;let{isESM:e=!0,define:n,alias:s}=t;try{let i=await Ge({entryPoints:[o],outfile:"out.js",write:!1,target:["node14.18","node16"],platform:"node",bundle:!0,metafile:!0,format:e?"esm":"cjs",define:n,plugins:[Ye(s),Ve,Xe,Ke]});return{code:i.outputFiles[0].text,deps:((r=i.metafile)==null?void 0:r.inputs)||{}}}catch(i){console.error(i)}return{code:"",deps:{}}}var et=fe(import.meta.url),_=Ae(et);async function ke(o,t,e,n){if(e){let s=`${o}.timestamp-${Date.now()}`,r=`${s}.mjs`,i=`${ze(s)}.mjs`;await se.writeFile(r,t,"utf8");try{return await import(i)}finally{try{ge.unlinkSync(r)}catch{}}}else{o=ne.resolve(n,o);let s=ne.extname(o),r=ge.realpathSync(o),i=s in _.extensions?s:".js",c=_.extensions[i];_.extensions[i]=(p,m)=>{m===r?p._compile(t,m):c(p,m)},delete _.cache[_.resolve(o)];let a=_(o);return _.extensions[i]=c,a.__esModule?a:{default:a}}}import he from"picocolors";import{isBoolean as tt}from"@pengzhanbo/utils";import I from"picocolors";var ye={silent:0,error:1,warn:2,info:3};function Q(o,t="info"){o=`[${o}]`;function e(s,r,i){if(i=tt(i)?i?t:"error":i,ye[i]>=ye[s]){let a=s==="info"?"log":s,p=s==="info"?I.cyan(I.bold(o)):s==="warn"?I.yellow(I.bold(o)):I.red(I.bold(o)),m=`${I.dim(new Date().toLocaleTimeString())} ${p} ${r}`;console[a](m)}}return{info(s,r=t){e("info",s,r)},warn(s,r=t){e("warn",s,r)},error(s,r=t){e("error",s,r)}}}var ot=/import\.meta\.env\.(.+)/;function V(o){let t=Q("vite:mock-dev-server","warn"),e={},n=process.env.NODE_ENV||o.mode;Object.assign(e,{"process.env.NODE_ENV":JSON.stringify(n),"global.process.env.NODE_ENV":JSON.stringify(n),"globalThis.process.env.NODE_ENV":JSON.stringify(n),__vite_process_env_NODE_ENV:JSON.stringify(n)});let s={},r={},i=[];for(let p in o.define){let m=o.define[p];if(typeof m=="string")try{JSON.parse(m),s[p]=m}catch{i.push(p)}else s[p]=JSON.stringify(m);let k=p.match(ot);k&&s[p]&&(r[k[1]]=`__vite__define__${s[p]}`)}i.length&&t.warn(`The following keys: ${he.yellow(he.underline(i.join(", ")))} declared in 'define' cannot be parsed as regular code snippets.`);let c={},a={};c["import.meta.hot"]="undefined";for(let p in o.env)c[`import.meta.env.${p}`]=JSON.stringify(o.env[p]);return Object.assign(a,{"import.meta.env":JSON.stringify({...o.env,...r}).replace(/"__vite__define__(.+?)"([,}])/g,(p,m,k)=>`${m.replace(/(^\\")|(\\"$)/g,'"')}${k}`)}),{...c,...s,...a,...e}}async function ve(o,t,e){let n=X(e.include),s=X(e.exclude),r=V(t),{httpProxies:i}=z(t.server.proxy||{});i.push(...X(e.prefix));let c=X(e.wsPrefix),a={};try{let u=q(t.root,["package.json"]);u&&(a=JSON.parse(u))}catch{}let p=e.build.dist,m=await mt(process.cwd(),n,s),k=H.join(t.root,`mock-data-${Date.now()}.js`);await K.writeFile(k,m,"utf-8");let{code:w,deps:j}=await G(k,{define:r,alias:t.resolve.alias}),P=at(j);await K.unlink(k);let l=[{filename:H.join(p,"mock-data.js"),source:w},{filename:H.join(p,"index.js"),source:lt(i,c,e.cookiesOptions,e.build.serverPort)},{filename:H.join(p,"package.json"),source:pt(a,P)}];try{if(H.isAbsolute(p)){await K.rm(p,{recursive:!0}),rt.mkdirSync(p,{recursive:!0});for(let{filename:u,source:d}of l)await K.writeFile(u,d,"utf-8")}else for(let{filename:u,source:d}of l)o.emitFile({type:"asset",fileName:u,source:d})}catch{}}function at(o){let t=new Set,e=[me,"connect","cors"];return Object.keys(o).forEach(n=>{o[n].imports.filter(r=>r.external&&!r.path.startsWith("<define:")).map(r=>r.path).forEach(r=>{!e.includes(r)&&!st(r)&&t.add(r)})}),Array.from(t)}function pt(o,t){let{dependencies:e={},devDependencies:n={}}=o,s={...e,...n},r={name:"mock-server",type:"module",scripts:{start:"node index.js"},dependencies:{connect:"^3.7.0","vite-plugin-mock-dev-server":`^${ue}`,cors:"^2.8.5"},pnpm:{peerDependencyRules:{ignoreMissing:["vite"]}}};return t.forEach(i=>{r.dependencies[i]=s[i]||"latest"}),JSON.stringify(r,null,2)}function lt(o,t,e={},n=8080){return`import { createServer } from 'node:http';
2
2
  import connect from 'connect';
3
3
  import corsMiddleware from 'cors';
4
4
  import { baseMiddleware, mockWebSocket } from 'vite-plugin-mock-dev-server';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-mock-dev-server",
3
- "version": "1.3.0-beta.0",
3
+ "version": "1.3.0",
4
4
  "keywords": [
5
5
  "vite",
6
6
  "plugin",