mock-config-server 4.0.2 → 5.0.0-beta.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/README.md +229 -237
- package/dist/bin/build.d.ts +3 -3
- package/dist/bin/build.js +1 -11
- package/dist/bin/helpers/createTemplate.js +6 -6
- package/dist/bin/helpers/resolveConfigFile.d.ts +2 -2
- package/dist/bin/helpers/resolveConfigFile.js +2 -3
- package/dist/bin/helpers/resolveConfigFilePath.js +4 -4
- package/dist/bin/init.d.ts +2 -2
- package/dist/bin/init.js +7 -7
- package/dist/bin/run.d.ts +3 -3
- package/dist/bin/run.js +17 -24
- package/dist/bin/templates/js/full/mock-requests/graphql/index.js +2 -2
- package/dist/bin/templates/js/full/mock-requests/graphql/user.js +35 -35
- package/dist/bin/templates/js/full/mock-requests/graphql/users.js +12 -12
- package/dist/bin/templates/js/full/mock-requests/rest/index.js +2 -2
- package/dist/bin/templates/js/full/mock-requests/rest/user.js +35 -35
- package/dist/bin/templates/js/full/mock-requests/rest/users.js +12 -12
- package/dist/bin/templates/js/full/mock-server.config.js +19 -19
- package/dist/bin/templates/js/graphql/mock-requests/index.js +2 -2
- package/dist/bin/templates/js/graphql/mock-requests/user.js +35 -35
- package/dist/bin/templates/js/graphql/mock-requests/users.js +12 -12
- package/dist/bin/templates/js/graphql/mock-server.config.js +14 -14
- package/dist/bin/templates/js/rest/mock-requests/index.js +2 -2
- package/dist/bin/templates/js/rest/mock-requests/user.js +35 -35
- package/dist/bin/templates/js/rest/mock-requests/users.js +12 -12
- package/dist/bin/templates/js/rest/mock-server.config.js +14 -14
- package/dist/bin/templates/ts/full/mock-requests/graphql/index.ts +2 -2
- package/dist/bin/templates/ts/full/mock-requests/graphql/user.ts +37 -37
- package/dist/bin/templates/ts/full/mock-requests/graphql/users.ts +14 -14
- package/dist/bin/templates/ts/full/mock-requests/rest/index.ts +2 -2
- package/dist/bin/templates/ts/full/mock-requests/rest/user.ts +37 -37
- package/dist/bin/templates/ts/full/mock-requests/rest/users.ts +14 -14
- package/dist/bin/templates/ts/full/mock-server.config.ts +21 -21
- package/dist/bin/templates/ts/graphql/mock-requests/index.ts +2 -2
- package/dist/bin/templates/ts/graphql/mock-requests/user.ts +37 -37
- package/dist/bin/templates/ts/graphql/mock-requests/users.ts +14 -14
- package/dist/bin/templates/ts/graphql/mock-server.config.ts +16 -16
- package/dist/bin/templates/ts/rest/mock-requests/index.ts +2 -2
- package/dist/bin/templates/ts/rest/mock-requests/user.ts +37 -37
- package/dist/bin/templates/ts/rest/mock-requests/users.ts +14 -14
- package/dist/bin/templates/ts/rest/mock-server.config.ts +16 -16
- package/dist/src/core/database/createDatabaseRoutes/helpers/search/search.js +3 -3
- package/dist/src/core/database/createDatabaseRoutes/storages/File/FileStorage.js +4 -4
- package/dist/src/core/database/createDatabaseRoutes/storages/File/FileWriter.js +2 -2
- package/dist/src/core/functions/graphql/graphql.d.ts +54 -0
- package/dist/src/core/functions/graphql/graphql.js +126 -0
- package/dist/src/core/functions/graphql/helpers/createQueueHandler/createQueueHandler.d.ts +5 -0
- package/dist/src/core/functions/graphql/helpers/createQueueHandler/createQueueHandler.js +35 -0
- package/dist/src/core/functions/graphql/helpers/index.d.ts +1 -0
- package/dist/src/core/{rest/createRestRoutes → functions/graphql}/helpers/index.js +1 -1
- package/dist/src/core/functions/index.d.ts +3 -0
- package/dist/src/core/functions/index.js +20 -0
- package/dist/src/core/functions/mock.d.ts +2 -0
- package/dist/src/core/functions/mock.js +11 -0
- package/dist/src/core/functions/rest/helpers/createFileHandler/createFileHandler.d.ts +2 -0
- package/dist/src/core/functions/rest/helpers/createFileHandler/createFileHandler.js +29 -0
- package/dist/src/core/functions/rest/helpers/createQueueHandler/createQueueHandler.d.ts +5 -0
- package/dist/src/core/functions/rest/helpers/createQueueHandler/createQueueHandler.js +35 -0
- package/dist/src/core/functions/rest/helpers/formatSsePayload/formatSsePayload.d.ts +5 -0
- package/dist/src/core/functions/rest/helpers/formatSsePayload/formatSsePayload.js +50 -0
- package/dist/src/core/functions/rest/helpers/index.d.ts +3 -0
- package/dist/src/core/functions/rest/helpers/index.js +20 -0
- package/dist/src/core/functions/rest/index.d.ts +1 -0
- package/dist/src/core/{graphql/createGraphQLRoutes/helpers → functions/rest}/index.js +1 -1
- package/dist/src/core/functions/rest/rest.d.ts +102 -0
- package/dist/src/core/functions/rest/rest.js +165 -0
- package/dist/src/core/graphql/createGraphQLRoute/createGraphQLRoute.d.ts +8 -0
- package/dist/src/core/graphql/createGraphQLRoute/createGraphQLRoute.js +158 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/calculateGraphQLRouteConfigWeight/calculateGraphQLRouteConfigWeight.d.ts +2 -0
- package/dist/src/core/graphql/{createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js → createGraphQLRoute/helpers/calculateGraphQLRouteConfigWeight/calculateGraphQLRouteConfigWeight.js} +3 -11
- package/dist/src/core/graphql/createGraphQLRoute/helpers/index.d.ts +3 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/index.js +20 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/matchGraphQLRequestArtifacts/matchGraphQLRequestArtifacts.d.ts +12 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/matchGraphQLRequestArtifacts/matchGraphQLRequestArtifacts.js +28 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/prepareGraphQLRequestArtifacts/prepareGraphQLRequestArtifacts.d.ts +2 -0
- package/dist/src/core/graphql/createGraphQLRoute/helpers/prepareGraphQLRequestArtifacts/prepareGraphQLRequestArtifacts.js +11 -0
- package/dist/src/core/graphql/index.d.ts +2 -1
- package/dist/src/core/graphql/index.js +2 -1
- package/dist/src/core/middlewares/contextMiddleware/contextMiddleware.d.ts +6 -4
- package/dist/src/core/middlewares/contextMiddleware/contextMiddleware.js +1 -2
- package/dist/src/core/rest/createRestRoute/createRestRoute.d.ts +8 -0
- package/dist/src/core/rest/createRestRoute/createRestRoute.js +190 -0
- package/dist/src/core/rest/createRestRoute/helpers/calculateRestRouteConfigWeight/calculateRestRouteConfigWeight.d.ts +2 -0
- package/dist/src/core/rest/createRestRoute/helpers/calculateRestRouteConfigWeight/calculateRestRouteConfigWeight.js +35 -0
- package/dist/src/core/rest/createRestRoute/helpers/index.d.ts +3 -0
- package/dist/src/core/rest/createRestRoute/helpers/index.js +20 -0
- package/dist/src/core/rest/createRestRoute/helpers/matchRestRequestArtifacts/matchRestRequestArtifacts.d.ts +11 -0
- package/dist/src/core/rest/createRestRoute/helpers/matchRestRequestArtifacts/matchRestRequestArtifacts.js +31 -0
- package/dist/src/core/rest/createRestRoute/helpers/prepareRestRequestArtifacts/prepareRestRequestArtifacts.d.ts +2 -0
- package/dist/src/core/rest/createRestRoute/helpers/prepareRestRequestArtifacts/prepareRestRequestArtifacts.js +37 -0
- package/dist/src/core/rest/index.d.ts +2 -1
- package/dist/src/core/rest/index.js +2 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/server/createMockServer/createMockServer.d.ts +1 -1
- package/dist/src/server/createMockServer/createMockServer.js +76 -45
- package/dist/src/server/index.d.ts +0 -8
- package/dist/src/server/index.js +0 -8
- package/dist/src/server/startMockServer/startMockServer.d.ts +2 -2
- package/dist/src/server/startMockServer/startMockServer.js +4 -3
- package/dist/src/utils/constants/checkModes.js +7 -7
- package/dist/src/utils/helpers/config/resolveEntityValues/resolveEntityValues.js +1 -1
- package/dist/src/utils/helpers/files/isFileDescriptor/isFileDescriptor.js +2 -2
- package/dist/src/utils/helpers/files/isFilePathValid/isFilePathValid.js +3 -3
- package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.d.ts +3 -3
- package/dist/src/utils/helpers/interceptors/callResponseInterceptors/callResponseInterceptors.js +2 -2
- package/dist/src/utils/helpers/tests/createTmpDir.js +4 -4
- package/dist/src/utils/helpers/url/index.d.ts +1 -2
- package/dist/src/utils/helpers/url/index.js +1 -2
- package/dist/src/utils/helpers/url/normalizeUrl/normalizeUrl.d.ts +1 -0
- package/dist/src/utils/helpers/url/normalizeUrl/normalizeUrl.js +15 -0
- package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +4 -4
- package/dist/src/utils/types/graphql.d.ts +44 -18
- package/dist/src/utils/types/rest.d.ts +44 -27
- package/dist/src/utils/types/server.d.ts +7 -24
- package/dist/src/utils/types/values.d.ts +6 -1
- package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.d.ts +41 -383
- package/dist/src/utils/validate/graphqlConfigSchema/graphqlConfigSchema.js +3 -3
- package/dist/src/utils/validate/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +3 -66
- package/dist/src/utils/validate/graphqlConfigSchema/routeConfigSchema/routeConfigSchema.js +7 -22
- package/dist/src/utils/validate/index.d.ts +0 -2
- package/dist/src/utils/validate/index.js +0 -2
- package/dist/src/utils/validate/queueSchema/queueSchema.d.ts +2 -11
- package/dist/src/utils/validate/queueSchema/queueSchema.js +7 -13
- package/dist/src/utils/validate/restConfigSchema/restConfigSchema.d.ts +101 -1309
- package/dist/src/utils/validate/restConfigSchema/restConfigSchema.js +3 -3
- package/dist/src/utils/validate/restConfigSchema/routeConfigSchema/routeConfigSchema.d.ts +3 -82
- package/dist/src/utils/validate/restConfigSchema/routeConfigSchema/routeConfigSchema.js +6 -28
- package/dist/src/utils/validate/settingsSchema/settingsSchema.d.ts +0 -3
- package/dist/src/utils/validate/settingsSchema/settingsSchema.js +0 -1
- package/dist/src/utils/validate/utils/checkModeSchema/checkModeSchema.js +6 -6
- package/dist/src/utils/validate/utils/entitiesSchema/entitiesSchema.js +4 -4
- package/dist/src/utils/validate/utils/jsonSchema/jsonSchema.js +3 -3
- package/dist/src/utils/validate/utils/requiredPropertiesSchema/requiredPropertiesSchema.js +1 -1
- package/dist/src/utils/validate/utils/sharedSchema/sharedSchema.js +3 -3
- package/dist/src/utils/validate/validateMockServerConfig.js +18 -8
- package/package.json +17 -40
- package/LICENSE +0 -21
- package/dist/bin/runFlatConfig.d.ts +0 -5
- package/dist/bin/runFlatConfig.js +0 -36
- package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.d.ts +0 -9
- package/dist/src/core/graphql/createGraphQLRoutes/createGraphQLRoutes.js +0 -160
- package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.d.ts +0 -1
- package/dist/src/core/graphql/createGraphQLRoutes/helpers/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.d.ts +0 -2
- package/dist/src/core/rest/createRestRoutes/createRestRoutes.d.ts +0 -9
- package/dist/src/core/rest/createRestRoutes/createRestRoutes.js +0 -184
- package/dist/src/core/rest/createRestRoutes/helpers/index.d.ts +0 -1
- package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.d.ts +0 -2
- package/dist/src/core/rest/createRestRoutes/helpers/prepareRestRequestConfigs/prepareRestRequestConfigs.js +0 -67
- package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.d.ts +0 -3
- package/dist/src/server/createDatabaseMockServer/createDatabaseMockServer.js +0 -62
- package/dist/src/server/createFlatMockServer/createFlatMockServer.d.ts +0 -3
- package/dist/src/server/createFlatMockServer/createFlatMockServer.js +0 -128
- package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.d.ts +0 -3
- package/dist/src/server/createGraphQLMockServer/createGraphQLMockServer.js +0 -67
- package/dist/src/server/createRestMockServer/createRestMockServer.d.ts +0 -3
- package/dist/src/server/createRestMockServer/createRestMockServer.js +0 -67
- package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.d.ts +0 -4
- package/dist/src/server/startDatabaseMockServer/startDatabaseMockServer.js +0 -29
- package/dist/src/server/startFlatMockServer/startFlatMockServer.d.ts +0 -4
- package/dist/src/server/startFlatMockServer/startFlatMockServer.js +0 -32
- package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.d.ts +0 -4
- package/dist/src/server/startGraphQLMockServer/startGraphQLMockServer.js +0 -29
- package/dist/src/server/startRestMockServer/startRestMockServer.d.ts +0 -4
- package/dist/src/server/startRestMockServer/startRestMockServer.js +0 -29
- package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.d.ts +0 -1
- package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.js +0 -12
- package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.d.ts +0 -1
- package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.js +0 -11
- package/dist/src/utils/validate/isOnlyRequestedDataResolvingPropertyExists.d.ts +0 -4
- package/dist/src/utils/validate/isOnlyRequestedDataResolvingPropertyExists.js +0 -16
- package/dist/src/utils/validate/validateApiMockServerConfig.d.ts +0 -2
- package/dist/src/utils/validate/validateApiMockServerConfig.js +0 -48
package/dist/bin/build.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const build: (argv:
|
|
3
|
-
destroy: import("http").Server["close"];
|
|
1
|
+
import type { MockServerCliArgv } from '../src/utils/types';
|
|
2
|
+
export declare const build: (argv: MockServerCliArgv) => Promise<(import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse> & {
|
|
3
|
+
destroy: import("node:http").Server["close"];
|
|
4
4
|
}) | undefined>;
|
package/dist/bin/build.js
CHANGED
|
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "build", {
|
|
|
11
11
|
const _esbuild = require("esbuild");
|
|
12
12
|
const _helpers = require("./helpers");
|
|
13
13
|
const _run = require("./run");
|
|
14
|
-
const _runFlatConfig = require("./runFlatConfig");
|
|
15
14
|
const build = async (argv)=>{
|
|
16
15
|
const configFilePath = (0, _helpers.resolveConfigFilePath)(argv.config);
|
|
17
16
|
if (!configFilePath) {
|
|
@@ -42,11 +41,6 @@ const build = async (argv)=>{
|
|
|
42
41
|
build.onEnd((result)=>{
|
|
43
42
|
if (!result.errors.length) {
|
|
44
43
|
const mockConfig = (0, _helpers.resolveConfigFile)(result.outputFiles[0].text);
|
|
45
|
-
const isFlatConfig = Array.isArray(mockConfig);
|
|
46
|
-
if (isFlatConfig) {
|
|
47
|
-
instance = (0, _runFlatConfig.runFlatConfig)(mockConfig, argv);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
44
|
instance = (0, _run.run)(mockConfig, argv);
|
|
51
45
|
}
|
|
52
46
|
});
|
|
@@ -59,9 +53,5 @@ const build = async (argv)=>{
|
|
|
59
53
|
}
|
|
60
54
|
const { outputFiles } = await (0, _esbuild.build)(buildOptions);
|
|
61
55
|
const mockConfig = (0, _helpers.resolveConfigFile)(outputFiles[0].text);
|
|
62
|
-
|
|
63
|
-
if (isFlatConfig) {
|
|
64
|
-
return (0, _runFlatConfig.runFlatConfig)(mockConfig, argv);
|
|
65
|
-
}
|
|
66
|
-
(0, _run.run)(mockConfig, argv);
|
|
56
|
+
return (0, _run.run)(mockConfig, argv);
|
|
67
57
|
};
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "createTemplate", {
|
|
|
8
8
|
return createTemplate;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
const _constants = require("../../src/utils/constants");
|
|
14
14
|
function _interop_require_default(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -18,16 +18,16 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
}
|
|
19
19
|
const createTemplate = (options)=>{
|
|
20
20
|
const language = options.withTypescript ? 'ts' : 'js';
|
|
21
|
-
const templatePath =
|
|
22
|
-
|
|
21
|
+
const templatePath = _path.default.join(__dirname, '..', `templates/${language}/${options.apiType}`);
|
|
22
|
+
_fs.default.cpSync(`${templatePath}/mock-requests`, `${_constants.APP_PATH}/mock-requests`, {
|
|
23
23
|
recursive: true,
|
|
24
24
|
force: true
|
|
25
25
|
});
|
|
26
|
-
let mockServerConfig =
|
|
26
|
+
let mockServerConfig = _fs.default.readFileSync(`${templatePath}/mock-server.config.${language}`, 'utf8');
|
|
27
27
|
if (options.staticPath !== '/') {
|
|
28
28
|
mockServerConfig = mockServerConfig.replace(`port: ${_constants.DEFAULT.PORT}`, `port: ${_constants.DEFAULT.PORT},\n\u0020\u0020\u0020\u0020staticPath: '${options.staticPath}'`);
|
|
29
29
|
}
|
|
30
30
|
mockServerConfig = mockServerConfig.replace(`port: ${_constants.DEFAULT.PORT}`, `port: ${options.port.toString()}`);
|
|
31
31
|
mockServerConfig = mockServerConfig.replace("baseUrl: '/'", `baseUrl: '${options.baseUrl}'`);
|
|
32
|
-
|
|
32
|
+
_fs.default.writeFileSync(`${_constants.APP_PATH}/mock-server.config.${language}`, mockServerConfig);
|
|
33
33
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const resolveConfigFile: (configSourceCode: string) =>
|
|
1
|
+
import type { MockServerConfig } from '../../src/utils/types';
|
|
2
|
+
export declare const resolveConfigFile: (configSourceCode: string) => MockServerConfig;
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "resolveConfigFile", {
|
|
|
8
8
|
return resolveConfigFile;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _helpers = require("../../src/utils/helpers");
|
|
12
11
|
const _resolveExportsFromSourceCode = require("./resolveExportsFromSourceCode");
|
|
13
12
|
const resolveConfigFile = (configSourceCode)=>{
|
|
14
13
|
if (!configSourceCode) {
|
|
@@ -19,8 +18,8 @@ const resolveConfigFile = (configSourceCode)=>{
|
|
|
19
18
|
if (!mockServerConfig) {
|
|
20
19
|
throw new Error('Cannot handle exports of mock-server.config.(ts|js)');
|
|
21
20
|
}
|
|
22
|
-
if (!
|
|
23
|
-
throw new
|
|
21
|
+
if (!Array.isArray(mockServerConfig)) {
|
|
22
|
+
throw new TypeError('configuration should be array config; see our doc (https://www.npmjs.com/package/mock-config-server) for more information');
|
|
24
23
|
}
|
|
25
24
|
return mockServerConfig;
|
|
26
25
|
};
|
|
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "resolveConfigFilePath", {
|
|
|
8
8
|
return resolveConfigFilePath;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
function _interop_require_default(obj) {
|
|
14
14
|
return obj && obj.__esModule ? obj : {
|
|
15
15
|
default: obj
|
|
@@ -17,7 +17,7 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
}
|
|
18
18
|
const resolveConfigFilePath = (cliConfigFilePath)=>{
|
|
19
19
|
const appPath = process.cwd();
|
|
20
|
-
if (cliConfigFilePath) return
|
|
20
|
+
if (cliConfigFilePath) return _path.default.resolve(appPath, cliConfigFilePath);
|
|
21
21
|
const configFileNameRegex = /mock-server.config.(?:ts|mts|cts|js|mjs|cjs)/;
|
|
22
|
-
return
|
|
22
|
+
return _fs.default.readdirSync(appPath).find((fileName)=>configFileNameRegex.test(fileName));
|
|
23
23
|
};
|
package/dist/bin/init.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const init: (argv:
|
|
1
|
+
import type { MockServerCliArgv } from '../src/utils/types';
|
|
2
|
+
export declare const init: (argv: MockServerCliArgv) => Promise<void>;
|
package/dist/bin/init.js
CHANGED
|
@@ -31,22 +31,22 @@ const init = async (argv)=>{
|
|
|
31
31
|
{
|
|
32
32
|
type: 'select',
|
|
33
33
|
name: 'apiType',
|
|
34
|
-
message: 'Choose
|
|
34
|
+
message: 'Choose API type',
|
|
35
35
|
initial: 0,
|
|
36
36
|
choices: [
|
|
37
37
|
{
|
|
38
|
-
title: '
|
|
39
|
-
description: '
|
|
38
|
+
title: 'REST',
|
|
39
|
+
description: 'REST API sample',
|
|
40
40
|
value: 'rest'
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
title: 'GraphQL',
|
|
44
|
-
description: 'GraphQL
|
|
44
|
+
description: 'GraphQL API sample',
|
|
45
45
|
value: 'graphql'
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
title: 'Both',
|
|
49
|
-
description: '
|
|
49
|
+
description: 'REST API and GraphQL API sample',
|
|
50
50
|
value: 'full'
|
|
51
51
|
}
|
|
52
52
|
]
|
|
@@ -54,14 +54,14 @@ const init = async (argv)=>{
|
|
|
54
54
|
{
|
|
55
55
|
name: 'baseUrl',
|
|
56
56
|
type: argv.baseUrl ? null : 'text',
|
|
57
|
-
message: 'Base
|
|
57
|
+
message: 'Base URL (must start with a forward slash):',
|
|
58
58
|
initial: '/',
|
|
59
59
|
validate: (baseUrl)=>{
|
|
60
60
|
try {
|
|
61
61
|
_validate.baseUrlSchema.parse(baseUrl);
|
|
62
62
|
return true;
|
|
63
63
|
} catch {
|
|
64
|
-
return 'Invalid base
|
|
64
|
+
return 'Invalid base URL value';
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
},
|
package/dist/bin/run.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import type {
|
|
3
|
-
export declare const run: (
|
|
4
|
-
destroy: import("http").Server["close"];
|
|
2
|
+
import type { MockServerCliArgv, MockServerConfig } from '../src';
|
|
3
|
+
export declare const run: (mockServerConfig: MockServerConfig, { baseUrl, port, staticPath }: MockServerCliArgv) => (import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse> & {
|
|
4
|
+
destroy: import("node:http").Server["close"];
|
|
5
5
|
}) | undefined;
|
package/dist/bin/run.js
CHANGED
|
@@ -10,32 +10,25 @@ Object.defineProperty(exports, "run", {
|
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
const _server = require("../src/server");
|
|
13
|
-
const
|
|
14
|
-
const run = (mockConfig, { baseUrl, port, staticPath })=>{
|
|
15
|
-
console.warn(`**DEPRECATION WARNING**\nThe old mock config format is deprecated and will be removed in the next major version. Please use new format of config (flat config); see our doc (https://github.com/siberiacancode/mock-config-server) for more information`);
|
|
13
|
+
const run = (mockServerConfig, { baseUrl, port, staticPath })=>{
|
|
16
14
|
try {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
const [option, ...mockServerComponents] = mockServerConfig;
|
|
16
|
+
const mockServerSettings = !('configs' in option) ? option : undefined;
|
|
17
|
+
const mergedMockServerConfig = [
|
|
18
|
+
{
|
|
19
|
+
...mockServerSettings,
|
|
20
|
+
...baseUrl && {
|
|
21
|
+
baseUrl
|
|
22
|
+
},
|
|
23
|
+
...port && {
|
|
24
|
+
port
|
|
25
|
+
},
|
|
26
|
+
...staticPath && {
|
|
27
|
+
staticPath
|
|
28
|
+
}
|
|
21
29
|
},
|
|
22
|
-
...
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
...staticPath && {
|
|
26
|
-
staticPath
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
if (!mergedMockServerConfig.rest && !mergedMockServerConfig.graphql && 'configs' in mergedMockServerConfig) {
|
|
30
|
-
const mergedApiMockServerConfig = mergedMockServerConfig;
|
|
31
|
-
if (Array.isArray(mergedApiMockServerConfig.configs) && (0, _helpers.isPlainObject)(mergedApiMockServerConfig.configs[0]) && 'path' in mergedApiMockServerConfig.configs[0]) {
|
|
32
|
-
return (0, _server.startRestMockServer)(mergedApiMockServerConfig);
|
|
33
|
-
}
|
|
34
|
-
if (Array.isArray(mergedApiMockServerConfig.configs) && (0, _helpers.isPlainObject)(mergedApiMockServerConfig.configs[0]) && ('query' in mergedApiMockServerConfig.configs[0] || 'operationName' in mergedApiMockServerConfig.configs[0])) {
|
|
35
|
-
return (0, _server.startGraphQLMockServer)(mergedApiMockServerConfig);
|
|
36
|
-
}
|
|
37
|
-
return (0, _server.startRestMockServer)(mergedApiMockServerConfig);
|
|
38
|
-
}
|
|
30
|
+
...mockServerSettings ? mockServerComponents : mockServerConfig
|
|
31
|
+
];
|
|
39
32
|
return (0, _server.startMockServer)(mergedMockServerConfig);
|
|
40
33
|
} catch (error) {
|
|
41
34
|
console.error(error.message);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './user';
|
|
2
|
-
export * from './users';
|
|
1
|
+
export * from './user';
|
|
2
|
+
export * from './users';
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
export const getUserQuery = {
|
|
2
|
-
operationName: 'getUser',
|
|
3
|
-
operationType: 'query',
|
|
4
|
-
routes: [
|
|
5
|
-
{
|
|
6
|
-
data: { id: 1, emoji: '🎉' }
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
data: { id: 2, emoji: '🔥' },
|
|
10
|
-
entities: {
|
|
11
|
-
variables: {
|
|
12
|
-
id: 2
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const createUserMutation = {
|
|
20
|
-
operationName: 'createUser',
|
|
21
|
-
operationType: 'mutation',
|
|
22
|
-
routes: [
|
|
23
|
-
{
|
|
24
|
-
data: { id: 1, emoji: '🎉' }
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
data: { id: 2, emoji: '🔥' },
|
|
28
|
-
entities: {
|
|
29
|
-
variables: {
|
|
30
|
-
emoji: '🔥'
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
};
|
|
1
|
+
export const getUserQuery = {
|
|
2
|
+
operationName: 'getUser',
|
|
3
|
+
operationType: 'query',
|
|
4
|
+
routes: [
|
|
5
|
+
{
|
|
6
|
+
data: { id: 1, emoji: '🎉' }
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
data: { id: 2, emoji: '🔥' },
|
|
10
|
+
entities: {
|
|
11
|
+
variables: {
|
|
12
|
+
id: 2
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const createUserMutation = {
|
|
20
|
+
operationName: 'createUser',
|
|
21
|
+
operationType: 'mutation',
|
|
22
|
+
routes: [
|
|
23
|
+
{
|
|
24
|
+
data: { id: 1, emoji: '🎉' }
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
data: { id: 2, emoji: '🔥' },
|
|
28
|
+
entities: {
|
|
29
|
+
variables: {
|
|
30
|
+
emoji: '🔥'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export const getUsersQuery = {
|
|
2
|
-
operationName: 'getUsers',
|
|
3
|
-
operationType: 'query',
|
|
4
|
-
routes: [
|
|
5
|
-
{
|
|
6
|
-
data: [
|
|
7
|
-
{ id: 1, emoji: '🎉' },
|
|
8
|
-
{ id: 2, emoji: '🔥' }
|
|
9
|
-
]
|
|
10
|
-
}
|
|
11
|
-
]
|
|
12
|
-
};
|
|
1
|
+
export const getUsersQuery = {
|
|
2
|
+
operationName: 'getUsers',
|
|
3
|
+
operationType: 'query',
|
|
4
|
+
routes: [
|
|
5
|
+
{
|
|
6
|
+
data: [
|
|
7
|
+
{ id: 1, emoji: '🎉' },
|
|
8
|
+
{ id: 2, emoji: '🔥' }
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './user';
|
|
2
|
-
export * from './users';
|
|
1
|
+
export * from './user';
|
|
2
|
+
export * from './users';
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
export const getUserRequest = {
|
|
2
|
-
method: 'get',
|
|
3
|
-
path: '/users/:id',
|
|
4
|
-
routes: [
|
|
5
|
-
{
|
|
6
|
-
data: { id: 1, emoji: '🎉' }
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
data: { id: 2, emoji: '🔥' },
|
|
10
|
-
entities: {
|
|
11
|
-
params: {
|
|
12
|
-
id: 2
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const postUserRequest = {
|
|
20
|
-
method: 'post',
|
|
21
|
-
path: '/users',
|
|
22
|
-
routes: [
|
|
23
|
-
{
|
|
24
|
-
data: { id: 1, emoji: '🎉' }
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
data: { id: 2, emoji: '🔥' },
|
|
28
|
-
entities: {
|
|
29
|
-
body: {
|
|
30
|
-
emoji: '🔥'
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
};
|
|
1
|
+
export const getUserRequest = {
|
|
2
|
+
method: 'get',
|
|
3
|
+
path: '/users/:id',
|
|
4
|
+
routes: [
|
|
5
|
+
{
|
|
6
|
+
data: { id: 1, emoji: '🎉' }
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
data: { id: 2, emoji: '🔥' },
|
|
10
|
+
entities: {
|
|
11
|
+
params: {
|
|
12
|
+
id: 2
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const postUserRequest = {
|
|
20
|
+
method: 'post',
|
|
21
|
+
path: '/users',
|
|
22
|
+
routes: [
|
|
23
|
+
{
|
|
24
|
+
data: { id: 1, emoji: '🎉' }
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
data: { id: 2, emoji: '🔥' },
|
|
28
|
+
entities: {
|
|
29
|
+
body: {
|
|
30
|
+
emoji: '🔥'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export const getUsersRequest = {
|
|
2
|
-
path: '/users',
|
|
3
|
-
method: 'get',
|
|
4
|
-
routes: [
|
|
5
|
-
{
|
|
6
|
-
data: [
|
|
7
|
-
{ id: 1, emoji: '🎉' },
|
|
8
|
-
{ id: 2, emoji: '🔥' }
|
|
9
|
-
]
|
|
10
|
-
}
|
|
11
|
-
]
|
|
12
|
-
};
|
|
1
|
+
export const getUsersRequest = {
|
|
2
|
+
path: '/users',
|
|
3
|
+
method: 'get',
|
|
4
|
+
routes: [
|
|
5
|
+
{
|
|
6
|
+
data: [
|
|
7
|
+
{ id: 1, emoji: '🎉' },
|
|
8
|
+
{ id: 2, emoji: '🔥' }
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests/graphql';
|
|
2
|
-
import { getUserRequest, getUsersRequest, postUserRequest } from './mock-requests/rest';
|
|
3
|
-
|
|
4
|
-
const mockServerConfig = [
|
|
5
|
-
{
|
|
6
|
-
port: 31299,
|
|
7
|
-
baseUrl: '/'
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
name: 'rest',
|
|
11
|
-
configs: [getUserRequest, getUsersRequest, postUserRequest]
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: 'graphql',
|
|
15
|
-
configs: [getUserQuery, getUsersQuery, createUserMutation]
|
|
16
|
-
}
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
export default mockServerConfig;
|
|
1
|
+
import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests/graphql';
|
|
2
|
+
import { getUserRequest, getUsersRequest, postUserRequest } from './mock-requests/rest';
|
|
3
|
+
|
|
4
|
+
const mockServerConfig = [
|
|
5
|
+
{
|
|
6
|
+
port: 31299,
|
|
7
|
+
baseUrl: '/'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: 'rest',
|
|
11
|
+
configs: [getUserRequest, getUsersRequest, postUserRequest]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: 'graphql',
|
|
15
|
+
configs: [getUserQuery, getUsersQuery, createUserMutation]
|
|
16
|
+
}
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
export default mockServerConfig;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './user';
|
|
2
|
-
export * from './users';
|
|
1
|
+
export * from './user';
|
|
2
|
+
export * from './users';
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
export const getUserQuery = {
|
|
2
|
-
operationName: 'getUser',
|
|
3
|
-
operationType: 'query',
|
|
4
|
-
routes: [
|
|
5
|
-
{
|
|
6
|
-
data: { id: 1, emoji: '🎉' }
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
data: { id: 2, emoji: '🔥' },
|
|
10
|
-
entities: {
|
|
11
|
-
variables: {
|
|
12
|
-
id: 2
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export const createUserMutation = {
|
|
20
|
-
operationName: 'createUser',
|
|
21
|
-
operationType: 'mutation',
|
|
22
|
-
routes: [
|
|
23
|
-
{
|
|
24
|
-
data: { id: 1, emoji: '🎉' }
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
data: { id: 2, emoji: '🔥' },
|
|
28
|
-
entities: {
|
|
29
|
-
variables: {
|
|
30
|
-
emoji: '🔥'
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
};
|
|
1
|
+
export const getUserQuery = {
|
|
2
|
+
operationName: 'getUser',
|
|
3
|
+
operationType: 'query',
|
|
4
|
+
routes: [
|
|
5
|
+
{
|
|
6
|
+
data: { id: 1, emoji: '🎉' }
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
data: { id: 2, emoji: '🔥' },
|
|
10
|
+
entities: {
|
|
11
|
+
variables: {
|
|
12
|
+
id: 2
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const createUserMutation = {
|
|
20
|
+
operationName: 'createUser',
|
|
21
|
+
operationType: 'mutation',
|
|
22
|
+
routes: [
|
|
23
|
+
{
|
|
24
|
+
data: { id: 1, emoji: '🎉' }
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
data: { id: 2, emoji: '🔥' },
|
|
28
|
+
entities: {
|
|
29
|
+
variables: {
|
|
30
|
+
emoji: '🔥'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export const getUsersQuery = {
|
|
2
|
-
operationName: 'getUsers',
|
|
3
|
-
operationType: 'query',
|
|
4
|
-
routes: [
|
|
5
|
-
{
|
|
6
|
-
data: [
|
|
7
|
-
{ id: 1, emoji: '🎉' },
|
|
8
|
-
{ id: 2, emoji: '🔥' }
|
|
9
|
-
]
|
|
10
|
-
}
|
|
11
|
-
]
|
|
12
|
-
};
|
|
1
|
+
export const getUsersQuery = {
|
|
2
|
+
operationName: 'getUsers',
|
|
3
|
+
operationType: 'query',
|
|
4
|
+
routes: [
|
|
5
|
+
{
|
|
6
|
+
data: [
|
|
7
|
+
{ id: 1, emoji: '🎉' },
|
|
8
|
+
{ id: 2, emoji: '🔥' }
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests';
|
|
2
|
-
|
|
3
|
-
const mockServerConfig = [
|
|
4
|
-
{
|
|
5
|
-
port: 31299,
|
|
6
|
-
baseUrl: '/graphql'
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
name: 'graphql',
|
|
10
|
-
configs: [getUserQuery, getUsersQuery, createUserMutation]
|
|
11
|
-
}
|
|
12
|
-
];
|
|
13
|
-
|
|
14
|
-
export default mockServerConfig;
|
|
1
|
+
import { createUserMutation, getUserQuery, getUsersQuery } from './mock-requests';
|
|
2
|
+
|
|
3
|
+
const mockServerConfig = [
|
|
4
|
+
{
|
|
5
|
+
port: 31299,
|
|
6
|
+
baseUrl: '/graphql'
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'graphql',
|
|
10
|
+
configs: [getUserQuery, getUsersQuery, createUserMutation]
|
|
11
|
+
}
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
export default mockServerConfig;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './user';
|
|
2
|
-
export * from './users';
|
|
1
|
+
export * from './user';
|
|
2
|
+
export * from './users';
|