mock-config-server 2.0.1 → 2.1.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.
Files changed (141) hide show
  1. package/README.md +33 -1
  2. package/dist/bin/{mock-config-server.d.ts → bin.d.ts} +2 -2
  3. package/dist/bin/bin.js +8 -0
  4. package/dist/bin/cli.d.ts +1 -0
  5. package/dist/bin/cli.js +36 -0
  6. package/dist/bin/{resolveExportsFromSourceCode.d.ts → resolveExportsFromSourceCode/resolveExportsFromSourceCode.d.ts} +1 -1
  7. package/dist/bin/{resolveExportsFromSourceCode.js → resolveExportsFromSourceCode/resolveExportsFromSourceCode.js} +11 -11
  8. package/dist/bin/start.d.ts +3 -0
  9. package/dist/bin/{mock-config-server.js → start.js} +73 -67
  10. package/dist/bin/validateMockServerConfig/validateBaseUrl/validateBaseUrl.d.ts +1 -1
  11. package/dist/bin/validateMockServerConfig/validateBaseUrl/validateBaseUrl.js +12 -12
  12. package/dist/bin/validateMockServerConfig/validateCors/validateCors.d.ts +1 -1
  13. package/dist/bin/validateMockServerConfig/validateCors/validateCors.js +82 -82
  14. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateGraphqlConfig.d.ts +1 -1
  15. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateGraphqlConfig.js +48 -48
  16. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateRoutes/validateRoutes.d.ts +2 -2
  17. package/dist/bin/validateMockServerConfig/validateGraphqlConfig/validateRoutes/validateRoutes.js +71 -71
  18. package/dist/bin/validateMockServerConfig/validateInterceptors/validateInterceptors.d.ts +1 -1
  19. package/dist/bin/validateMockServerConfig/validateInterceptors/validateInterceptors.js +21 -21
  20. package/dist/bin/validateMockServerConfig/validateMockServerConfig.d.ts +2 -1
  21. package/dist/bin/validateMockServerConfig/validateMockServerConfig.js +30 -34
  22. package/dist/bin/validateMockServerConfig/validatePort/validatePort.d.ts +1 -1
  23. package/dist/bin/validateMockServerConfig/validatePort/validatePort.js +9 -9
  24. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRestConfig.d.ts +1 -1
  25. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRestConfig.js +52 -52
  26. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRoutes/validateRoutes.d.ts +2 -2
  27. package/dist/bin/validateMockServerConfig/validateRestConfig/validateRoutes/validateRoutes.js +105 -104
  28. package/dist/bin/validateMockServerConfig/validateStaticPath/validateStaticPath.d.ts +1 -1
  29. package/dist/bin/validateMockServerConfig/validateStaticPath/validateStaticPath.js +44 -44
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +17 -17
  32. package/dist/src/{graphql → core/graphql}/createGraphQLRoutes/createGraphQLRoutes.d.ts +3 -3
  33. package/dist/src/{graphql → core/graphql}/createGraphQLRoutes/createGraphQLRoutes.js +76 -73
  34. package/dist/src/core/graphql/createGraphQLRoutes/helpers/index.d.ts +1 -0
  35. package/dist/src/{notFound/urlSuggestions → core/graphql/createGraphQLRoutes/helpers}/index.js +17 -18
  36. package/dist/src/{graphql → core/graphql/createGraphQLRoutes/helpers}/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.d.ts +2 -2
  37. package/dist/src/{graphql → core/graphql/createGraphQLRoutes/helpers}/prepareGraphQLRequestConfigs/prepareGraphQLRequestConfigs.js +28 -28
  38. package/dist/src/core/graphql/index.d.ts +1 -0
  39. package/dist/src/{notFound/urlSuggestions/getGraphqlUrlSuggestions → core/graphql}/index.js +17 -17
  40. package/dist/src/{cors → core/middlewares}/corsMiddleware/corsMiddleware.d.ts +3 -3
  41. package/dist/src/{cors → core/middlewares}/corsMiddleware/corsMiddleware.js +44 -44
  42. package/dist/src/{cors/getOrigins → core/middlewares/corsMiddleware/helpers/getAllowedOrigins}/getAllowedOrigins.d.ts +2 -2
  43. package/dist/src/{cors/getOrigins → core/middlewares/corsMiddleware/helpers/getAllowedOrigins}/getAllowedOrigins.js +13 -13
  44. package/dist/src/core/middlewares/corsMiddleware/helpers/index.d.ts +1 -0
  45. package/dist/src/{notFound/urlSuggestions/getRestUrlSuggestions → core/middlewares/corsMiddleware/helpers}/index.js +17 -17
  46. package/dist/src/core/middlewares/index.d.ts +4 -0
  47. package/dist/src/core/middlewares/index.js +20 -0
  48. package/dist/src/{cors → core/middlewares}/noCorsMiddleware/noCorsMiddleware.d.ts +2 -2
  49. package/dist/src/{cors → core/middlewares}/noCorsMiddleware/noCorsMiddleware.js +24 -20
  50. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.d.ts +6 -6
  51. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getGraphqlUrlSuggestions/getGraphqlUrlSuggestions.js +18 -18
  52. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getLevenshteinDistance/getLevenshteinDistance.d.ts +1 -1
  53. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getLevenshteinDistance/getLevenshteinDistance.js +80 -80
  54. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/getRestUrlSuggestions.d.ts +6 -6
  55. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/getRestUrlSuggestions.js +34 -34
  56. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.d.ts +1 -1
  57. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/helpers/getActualRestUrlMeaningfulString/getActualRestUrlMeaningfulString.js +7 -7
  58. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.d.ts +1 -1
  59. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/helpers/getPatternRestUrlMeaningfulString/getPatternRestUrlMeaningfulString.js +5 -5
  60. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/helpers/index.d.ts +2 -2
  61. package/dist/src/{notFound/urlSuggestions → core/middlewares/notFoundMiddleware/helpers}/getRestUrlSuggestions/helpers/index.js +18 -18
  62. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.d.ts +3 -0
  63. package/dist/src/core/middlewares/notFoundMiddleware/helpers/index.js +19 -0
  64. package/dist/src/{notFound → core/middlewares/notFoundMiddleware}/notFoundMiddleware.d.ts +8 -8
  65. package/dist/src/{notFound → core/middlewares/notFoundMiddleware}/notFoundMiddleware.js +47 -47
  66. package/dist/src/{static → core/middlewares}/staticMiddleware/staticMiddleware.d.ts +3 -3
  67. package/dist/src/{static → core/middlewares}/staticMiddleware/staticMiddleware.js +30 -30
  68. package/dist/src/{rest → core/rest}/createRestRoutes/createRestRoutes.d.ts +3 -3
  69. package/dist/src/{rest → core/rest}/createRestRoutes/createRestRoutes.js +46 -41
  70. package/dist/src/core/rest/createRestRoutes/helpers/index.d.ts +1 -0
  71. package/dist/src/core/rest/createRestRoutes/helpers/index.js +17 -0
  72. package/dist/src/{rest → core/rest/createRestRoutes/helpers}/prepareRestRequestConfigs/prepareRestRequestConfigs.d.ts +2 -2
  73. package/dist/src/{rest → core/rest/createRestRoutes/helpers}/prepareRestRequestConfigs/prepareRestRequestConfigs.js +30 -30
  74. package/dist/src/core/rest/index.d.ts +1 -0
  75. package/dist/src/core/rest/index.js +17 -0
  76. package/dist/src/index.d.ts +3 -3
  77. package/dist/src/index.js +19 -19
  78. package/dist/src/server/createMockServer/createMockServer.d.ts +3 -3
  79. package/dist/src/server/createMockServer/createMockServer.js +46 -49
  80. package/dist/src/server/index.d.ts +2 -0
  81. package/dist/src/server/index.js +18 -0
  82. package/dist/src/server/startMockServer/startMockServer.d.ts +2 -2
  83. package/dist/src/server/startMockServer/startMockServer.js +17 -17
  84. package/dist/src/static/views/notFound.ejs +1 -1
  85. package/dist/src/utils/constants/appPath.d.ts +1 -1
  86. package/dist/src/utils/constants/appPath.js +4 -4
  87. package/dist/src/utils/constants/default.d.ts +11 -11
  88. package/dist/src/utils/constants/default.js +14 -14
  89. package/dist/src/utils/constants/index.d.ts +2 -2
  90. package/dist/src/utils/constants/index.js +18 -18
  91. package/dist/src/utils/helpers/config/index.d.ts +1 -0
  92. package/dist/src/utils/helpers/config/index.js +17 -0
  93. package/dist/src/{configs → utils/helpers/config}/isEntitiesEqual/isEntityValuesEqual.d.ts +1 -1
  94. package/dist/src/{configs → utils/helpers/config}/isEntitiesEqual/isEntityValuesEqual.js +29 -29
  95. package/dist/src/{graphql → utils/helpers/graphql}/getGraphQLInput/getGraphQLInput.d.ts +3 -3
  96. package/dist/src/{graphql → utils/helpers/graphql}/getGraphQLInput/getGraphQLInput.js +21 -21
  97. package/dist/src/utils/helpers/graphql/index.d.ts +3 -0
  98. package/dist/src/utils/helpers/graphql/index.js +19 -0
  99. package/dist/src/{graphql → utils/helpers/graphql}/parseGraphQLRequest/parseGraphQLRequest.d.ts +3 -3
  100. package/dist/src/{graphql → utils/helpers/graphql}/parseGraphQLRequest/parseGraphQLRequest.js +12 -12
  101. package/dist/src/{graphql → utils/helpers/graphql}/parseQuery/parseQuery.d.ts +7 -7
  102. package/dist/src/{graphql → utils/helpers/graphql}/parseQuery/parseQuery.js +21 -21
  103. package/dist/src/utils/helpers/index.d.ts +6 -3
  104. package/dist/src/utils/helpers/index.js +22 -19
  105. package/dist/src/{routes → utils/helpers/interceptors}/callRequestInterceptors/callRequestInterceptors.d.ts +12 -12
  106. package/dist/src/{routes → utils/helpers/interceptors}/callRequestInterceptors/callRequestInterceptors.js +13 -13
  107. package/dist/src/{routes → utils/helpers/interceptors}/callResponseInterceptors/callResponseInterceptors.d.ts +14 -14
  108. package/dist/src/{routes → utils/helpers/interceptors}/callResponseInterceptors/callResponseInterceptors.js +55 -31
  109. package/dist/src/utils/helpers/interceptors/index.d.ts +2 -0
  110. package/dist/src/utils/helpers/interceptors/index.js +18 -0
  111. package/dist/src/utils/helpers/{isPlainObject.d.ts → isPlainObject/isPlainObject.d.ts} +1 -1
  112. package/dist/src/utils/helpers/{isPlainObject.js → isPlainObject/isPlainObject.js} +5 -5
  113. package/dist/src/utils/helpers/sleep.d.ts +1 -1
  114. package/dist/src/utils/helpers/sleep.js +7 -7
  115. package/dist/src/utils/helpers/url/convertWin32PathToUnix/convertWin32PathToUnix.d.ts +1 -1
  116. package/dist/src/utils/helpers/url/convertWin32PathToUnix/convertWin32PathToUnix.js +8 -8
  117. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.d.ts +1 -1
  118. package/dist/src/utils/helpers/url/getUrlParts/getUrlParts.js +6 -6
  119. package/dist/src/utils/helpers/url/index.d.ts +4 -4
  120. package/dist/src/utils/helpers/url/index.js +20 -20
  121. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.d.ts +1 -1
  122. package/dist/src/utils/helpers/url/removeLeadingAndTrailingSlashes/removeLeadingAndTrailingSlashes.js +5 -5
  123. package/dist/src/utils/helpers/url/urlJoin/urlJoin.d.ts +1 -1
  124. package/dist/src/utils/helpers/url/urlJoin/urlJoin.js +14 -14
  125. package/dist/src/utils/types/graphql.d.ts +34 -5
  126. package/dist/src/utils/types/graphql.js +2 -2
  127. package/dist/src/utils/types/index.d.ts +5 -4
  128. package/dist/src/utils/types/index.js +21 -20
  129. package/dist/src/utils/types/interceptors.d.ts +21 -15
  130. package/dist/src/utils/types/interceptors.js +2 -2
  131. package/dist/src/utils/types/rest.d.ts +38 -0
  132. package/dist/src/utils/types/{configs.js → rest.js} +2 -2
  133. package/dist/src/utils/types/server.d.ts +37 -32
  134. package/dist/src/utils/types/server.js +2 -2
  135. package/dist/src/utils/types/values.d.ts +9 -0
  136. package/dist/src/utils/types/values.js +2 -0
  137. package/package.json +19 -17
  138. package/dist/src/notFound/urlSuggestions/getGraphqlUrlSuggestions/index.d.ts +0 -1
  139. package/dist/src/notFound/urlSuggestions/getRestUrlSuggestions/index.d.ts +0 -1
  140. package/dist/src/notFound/urlSuggestions/index.d.ts +0 -2
  141. package/dist/src/utils/types/configs.d.ts +0 -63
