vite-plugin-mock-dev-server 1.0.1 → 1.0.2

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
@@ -11,8 +11,10 @@
11
11
  <a href="https://www.npmjs.com/package/vite-plugin-mock-dev-server"><img alt="npm" src="https://img.shields.io/npm/v/vite-plugin-mock-dev-server?style=flat-square"></a>
12
12
  <img alt="node-current" src="https://img.shields.io/node/v/vite-plugin-mock-dev-server?style=flat-square">
13
13
  <img alt="npm peer dependency version" src="https://img.shields.io/npm/dependency-version/vite-plugin-mock-dev-server/peer/vite?style=flat-square">
14
- <img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pengzhanbo/vite-plugin-mock-dev-server/lint.yml?style=flat-square">
15
14
  <img alt="npm" src="https://img.shields.io/npm/dm/vite-plugin-mock-dev-server?style=flat-square">
15
+ <br>
16
+ <img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pengzhanbo/vite-plugin-mock-dev-server/lint.yml?style=flat-square">
17
+ <a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fpengzhanbo%2Fvite-plugin-mock-dev-server?ref=badge_shield"><img alt="fossa status" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fpengzhanbo%2Fvite-plugin-mock-dev-server.svg?type=shield"></a>
16
18
  </p>
17
19
  <br>
18
20
  <p align="center">
@@ -50,7 +52,6 @@ See the [documentation](https://vite-plugin-mock-dev-server.netlify.app/) to lea
50
52
  ## Playground
51
53
 
52
54
  [![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/pengzhanbo/vite-plugin-mock-dev-server/tree/main/playground)
53
- [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fpengzhanbo%2Fvite-plugin-mock-dev-server.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fpengzhanbo%2Fvite-plugin-mock-dev-server?ref=badge_shield)
54
55
 
55
56
  ## Usage
56
57
 
package/README.zh-CN.md CHANGED
@@ -13,8 +13,10 @@
13
13
  <a href="https://www.npmjs.com/package/vite-plugin-mock-dev-server"><img alt="npm" src="https://img.shields.io/npm/v/vite-plugin-mock-dev-server?style=flat-square"></a>
14
14
  <img alt="node-current" src="https://img.shields.io/node/v/vite-plugin-mock-dev-server?style=flat-square">
15
15
  <img alt="npm peer dependency version" src="https://img.shields.io/npm/dependency-version/vite-plugin-mock-dev-server/peer/vite?style=flat-square">
16
- <img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pengzhanbo/vite-plugin-mock-dev-server/lint.yml?style=flat-square">
17
16
  <img alt="npm" src="https://img.shields.io/npm/dm/vite-plugin-mock-dev-server?style=flat-square">
17
+ <br>
18
+ <img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pengzhanbo/vite-plugin-mock-dev-server/lint.yml?style=flat-square">
19
+ <a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fpengzhanbo%2Fvite-plugin-mock-dev-server?ref=badge_shield"><img alt="fossa status" src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fpengzhanbo%2Fvite-plugin-mock-dev-server.svg?type=shield"></a>
18
20
  </p>
19
21
  <br>
20
22
  <p align="center">
package/dist/index.cjs CHANGED
@@ -52,7 +52,7 @@ var import_vite = require("vite");
52
52
 
53
53
  // package.json
54
54
  var name = "vite-plugin-mock-dev-server";
55
- var version = "1.0.1";
55
+ var version = "1.0.2";
56
56
 
57
57
  // src/esbuildPlugin.ts
58
58
  var import_promises = __toESM(require("fs/promises"), 1);
@@ -236,8 +236,10 @@ function generatePackageJson(pkg, mockDeps) {
236
236
  },
237
237
  dependencies: {
238
238
  "connect": "^3.7.0",
239
- "vite-plugin-mock-dev-server": `^${version}`
240
- }
239
+ "vite-plugin-mock-dev-server": `^${version}`,
240
+ "cors": "^2.8.5"
241
+ },
242
+ pnpm: { peerDependencyRules: { ignoreMissing: ["vite"] } }
241
243
  };
242
244
  mockDeps.forEach((dep) => {
243
245
  mockPkg.dependencies[dep] = dependents[dep] || "latest";
@@ -245,16 +247,20 @@ function generatePackageJson(pkg, mockDeps) {
245
247
  return JSON.stringify(mockPkg, null, 2);
246
248
  }
247
249
  function generatorServerEntryCode(proxies, port = 8080) {
248
- return `import connect from 'connect'
249
- import { baseMiddleware } from 'vite-plugin-mock-dev-server'
250
- import mockData from './mock-data.js'
251
- const app = connect()
250
+ return `import connect from 'connect';
251
+ import corsMiddleware from 'cors';
252
+ import { baseMiddleware } from 'vite-plugin-mock-dev-server';
253
+ import mockData from './mock-data.js';
254
+
255
+ const app = connect();
256
+ app.use(corsMiddleware());
252
257
  app.use(baseMiddleware({ mockData }, {
253
258
  formidableOptions: { multiples: true },
254
259
  proxies: ${JSON.stringify(proxies)}
255
- }))
256
- app.listen(${port})
257
- console.log('listen: http://localhost:${port}')
260
+ }));
261
+ app.listen(${port});
262
+
263
+ console.log('listen: http://localhost:${port}');
258
264
  `;
259
265
  }
260
266
  async function generateMockEntryCode(cwd, include, exclude) {
@@ -263,11 +269,11 @@ async function generateMockEntryCode(cwd, include, exclude) {
263
269
  resolve: false
264
270
  });
265
271
  const mockFiles = includePaths.filter(includeFilter);
266
- let importers = "";
272
+ let importers = "import { parse as urlParse } from 'node:url';\n";
267
273
  let exporters = "";
268
274
  mockFiles.forEach((filepath, index) => {
269
275
  const file = import_node_path3.default.join(cwd, filepath);
270
- importers += `import * as m${index} from '${file}'
276
+ importers += `import * as m${index} from '${file}';
271
277
  `;
