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 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.0";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(`
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.0";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(`
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.0",
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": "^3.4.0",
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",