@camunda8/docusaurus-plugin-openapi-docs 4.5.1

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 (170) hide show
  1. package/README.md +386 -0
  2. package/lib/index.d.ts +9 -0
  3. package/lib/index.js +714 -0
  4. package/lib/markdown/createArrayBracket.d.ts +2 -0
  5. package/lib/markdown/createArrayBracket.js +36 -0
  6. package/lib/markdown/createAuthentication.d.ts +2 -0
  7. package/lib/markdown/createAuthentication.js +173 -0
  8. package/lib/markdown/createAuthorization.d.ts +1 -0
  9. package/lib/markdown/createAuthorization.js +15 -0
  10. package/lib/markdown/createCallbackMethodEndpoint.d.ts +1 -0
  11. package/lib/markdown/createCallbackMethodEndpoint.js +20 -0
  12. package/lib/markdown/createCallbacks.d.ts +6 -0
  13. package/lib/markdown/createCallbacks.js +77 -0
  14. package/lib/markdown/createContactInfo.d.ts +2 -0
  15. package/lib/markdown/createContactInfo.js +39 -0
  16. package/lib/markdown/createDeprecationNotice.d.ts +6 -0
  17. package/lib/markdown/createDeprecationNotice.js +20 -0
  18. package/lib/markdown/createDescription.d.ts +1 -0
  19. package/lib/markdown/createDescription.js +13 -0
  20. package/lib/markdown/createDetails.d.ts +2 -0
  21. package/lib/markdown/createDetails.js +17 -0
  22. package/lib/markdown/createDetailsSummary.d.ts +2 -0
  23. package/lib/markdown/createDetailsSummary.js +17 -0
  24. package/lib/markdown/createDownload.d.ts +1 -0
  25. package/lib/markdown/createDownload.js +16 -0
  26. package/lib/markdown/createHeading.d.ts +1 -0
  27. package/lib/markdown/createHeading.js +20 -0
  28. package/lib/markdown/createLicense.d.ts +2 -0
  29. package/lib/markdown/createLicense.js +32 -0
  30. package/lib/markdown/createLogo.d.ts +2 -0
  31. package/lib/markdown/createLogo.js +18 -0
  32. package/lib/markdown/createMethodEndpoint.d.ts +1 -0
  33. package/lib/markdown/createMethodEndpoint.js +20 -0
  34. package/lib/markdown/createParamsDetails.d.ts +6 -0
  35. package/lib/markdown/createParamsDetails.js +18 -0
  36. package/lib/markdown/createRequestBodyDetails.d.ts +13 -0
  37. package/lib/markdown/createRequestBodyDetails.js +13 -0
  38. package/lib/markdown/createRequestHeader.d.ts +1 -0
  39. package/lib/markdown/createRequestHeader.js +23 -0
  40. package/lib/markdown/createRequestSchema.d.ts +14 -0
  41. package/lib/markdown/createRequestSchema.js +20 -0
  42. package/lib/markdown/createResponseSchema.d.ts +14 -0
  43. package/lib/markdown/createResponseSchema.js +20 -0
  44. package/lib/markdown/createSchema.d.ts +9 -0
  45. package/lib/markdown/createSchema.js +668 -0
  46. package/lib/markdown/createSchema.test.d.ts +1 -0
  47. package/lib/markdown/createSchema.test.js +913 -0
  48. package/lib/markdown/createStatusCodes.d.ts +9 -0
  49. package/lib/markdown/createStatusCodes.js +63 -0
  50. package/lib/markdown/createTermsOfService.d.ts +1 -0
  51. package/lib/markdown/createTermsOfService.js +31 -0
  52. package/lib/markdown/createVendorExtensions.d.ts +1 -0
  53. package/lib/markdown/createVendorExtensions.js +24 -0
  54. package/lib/markdown/createVersionBadge.d.ts +1 -0
  55. package/lib/markdown/createVersionBadge.js +19 -0
  56. package/lib/markdown/index.d.ts +5 -0
  57. package/lib/markdown/index.js +93 -0
  58. package/lib/markdown/schema.d.ts +3 -0
  59. package/lib/markdown/schema.js +157 -0
  60. package/lib/markdown/schema.test.d.ts +1 -0
  61. package/lib/markdown/schema.test.js +181 -0
  62. package/lib/markdown/utils.d.ts +20 -0
  63. package/lib/markdown/utils.js +68 -0
  64. package/lib/openapi/createRequestExample.d.ts +2 -0
  65. package/lib/openapi/createRequestExample.js +14 -0
  66. package/lib/openapi/createResponseExample.d.ts +2 -0
  67. package/lib/openapi/createResponseExample.js +14 -0
  68. package/lib/openapi/createSchemaExample.d.ts +7 -0
  69. package/lib/openapi/createSchemaExample.js +231 -0
  70. package/lib/openapi/index.d.ts +1 -0
  71. package/lib/openapi/index.js +12 -0
  72. package/lib/openapi/openapi.d.ts +12 -0
  73. package/lib/openapi/openapi.js +634 -0
  74. package/lib/openapi/openapi.test.d.ts +1 -0
  75. package/lib/openapi/openapi.test.js +33 -0
  76. package/lib/openapi/sdkExamples.d.ts +39 -0
  77. package/lib/openapi/sdkExamples.js +141 -0
  78. package/lib/openapi/types.d.ts +352 -0
  79. package/lib/openapi/types.js +8 -0
  80. package/lib/openapi/utils/loadAndResolveSpec.d.ts +2 -0
  81. package/lib/openapi/utils/loadAndResolveSpec.js +153 -0
  82. package/lib/openapi/utils/services/OpenAPIParser.d.ts +52 -0
  83. package/lib/openapi/utils/services/OpenAPIParser.js +343 -0
  84. package/lib/openapi/utils/services/RedocNormalizedOptions.d.ts +100 -0
  85. package/lib/openapi/utils/services/RedocNormalizedOptions.js +170 -0
  86. package/lib/openapi/utils/types/index.d.ts +2 -0
  87. package/lib/openapi/utils/types/index.js +23 -0
  88. package/lib/openapi/utils/types/open-api.d.ts +305 -0
  89. package/lib/openapi/utils/types/open-api.js +8 -0
  90. package/lib/openapi/utils/types.d.ts +307 -0
  91. package/lib/openapi/utils/types.js +8 -0
  92. package/lib/openapi/utils/utils/JsonPointer.d.ts +51 -0
  93. package/lib/openapi/utils/utils/JsonPointer.js +95 -0
  94. package/lib/openapi/utils/utils/helpers.d.ts +43 -0
  95. package/lib/openapi/utils/utils/helpers.js +230 -0
  96. package/lib/openapi/utils/utils/index.d.ts +3 -0
  97. package/lib/openapi/utils/utils/index.js +25 -0
  98. package/lib/openapi/utils/utils/openapi.d.ts +40 -0
  99. package/lib/openapi/utils/utils/openapi.js +605 -0
  100. package/lib/openapi/webhooks.test.d.ts +1 -0
  101. package/lib/openapi/webhooks.test.js +23 -0
  102. package/lib/options.d.ts +2 -0
  103. package/lib/options.js +70 -0
  104. package/lib/sidebars/index.d.ts +4 -0
  105. package/lib/sidebars/index.js +226 -0
  106. package/lib/sidebars/utils.d.ts +2 -0
  107. package/lib/sidebars/utils.js +30 -0
  108. package/lib/types.d.ts +138 -0
  109. package/lib/types.js +8 -0
  110. package/package.json +68 -0
  111. package/src/index.ts +955 -0
  112. package/src/markdown/__snapshots__/createSchema.test.ts.snap +1605 -0
  113. package/src/markdown/createArrayBracket.ts +35 -0
  114. package/src/markdown/createAuthentication.ts +209 -0
  115. package/src/markdown/createAuthorization.ts +13 -0
  116. package/src/markdown/createCallbackMethodEndpoint.ts +19 -0
  117. package/src/markdown/createCallbacks.ts +101 -0
  118. package/src/markdown/createContactInfo.ts +41 -0
  119. package/src/markdown/createDeprecationNotice.ts +31 -0
  120. package/src/markdown/createDescription.ts +12 -0
  121. package/src/markdown/createDetails.ts +16 -0
  122. package/src/markdown/createDetailsSummary.ts +16 -0
  123. package/src/markdown/createDownload.ts +15 -0
  124. package/src/markdown/createHeading.ts +23 -0
  125. package/src/markdown/createLicense.ts +34 -0
  126. package/src/markdown/createLogo.ts +21 -0
  127. package/src/markdown/createMethodEndpoint.ts +19 -0
  128. package/src/markdown/createParamsDetails.ts +22 -0
  129. package/src/markdown/createRequestBodyDetails.ts +24 -0
  130. package/src/markdown/createRequestHeader.ts +22 -0
  131. package/src/markdown/createRequestSchema.ts +32 -0
  132. package/src/markdown/createResponseSchema.ts +32 -0
  133. package/src/markdown/createSchema.test.ts +1075 -0
  134. package/src/markdown/createSchema.ts +864 -0
  135. package/src/markdown/createStatusCodes.ts +63 -0
  136. package/src/markdown/createTermsOfService.ts +30 -0
  137. package/src/markdown/createVendorExtensions.ts +22 -0
  138. package/src/markdown/createVersionBadge.ts +22 -0
  139. package/src/markdown/index.ts +145 -0
  140. package/src/markdown/schema.test.ts +208 -0
  141. package/src/markdown/schema.ts +188 -0
  142. package/src/markdown/utils.ts +89 -0
  143. package/src/openapi/__fixtures__/examples/openapi.yaml +49 -0
  144. package/src/openapi/__fixtures__/webhook/openapi.yaml +17 -0
  145. package/src/openapi/createRequestExample.ts +13 -0
  146. package/src/openapi/createResponseExample.ts +13 -0
  147. package/src/openapi/createSchemaExample.ts +292 -0
  148. package/src/openapi/index.ts +8 -0
  149. package/src/openapi/openapi.test.ts +40 -0
  150. package/src/openapi/openapi.ts +772 -0
  151. package/src/openapi/sdkExamples.ts +195 -0
  152. package/src/openapi/types.ts +458 -0
  153. package/src/openapi/utils/loadAndResolveSpec.ts +171 -0
  154. package/src/openapi/utils/services/OpenAPIParser.ts +434 -0
  155. package/src/openapi/utils/services/RedocNormalizedOptions.ts +330 -0
  156. package/src/openapi/utils/types/index.ts +10 -0
  157. package/src/openapi/utils/types/open-api.ts +303 -0
  158. package/src/openapi/utils/types.ts +304 -0
  159. package/src/openapi/utils/utils/JsonPointer.ts +99 -0
  160. package/src/openapi/utils/utils/helpers.ts +239 -0
  161. package/src/openapi/utils/utils/index.ts +11 -0
  162. package/src/openapi/utils/utils/openapi.ts +771 -0
  163. package/src/openapi/webhooks.test.ts +30 -0
  164. package/src/openapi-to-postmanv2.d.ts +10 -0
  165. package/src/options.ts +78 -0
  166. package/src/plugin-openapi.d.ts +88 -0
  167. package/src/sidebars/index.ts +322 -0
  168. package/src/sidebars/utils.ts +29 -0
  169. package/src/types.ts +180 -0
  170. package/tsconfig.json +7 -0
