@redocly/cli 0.0.0-snapshot.1744362365 → 0.0.0-snapshot.1744801622

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 (230) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/lib/__mocks__/@redocly/openapi-core.d.ts +99 -0
  4. package/lib/__mocks__/@redocly/openapi-core.js +84 -0
  5. package/lib/__mocks__/documents.d.ts +150 -0
  6. package/lib/__mocks__/documents.js +123 -0
  7. package/lib/__mocks__/fs.d.ts +8 -0
  8. package/lib/__mocks__/fs.js +9 -0
  9. package/lib/__mocks__/perf_hooks.d.ts +3 -0
  10. package/lib/__mocks__/perf_hooks.js +6 -0
  11. package/lib/__mocks__/redoc.d.ts +6 -0
  12. package/lib/__mocks__/redoc.js +5 -0
  13. package/lib/__tests__/commands/build-docs.test.d.ts +1 -0
  14. package/lib/__tests__/commands/build-docs.test.js +54 -0
  15. package/lib/__tests__/commands/bundle.test.d.ts +1 -0
  16. package/lib/__tests__/commands/bundle.test.js +235 -0
  17. package/lib/__tests__/commands/join.test.d.ts +1 -0
  18. package/lib/__tests__/commands/join.test.js +274 -0
  19. package/lib/__tests__/commands/lint.test.d.ts +1 -0
  20. package/lib/__tests__/commands/lint.test.js +149 -0
  21. package/lib/__tests__/commands/push-region.test.d.ts +1 -0
  22. package/lib/__tests__/commands/push-region.test.js +90 -0
  23. package/lib/__tests__/commands/push.test.d.ts +1 -0
  24. package/lib/__tests__/commands/push.test.js +496 -0
  25. package/lib/__tests__/fetch-with-timeout.test.d.ts +1 -0
  26. package/lib/__tests__/fetch-with-timeout.test.js +64 -0
  27. package/lib/__tests__/fixtures/config.d.ts +21 -0
  28. package/lib/__tests__/fixtures/config.js +24 -0
  29. package/lib/__tests__/spinner.test.d.ts +1 -0
  30. package/lib/__tests__/spinner.test.js +43 -0
  31. package/lib/__tests__/utils.test.d.ts +1 -0
  32. package/lib/__tests__/utils.test.js +651 -0
  33. package/lib/__tests__/wrapper.test.d.ts +1 -0
  34. package/lib/__tests__/wrapper.test.js +76 -0
  35. package/lib/auth/__tests__/device-flow.test.d.ts +1 -0
  36. package/lib/auth/__tests__/device-flow.test.js +62 -0
  37. package/lib/auth/__tests__/oauth-client.test.d.ts +1 -0
  38. package/lib/auth/__tests__/oauth-client.test.js +93 -0
  39. package/lib/auth/device-flow.d.ts +0 -1
  40. package/lib/auth/device-flow.js +17 -15
  41. package/lib/auth/oauth-client.d.ts +0 -1
  42. package/lib/auth/oauth-client.js +23 -21
  43. package/lib/commands/auth.d.ts +5 -3
  44. package/lib/commands/auth.js +44 -19
  45. package/lib/commands/build-docs/index.d.ts +2 -3
  46. package/lib/commands/build-docs/index.js +24 -24
  47. package/lib/commands/build-docs/types.d.ts +1 -2
  48. package/lib/commands/build-docs/types.js +2 -2
  49. package/lib/commands/build-docs/utils.d.ts +1 -2
  50. package/lib/commands/build-docs/utils.js +36 -33
  51. package/lib/commands/bundle.d.ts +3 -6
  52. package/lib/commands/bundle.js +32 -31
  53. package/lib/commands/eject.d.ts +2 -3
  54. package/lib/commands/eject.js +13 -11
  55. package/lib/commands/join.d.ts +2 -3
  56. package/lib/commands/join.js +72 -71
  57. package/lib/commands/lint.d.ts +5 -7
  58. package/lib/commands/lint.js +37 -33
  59. package/lib/commands/preview-docs/index.d.ts +12 -0
  60. package/lib/commands/preview-docs/index.js +127 -0
  61. package/lib/commands/preview-docs/preview-server/default.hbs +24 -0
  62. package/lib/commands/preview-docs/preview-server/hot.js +59 -0
  63. package/lib/commands/preview-docs/preview-server/oauth2-redirect.html +21 -0
  64. package/lib/commands/preview-docs/preview-server/preview-server.d.ts +5 -0
  65. package/lib/commands/preview-docs/preview-server/preview-server.js +113 -0
  66. package/lib/commands/preview-docs/preview-server/server.d.ts +22 -0
  67. package/lib/commands/preview-docs/preview-server/server.js +85 -0
  68. package/lib/commands/preview-project/constants.d.ts +1 -2
  69. package/lib/commands/preview-project/constants.js +6 -4
  70. package/lib/commands/preview-project/index.d.ts +2 -3
  71. package/lib/commands/preview-project/index.js +23 -21
  72. package/lib/commands/preview-project/types.d.ts +2 -3
  73. package/lib/commands/preview-project/types.js +2 -2
  74. package/lib/commands/push.d.ts +44 -0
  75. package/lib/commands/push.js +301 -0
  76. package/lib/commands/split/__tests__/index.test.d.ts +1 -0
  77. package/lib/commands/split/__tests__/index.test.js +91 -0
  78. package/lib/commands/split/index.d.ts +3 -4
  79. package/lib/commands/split/index.js +57 -53
  80. package/lib/commands/split/types.d.ts +2 -2
  81. package/lib/commands/split/types.js +13 -11
  82. package/lib/commands/stats.d.ts +2 -3
  83. package/lib/commands/stats.js +23 -21
  84. package/lib/commands/translations.d.ts +2 -3
  85. package/lib/commands/translations.js +13 -11
  86. package/lib/index.d.ts +1 -2
  87. package/lib/index.js +231 -64
  88. package/lib/otel.d.ts +1 -2
  89. package/lib/otel.js +20 -17
  90. package/lib/reunite/api/__tests__/api-keys.test.d.ts +1 -0
  91. package/lib/reunite/api/__tests__/api-keys.test.js +26 -0
  92. package/lib/reunite/api/__tests__/api.client.test.d.ts +1 -0
  93. package/lib/reunite/api/__tests__/api.client.test.js +337 -0
  94. package/lib/reunite/api/__tests__/domains.test.d.ts +1 -0
  95. package/lib/reunite/api/__tests__/domains.test.js +32 -0
  96. package/lib/reunite/api/api-client.d.ts +3 -4
  97. package/lib/reunite/api/api-client.js +20 -14
  98. package/lib/reunite/api/api-keys.d.ts +1 -2
  99. package/lib/reunite/api/api-keys.js +20 -4
  100. package/lib/reunite/api/domains.d.ts +2 -5
  101. package/lib/reunite/api/domains.js +15 -6
  102. package/lib/reunite/api/index.d.ts +3 -4
  103. package/lib/reunite/api/index.js +19 -4
  104. package/lib/reunite/api/types.d.ts +0 -1
  105. package/lib/reunite/api/types.js +2 -2
  106. package/lib/reunite/commands/__tests__/push-status.test.d.ts +1 -0
  107. package/lib/reunite/commands/__tests__/push-status.test.js +563 -0
  108. package/lib/reunite/commands/__tests__/push.test.d.ts +1 -0
  109. package/lib/reunite/commands/__tests__/push.test.js +315 -0
  110. package/lib/reunite/commands/__tests__/utils.test.d.ts +1 -0
  111. package/lib/reunite/commands/__tests__/utils.test.js +51 -0
  112. package/lib/reunite/commands/push-status.d.ts +5 -6
  113. package/lib/reunite/commands/push-status.js +37 -31
  114. package/lib/reunite/commands/push.d.ts +6 -6
  115. package/lib/reunite/commands/push.js +40 -31
  116. package/lib/reunite/commands/utils.d.ts +2 -3
  117. package/lib/reunite/commands/utils.js +12 -9
  118. package/lib/reunite/utils.d.ts +0 -1
  119. package/lib/reunite/utils.js +5 -2
  120. package/lib/types.d.ts +26 -15
  121. package/lib/types.js +5 -2
  122. package/lib/utils/__mocks__/miscellaneous.d.ts +43 -0
  123. package/lib/utils/__mocks__/miscellaneous.js +24 -0
  124. package/lib/utils/assert-node-version.d.ts +0 -1
  125. package/lib/utils/assert-node-version.js +10 -8
  126. package/lib/utils/fetch-with-timeout.d.ts +0 -1
  127. package/lib/utils/fetch-with-timeout.js +8 -6
  128. package/lib/utils/getCommandNameFromArgs.d.ts +0 -1
  129. package/lib/utils/getCommandNameFromArgs.js +4 -2
  130. package/lib/utils/js-utils.d.ts +0 -1
  131. package/lib/utils/js-utils.js +12 -8
  132. package/lib/utils/miscellaneous.d.ts +12 -4
  133. package/lib/utils/miscellaneous.js +168 -126
  134. package/lib/utils/platform.d.ts +0 -1
  135. package/lib/utils/platform.js +9 -5
  136. package/lib/utils/spinner.d.ts +0 -1
  137. package/lib/utils/spinner.js +10 -8
  138. package/lib/utils/update-version-notifier.d.ts +1 -1
  139. package/lib/utils/update-version-notifier.js +38 -35
  140. package/lib/wrapper.d.ts +3 -3
  141. package/lib/wrapper.js +20 -26
  142. package/package.json +16 -15
  143. package/lib/auth/device-flow.d.ts.map +0 -1
  144. package/lib/auth/device-flow.js.map +0 -1
  145. package/lib/auth/oauth-client.d.ts.map +0 -1
  146. package/lib/auth/oauth-client.js.map +0 -1
  147. package/lib/commands/auth.d.ts.map +0 -1
  148. package/lib/commands/auth.js.map +0 -1
  149. package/lib/commands/build-docs/index.d.ts.map +0 -1
  150. package/lib/commands/build-docs/index.js.map +0 -1
  151. package/lib/commands/build-docs/types.d.ts.map +0 -1
  152. package/lib/commands/build-docs/types.js.map +0 -1
  153. package/lib/commands/build-docs/utils.d.ts.map +0 -1
  154. package/lib/commands/build-docs/utils.js.map +0 -1
  155. package/lib/commands/bundle.d.ts.map +0 -1
  156. package/lib/commands/bundle.js.map +0 -1
  157. package/lib/commands/eject.d.ts.map +0 -1
  158. package/lib/commands/eject.js.map +0 -1
  159. package/lib/commands/join.d.ts.map +0 -1
  160. package/lib/commands/join.js.map +0 -1
  161. package/lib/commands/lint.d.ts.map +0 -1
  162. package/lib/commands/lint.js.map +0 -1
  163. package/lib/commands/preview-project/constants.d.ts.map +0 -1
  164. package/lib/commands/preview-project/constants.js.map +0 -1
  165. package/lib/commands/preview-project/index.d.ts.map +0 -1
  166. package/lib/commands/preview-project/index.js.map +0 -1
  167. package/lib/commands/preview-project/types.d.ts.map +0 -1
  168. package/lib/commands/preview-project/types.js.map +0 -1
  169. package/lib/commands/split/index.d.ts.map +0 -1
  170. package/lib/commands/split/index.js.map +0 -1
  171. package/lib/commands/split/types.d.ts.map +0 -1
  172. package/lib/commands/split/types.js.map +0 -1
  173. package/lib/commands/stats.d.ts.map +0 -1
  174. package/lib/commands/stats.js.map +0 -1
  175. package/lib/commands/translations.d.ts.map +0 -1
  176. package/lib/commands/translations.js.map +0 -1
  177. package/lib/index.d.ts.map +0 -1
  178. package/lib/index.js.map +0 -1
  179. package/lib/otel.d.ts.map +0 -1
  180. package/lib/otel.js.map +0 -1
  181. package/lib/reunite/api/api-client.d.ts.map +0 -1
  182. package/lib/reunite/api/api-client.js.map +0 -1
  183. package/lib/reunite/api/api-keys.d.ts.map +0 -1
  184. package/lib/reunite/api/api-keys.js.map +0 -1
  185. package/lib/reunite/api/domains.d.ts.map +0 -1
  186. package/lib/reunite/api/domains.js.map +0 -1
  187. package/lib/reunite/api/index.d.ts.map +0 -1
  188. package/lib/reunite/api/index.js.map +0 -1
  189. package/lib/reunite/api/types.d.ts.map +0 -1
  190. package/lib/reunite/api/types.js.map +0 -1
  191. package/lib/reunite/commands/push-status.d.ts.map +0 -1
  192. package/lib/reunite/commands/push-status.js.map +0 -1
  193. package/lib/reunite/commands/push.d.ts.map +0 -1
  194. package/lib/reunite/commands/push.js.map +0 -1
  195. package/lib/reunite/commands/utils.d.ts.map +0 -1
  196. package/lib/reunite/commands/utils.js.map +0 -1
  197. package/lib/reunite/utils.d.ts.map +0 -1
  198. package/lib/reunite/utils.js.map +0 -1
  199. package/lib/types.d.ts.map +0 -1
  200. package/lib/types.js.map +0 -1
  201. package/lib/utils/assert-node-version.d.ts.map +0 -1
  202. package/lib/utils/assert-node-version.js.map +0 -1
  203. package/lib/utils/error.d.ts +0 -4
  204. package/lib/utils/error.d.ts.map +0 -1
  205. package/lib/utils/error.js +0 -8
  206. package/lib/utils/error.js.map +0 -1
  207. package/lib/utils/fetch-with-timeout.d.ts.map +0 -1
  208. package/lib/utils/fetch-with-timeout.js.map +0 -1
  209. package/lib/utils/getCommandNameFromArgs.d.ts.map +0 -1
  210. package/lib/utils/getCommandNameFromArgs.js.map +0 -1
  211. package/lib/utils/js-utils.d.ts.map +0 -1
  212. package/lib/utils/js-utils.js.map +0 -1
  213. package/lib/utils/miscellaneous.d.ts.map +0 -1
  214. package/lib/utils/miscellaneous.js.map +0 -1
  215. package/lib/utils/package.d.ts +0 -2
  216. package/lib/utils/package.d.ts.map +0 -1
  217. package/lib/utils/package.js +0 -4
  218. package/lib/utils/package.js.map +0 -1
  219. package/lib/utils/platform.d.ts.map +0 -1
  220. package/lib/utils/platform.js.map +0 -1
  221. package/lib/utils/proxy-agent.d.ts +0 -3
  222. package/lib/utils/proxy-agent.d.ts.map +0 -1
  223. package/lib/utils/proxy-agent.js +0 -6
  224. package/lib/utils/proxy-agent.js.map +0 -1
  225. package/lib/utils/spinner.d.ts.map +0 -1
  226. package/lib/utils/spinner.js.map +0 -1
  227. package/lib/utils/update-version-notifier.d.ts.map +0 -1
  228. package/lib/utils/update-version-notifier.js.map +0 -1
  229. package/lib/wrapper.d.ts.map +0 -1
  230. package/lib/wrapper.js.map +0 -1