272
278
  exporters += `m${index}, `;
273
279
  });
@@ -290,10 +296,19 @@ mockData.forEach(mock => {
290
296
  data
291
297
  .filter((mock) => mock.enabled || typeof mock.enabled === "undefined")
292
298
  .forEach((mock) => {
293
- if (!mocks[mock.url]) {
294
- mocks[mock.url] = [];
299
+ const { pathname, query } = urlParse(mock.url, true);
300
+ if (!mocks[pathname]) {
301
+ mocks[pathname] = [];
302
+ }
303
+ mock.url = pathname;
304
+ const list = mocks[pathname];
305
+ if (query && typeof mock.validator === 'function') {
306
+ mock.validator ??= {};
307
+ mock.validator.query = Object.assign(
308
+ query,
309
+ mock.validator.query || {},
310
+ );
295
311
  }
296
- const list = mocks[mock.url];
297
312
  mock.validator ? list.unshift(mock) : list.push(mock);
298
313
  });
299
314
  export default mocks;
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import { createFilter } from "vite";
9
9
 
10
10
  // package.json
11
11
  var name = "vite-plugin-mock-dev-server";
12
- var version = "1.0.1";
12
+ var version = "1.0.2";
13
13
 
14
14
  // src/esbuildPlugin.ts
15
15
  import fsp from "fs/promises";
@@ -193,8 +193,10 @@ function generatePackageJson(pkg, mockDeps) {
193
193
  },
194
194
  dependencies: {
195
195
  "connect": "^3.7.0",
196
- "vite-plugin-mock-dev-server": `^${version}`
197
- }
196
+ "vite-plugin-mock-dev-server": `^${version}`,
197
+ "cors": "^2.8.5"
198
+ },
199
+ pnpm: { peerDependencyRules: { ignoreMissing: ["vite"] } }
198
200
  };
199
201
  mockDeps.forEach((dep) => {
200
202
  mockPkg.dependencies[dep] = dependents[dep] || "latest";
@@ -202,16 +204,20 @@ function generatePackageJson(pkg, mockDeps) {
202
204
  return JSON.stringify(mockPkg, null, 2);
203
205
  }
204
206
  function generatorServerEntryCode(proxies, port = 8080) {
205
- return `import connect from 'connect'
206
- import { baseMiddleware } from 'vite-plugin-mock-dev-server'
207
- import mockData from './mock-data.js'
208
- const app = connect()
207
+ return `import connect from 'connect';
208
+ import corsMiddleware from 'cors';
209
+ import { baseMiddleware } from 'vite-plugin-mock-dev-server';
210
+ import mockData from './mock-data.js';
211
+
212
+ const app = connect();
213
+ app.use(corsMiddleware());
209
214
  app.use(baseMiddleware({ mockData }, {
210
215
  formidableOptions: { multiples: true },
211
216
  proxies: ${JSON.stringify(proxies)}
212
- }))
213
- app.listen(${port})
214
- console.log('listen: http://localhost:${port}')
217
+ }));
218
+ app.listen(${port});
219
+
220
+ console.log('listen: http://localhost:${port}');
215
221
  `;
216
222
  }
217
223
  async function generateMockEntryCode(cwd, include, exclude) {
@@ -220,11 +226,11 @@ async function generateMockEntryCode(cwd, include, exclude) {
220
226
  resolve: false
221
227
  });
222
228
  const mockFiles = includePaths.filter(includeFilter);
223
- let importers = "";
229
+ let importers = "import { parse as urlParse } from 'node:url';\n";
224
230
  let exporters = "";
225
231
  mockFiles.forEach((filepath, index) => {
226
232
  const file = path3.join(cwd, filepath);
227
- importers += `import * as m${index} from '${file}'
233
+ importers += `import * as m${index} from '${file}';
228
234
  `;
229
235
  exporters += `m${index}, `;
230
236
  });
@@ -247,10 +253,19 @@ mockData.forEach(mock => {
247
253
  data
248
254
  .filter((mock) => mock.enabled || typeof mock.enabled === "undefined")
249
255
  .forEach((mock) => {
250
- if (!mocks[mock.url]) {
251
- mocks[mock.url] = [];
256
+ const { pathname, query } = urlParse(mock.url, true);
257
+ if (!mocks[pathname]) {
258
+ mocks[pathname] = [];
259
+ }
260
+ mock.url = pathname;
261
+ const list = mocks[pathname];
262
+ if (query && typeof mock.validator === 'function') {
263
+ mock.validator ??= {};
264
+ mock.validator.query = Object.assign(
265
+ query,
266
+ mock.validator.query || {},
267
+ );
252
268
  }
253
- const list = mocks[mock.url];
254
269
  mock.validator ? list.unshift(mock) : list.push(mock);
255
270
  });
256
271
  export default mocks;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-mock-dev-server",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "keywords": [
5
5
  "vite",
6
6
  "plugin",