package/README.md CHANGED
@@ -57,7 +57,7 @@ export default mockServerConfig;
57
57
  Start **🎉 Mock Config Server**
58
58
 
59
59
  ```bash
60
- $ npx mock-config-server
60
+ $ npx mcs
61
61
 
62
62
  # 🎉 Mock Config Server is running at http://localhost:31299
63
63
  ```
@@ -241,6 +241,38 @@ Functions to change request or response parameters
241
241
  - `delay` {number} seconds of delay time
242
242
  - `setStatusCode` (statusCode) => void
243
243
  - `statusCode` {number} status code for response
244
+ - `setHeader` (name, value) => void
245
+ - `name` {string} name of response header
246
+ - `value` {string | string[] | undefined} value of response header
247
+ - `appendHeader` (name, value) => void
248
+ - `name` {string} name of response header
249
+ - `value` {string | string[] | undefined} value of response header
250
+ - `setCookie` (name, value, options) => void
251
+ - `name` {string} name of cookie
252
+ - `value` {string} value of cookie
253
+ - `options` {[CookieOptions](https://expressjs.com/en/resources/middleware/cookie-session.html) | undefined} cookie options (like path, expires, etc.)
254
+ - `clearCookie` (name, options) => void
255
+ - `name` {string} name of cookie
256
+ - `options` {[CookieOptions](https://expressjs.com/en/resources/middleware/cookie-session.html) | undefined} cookie options (like path, expires, etc.)
257
+ - `attachment` (filename) => void
258
+ - `filename` {string} name of file in 'Content-Disposition' header
259
+
260
+ ## CLI usage
261
+ ```
262
+ mcs [options]
263
+
264
+ Options:
265
+ --baseUrl, -b Set base url
266
+ --port, -p Set port
267
+ --staticPath, -s Set static path
268
+
269
+ --version, -v Show version number
270
+ --help, -h Show help
271
+
272
+ Examples:
273
+ mcs --baseurl /base/url --port 3000
274
+ mcs --help
275
+ ```
244
276
 
245
277
  ## ✨ Contributors
246
278
 
@@ -1,2 +1,2 @@
1
- #!/usr/bin/env node
2
- export {};
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const pleaseUpgradeNode = require('please-upgrade-node');
5
+ const packageJson = require('../../package.json');
6
+ pleaseUpgradeNode(packageJson);
7
+ const { cli } = require('./cli');
8
+ cli();
@@ -0,0 +1 @@
1
+ export declare const cli: () => void;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.cli = void 0;
7
+ const yargs_1 = __importDefault(require("yargs"));
8
+ const helpers_1 = require("yargs/helpers");
9
+ const start_1 = require("./start");
10
+ const cli = () => {
11
+ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
12
+ .options({
13
+ baseUrl: {
14
+ alias: 'b',
15
+ description: 'Set base url for mock server',
16
+ type: 'string'
17
+ },
18
+ port: {
19
+ alias: 'p',
20
+ description: 'Set port for server',
21
+ type: 'number'
22
+ },
23
+ staticPath: {
24
+ alias: 's',
25
+ description: 'Set static path for mock server',
26
+ type: 'string'
27
+ }
28
+ })
29
+ .version()
30
+ .alias('version', 'v')
31
+ .help()
32
+ .alias('help', 'h')
33
+ .parse();
34
+ (0, start_1.start)(argv);
35
+ };
36
+ exports.cli = cli;
@@ -1 +1 @@
1
- export declare const resolveExportsFromSourceCode: (sourceCode: string) => any;
1
+ export declare const resolveExportsFromSourceCode: (sourceCode: string) => any;
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveExportsFromSourceCode = void 0;
4
- const resolveExportsFromSourceCode = (sourceCode) => {
5
- // @ts-ignore
6
- const moduleInstance = new module.constructor();
7
- // eslint-disable-next-line no-underscore-dangle
8
- moduleInstance._compile(sourceCode, '');
9
- return moduleInstance.exports;
10
- };
11
- exports.resolveExportsFromSourceCode = resolveExportsFromSourceCode;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveExportsFromSourceCode = void 0;
4
+ const resolveExportsFromSourceCode = (sourceCode) => {
5
+ // @ts-ignore
6
+ const moduleInstance = new module.constructor();
7
+ // eslint-disable-next-line no-underscore-dangle
8
+ moduleInstance._compile(sourceCode, '');
9
+ return moduleInstance.exports;
10
+ };
11
+ exports.resolveExportsFromSourceCode = resolveExportsFromSourceCode;
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import type { MockServerConfigArgv } from '../src';
3
+ export declare const start: (argv: MockServerConfigArgv) => Promise<void>;
@@ -1,67 +1,73 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- const esbuild_1 = require("esbuild");
28
- const fs = __importStar(require("fs"));
29
- const src_1 = require("../src");
30
- const validateMockServerConfig_1 = require("./validateMockServerConfig/validateMockServerConfig");
31
- const resolveExportsFromSourceCode_1 = require("./resolveExportsFromSourceCode");
32
- const start = async () => {
33
- try {
34
- const appPath = process.cwd();
35
- const mockServerConfigFileRegex = /mock-server.config.(?:ts|js)/;
36
- const mockServerConfigFile = fs
37
- .readdirSync(appPath)
38
- .find((file) => mockServerConfigFileRegex.test(file));
39
- if (!mockServerConfigFile) {
40
- throw new Error('Cannot find config file mock-server.config.(ts|js)');
41
- }
42
- const { outputFiles } = await (0, esbuild_1.build)({
43
- entryPoints: [mockServerConfigFile],
44
- bundle: true,
45
- platform: 'node',
46
- target: 'esnext',
47
- minifySyntax: true,
48
- minify: true,
49
- write: false,
50
- metafile: false
51
- });
52
- const mockServerConfigSourceCode = outputFiles[0]?.text;
53
- if (!mockServerConfigSourceCode) {
54
- throw new Error('Cannot handle source code of mock-server.config.(ts|js)');
55
- }
56
- const mockServerConfigExports = (0, resolveExportsFromSourceCode_1.resolveExportsFromSourceCode)(mockServerConfigSourceCode);
57
- if (!mockServerConfigExports?.default) {
58
- throw new Error('Cannot handle exports of mock-server.config.(ts|js)');
59
- }
60
- (0, validateMockServerConfig_1.validateMockServerConfig)(mockServerConfigExports.default);
61
- (0, src_1.startMockServer)(mockServerConfigExports.default);
62
- }
63
- catch (error) {
64
- console.error(error.message);
65
- }
66
- };
67
- start();
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.start = void 0;
28
+ const fs = __importStar(require("fs"));
29
+ const esbuild_1 = require("esbuild");
30
+ const server_1 = require("../src/server");
31
+ const helpers_1 = require("../src/utils/helpers");
32
+ const resolveExportsFromSourceCode_1 = require("./resolveExportsFromSourceCode/resolveExportsFromSourceCode");
33
+ const validateMockServerConfig_1 = require("./validateMockServerConfig/validateMockServerConfig");
34
+ const start = async (argv) => {
35
+ try {
36
+ const appPath = process.cwd();
37
+ const mockServerConfigFileRegex = /mock-server.config.(?:ts|js)/;
38
+ const mockServerConfigFile = fs
39
+ .readdirSync(appPath)
40
+ .find((file) => mockServerConfigFileRegex.test(file));
41
+ if (!mockServerConfigFile) {
42
+ throw new Error('Cannot find config file mock-server.config.(ts|js)');
43
+ }
44
+ const { outputFiles } = await (0, esbuild_1.build)({
45
+ entryPoints: [mockServerConfigFile],
46
+ bundle: true,
47
+ platform: 'node',
48
+ target: 'esnext',
49
+ minifySyntax: true,
50
+ minify: true,
51
+ write: false,
52
+ metafile: false
53
+ });
54
+ const mockServerConfigSourceCode = outputFiles[0]?.text;
55
+ if (!mockServerConfigSourceCode) {
56
+ throw new Error('Cannot handle source code of mock-server.config.(ts|js)');
57
+ }
58
+ const mockServerConfigExports = (0, resolveExportsFromSourceCode_1.resolveExportsFromSourceCode)(mockServerConfigSourceCode);
59
+ if (!mockServerConfigExports?.default) {
60
+ throw new Error('Cannot handle exports of mock-server.config.(ts|js)');
61
+ }
62
+ if (!(0, helpers_1.isPlainObject)(mockServerConfigExports.default)) {
63
+ throw new Error('configuration should be plain object; see our doc (https://www.npmjs.com/package/mock-config-server) for more information');
64
+ }
65
+ const mergedMockServerConfig = { ...mockServerConfigExports.default, ...argv };
66
+ (0, validateMockServerConfig_1.validateMockServerConfig)(mergedMockServerConfig);
67
+ (0, server_1.startMockServer)(mergedMockServerConfig);
68
+ }
69
+ catch (error) {
70
+ console.error(error.message);
71
+ }
72
+ };
73
+ exports.start = start;
@@ -1 +1 @@
1
- export declare const validateBaseUrl: (baseUrl: unknown) => void;
1
+ export declare const validateBaseUrl: (baseUrl: unknown) => void;
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateBaseUrl = void 0;
4
- const validateBaseUrl = (baseUrl) => {
5
- if (typeof baseUrl !== 'string' && typeof baseUrl !== 'undefined') {
6
- throw new Error('baseUrl');
7
- }
8
- if (typeof baseUrl === 'string' && !baseUrl.startsWith('/')) {
9
- throw new Error('baseUrl');
10
- }
11
- };
12
- exports.validateBaseUrl = validateBaseUrl;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateBaseUrl = void 0;
4
+ const validateBaseUrl = (baseUrl) => {
5
+ if (typeof baseUrl !== 'string' && typeof baseUrl !== 'undefined') {
6
+ throw new Error('baseUrl');
7
+ }
8
+ if (typeof baseUrl === 'string' && !baseUrl.startsWith('/')) {
9
+ throw new Error('baseUrl');
10
+ }
11
+ };
12
+ exports.validateBaseUrl = validateBaseUrl;
@@ -1 +1 @@
1
- export declare const validateCors: (cors: unknown) => void;
1
+ export declare const validateCors: (cors: unknown) => void;
@@ -1,82 +1,82 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateCors = void 0;
4
- const helpers_1 = require("../../../src/utils/helpers");
5
- const validateOrigin = (origin) => {
6
- const isOriginArray = Array.isArray(origin);
7
- if (isOriginArray) {
8
- origin.forEach((originElement, index) => {
9
- const isOriginElementStringOrRegExp = typeof originElement === 'string' || originElement instanceof RegExp;
10
- if (!isOriginElementStringOrRegExp) {
11
- throw new Error(`origin[${index}]`);
12
- }
13
- });
14
- return;
15
- }
16
- const isOriginStringOrRegexp = typeof origin === 'string' || origin instanceof RegExp;
17
- const isOriginFunction = typeof origin === 'function';
18
- if (!isOriginStringOrRegexp && !isOriginFunction) {
19
- throw new Error('origin');
20
- }
21
- };
22
- const validateMethods = (methods) => {
23
- const isMethodsArray = Array.isArray(methods);
24
- if (isMethodsArray) {
25
- const allowedMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'];
26
- methods.forEach((method, index) => {
27
- // ✅ important:
28
- // compare without 'toUpperCase' because 'Access-Control-Allow-Methods' value is case-sensitive
29
- if (!allowedMethods.includes(method)) {
30
- throw new Error(`methods[${index}]`);
31
- }
32
- });
33
- return;
34
- }
35
- if (typeof methods !== 'undefined') {
36
- throw new Error('methods');
37
- }
38
- };
39
- const validateHeaders = (headers) => {
40
- const isHeadersArray = Array.isArray(headers);
41
- if (isHeadersArray) {
42
- headers.forEach((header, index) => {
43
- if (typeof header !== 'string') {
44
- throw new Error(`headers[${index}]`);
45
- }
46
- });
47
- return;
48
- }
49
- if (typeof headers !== 'undefined') {
50
- throw new Error('headers');
51
- }
52
- };
53
- const validateCredentials = (credentials) => {
54
- if (typeof credentials !== 'boolean' && typeof credentials !== 'undefined') {
55
- throw new Error('credentials');
56
- }
57
- };
58
- const validateMaxAge = (maxAge) => {
59
- if (typeof maxAge !== 'number' && typeof maxAge !== 'undefined') {
60
- throw new Error('maxAge');
61
- }
62
- };
63
- const validateCors = (cors) => {
64
- const isCorsObject = (0, helpers_1.isPlainObject)(cors);
65
- if (isCorsObject) {
66
- try {
67
- validateOrigin(cors.origin);
68
- validateMethods(cors.methods);
69
- validateHeaders(cors.headers);
70
- validateCredentials(cors.credentials);
71
- validateMaxAge(cors.maxAge);
72
- }
73
- catch (error) {
74
- throw new Error(`cors.${error.message}`);
75
- }
76
- return;
77
- }
78
- if (typeof cors !== 'undefined') {
79
- throw new Error('cors');
80
- }
81
- };
82
- exports.validateCors = validateCors;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateCors = void 0;
4
+ const helpers_1 = require("../../../src/utils/helpers");
5
+ const validateOrigin = (origin) => {
6
+ const isOriginArray = Array.isArray(origin);
7
+ if (isOriginArray) {
8
+ origin.forEach((originElement, index) => {
9
+ const isOriginElementStringOrRegExp = typeof originElement === 'string' || originElement instanceof RegExp;
10
+ if (!isOriginElementStringOrRegExp) {
11
+ throw new Error(`origin[${index}]`);
12
+ }
13
+ });
14
+ return;
15
+ }
16
+ const isOriginStringOrRegexp = typeof origin === 'string' || origin instanceof RegExp;
17
+ const isOriginFunction = typeof origin === 'function';
18
+ if (!isOriginStringOrRegexp && !isOriginFunction) {
19
+ throw new Error('origin');
20
+ }
21
+ };
22
+ const validateMethods = (methods) => {
23
+ const isMethodsArray = Array.isArray(methods);
24
+ if (isMethodsArray) {
25
+ const allowedMethods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'];
26
+ methods.forEach((method, index) => {
27
+ // ✅ important:
28
+ // compare without 'toUpperCase' because 'Access-Control-Allow-Methods' value is case-sensitive
29
+ if (!allowedMethods.includes(method)) {
30
+ throw new Error(`methods[${index}]`);
31
+ }
32
+ });
33
+ return;
34
+ }
35
+ if (typeof methods !== 'undefined') {
36
+ throw new Error('methods');
37
+ }
38
+ };
39
+ const validateHeaders = (headers) => {
40
+ const isHeadersArray = Array.isArray(headers);
41
+ if (isHeadersArray) {
42
+ headers.forEach((header, index) => {
43
+ if (typeof header !== 'string') {
44
+ throw new Error(`headers[${index}]`);
45
+ }
46
+ });
47
+ return;
48
+ }
49
+ if (typeof headers !== 'undefined') {
50
+ throw new Error('headers');
51
+ }
52
+ };
53
+ const validateCredentials = (credentials) => {
54
+ if (typeof credentials !== 'boolean' && typeof credentials !== 'undefined') {
55
+ throw new Error('credentials');
56
+ }
57
+ };
58
+ const validateMaxAge = (maxAge) => {
59
+ if (typeof maxAge !== 'number' && typeof maxAge !== 'undefined') {
60
+ throw new Error('maxAge');
61
+ }
62
+ };
63
+ const validateCors = (cors) => {
64
+ const isCorsObject = (0, helpers_1.isPlainObject)(cors);
65
+ if (isCorsObject) {
66
+ try {
67
+ validateOrigin(cors.origin);
68
+ validateMethods(cors.methods);
69
+ validateHeaders(cors.headers);
70
+ validateCredentials(cors.credentials);
71
+ validateMaxAge(cors.maxAge);
72
+ }
73
+ catch (error) {
74
+ throw new Error(`cors.${error.message}`);
75
+ }
76
+ return;
77
+ }
78
+ if (typeof cors !== 'undefined') {
79
+ throw new Error('cors');
80
+ }
81
+ };
82
+ exports.validateCors = validateCors;
@@ -1 +1 @@
1
- export declare const validateGraphqlConfig: (graphqlConfig: unknown) => void;
1
+ export declare const validateGraphqlConfig: (graphqlConfig: unknown) => void;
@@ -1,48 +1,48 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateGraphqlConfig = void 0;
4
- const helpers_1 = require("../../../src/utils/helpers");
5
- const validateBaseUrl_1 = require("../validateBaseUrl/validateBaseUrl");
6
- const validateInterceptors_1 = require("../validateInterceptors/validateInterceptors");
7
- const validateRoutes_1 = require("./validateRoutes/validateRoutes");
8
- const validateConfigs = (configs) => {
9
- const isConfigsArray = Array.isArray(configs);
10
- if (isConfigsArray) {
11
- configs.forEach((config, index) => {
12
- const { operationType, operationName } = config;
13
- if (operationType !== 'query' && operationType !== 'mutation') {
14
- throw new Error(`configs[${index}].operationType`);
15
- }
16
- const isOperationNameStringOrRegExp = typeof operationName === 'string' || operationName instanceof RegExp;
17
- if (!isOperationNameStringOrRegExp) {
18
- throw new Error(`configs[${index}].operationName`);
19
- }
20
- try {
21
- (0, validateRoutes_1.validateRoutes)(config.routes, operationType);
22
- (0, validateInterceptors_1.validateInterceptors)(config.interceptors);
23
- }
24
- catch (error) {
25
- throw new Error(`configs[${index}].${error.message}`);
26
- }
27
- });
28
- return;
29
- }
30
- throw new Error('configs');
31
- };
32
- const validateGraphqlConfig = (graphqlConfig) => {
33
- const isGraphqlConfigObject = (0, helpers_1.isPlainObject)(graphqlConfig);
34
- if (isGraphqlConfigObject) {
35
- try {
36
- (0, validateBaseUrl_1.validateBaseUrl)(graphqlConfig.baseUrl);
37
- validateConfigs(graphqlConfig.configs);
38
- }
39
- catch (error) {
40
- throw new Error(`graphql.${error.message}`);
41
- }
42
- return;
43
- }
44
- if (typeof graphqlConfig !== 'undefined') {
45
- throw new Error('graphql');
46
- }
47
- };
48
- exports.validateGraphqlConfig = validateGraphqlConfig;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateGraphqlConfig = void 0;
4
+ const helpers_1 = require("../../../src/utils/helpers");
5
+ const validateBaseUrl_1 = require("../validateBaseUrl/validateBaseUrl");
6
+ const validateInterceptors_1 = require("../validateInterceptors/validateInterceptors");
7
+ const validateRoutes_1 = require("./validateRoutes/validateRoutes");
8
+ const validateConfigs = (configs) => {
9
+ const isConfigsArray = Array.isArray(configs);
10
+ if (isConfigsArray) {
11
+ configs.forEach((config, index) => {
12
+ const { operationType, operationName } = config;
13
+ if (operationType !== 'query' && operationType !== 'mutation') {
14
+ throw new Error(`configs[${index}].operationType`);
15
+ }
16
+ const isOperationNameStringOrRegExp = typeof operationName === 'string' || operationName instanceof RegExp;
17
+ if (!isOperationNameStringOrRegExp) {
18
+ throw new Error(`configs[${index}].operationName`);
19
+ }
20
+ try {
21
+ (0, validateRoutes_1.validateRoutes)(config.routes, operationType);
22
+ (0, validateInterceptors_1.validateInterceptors)(config.interceptors);
23
+ }
24
+ catch (error) {
25
+ throw new Error(`configs[${index}].${error.message}`);
26
+ }
27
+ });
28
+ return;
29
+ }
30
+ throw new Error('configs');
31
+ };
32
+ const validateGraphqlConfig = (graphqlConfig) => {
33
+ const isGraphqlConfigObject = (0, helpers_1.isPlainObject)(graphqlConfig);
34
+ if (isGraphqlConfigObject) {
35
+ try {
36
+ (0, validateBaseUrl_1.validateBaseUrl)(graphqlConfig.baseUrl);
37
+ validateConfigs(graphqlConfig.configs);
38
+ }
39
+ catch (error) {
40
+ throw new Error(`graphql.${error.message}`);
41
+ }
42
+ return;
43
+ }
44
+ if (typeof graphqlConfig !== 'undefined') {
45
+ throw new Error('graphql');
46
+ }
47
+ };
48
+ exports.validateGraphqlConfig = validateGraphqlConfig;
@@ -1,2 +1,2 @@
1
- import type { GraphQLOperationType } from '../../../../src';
2
- export declare const validateRoutes: (routes: unknown, operationType: GraphQLOperationType) => void;
1
+ import type { GraphQLOperationType } from '../../../../src/utils/types';
2
+ export declare const validateRoutes: (routes: unknown, operationType: GraphQLOperationType) => void;