package/src/types.ts ADDED
@@ -0,0 +1,180 @@
1
+ /* ============================================================================
2
+ * Copyright (c) Palo Alto Networks
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ * ========================================================================== */
7
+
8
+ import type { SidebarItemDoc } from "@docusaurus/plugin-content-docs/lib/sidebars/types";
9
+ import Request from "postman-collection";
10
+
11
+ import { SdkExampleSource } from "./openapi/sdkExamples";
12
+ import {
13
+ InfoObject,
14
+ OperationObject,
15
+ SchemaObject,
16
+ SecuritySchemeObject,
17
+ TagObject,
18
+ } from "./openapi/types";
19
+
20
+ export type {
21
+ PropSidebarItemCategory,
22
+ SidebarItemLink,
23
+ PropSidebar,
24
+ PropSidebarItem,
25
+ } from "@docusaurus/plugin-content-docs/lib/sidebars/types";
26
+ export interface PluginOptions {
27
+ id?: string;
28
+ docsPlugin?: string;
29
+ docsPluginId: string;
30
+ config: {
31
+ [key: string]: APIOptions;
32
+ };
33
+ }
34
+
35
+ export interface APIOptions {
36
+ specPath: string;
37
+ outputDir: string;
38
+ template?: string;
39
+ infoTemplate?: string;
40
+ tagTemplate?: string;
41
+ schemaTemplate?: string;
42
+ downloadUrl?: string;
43
+ hideSendButton?: boolean;
44
+ showExtensions?: boolean;
45
+ sidebarOptions?: SidebarOptions;
46
+ version?: string;
47
+ label?: string;
48
+ baseUrl?: string;
49
+ versions?: {
50
+ [key: string]: APIVersionOptions;
51
+ };
52
+ proxy?: string;
53
+ markdownGenerators?: MarkdownGenerator;
54
+ showSchemas?: boolean;
55
+ disableCompression?: boolean;
56
+ maskCredentials?: boolean;
57
+ sdkExamples?: SdkExampleSource[];
58
+ }
59
+
60
+ export interface MarkdownGenerator {
61
+ createApiPageMD?: (pageData: ApiPageMetadata) => string;
62
+ createInfoPageMD?: (pageData: InfoPageMetadata) => string;
63
+ createTagPageMD?: (pageData: TagPageMetadata) => string;
64
+ createSchemaPageMD?: (pageData: SchemaPageMetadata) => string;
65
+ }
66
+
67
+ export type ApiDocItemGenerator = (
68
+ item: ApiPageMetadata | SchemaPageMetadata,
69
+ context: { sidebarOptions: SidebarOptions; basePath: string }
70
+ ) => SidebarItemDoc;
71
+
72
+ export interface SidebarGenerators {
73
+ createDocItem?: ApiDocItemGenerator;
74
+ }
75
+
76
+ export interface SidebarOptions {
77
+ groupPathsBy?: string;
78
+ categoryLinkSource?: "info" | "tag" | "auto";
79
+ customProps?: { [key: string]: unknown };
80
+ sidebarCollapsible?: boolean;
81
+ sidebarCollapsed?: boolean;
82
+ sidebarGenerators?: SidebarGenerators;
83
+ }
84
+
85
+ export interface APIVersionOptions {
86
+ specPath: string;
87
+ outputDir: string;
88
+ label: string;
89
+ baseUrl: string;
90
+ downloadUrl?: string;
91
+ }
92
+
93
+ export interface LoadedContent {
94
+ loadedApi: ApiMetadata[];
95
+ // loadedDocs: DocPageMetadata[]; TODO: cleanup
96
+ }
97
+
98
+ export type ApiMetadata =
99
+ | ApiPageMetadata
100
+ | InfoPageMetadata
101
+ | TagPageMetadata
102
+ | SchemaPageMetadata;
103
+
104
+ export interface ApiMetadataBase {
105
+ sidebar?: string;
106
+ previous?: ApiNavLink;
107
+ next?: ApiNavLink;
108
+ //
109
+ id: string; // TODO legacy versioned id => try to remove
110
+ unversionedId: string; // TODO new unversioned id => try to rename to "id"
111
+ infoId?: string;
112
+ infoPath?: string;
113
+ downloadUrl?: string;
114
+ title: string;
115
+ description: string;
116
+ source: string; // @site aliased source => "@site/docs/folder/subFolder/subSubFolder/myDoc.md"
117
+ sourceDirName: string; // relative to the versioned docs folder (can be ".") => "folder/subFolder/subSubFolder"
118
+ slug?: string;
119
+ permalink: string;
120
+ sidebarPosition?: number;
121
+ frontMatter: Record<string, unknown>;
122
+ method?: string;
123
+ path?: string;
124
+ position?: number;
125
+ }
126
+
127
+ export interface ApiPageMetadata extends ApiMetadataBase {
128
+ json?: string;
129
+ type: "api";
130
+ api: ApiItem;
131
+ markdown?: string;
132
+ }
133
+
134
+ export interface ApiItem extends OperationObject {
135
+ method: string; // get, post, put, etc...
136
+ path: string; // The endpoint path => "/api/getPets"
137
+ jsonRequestBodyExample: string;
138
+ securitySchemes?: {
139
+ [key: string]: SecuritySchemeObject;
140
+ };
141
+ postman?: Request;
142
+ proxy?: string;
143
+ info: InfoObject;
144
+ extensions?: object;
145
+ }
146
+
147
+ export interface InfoPageMetadata extends ApiMetadataBase {
148
+ type: "info";
149
+ info: ApiInfo;
150
+ markdown?: string;
151
+ securitySchemes?: {
152
+ [key: string]: SecuritySchemeObject;
153
+ };
154
+ }
155
+
156
+ export interface TagPageMetadata extends ApiMetadataBase {
157
+ type: "tag";
158
+ tag: TagObject;
159
+ markdown?: string;
160
+ }
161
+
162
+ export interface SchemaPageMetadata extends ApiMetadataBase {
163
+ type: "schema";
164
+ schema: SchemaObject;
165
+ markdown?: string;
166
+ }
167
+
168
+ export interface TagGroupPageMetadata extends ApiMetadataBase {
169
+ type: "tagGroup";
170
+ name: string;
171
+ tags: TagObject[];
172
+ markdown?: string;
173
+ }
174
+
175
+ export type ApiInfo = InfoObject;
176
+
177
+ export interface ApiNavLink {
178
+ title: string;
179
+ permalink: string;
180
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "lib"
5
+ },
6
+ "include": ["src"]
7
+ }