package/README.md CHANGED
@@ -16,7 +16,7 @@ Supports OpenAPI 3.1, 3.0 and OpenAPI 2.0 (legacy Swagger), AsyncAPI 3.0 and 2.6
16
16
  ### Node
17
17
 
18
18
  ```sh
19
- npx @redocly/cli@latest lint path-to-root-file.yaml
19
+ npx @redocly/cli@v1 lint path-to-root-file.yaml
20
20
  ```
21
21
 
22
22
  Alternatively, install it globally with `npm`:
package/bin/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import '../lib/index.js';
3
+ require('../lib/index');
@@ -0,0 +1,99 @@
1
+ import type { Document } from '@redocly/openapi-core';
2
+ export declare const __redoclyClient: {
3
+ isAuthorizedWithRedocly: jest.Mock<any, any>;
4
+ isAuthorizedWithRedoclyByRegion: jest.Mock<any, any>;
5
+ login: jest.Mock<any, any>;
6
+ registryApi: {
7
+ setAccessTokens: jest.Mock<any, any>;
8
+ authStatus: jest.Mock<any, any>;
9
+ prepareFileUpload: jest.Mock<any, any>;
10
+ pushApi: jest.Mock<any, any>;
11
+ };
12
+ };
13
+ export declare const RedoclyClient: jest.Mock<{
14
+ isAuthorizedWithRedocly: jest.Mock<any, any>;
15
+ isAuthorizedWithRedoclyByRegion: jest.Mock<any, any>;
16
+ login: jest.Mock<any, any>;
17
+ registryApi: {
18
+ setAccessTokens: jest.Mock<any, any>;
19
+ authStatus: jest.Mock<any, any>;
20
+ prepareFileUpload: jest.Mock<any, any>;
21
+ pushApi: jest.Mock<any, any>;
22
+ };
23
+ }, []>;
24
+ export declare const loadConfig: jest.Mock<{
25
+ configFile: null;
26
+ styleguide: {
27
+ addIgnore: jest.Mock<any, any>;
28
+ skipRules: jest.Mock<any, any>;
29
+ skipPreprocessors: jest.Mock<any, any>;
30
+ saveIgnore: jest.Mock<any, any>;
31
+ skipDecorators: jest.Mock<any, any>;
32
+ ignore: null;
33
+ decorators: {
34
+ oas2: {};
35
+ oas3_0: {};
36
+ oas3_1: {};
37
+ };
38
+ preprocessors: {
39
+ oas2: {};
40
+ oas3_0: {};
41
+ oas3_1: {};
42
+ };
43
+ };
44
+ }, []>;
45
+ export declare const getMergedConfig: jest.Mock<any, any>;
46
+ export declare const getProxyAgent: jest.Mock<any, any>;
47
+ export declare const lint: jest.Mock<any, any>;
48
+ export declare const bundle: jest.Mock<{
49
+ bundle: {
50
+ parsed: null;
51
+ };
52
+ problems: null;
53
+ }, []>;
54
+ export declare const getTotals: jest.Mock<{
55
+ errors: number;
56
+ }, []>;
57
+ export declare const formatProblems: jest.Mock<any, any>;
58
+ export declare const slash: jest.Mock<any, any>;
59
+ export declare const findConfig: jest.Mock<any, any>;
60
+ export declare const doesYamlFileExist: jest.Mock<any, any>;
61
+ export declare const bundleDocument: jest.Mock<Promise<{
62
+ problems: {};
63
+ }>, []>;
64
+ export declare const detectSpec: jest.Mock<any, any>;
65
+ export declare const isAbsoluteUrl: jest.Mock<any, any>;
66
+ export declare const stringifyYaml: jest.Mock<any, [data: any]>;
67
+ export declare class BaseResolver {
68
+ cache: Map<string, Promise<Document | ResolveError>>;
69
+ getFiles: jest.Mock<any, any>;
70
+ resolveExternalRef: jest.Mock<any, any>;
71
+ loadExternalRef: typeof jest.fn;
72
+ parseDocument: jest.Mock<any, any>;
73
+ resolveDocument: jest.Mock<any, any>;
74
+ }
75
+ export declare class ResolveError extends Error {
76
+ originalError: Error;
77
+ constructor(originalError: Error);
78
+ }
79
+ export declare class YamlParseError extends Error {
80
+ originalError: Error;
81
+ constructor(originalError: Error);
82
+ }
83
+ export declare enum SpecVersion {
84
+ OAS2 = "oas2",
85
+ OAS3_0 = "oas3_0",
86
+ OAS3_1 = "oas3_1",
87
+ Async2 = "async2",
88
+ Async3 = "async3"
89
+ }
90
+ export declare enum Oas3Operations {
91
+ get = "get",
92
+ put = "put",
93
+ post = "post",
94
+ delete = "delete",
95
+ options = "options",
96
+ head = "head",
97
+ patch = "patch",
98
+ trace = "trace"
99
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Oas3Operations = exports.SpecVersion = exports.YamlParseError = exports.ResolveError = exports.BaseResolver = exports.stringifyYaml = exports.isAbsoluteUrl = exports.detectSpec = exports.bundleDocument = exports.doesYamlFileExist = exports.findConfig = exports.slash = exports.formatProblems = exports.getTotals = exports.bundle = exports.lint = exports.getProxyAgent = exports.getMergedConfig = exports.loadConfig = exports.RedoclyClient = exports.__redoclyClient = void 0;
4
+ const config_1 = require("./../../__tests__/fixtures/config");
5
+ const documents_1 = require("../documents");
6
+ exports.__redoclyClient = {
7
+ isAuthorizedWithRedocly: jest.fn().mockResolvedValue(true),
8
+ isAuthorizedWithRedoclyByRegion: jest.fn().mockResolvedValue(true),
9
+ login: jest.fn(),
10
+ registryApi: {
11
+ setAccessTokens: jest.fn(),
12
+ authStatus: jest.fn(),
13
+ prepareFileUpload: jest.fn().mockResolvedValue({
14
+ signedUploadUrl: 'signedUploadUrl',
15
+ filePath: 'filePath',
16
+ }),
17
+ pushApi: jest.fn(),
18
+ },
19
+ };
20
+ exports.RedoclyClient = jest.fn(() => exports.__redoclyClient);
21
+ exports.loadConfig = jest.fn(() => config_1.ConfigFixture);
22
+ exports.getMergedConfig = jest.fn();
23
+ exports.getProxyAgent = jest.fn();
24
+ exports.lint = jest.fn();
25
+ exports.bundle = jest.fn(() => ({ bundle: { parsed: null }, problems: null }));
26
+ exports.getTotals = jest.fn(() => ({ errors: 0 }));
27
+ exports.formatProblems = jest.fn();
28
+ exports.slash = jest.fn();
29
+ exports.findConfig = jest.fn();
30
+ exports.doesYamlFileExist = jest.fn();
31
+ exports.bundleDocument = jest.fn(() => Promise.resolve({ problems: {} }));
32
+ exports.detectSpec = jest.fn();
33
+ exports.isAbsoluteUrl = jest.fn();
34
+ exports.stringifyYaml = jest.fn((data) => data);
35
+ class BaseResolver {
36
+ constructor() {
37
+ this.cache = new Map();
38
+ this.getFiles = jest.fn();
39
+ this.resolveExternalRef = jest.fn();
40
+ this.loadExternalRef = jest.fn;
41
+ this.parseDocument = jest.fn();
42
+ this.resolveDocument = jest
43
+ .fn()
44
+ .mockImplementationOnce(() => Promise.resolve({ source: { absoluteRef: 'ref' }, parsed: documents_1.firstDocument }))
45
+ .mockImplementationOnce(() => Promise.resolve({ source: { absoluteRef: 'ref' }, parsed: documents_1.secondDocument }))
46
+ .mockImplementationOnce(() => Promise.resolve({ source: { absoluteRef: 'ref' }, parsed: documents_1.thirdDocument }));
47
+ }
48
+ }
49
+ exports.BaseResolver = BaseResolver;
50
+ class ResolveError extends Error {
51
+ constructor(originalError) {
52
+ super(originalError.message);
53
+ this.originalError = originalError;
54
+ Object.setPrototypeOf(this, ResolveError.prototype);
55
+ }
56
+ }
57
+ exports.ResolveError = ResolveError;
58
+ class YamlParseError extends Error {
59
+ constructor(originalError) {
60
+ super(originalError.message);
61
+ this.originalError = originalError;
62
+ Object.setPrototypeOf(this, YamlParseError.prototype);
63
+ }
64
+ }
65
+ exports.YamlParseError = YamlParseError;
66
+ var SpecVersion;
67
+ (function (SpecVersion) {
68
+ SpecVersion["OAS2"] = "oas2";
69
+ SpecVersion["OAS3_0"] = "oas3_0";
70
+ SpecVersion["OAS3_1"] = "oas3_1";
71
+ SpecVersion["Async2"] = "async2";
72
+ SpecVersion["Async3"] = "async3";
73
+ })(SpecVersion || (exports.SpecVersion = SpecVersion = {}));
74
+ var Oas3Operations;
75
+ (function (Oas3Operations) {
76
+ Oas3Operations["get"] = "get";
77
+ Oas3Operations["put"] = "put";
78
+ Oas3Operations["post"] = "post";
79
+ Oas3Operations["delete"] = "delete";
80
+ Oas3Operations["options"] = "options";
81
+ Oas3Operations["head"] = "head";
82
+ Oas3Operations["patch"] = "patch";
83
+ Oas3Operations["trace"] = "trace";
84
+ })(Oas3Operations || (exports.Oas3Operations = Oas3Operations = {}));
@@ -0,0 +1,150 @@
1
+ export declare const firstDocument: {
2
+ openapi: string;
3
+ servers: {
4
+ url: string;
5
+ }[];
6
+ info: {
7
+ description: string;
8
+ version: string;
9
+ title: string;
10
+ termsOfService: string;
11
+ license: {
12
+ name: string;
13
+ url: string;
14
+ };
15
+ };
16
+ paths: {
17
+ '/GETUser/{userId}': {
18
+ summary: string;
19
+ description: string;
20
+ servers: ({
21
+ url: string;
22
+ description?: undefined;
23
+ } | {
24
+ url: string;
25
+ description: string;
26
+ })[];
27
+ get: {
28
+ tags: string[];
29
+ summary: string;
30
+ description: string;
31
+ operationId: string;
32
+ servers: {
33
+ url: string;
34
+ }[];
35
+ };
36
+ parameters: {
37
+ name: string;
38
+ in: string;
39
+ schema: {
40
+ description: string;
41
+ };
42
+ }[];
43
+ };
44
+ };
45
+ components: {};
46
+ };
47
+ export declare const secondDocument: {
48
+ openapi: string;
49
+ servers: {
50
+ url: string;
51
+ }[];
52
+ info: {
53
+ description: string;
54
+ version: string;
55
+ title: string;
56
+ termsOfService: string;
57
+ license: {
58
+ name: string;
59
+ url: string;
60
+ };
61
+ };
62
+ post: {
63
+ '/GETUser/{userId}': {
64
+ summary: string;
65
+ description: string;
66
+ servers: ({
67
+ url: string;
68
+ description?: undefined;
69
+ } | {
70
+ url: string;
71
+ description: string;
72
+ })[];
73
+ get: {
74
+ tags: string[];
75
+ summary: string;
76
+ description: string;
77
+ operationId: string;
78
+ servers: {
79
+ url: string;
80
+ }[];
81
+ };
82
+ parameters: {
83
+ name: string;
84
+ in: string;
85
+ schema: {
86
+ description: string;
87
+ };
88
+ }[];
89
+ };
90
+ };
91
+ components: {};
92
+ };
93
+ export declare const thirdDocument: {
94
+ openapi: string;
95
+ info: {
96
+ title: string;
97
+ version: string;
98
+ };
99
+ servers: {
100
+ url: string;
101
+ }[];
102
+ paths: {};
103
+ components: {
104
+ schemas: {
105
+ SchemaWithNull: {
106
+ type: string;
107
+ default: null;
108
+ nullable: boolean;
109
+ };
110
+ SchemaWithRef: {
111
+ type: string;
112
+ properties: {
113
+ schemaType: {
114
+ type: string;
115
+ enum: string[];
116
+ };
117
+ foo: {
118
+ $ref: string;
119
+ };
120
+ };
121
+ };
122
+ SchemaWithDiscriminator: {
123
+ discriminator: {
124
+ propertyName: string;
125
+ mapping: {
126
+ foo: string;
127
+ bar: string;
128
+ };
129
+ };
130
+ oneOf: ({
131
+ $ref: string;
132
+ type?: undefined;
133
+ properties?: undefined;
134
+ } | {
135
+ type: string;
136
+ properties: {
137
+ schemaType: {
138
+ type: string;
139
+ enum: string[];
140
+ };
141
+ bar: {
142
+ type: string;
143
+ };
144
+ };
145
+ $ref?: undefined;
146
+ })[];
147
+ };
148
+ };
149
+ };
150
+ };
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.thirdDocument = exports.secondDocument = exports.firstDocument = void 0;
4
+ exports.firstDocument = {
5
+ openapi: '3.0.0',
6
+ servers: [{ url: 'http://localhost:8080' }],
7
+ info: {
8
+ description: 'example test',
9
+ version: '1.0.0',
10
+ title: 'First API',
11
+ termsOfService: 'http://swagger.io/terms/',
12
+ license: {
13
+ name: 'Apache 2.0',
14
+ url: 'http://www.apache.org/licenses/LICENSE-2.0.html',
15
+ },
16
+ },
17
+ paths: {
18
+ '/GETUser/{userId}': {
19
+ summary: 'get user by id',
20
+ description: 'user info',
21
+ servers: [{ url: '/user' }, { url: '/pet', description: 'pet server' }],
22
+ get: {
23
+ tags: ['pet'],
24
+ summary: 'Find pet by ID',
25
+ description: 'Returns a single pet',
26
+ operationId: 'getPetById',
27
+ servers: [{ url: '/pet' }],
28
+ },
29
+ parameters: [{ name: 'param1', in: 'header', schema: { description: 'string' } }],
30
+ },
31
+ },
32
+ components: {},
33
+ };
34
+ exports.secondDocument = {
35
+ openapi: '3.0.0',
36
+ servers: [{ url: 'http://localhost:8080' }],
37
+ info: {
38
+ description: 'example test',
39
+ version: '1.0.0',
40
+ title: 'Second API',
41
+ termsOfService: 'http://swagger.io/terms/',
42
+ license: {
43
+ name: 'Apache 2.0',
44
+ url: 'http://www.apache.org/licenses/LICENSE-2.0.html',
45
+ },
46
+ },
47
+ post: {
48
+ '/GETUser/{userId}': {
49
+ summary: 'get user',
50
+ description: 'user information',
51
+ servers: [{ url: '/user' }, { url: '/pet', description: '' }],
52
+ get: {
53
+ tags: ['pet'],
54
+ summary: 'Find pet by ID',
55
+ description: 'Returns a single pet',
56
+ operationId: 'getPetById',
57
+ servers: [{ url: '/pet' }],
58
+ },
59
+ parameters: [{ name: 'param1', in: 'header', schema: { description: 'string' } }],
60
+ },
61
+ },
62
+ components: {},
63
+ };
64
+ exports.thirdDocument = {
65
+ openapi: '3.0.0',
66
+ info: {
67
+ title: 'Third API',
68
+ version: '1.0',
69
+ },
70
+ servers: [
71
+ {
72
+ url: 'https://api.server.test/v1',
73
+ },
74
+ ],
75
+ paths: {},
76
+ components: {
77
+ schemas: {
78
+ SchemaWithNull: {
79
+ type: 'string',
80
+ default: null,
81
+ nullable: true,
82
+ },
83
+ SchemaWithRef: {
84
+ type: 'object',
85
+ properties: {
86
+ schemaType: {
87
+ type: 'string',
88
+ enum: ['foo'],
89
+ },
90
+ foo: {
91
+ $ref: '#/components/schemas/SchemaWithNull',
92
+ },
93
+ },
94
+ },
95
+ SchemaWithDiscriminator: {
96
+ discriminator: {
97
+ propertyName: 'schemaType',
98
+ mapping: {
99
+ foo: '#/components/schemas/SchemaWithRef',
100
+ bar: '#/components/schemas/SchemaWithNull',
101
+ },
102
+ },
103
+ oneOf: [
104
+ {
105
+ $ref: '#/components/schemas/SchemaWithRef',
106
+ },
107
+ {
108
+ type: 'object',
109
+ properties: {
110
+ schemaType: {
111
+ type: 'string',
112
+ enum: ['bar'],
113
+ },
114
+ bar: {
115
+ type: 'string',
116
+ },
117
+ },
118
+ },
119
+ ],
120
+ },
121
+ },
122
+ },
123
+ };
@@ -0,0 +1,8 @@
1
+ export declare const existsSync: jest.Mock<any, any>;
2
+ export declare const readFileSync: jest.Mock<string, []>;
3
+ export declare const statSync: jest.Mock<{
4
+ size: number;
5
+ }, []>;
6
+ export declare const createReadStream: jest.Mock<any, any>;
7
+ export declare const writeFileSync: jest.Mock<any, any>;
8
+ export declare const mkdirSync: jest.Mock<any, any>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mkdirSync = exports.writeFileSync = exports.createReadStream = exports.statSync = exports.readFileSync = exports.existsSync = void 0;
4
+ exports.existsSync = jest.fn();
5
+ exports.readFileSync = jest.fn(() => '');
6
+ exports.statSync = jest.fn(() => ({ size: 0 }));
7
+ exports.createReadStream = jest.fn();
8
+ exports.writeFileSync = jest.fn();
9
+ exports.mkdirSync = jest.fn();
@@ -0,0 +1,3 @@
1
+ export declare const performance: {
2
+ now: jest.Mock<any, any>;
3
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.performance = void 0;
4
+ exports.performance = {
5
+ now: jest.fn(),
6
+ };
@@ -0,0 +1,6 @@
1
+ export declare const loadAndBundleSpec: jest.Mock<Promise<{
2
+ openapi: string;
3
+ }>, []>;
4
+ export declare const createStore: jest.Mock<Promise<{
5
+ toJS: jest.Mock<string, []>;
6
+ }>, []>;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createStore = exports.loadAndBundleSpec = void 0;
4
+ exports.loadAndBundleSpec = jest.fn(() => Promise.resolve({ openapi: '3.0.0' }));
5
+ exports.createStore = jest.fn(() => Promise.resolve({ toJS: jest.fn(() => '{}') }));
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const redoc_1 = require("redoc");
4
+ const server_1 = require("react-dom/server");
5
+ const build_docs_1 = require("../../commands/build-docs");
6
+ const utils_1 = require("../../commands/build-docs/utils");
7
+ const miscellaneous_1 = require("../../utils/miscellaneous");
8
+ jest.mock('redoc');
9
+ jest.mock('fs');
10
+ jest.mock('../../utils/miscellaneous');
11
+ const config = {
12
+ output: '',
13
+ title: 'Test',
14
+ disableGoogleFont: false,
15
+ templateFileName: '',
16
+ templateOptions: {},
17
+ redocOptions: {},
18
+ };
19
+ jest.mock('react-dom/server', () => ({
20
+ renderToString: jest.fn(),
21
+ }));
22
+ jest.mock('handlebars', () => ({
23
+ compile: jest.fn(() => jest.fn(() => '<html></html>')),
24
+ }));
25
+ describe('build-docs', () => {
26
+ it('should return correct html and call function for ssr', async () => {
27
+ const result = await (0, utils_1.getPageHTML)({}, '../some-path/openapi.yaml', {
28
+ ...config,
29
+ redocCurrentVersion: '2.0.0',
30
+ });
31
+ expect(server_1.renderToString).toBeCalledTimes(1);
32
+ expect(redoc_1.createStore).toBeCalledTimes(1);
33
+ expect(result).toBe('<html></html>');
34
+ });
35
+ it('should work correctly when calling handlerBuildCommand', async () => {
36
+ const processExitMock = jest.spyOn(process, 'exit').mockImplementation();
37
+ await (0, build_docs_1.handlerBuildCommand)({
38
+ argv: {
39
+ o: '',
40
+ title: 'test',
41
+ disableGoogleFont: false,
42
+ template: '',
43
+ templateOptions: {},
44
+ theme: { openapi: {} },
45
+ api: '../some-path/openapi.yaml',
46
+ },
47
+ config: {},
48
+ version: 'cli-version',
49
+ });
50
+ expect(redoc_1.loadAndBundleSpec).toBeCalledTimes(1);
51
+ expect(miscellaneous_1.getFallbackApisOrExit).toBeCalledTimes(1);
52
+ expect(processExitMock).toBeCalledTimes(0);
53
+ });
54
+ });
@@ -0,0 +1 @@
1
+ export {};