vite-plugin-mock-dev-server 1.2.0 → 1.2.1
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/README.md +8 -0
- package/README.zh-CN.md +8 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -174,6 +174,14 @@ export default defineConfig({
|
|
|
174
174
|
|
|
175
175
|
When the mock resource is hot updated, only the data content is updated, but the page is not refreshed by default. If you want to refresh the page every time you modify the mock file, you can open this option.
|
|
176
176
|
|
|
177
|
+
- `options.cors`
|
|
178
|
+
|
|
179
|
+
**Type:** `boolean | CorsOptions`
|
|
180
|
+
|
|
181
|
+
Enable by default.
|
|
182
|
+
|
|
183
|
+
Configure to `cors`, see [cors](https://github.com/expressjs/cors#configuration-options)
|
|
184
|
+
|
|
177
185
|
|
|
178
186
|
**Default:** `false`
|
|
179
187
|
|
package/README.zh-CN.md
CHANGED
|
@@ -173,6 +173,14 @@ export default defineConfig({
|
|
|
173
173
|
|
|
174
174
|
**Default:** `false`
|
|
175
175
|
|
|
176
|
+
- `options.cors`
|
|
177
|
+
|
|
178
|
+
**Type:** `boolean | CorsOptions`
|
|
179
|
+
|
|
180
|
+
默认启用.
|
|
181
|
+
|
|
182
|
+
配置 `cors`, 查看 [cors](https://github.com/expressjs/cors#configuration-options)
|
|
183
|
+
|
|
176
184
|
- `options.formidableOptions`
|
|
177
185
|
|
|
178
186
|
配置 `formidable`,查看 [formidable options](https://github.com/node-formidable/formidable#options)
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var pt=Object.create;var Q=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames;var mt=Object.getPrototypeOf,dt=Object.prototype.hasOwnProperty;var ft=(e,o)=>{for(var t in o)Q(e,t,{get:o[t],enumerable:!0})},Se=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ut(o))!dt.call(e,n)&&n!==t&&Q(e,n,{get:()=>o[n],enumerable:!(r=lt(o,n))||r.enumerable});return e};var f=(e,o,t)=>(t=e!=null?pt(mt(e)):{},Se(o||!e||!e.__esModule?Q(t,"default",{value:e,enumerable:!0}):t,e)),kt=e=>Se(Q({},"__esModule",{value:!0}),e);var Ht={};ft(Ht,{baseMiddleware:()=>ke,createDefineMock:()=>Ft,default:()=>Nt,defineMock:()=>Tt,mockDevServerPlugin:()=>xe,mockWebSocket:()=>Me,transformMockData:()=>ge});module.exports=kt(Ht);var gt=()=>typeof document>"u"?new URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,b=gt();var $e=f(require("fs"),1),z=f(require("fs/promises"),1),N=f(require("path"),1),Te=require("esbuild"),Fe=f(require("fast-glob"),1),Ne=f(require("is-core-module"),1),se=require("vite");var Ce="vite-plugin-mock-dev-server",je="1.2.
|
|
1
|
+
"use strict";var pt=Object.create;var Q=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames;var mt=Object.getPrototypeOf,dt=Object.prototype.hasOwnProperty;var ft=(e,o)=>{for(var t in o)Q(e,t,{get:o[t],enumerable:!0})},Se=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ut(o))!dt.call(e,n)&&n!==t&&Q(e,n,{get:()=>o[n],enumerable:!(r=lt(o,n))||r.enumerable});return e};var f=(e,o,t)=>(t=e!=null?pt(mt(e)):{},Se(o||!e||!e.__esModule?Q(t,"default",{value:e,enumerable:!0}):t,e)),kt=e=>Se(Q({},"__esModule",{value:!0}),e);var Ht={};ft(Ht,{baseMiddleware:()=>ke,createDefineMock:()=>Ft,default:()=>Nt,defineMock:()=>Tt,mockDevServerPlugin:()=>xe,mockWebSocket:()=>Me,transformMockData:()=>ge});module.exports=kt(Ht);var gt=()=>typeof document>"u"?new URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,b=gt();var $e=f(require("fs"),1),z=f(require("fs/promises"),1),N=f(require("path"),1),Te=require("esbuild"),Fe=f(require("fast-glob"),1),Ne=f(require("is-core-module"),1),se=require("vite");var Ce="vite-plugin-mock-dev-server",je="1.2.1";var Z=f(require("picocolors"),1);var V=f(require("fs"),1),K=f(require("path"),1),Pe=require("querystring"),X=require("url"),Re=f(require("debug"),1),We=require("path-to-regexp"),pe=f(require("picocolors"),1),M=e=>Array.isArray(e),D=e=>typeof e=="function",U=e=>Object.prototype.toString.call(e)==="[object Object]",le=e=>U(e)&&Object.keys(e).length===0,yt=e=>e!==null&&typeof e=="object"&&typeof e.pipe=="function",De=e=>yt(e)&&e.readable!==!1&&typeof e._read=="function"&&typeof e._readableState=="object";function Ee(e){return new Promise(o=>setTimeout(o,e))}function _e(e){return K.default.dirname((0,X.fileURLToPath)(e))}var E=(0,Re.default)("vite:plugin-mock-dev-server"),S=e=>M(e)?e:e==null?[]:[e],j={info(...e){console.info(pe.default.cyan("mock-dev-server: "),...e)},error(...e){console.error(`
|
|
2
2
|
`,pe.default.cyan("mock-dev-server: "),...e,`
|
|
3
3
|
`)}};function J(e,o,t){for(let n of o){let s=K.default.join(e,n);if(V.default.existsSync(s)&&V.default.statSync(s).isFile()){let i=t!=null&&t.pathOnly?s:V.default.readFileSync(s,"utf-8");if(!(t!=null&&t.predicate)||t.predicate(i))return i}}let r=K.default.dirname(e);if(r!==e&&(!(t!=null&&t.rootDir)||r.startsWith(t==null?void 0:t.rootDir)))return J(r,o,t)}var Y=(e={})=>{let o=[],t=[];return Object.keys(e).forEach(r=>{var s,i;let n=e[r];typeof n=="string"||!n.ws&&!((s=n.target)!=null&&s.toString().startsWith("ws:"))&&!((i=n.target)!=null&&i.toString().startsWith("wss:"))?o.push(r):t.push(r)}),{httpProxies:o,wsProxies:t}};function A(e,o){return e[0]==="^"&&new RegExp(e).test(o)||o.startsWith(e)}function q(e,o){return((0,We.match)(e,{decode:decodeURIComponent})(o)||{params:{}}).params||{}}function P(e){let o=new X.URL(e,"http://example.com"),t=decodeURIComponent(o.pathname),r=(0,Pe.parse)(o.search.replace(/^\?/,""));return{pathname:t,query:r}}var ht=/import\.meta\.env\.(.+)/;function ee(e){let o={},t=process.env.NODE_ENV||e.mode;Object.assign(o,{"process.env.NODE_ENV":JSON.stringify(t),"global.process.env.NODE_ENV":JSON.stringify(t),"globalThis.process.env.NODE_ENV":JSON.stringify(t),__vite_process_env_NODE_ENV:JSON.stringify(t)});let r={},n={},s=[];for(let a in e.define){let p=e.define[a];if(typeof p=="string")try{JSON.parse(p),r[a]=p}catch{s.push(a)}else r[a]=JSON.stringify(p);let k=a.match(ht);k&&r[a]&&(n[k[1]]=`__vite__define__${r[a]}`)}s.length&&j.error(`${Z.default.yellow("[warn]")} The following keys: ${Z.default.yellow(Z.default.underline(s.join(", ")))} declared in 'define' cannot be parsed as regular code snippets.`);let i={},c={};i["import.meta.hot"]="undefined";for(let a in e.env)i[`import.meta.env.${a}`]=JSON.stringify(e.env[a]);return Object.assign(c,{"import.meta.env":JSON.stringify({...e.env,...n}).replace(/"__vite__define__(.+?)"([,}])/g,(a,p,k)=>`${p.replace(/(^\\")|(\\"$)/g,'"')}${k}`)}),{...i,...r,...c,...o}}var ue=f(require("fs/promises"),1),Le=f(require("path"),1),Ie=f(require("json5"),1),te={name:"externalize-deps",setup(e){e.onResolve({filter:/.*/},({path:o})=>{if(o[0]!=="."&&!Le.default.isAbsolute(o))return{external:!0}})}},oe={name:"json5-loader",setup(e){e.onLoad({filter:/\.json5$/},async({path:o})=>{let t=await ue.default.readFile(o,"utf-8");return{contents:`export default ${JSON.stringify(Ie.default.parse(t))}`,loader:"js"}})}},re={name:"json-loader",setup(e){e.onLoad({filter:/\.json$/},async({path:o})=>({contents:`export default ${await ue.default.readFile(o,"utf-8")}`,loader:"js"}))}},ne=e=>({name:"alias-plugin",setup(o){o.onResolve({filter:/.*/},async({path:t})=>{let r=e.find(({find:c})=>vt(c,t));if(!r)return null;let{find:n,replacement:s}=r;return{path:(await o.resolve(t.replace(n,s),{kind:"import-statement",resolveDir:s,namespace:"file"})).path,external:!1}})}});function vt(e,o){return e instanceof RegExp?e.test(o):o.length<e.length?!1:o===e?!0:o.startsWith(`${e}/`)}async function He(e,o,t){let r=S(t.include),n=S(t.exclude),s=ee(o),{httpProxies:i}=Y(o.server.proxy||{});i.push(...S(t.prefix));let c=S(t.wsPrefix),a={};try{let m=J(o.root,["package.json"]);m&&(a=JSON.parse(m))}catch{}let p=t.build.dist,k=await wt(process.cwd(),r,n),x=N.default.join(o.root,`mock-data-${Date.now()}.js`);await z.default.writeFile(x,k,"utf-8");let{code:O,deps:I}=await St(x,s,o.resolve.alias),l=Mt(I);await z.default.unlink(x);let u=[{filename:N.default.join(p,"mock-data.js"),source:O},{filename:N.default.join(p,"index.js"),source:xt(i,c,t.cookiesOptions,t.build.serverPort)},{filename:N.default.join(p,"package.json"),source:bt(a,l)}];try{if(N.default.isAbsolute(p)){await z.default.rm(p,{recursive:!0}),$e.default.mkdirSync(p,{recursive:!0});for(let{filename:m,source:d}of u)await z.default.writeFile(m,d,"utf-8")}else for(let{filename:m,source:d}of u)e.emitFile({type:"asset",fileName:m,source:d})}catch{}}function Mt(e){let o=new Set,t=[Ce,"connect","cors"];return Object.keys(e).forEach(r=>{e[r].imports.filter(s=>s.external&&!s.path.startsWith("<define:")).map(s=>s.path).forEach(s=>{!t.includes(s)&&!(0,Ne.default)(s)&&o.add(s)})}),Array.from(o)}function bt(e,o){let{dependencies:t={},devDependencies:r={}}=e,n={...t,...r},s={name:"mock-server",type:"module",scripts:{start:"node index.js"},dependencies:{connect:"^3.7.0","vite-plugin-mock-dev-server":`^${je}`,cors:"^2.8.5"},pnpm:{peerDependencyRules:{ignoreMissing:["vite"]}}};return o.forEach(i=>{s.dependencies[i]=n[i]||"latest"}),JSON.stringify(s,null,2)}function xt(e,o,t={},r=8080){return`import { createServer } from 'node:http';
|
|
4
4
|
import connect from 'connect';
|
package/dist/index.d.ts
CHANGED
|
@@ -65,6 +65,13 @@ interface MockServerPluginOptions {
|
|
|
65
65
|
* @default false
|
|
66
66
|
*/
|
|
67
67
|
reload?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Configure to `cors`
|
|
70
|
+
*
|
|
71
|
+
* 配置 `cors`
|
|
72
|
+
* @default true
|
|
73
|
+
* @see [cors](https://github.com/expressjs/cors#configuration-options)
|
|
74
|
+
*/
|
|
68
75
|
cors?: boolean | CorsOptions;
|
|
69
76
|
/**
|
|
70
77
|
* formidable options
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import qe from"node:fs";import Z from"node:fs/promises";import U from"node:path";import{build as ze}from"esbuild";import Ge from"fast-glob";import Qe from"is-core-module";import{createFilter as Ve,normalizePath as Ke}from"vite";var ue="vite-plugin-mock-dev-server",me="1.2.
|
|
1
|
+
import qe from"node:fs";import Z from"node:fs/promises";import U from"node:path";import{build as ze}from"esbuild";import Ge from"fast-glob";import Qe from"is-core-module";import{createFilter as Ve,normalizePath as Ke}from"vite";var ue="vite-plugin-mock-dev-server",me="1.2.1";import ne from"picocolors";import te from"node:fs";import oe from"node:path";import{parse as Ie}from"node:querystring";import{URL as $e,fileURLToPath as Te}from"node:url";import Fe from"debug";import{match as Ne}from"path-to-regexp";import de from"picocolors";var v=t=>Array.isArray(t),W=t=>typeof t=="function",N=t=>Object.prototype.toString.call(t)==="[object Object]",re=t=>N(t)&&Object.keys(t).length===0,He=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function",fe=t=>He(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";function ke(t){return new Promise(o=>setTimeout(o,t))}function ge(t){return oe.dirname(Te(t))}var D=Fe("vite:plugin-mock-dev-server"),S=t=>v(t)?t:t==null?[]:[t],P={info(...t){console.info(de.cyan("mock-dev-server: "),...t)},error(...t){console.error(`
|
|
2
2
|
`,de.cyan("mock-dev-server: "),...t,`
|
|
3
3
|
`)}};function B(t,o,e){for(let n of o){let s=oe.join(t,n);if(te.existsSync(s)&&te.statSync(s).isFile()){let i=e!=null&&e.pathOnly?s:te.readFileSync(s,"utf-8");if(!(e!=null&&e.predicate)||e.predicate(i))return i}}let r=oe.dirname(t);if(r!==t&&(!(e!=null&&e.rootDir)||r.startsWith(e==null?void 0:e.rootDir)))return B(r,o,e)}var G=(t={})=>{let o=[],e=[];return Object.keys(t).forEach(r=>{var s,i;let n=t[r];typeof n=="string"||!n.ws&&!((s=n.target)!=null&&s.toString().startsWith("ws:"))&&!((i=n.target)!=null&&i.toString().startsWith("wss:"))?o.push(r):e.push(r)}),{httpProxies:o,wsProxies:e}};function H(t,o){return t[0]==="^"&&new RegExp(t).test(o)||o.startsWith(t)}function J(t,o){return(Ne(t,{decode:decodeURIComponent})(o)||{params:{}}).params||{}}function j(t){let o=new $e(t,"http://example.com"),e=decodeURIComponent(o.pathname),r=Ie(o.search.replace(/^\?/,""));return{pathname:e,query:r}}var Ue=/import\.meta\.env\.(.+)/;function Q(t){let o={},e=process.env.NODE_ENV||t.mode;Object.assign(o,{"process.env.NODE_ENV":JSON.stringify(e),"global.process.env.NODE_ENV":JSON.stringify(e),"globalThis.process.env.NODE_ENV":JSON.stringify(e),__vite_process_env_NODE_ENV:JSON.stringify(e)});let r={},n={},s=[];for(let a in t.define){let p=t.define[a];if(typeof p=="string")try{JSON.parse(p),r[a]=p}catch{s.push(a)}else r[a]=JSON.stringify(p);let f=a.match(Ue);f&&r[a]&&(n[f[1]]=`__vite__define__${r[a]}`)}s.length&&P.error(`${ne.yellow("[warn]")} The following keys: ${ne.yellow(ne.underline(s.join(", ")))} declared in 'define' cannot be parsed as regular code snippets.`);let i={},c={};i["import.meta.hot"]="undefined";for(let a in t.env)i[`import.meta.env.${a}`]=JSON.stringify(t.env[a]);return Object.assign(c,{"import.meta.env":JSON.stringify({...t.env,...n}).replace(/"__vite__define__(.+?)"([,}])/g,(a,p,f)=>`${p.replace(/(^\\")|(\\"$)/g,'"')}${f}`)}),{...i,...r,...c,...o}}import ye from"node:fs/promises";import Ae from"node:path";import Be from"json5";var V={name:"externalize-deps",setup(t){t.onResolve({filter:/.*/},({path:o})=>{if(o[0]!=="."&&!Ae.isAbsolute(o))return{external:!0}})}},K={name:"json5-loader",setup(t){t.onLoad({filter:/\.json5$/},async({path:o})=>{let e=await ye.readFile(o,"utf-8");return{contents:`export default ${JSON.stringify(Be.parse(e))}`,loader:"js"}})}},X={name:"json-loader",setup(t){t.onLoad({filter:/\.json$/},async({path:o})=>({contents:`export default ${await ye.readFile(o,"utf-8")}`,loader:"js"}))}},Y=t=>({name:"alias-plugin",setup(o){o.onResolve({filter:/.*/},async({path:e})=>{let r=t.find(({find:c})=>Je(c,e));if(!r)return null;let{find:n,replacement:s}=r;return{path:(await o.resolve(e.replace(n,s),{kind:"import-statement",resolveDir:s,namespace:"file"})).path,external:!1}})}});function Je(t,o){return t instanceof RegExp?t.test(o):o.length<t.length?!1:o===t?!0:o.startsWith(`${t}/`)}async function he(t,o,e){let r=S(e.include),n=S(e.exclude),s=Q(o),{httpProxies:i}=G(o.server.proxy||{});i.push(...S(e.prefix));let c=S(e.wsPrefix),a={};try{let m=B(o.root,["package.json"]);m&&(a=JSON.parse(m))}catch{}let p=e.build.dist,f=await et(process.cwd(),r,n),M=U.join(o.root,`mock-data-${Date.now()}.js`);await Z.writeFile(M,f,"utf-8");let{code:O,deps:L}=await tt(M,s,o.resolve.alias),l=Xe(L);await Z.unlink(M);let u=[{filename:U.join(p,"mock-data.js"),source:O},{filename:U.join(p,"index.js"),source:Ze(i,c,e.cookiesOptions,e.build.serverPort)},{filename:U.join(p,"package.json"),source:Ye(a,l)}];try{if(U.isAbsolute(p)){await Z.rm(p,{recursive:!0}),qe.mkdirSync(p,{recursive:!0});for(let{filename:m,source:d}of u)await Z.writeFile(m,d,"utf-8")}else for(let{filename:m,source:d}of u)t.emitFile({type:"asset",fileName:m,source:d})}catch{}}function Xe(t){let o=new Set,e=[ue,"connect","cors"];return Object.keys(t).forEach(r=>{t[r].imports.filter(s=>s.external&&!s.path.startsWith("<define:")).map(s=>s.path).forEach(s=>{!e.includes(s)&&!Qe(s)&&o.add(s)})}),Array.from(o)}function Ye(t,o){let{dependencies:e={},devDependencies:r={}}=t,n={...e,...r},s={name:"mock-server",type:"module",scripts:{start:"node index.js"},dependencies:{connect:"^3.7.0","vite-plugin-mock-dev-server":`^${me}`,cors:"^2.8.5"},pnpm:{peerDependencyRules:{ignoreMissing:["vite"]}}};return o.forEach(i=>{s.dependencies[i]=n[i]||"latest"}),JSON.stringify(s,null,2)}function Ze(t,o,e={},r=8080){return`import { createServer } from 'node:http';
|
|
4
4
|
import connect from 'connect';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-mock-dev-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"vite",
|
|
6
6
|
"plugin",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"debug": "^4.3.4",
|
|
41
41
|
"esbuild": "^0.18.4",
|
|
42
42
|
"fast-glob": "^3.2.12",
|
|
43
|
-
"formidable": "^
|
|
43
|
+
"formidable": "^2.1.1",
|
|
44
44
|
"http-status": "^1.6.2",
|
|
45
45
|
"is-core-module": "^2.12.1",
|
|
46
46
|
"json5": "^2.2.3",
|