vite-plugin-mock-dev-server 1.8.6 → 1.8.7
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 +15 -3
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +17 -7
- package/dist/{server-CvxjyuVU.cjs → server-03xFMgug.cjs} +1 -1
- package/dist/{server-BKiEqtZe.js → server-C258ATX8.js} +18 -18
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2
3
|
const require_chunk = require('./chunk-BCwAaXi7.cjs');
|
|
3
4
|
const require_helper = require('./helper-PQrLL5uH.cjs');
|
|
4
|
-
const require_server = require('./server-
|
|
5
|
+
const require_server = require('./server-03xFMgug.cjs');
|
|
5
6
|
const __pengzhanbo_utils = require_chunk.__toESM(require("@pengzhanbo/utils"));
|
|
7
|
+
const picocolors = require_chunk.__toESM(require("picocolors"));
|
|
6
8
|
const node_fs = require_chunk.__toESM(require("node:fs"));
|
|
7
9
|
const node_fs_promises = require_chunk.__toESM(require("node:fs/promises"));
|
|
8
10
|
const node_path = require_chunk.__toESM(require("node:path"));
|
|
@@ -10,7 +12,6 @@ const node_process = require_chunk.__toESM(require("node:process"));
|
|
|
10
12
|
const __rollup_pluginutils = require_chunk.__toESM(require("@rollup/pluginutils"));
|
|
11
13
|
const fast_glob = require_chunk.__toESM(require("fast-glob"));
|
|
12
14
|
const is_core_module = require_chunk.__toESM(require("is-core-module"));
|
|
13
|
-
const picocolors = require_chunk.__toESM(require("picocolors"));
|
|
14
15
|
const node_url = require_chunk.__toESM(require("node:url"));
|
|
15
16
|
const esbuild = require_chunk.__toESM(require("esbuild"));
|
|
16
17
|
const json5 = require_chunk.__toESM(require("json5"));
|
|
@@ -236,7 +237,7 @@ function generatePackageJson(pkg, mockDeps) {
|
|
|
236
237
|
scripts: { start: "node index.js" },
|
|
237
238
|
dependencies: {
|
|
238
239
|
connect: "^3.7.0",
|
|
239
|
-
["vite-plugin-mock-dev-server"]: `^1.8.
|
|
240
|
+
["vite-plugin-mock-dev-server"]: `^1.8.6`,
|
|
240
241
|
cors: "^2.8.5"
|
|
241
242
|
},
|
|
242
243
|
pnpm: { peerDependencyRules: { ignoreMissing: ["vite"] } }
|
|
@@ -702,11 +703,22 @@ function serverPlugin(options) {
|
|
|
702
703
|
};
|
|
703
704
|
}
|
|
704
705
|
|
|
706
|
+
//#endregion
|
|
707
|
+
//#region src/index.ts
|
|
708
|
+
/**
|
|
709
|
+
* @deprecated use named export instead
|
|
710
|
+
*/
|
|
711
|
+
function mockDevServerPluginWithDefaultExportWasDeprecated(options = {}) {
|
|
712
|
+
console.warn(`${picocolors.default.yellow("[vite-plugin-mock-dev-server]")} ${picocolors.default.yellow(picocolors.default.bold("WARNING:"))} The plugin default export is ${picocolors.default.bold("deprecated")}, it will be removed in next major version, use ${picocolors.default.bold("named export")} instead:\n\n ${picocolors.default.green("import { mockDevServerPlugin } from \"vite-plugin-mock-dev-server\"")}\n`);
|
|
713
|
+
return mockDevServerPlugin(options);
|
|
714
|
+
}
|
|
715
|
+
|
|
705
716
|
//#endregion
|
|
706
717
|
exports.baseMiddleware = require_server.baseMiddleware
|
|
707
718
|
exports.createDefineMock = require_helper.createDefineMock
|
|
708
719
|
exports.createLogger = require_server.createLogger
|
|
709
720
|
exports.createSSEStream = require_helper.createSSEStream
|
|
721
|
+
exports.default = mockDevServerPluginWithDefaultExportWasDeprecated
|
|
710
722
|
exports.defineMock = require_helper.defineMock
|
|
711
723
|
exports.defineMockData = require_helper.defineMockData
|
|
712
724
|
exports.logLevels = require_server.logLevels
|
package/dist/index.d.cts
CHANGED
|
@@ -7,4 +7,8 @@ import { Plugin } from "vite";
|
|
|
7
7
|
declare function mockDevServerPlugin(options?: MockServerPluginOptions): Plugin[];
|
|
8
8
|
|
|
9
9
|
//#endregion
|
|
10
|
-
|
|
10
|
+
//#region src/index.d.ts
|
|
11
|
+
declare function mockDevServerPluginWithDefaultExportWasDeprecated(options?: MockServerPluginOptions): Plugin[];
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { BaseMiddlewareOptions, FormidableFile, HeaderStream, Logger, MockData, MockHttpItem, MockOptions, MockRequest, MockServerPluginOptions, MockWebsocketItem, SSEMessage, baseMiddleware, createDefineMock, createLogger, createSSEStream, mockDevServerPluginWithDefaultExportWasDeprecated as default, defineMock, defineMockData, logLevels, mockDevServerPlugin, mockWebSocket, sortByValidator, transformMockData, transformRawData };
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,8 @@ import { Plugin } from "vite";
|
|
|
7
7
|
declare function mockDevServerPlugin(options?: MockServerPluginOptions): Plugin[];
|
|
8
8
|
|
|
9
9
|
//#endregion
|
|
10
|
-
|
|
10
|
+
//#region src/index.d.ts
|
|
11
|
+
declare function mockDevServerPluginWithDefaultExportWasDeprecated(options?: MockServerPluginOptions): Plugin[];
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { BaseMiddlewareOptions, FormidableFile, HeaderStream, Logger, MockData, MockHttpItem, MockOptions, MockRequest, MockServerPluginOptions, MockWebsocketItem, SSEMessage, baseMiddleware, createDefineMock, createLogger, createSSEStream, mockDevServerPluginWithDefaultExportWasDeprecated as default, defineMock, defineMockData, logLevels, mockDevServerPlugin, mockWebSocket, sortByValidator, transformMockData, transformRawData };
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createDefineMock, createSSEStream, defineMock, defineMockData } from "./helper-L9yYYkP2.js";
|
|
2
|
-
import { baseMiddleware, createLogger, debug, doesProxyContextMatchUrl, ensureProxies, logLevels, lookupFile, mockWebSocket, normalizePath, recoverRequest, sortByValidator, transformMockData, transformRawData, urlParse } from "./server-
|
|
2
|
+
import { baseMiddleware, createLogger, debug, doesProxyContextMatchUrl, ensureProxies, logLevels, lookupFile, mockWebSocket, normalizePath, recoverRequest, sortByValidator, transformMockData, transformRawData, urlParse } from "./server-C258ATX8.js";
|
|
3
3
|
import { isArray, isBoolean, promiseParallel, toArray, uniq } from "@pengzhanbo/utils";
|
|
4
|
+
import pc from "picocolors";
|
|
4
5
|
import fs, { promises } from "node:fs";
|
|
5
6
|
import fsp from "node:fs/promises";
|
|
6
7
|
import path from "node:path";
|
|
@@ -8,7 +9,6 @@ import process from "node:process";
|
|
|
8
9
|
import { createFilter } from "@rollup/pluginutils";
|
|
9
10
|
import fg from "fast-glob";
|
|
10
11
|
import isCore from "is-core-module";
|
|
11
|
-
import colors from "picocolors";
|
|
12
12
|
import { pathToFileURL } from "node:url";
|
|
13
13
|
import { build } from "esbuild";
|
|
14
14
|
import JSON5 from "json5";
|
|
@@ -182,14 +182,14 @@ async function generateMockServer(ctx, options) {
|
|
|
182
182
|
try {
|
|
183
183
|
if (path.isAbsolute(outputDir)) {
|
|
184
184
|
for (const { filename } of outputList) if (fs.existsSync(filename)) await fsp.rm(filename);
|
|
185
|
-
options.logger.info(`${
|
|
185
|
+
options.logger.info(`${pc.green("✓")} generate mock server in ${pc.cyan(outputDir)}`);
|
|
186
186
|
for (const { filename, source } of outputList) {
|
|
187
187
|
fs.mkdirSync(path.dirname(filename), { recursive: true });
|
|
188
188
|
await fsp.writeFile(filename, source, "utf-8");
|
|
189
189
|
const sourceSize = (source.length / 1024).toFixed(2);
|
|
190
190
|
const name = path.relative(outputDir, filename);
|
|
191
191
|
const space = name.length < 30 ? " ".repeat(30 - name.length) : "";
|
|
192
|
-
options.logger.info(` ${
|
|
192
|
+
options.logger.info(` ${pc.green(name)}${space}${pc.bold(pc.dim(`${sourceSize} kB`))}`);
|
|
193
193
|
}
|
|
194
194
|
} else for (const { filename, source } of outputList) ctx.emitFile({
|
|
195
195
|
type: "asset",
|
|
@@ -234,7 +234,7 @@ function generatePackageJson(pkg, mockDeps) {
|
|
|
234
234
|
scripts: { start: "node index.js" },
|
|
235
235
|
dependencies: {
|
|
236
236
|
connect: "^3.7.0",
|
|
237
|
-
["vite-plugin-mock-dev-server"]: `^1.8.
|
|
237
|
+
["vite-plugin-mock-dev-server"]: `^1.8.6`,
|
|
238
238
|
cors: "^2.8.5"
|
|
239
239
|
},
|
|
240
240
|
pnpm: { peerDependencyRules: { ignoreMissing: ["vite"] } }
|
|
@@ -595,7 +595,7 @@ function resolvePluginOptions({ prefix = [], wsPrefix = [], cwd, include = ["moc
|
|
|
595
595
|
const { httpProxies } = ensureProxies(config.server.proxy || {});
|
|
596
596
|
const proxies = uniq([...toArray(prefix), ...httpProxies]);
|
|
597
597
|
const wsProxies = toArray(wsPrefix);
|
|
598
|
-
if (!proxies.length && !wsProxies.length) logger.warn(`No proxy was configured, mock server will not work. See ${
|
|
598
|
+
if (!proxies.length && !wsProxies.length) logger.warn(`No proxy was configured, mock server will not work. See ${pc.cyan("https://vite-plugin-mock-dev-server.netlify.app/guide/usage")}`);
|
|
599
599
|
const enabled = cors$1 === false ? false : config.server.cors !== false;
|
|
600
600
|
let corsOptions = {};
|
|
601
601
|
if (enabled && config.server.cors !== false) corsOptions = {
|
|
@@ -701,4 +701,14 @@ function serverPlugin(options) {
|
|
|
701
701
|
}
|
|
702
702
|
|
|
703
703
|
//#endregion
|
|
704
|
-
|
|
704
|
+
//#region src/index.ts
|
|
705
|
+
/**
|
|
706
|
+
* @deprecated use named export instead
|
|
707
|
+
*/
|
|
708
|
+
function mockDevServerPluginWithDefaultExportWasDeprecated(options = {}) {
|
|
709
|
+
console.warn(`${pc.yellow("[vite-plugin-mock-dev-server]")} ${pc.yellow(pc.bold("WARNING:"))} The plugin default export is ${pc.bold("deprecated")}, it will be removed in next major version, use ${pc.bold("named export")} instead:\n\n ${pc.green("import { mockDevServerPlugin } from \"vite-plugin-mock-dev-server\"")}\n`);
|
|
710
|
+
return mockDevServerPlugin(options);
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
//#endregion
|
|
714
|
+
export { baseMiddleware, createDefineMock, createLogger, createSSEStream, mockDevServerPluginWithDefaultExportWasDeprecated as default, defineMock, defineMockData, logLevels, mockDevServerPlugin, mockWebSocket, sortByValidator, transformMockData, transformRawData };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const require_chunk = require('./chunk-BCwAaXi7.cjs');
|
|
3
3
|
const __pengzhanbo_utils = require_chunk.__toESM(require("@pengzhanbo/utils"));
|
|
4
|
+
const picocolors = require_chunk.__toESM(require("picocolors"));
|
|
4
5
|
const node_fs = require_chunk.__toESM(require("node:fs"));
|
|
5
6
|
const node_path = require_chunk.__toESM(require("node:path"));
|
|
6
|
-
const picocolors = require_chunk.__toESM(require("picocolors"));
|
|
7
7
|
const node_url = require_chunk.__toESM(require("node:url"));
|
|
8
8
|
const node_os = require_chunk.__toESM(require("node:os"));
|
|
9
9
|
const node_querystring = require_chunk.__toESM(require("node:querystring"));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isArray, isBoolean, isEmptyObject, isFunction, isPlainObject, isString, random, sleep, sortBy, timestamp, toArray, uniq } from "@pengzhanbo/utils";
|
|
2
|
+
import pc from "picocolors";
|
|
2
3
|
import fs from "node:fs";
|
|
3
4
|
import path from "node:path";
|
|
4
|
-
import colors from "picocolors";
|
|
5
5
|
import { URL as URL$1 } from "node:url";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import { parse } from "node:querystring";
|
|
@@ -336,8 +336,8 @@ function baseMiddleware(compiler, { formidableOptions = {}, bodyParserOptions =
|
|
|
336
336
|
}
|
|
337
337
|
}
|
|
338
338
|
if (!mock) {
|
|
339
|
-
const matched = mockUrls.map((m) => m === _mockUrl ?
|
|
340
|
-
logger.warn(`${
|
|
339
|
+
const matched = mockUrls.map((m) => m === _mockUrl ? pc.underline(pc.bold(m)) : pc.dim(m)).join(", ");
|
|
340
|
+
logger.warn(`${pc.green(pathname)} matches ${matched} , but mock data is not found.`);
|
|
341
341
|
return next();
|
|
342
342
|
}
|
|
343
343
|
const request = req;
|
|
@@ -353,14 +353,14 @@ function baseMiddleware(compiler, { formidableOptions = {}, bodyParserOptions =
|
|
|
353
353
|
await provideHeaders(request, response, mock, logger);
|
|
354
354
|
await provideCookies(request, response, mock, logger);
|
|
355
355
|
logger.info(requestLog(request, filepath), logLevel);
|
|
356
|
-
logger.debug(`${
|
|
356
|
+
logger.debug(`${pc.magenta("DEBUG")} ${pc.underline(pathname)} matches: [ ${mockUrls.map((m) => m === _mockUrl ? pc.underline(pc.bold(m)) : pc.dim(m)).join(", ")} ]\n`);
|
|
357
357
|
if (body) {
|
|
358
358
|
try {
|
|
359
359
|
const content = isFunction(body) ? await body(request) : body;
|
|
360
360
|
await realDelay(startTime, delay);
|
|
361
361
|
sendData(response, content, type);
|
|
362
362
|
} catch (e) {
|
|
363
|
-
logger.error(`${
|
|
363
|
+
logger.error(`${pc.red(`mock error at ${pathname}`)}\n${e}\n at body (${pc.underline(filepath)})`, logLevel);
|
|
364
364
|
responseStatus(response, 500);
|
|
365
365
|
res.end("");
|
|
366
366
|
}
|
|
@@ -371,7 +371,7 @@ function baseMiddleware(compiler, { formidableOptions = {}, bodyParserOptions =
|
|
|
371
371
|
await realDelay(startTime, delay);
|
|
372
372
|
await responseFn(request, response, next);
|
|
373
373
|
} catch (e) {
|
|
374
|
-
logger.error(`${
|
|
374
|
+
logger.error(`${pc.red(`mock error at ${pathname}`)}\n${e}\n at response (${pc.underline(filepath)})`, logLevel);
|
|
375
375
|
responseStatus(response, 500);
|
|
376
376
|
res.end("");
|
|
377
377
|
}
|
|
@@ -399,7 +399,7 @@ function fineMock(mockList, logger, { pathname, method, request }) {
|
|
|
399
399
|
}, mock.validator);
|
|
400
400
|
} catch (e) {
|
|
401
401
|
const file = mock.__filepath__;
|
|
402
|
-
logger.error(`${
|
|
402
|
+
logger.error(`${pc.red(`mock error at ${pathname}`)}\n${e}\n at validator (${pc.underline(file)})`, mock.log);
|
|
403
403
|
return false;
|
|
404
404
|
}
|
|
405
405
|
}
|
|
@@ -425,7 +425,7 @@ async function provideHeaders(req, res, mock, logger) {
|
|
|
425
425
|
res.setHeader(key, raw[key]);
|
|
426
426
|
});
|
|
427
427
|
} catch (e) {
|
|
428
|
-
logger.error(`${
|
|
428
|
+
logger.error(`${pc.red(`mock error at ${req.url.split("?")[0]}`)}\n${e}\n at headers (${pc.underline(filepath)})`, mock.log);
|
|
429
429
|
}
|
|
430
430
|
}
|
|
431
431
|
async function provideCookies(req, res, mock, logger) {
|
|
@@ -442,7 +442,7 @@ async function provideCookies(req, res, mock, logger) {
|
|
|
442
442
|
} else res.setCookie(key, cookie);
|
|
443
443
|
});
|
|
444
444
|
} catch (e) {
|
|
445
|
-
logger.error(`${
|
|
445
|
+
logger.error(`${pc.red(`mock error at ${req.url.split("?")[0]}`)}\n${e}\n at cookies (${pc.underline(filepath)})`, mock.log);
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
448
|
function sendData(res, raw, type) {
|
|
@@ -468,15 +468,15 @@ function getHTTPStatusText(status) {
|
|
|
468
468
|
function requestLog(request, filepath) {
|
|
469
469
|
const { url, method, query, params, body } = request;
|
|
470
470
|
let { pathname } = new URL(url, "http://example.com");
|
|
471
|
-
pathname =
|
|
471
|
+
pathname = pc.green(decodeURIComponent(pathname));
|
|
472
472
|
const format = (prefix, data) => {
|
|
473
|
-
return !data || isEmptyObject(data) ? "" : ` ${
|
|
473
|
+
return !data || isEmptyObject(data) ? "" : ` ${pc.gray(`${prefix}:`)}${JSON.stringify(data)}`;
|
|
474
474
|
};
|
|
475
|
-
const ms =
|
|
475
|
+
const ms = pc.magenta(pc.bold(method));
|
|
476
476
|
const qs = format("query", query);
|
|
477
477
|
const ps = format("params", params);
|
|
478
478
|
const bs = format("body", body);
|
|
479
|
-
const file = ` ${
|
|
479
|
+
const file = ` ${pc.dim(pc.underline(`(${filepath})`))}`;
|
|
480
480
|
return `${ms} ${pathname}${qs}${ps}${bs}${file}`;
|
|
481
481
|
}
|
|
482
482
|
|
|
@@ -583,10 +583,10 @@ function mockWebSocket(compiler, server, { wsProxies: proxies, cookiesOptions, l
|
|
|
583
583
|
mock.setup?.(wss, context);
|
|
584
584
|
wss.on("close", () => wssMap.delete(pathname));
|
|
585
585
|
wss.on("error", (e) => {
|
|
586
|
-
logger.error(`${
|
|
586
|
+
logger.error(`${pc.red(`WebSocket mock error at ${wss.path}`)}\n${e}\n at setup (${filepath})`, mock.log);
|
|
587
587
|
});
|
|
588
588
|
} catch (e) {
|
|
589
|
-
logger.error(`${
|
|
589
|
+
logger.error(`${pc.red(`WebSocket mock error at ${wss.path}`)}\n${e}\n at setup (${filepath})`, mock.log);
|
|
590
590
|
}
|
|
591
591
|
};
|
|
592
592
|
const emitConnection = (wss, ws, req, connectionList) => {
|
|
@@ -650,7 +650,7 @@ function mockWebSocket(compiler, server, { wsProxies: proxies, cookiesOptions, l
|
|
|
650
650
|
request.params = parseParams(mockUrl, pathname);
|
|
651
651
|
request.getCookie = cookies.get.bind(cookies);
|
|
652
652
|
wss.handleUpgrade(request, socket, head, (ws) => {
|
|
653
|
-
logger.info(`${
|
|
653
|
+
logger.info(`${pc.magenta(pc.bold("WebSocket"))} ${pc.green(req.url)} connected ${pc.dim(`(${filepath})`)}`, mock.log);
|
|
654
654
|
wssContext.connectionList.push({
|
|
655
655
|
req: request,
|
|
656
656
|
ws
|
|
@@ -692,8 +692,8 @@ function createLogger(prefix, defaultLevel = "info") {
|
|
|
692
692
|
const thresh = logLevels[level];
|
|
693
693
|
if (thresh >= logLevels[type]) {
|
|
694
694
|
const method = type === "info" || type === "debug" ? "log" : type;
|
|
695
|
-
const tag = type === "debug" ?
|
|
696
|
-
const format = `${
|
|
695
|
+
const tag = type === "debug" ? pc.magenta(pc.bold(prefix)) : type === "info" ? pc.cyan(pc.bold(prefix)) : type === "warn" ? pc.yellow(pc.bold(prefix)) : pc.red(pc.bold(prefix));
|
|
696
|
+
const format = `${pc.dim(new Date().toLocaleTimeString())} ${tag} ${msg}`;
|
|
697
697
|
console[method](format);
|
|
698
698
|
}
|
|
699
699
|
}
|
package/dist/server.cjs
CHANGED
package/dist/server.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { baseMiddleware, createLogger, logLevels, mockWebSocket, sortByValidator, transformMockData, transformRawData } from "./server-
|
|
1
|
+
import { baseMiddleware, createLogger, logLevels, mockWebSocket, sortByValidator, transformMockData, transformRawData } from "./server-C258ATX8.js";
|
|
2
2
|
|
|
3
3
|
export { baseMiddleware, createLogger, logLevels, mockWebSocket, sortByValidator, transformMockData, transformRawData };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-mock-dev-server",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.8.
|
|
4
|
+
"version": "1.8.7",
|
|
5
5
|
"author": "pengzhanbo <q942450674@outlook.com> (https://github.com/pengzhanbo)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://vite-plugin-mock-dev-server.netlify.app",
|