@visulima/jsdoc-open-api 1.3.9 → 1.3.11

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commander/command/init-command.ts","../../../src/cli/commander/command/generate-command.ts"],"names":["exit","initCommand","program","commandName","description","configName","init_command_default","error","generateCommand","paths","options","generate_command_default"],"mappings":"qFAEA,OAAS,QAAAA,MAAY,UAIrB,IAAMC,EAAc,CAChBC,EACAC,EAAsB,OACtBC,EAAsB,+DACtBC,EAAqB,kBACd,CACPH,EACK,QAAQC,CAAW,EACnB,YAAYC,CAAW,EACvB,OAAO,IAAM,CACV,GAAI,CACAE,EAAgBD,CAAU,CAC9B,OAASE,EAAP,CAEE,QAAQ,MAAMA,CAAK,EACnBP,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOM,EAAQL,ECxBf,OAAS,QAAAD,MAAY,UAIrB,IAAMQ,EAAkB,CAACN,EAAkBC,EAAsB,WAAYE,EAAqB,kBAA0B,CACxHH,EACK,QAAQC,CAAW,EACnB,YAAY,wDAAwD,EACpE,MAAM,sBAAsB,EAC5B,SAAS,aAAc,wCAAwC,EAC/D,OAAO,+BAAgC,4CAA4C,EACnF,OAAO,kCAAmC,+BAA+B,EACzE,OAAO,gBAAiB,iBAAiB,EACzC,OAAO,sBAAuB,sBAAsB,EAEpD,OAAO,MAAOM,EAAOC,IAAY,CAC9B,GAAI,CACA,MAAMC,EAAoBN,EAAYI,EAAOC,CAAO,CACxD,OAASH,EAAP,CAEE,QAAQ,MAAMA,CAAK,EACnBP,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOW,EAAQH","sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nimport type { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseInitCommand from \"../../command/init-command\";\n\nconst initCommand = (\n program: Command,\n commandName: string = \"init\",\n description: string = \"Inits a pre-configured @visulima/jsdoc-open-api config file.\",\n configName: string = \".openapirc.js\",\n): void => {\n program\n .command(commandName)\n .description(description)\n .action(() => {\n try {\n baseInitCommand(configName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default initCommand;\n","// eslint-disable-next-line import/no-extraneous-dependencies\nimport type { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseGenerateCommand from \"../../command/generate-command\";\n\nconst generateCommand = (program: Command, commandName: string = \"generate\", configName: string = \".openapirc.js\"): void => {\n program\n .command(commandName)\n .description(\"Generates OpenAPI (Swagger) documentation from JSDoc's\")\n .usage(\"[options] <path ...>\")\n .argument(\"[path ...]\", \"Paths to files or directories to parse\")\n .option(\"-c, --config [.openapirc.js]\", \"@visulima/jsdoc-open-api config file path.\")\n .option(\"-o, --output [swaggerSpec.json]\", \"Output swagger specification.\")\n .option(\"-v, --verbose\", \"Verbose output.\")\n .option(\"-vv, --very-verbose\", \"Very verbose output.\")\n // eslint-disable-next-line sonarjs/cognitive-complexity\n .action(async (paths, options) => {\n try {\n await baseGenerateCommand(configName, paths, options);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default generateCommand;\n"]}
1
+ {"version":3,"sources":["../../../src/cli/commander/command/generate-command.ts","../../../src/cli/commander/command/init-command.ts"],"names":["exit","generateCommand","program","commandName","configName","paths","options","generate_command_default","error","initCommand","description","init_command_default"],"mappings":"qFACA,OAAS,QAAAA,MAAY,UAIrB,IAAMC,EAAkB,CAACC,EAAkBC,EAAc,WAAYC,EAAa,kBAA0B,CACxGF,EACK,QAAQC,CAAW,EACnB,YAAY,wDAAwD,EACpE,MAAM,sBAAsB,EAC5B,SAAS,aAAc,wCAAwC,EAC/D,OAAO,+BAAgC,4CAA4C,EACnF,OAAO,kCAAmC,+BAA+B,EACzE,OAAO,gBAAiB,iBAAiB,EACzC,OAAO,sBAAuB,sBAAsB,EAEpD,OAAO,MAAOE,EAAOC,IAAY,CAC9B,GAAI,CACA,MAAMC,EAAoBH,EAAYC,EAAOC,CAAO,CACxD,OAASE,EAAO,CACZ,QAAQ,MAAMA,CAAK,EACnBR,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOO,EAAQN,ECzBf,OAAS,QAAAD,MAAY,UAIrB,IAAMS,EAAc,CAChBP,EACAC,EAAc,OACdO,EAAc,+DACdN,EAAa,kBACN,CACPF,EACK,QAAQC,CAAW,EACnB,YAAYO,CAAW,EACvB,OAAO,IAAM,CACV,GAAI,CACAC,EAAgBP,CAAU,CAC9B,OAASI,EAAO,CACZ,QAAQ,MAAMA,CAAK,EACnBR,EAAK,CAAC,CACV,CACJ,CAAC,CACT,EAEOW,EAAQF","sourcesContent":["import type { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseGenerateCommand from \"../../command/generate-command\";\n\nconst generateCommand = (program: Command, commandName = \"generate\", configName = \".openapirc.js\"): void => {\n program\n .command(commandName)\n .description(\"Generates OpenAPI (Swagger) documentation from JSDoc's\")\n .usage(\"[options] <path ...>\")\n .argument(\"[path ...]\", \"Paths to files or directories to parse\")\n .option(\"-c, --config [.openapirc.js]\", \"@visulima/jsdoc-open-api config file path.\")\n .option(\"-o, --output [swaggerSpec.json]\", \"Output swagger specification.\")\n .option(\"-v, --verbose\", \"Verbose output.\")\n .option(\"-vv, --very-verbose\", \"Very verbose output.\")\n\n .action(async (paths, options) => {\n try {\n await baseGenerateCommand(configName, paths, options);\n } catch (error) {\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default generateCommand;\n","import type { Command } from \"commander\";\nimport { exit } from \"node:process\";\n\nimport baseInitCommand from \"../../command/init-command\";\n\nconst initCommand = (\n program: Command,\n commandName = \"init\",\n description = \"Inits a pre-configured @visulima/jsdoc-open-api config file.\",\n configName = \".openapirc.js\",\n): void => {\n program\n .command(commandName)\n .description(description)\n .action(() => {\n try {\n baseInitCommand(configName);\n } catch (error) {\n console.error(error);\n exit(1);\n }\n });\n};\n\nexport default initCommand;\n"]}
@@ -0,0 +1,10 @@
1
+ declare const generateCommand: (configName: string, paths: string[], options: {
2
+ config?: string;
3
+ output?: string;
4
+ verbose?: boolean;
5
+ veryVerbose?: boolean;
6
+ }) => Promise<void>;
7
+
8
+ declare const initCommand: (configName: string, packageJsonPath?: string) => void;
9
+
10
+ export { generateCommand, initCommand };
@@ -1,5 +1,3 @@
1
- declare const initCommand: (configName: string, packageJsonPath?: string) => void;
2
-
3
1
  declare const generateCommand: (configName: string, paths: string[], options: {
4
2
  config?: string;
5
3
  output?: string;
@@ -7,4 +5,6 @@ declare const generateCommand: (configName: string, paths: string[], options: {
7
5
  veryVerbose?: boolean;
8
6
  }) => Promise<void>;
9
7
 
8
+ declare const initCommand: (configName: string, packageJsonPath?: string) => void;
9
+
10
10
  export { generateCommand, initCommand };
package/dist/cli/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var chunkTDDRTX7G_js = require('../chunk-TDDRTX7G.js');
4
- require('../chunk-I7ZHNMGN.js');
3
+ var chunkLJ3K3FMO_js = require('../chunk-LJ3K3FMO.js');
4
+ require('../chunk-D7VYGB4A.js');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, 'generateCommand', {
9
9
  enumerable: true,
10
- get: function () { return chunkTDDRTX7G_js.b; }
10
+ get: function () { return chunkLJ3K3FMO_js.a; }
11
11
  });
12
12
  Object.defineProperty(exports, 'initCommand', {
13
13
  enumerable: true,
14
- get: function () { return chunkTDDRTX7G_js.a; }
14
+ get: function () { return chunkLJ3K3FMO_js.b; }
15
15
  });
16
16
  //# sourceMappingURL=out.js.map
17
17
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { b as generateCommand, a as initCommand } from '../chunk-KUMMB3O5.mjs';
2
- import '../chunk-SMHWGAPA.mjs';
1
+ export { a as generateCommand, b as initCommand } from '../chunk-NLSOZGMI.mjs';
2
+ import '../chunk-WHYPHVY6.mjs';
3
3
  //# sourceMappingURL=out.js.map
4
4
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,291 @@
1
+ import { Compiler } from 'webpack';
2
+
3
+ interface BaseDefinition {
4
+ components?: ComponentsObject;
5
+ externalDocs?: ExternalDocumentationObject;
6
+ info: InfoObject;
7
+ openapi: string;
8
+ paths?: PathsObject;
9
+ security?: SecurityRequirementObject[];
10
+ servers?: ServerObject[];
11
+ tags?: TagObject[];
12
+ }
13
+
14
+ interface OpenApiObject extends BaseDefinition {
15
+ paths?: PathsObject;
16
+ }
17
+
18
+ interface InfoObject {
19
+ contact?: ContactObject;
20
+ description?: string;
21
+ license?: LicenseObject;
22
+ termsOfService?: string;
23
+ title: string;
24
+ version: string;
25
+ }
26
+
27
+ interface ContactObject {
28
+ email?: string;
29
+ name?: string;
30
+ url?: string;
31
+ }
32
+
33
+ interface LicenseObject {
34
+ name: string;
35
+ url?: string;
36
+ }
37
+
38
+ interface ServerObject {
39
+ description?: string;
40
+ url: string;
41
+ variables?: Map<ServerVariable>;
42
+ }
43
+
44
+ interface ServerVariable {
45
+ default: string;
46
+ description?: string;
47
+ enum?: string[];
48
+ }
49
+
50
+ interface ComponentsObject {
51
+ callbacks?: Map<CallbackObject | ReferenceObject>;
52
+ examples?: Map<ExampleObject | ReferenceObject>;
53
+ headers?: Map<HeaderObject | ReferenceObject>;
54
+ links?: Map<LinkObject | ReferenceObject>;
55
+ parameters?: Map<ParameterObject | ReferenceObject>;
56
+ requestBodies?: Map<ReferenceObject | RequestBodyObject>;
57
+ responses?: Map<ReferenceObject | ResponseObject>;
58
+ schemas?: Map<ReferenceObject | SchemaObject>;
59
+ securitySchemes?: Map<
60
+ ApiKeySecuritySchemeObject | HttpSecuritySchemeObject | Oauth2SecuritySchemeObject | OpenIdConnectSecuritySchemeObject | ReferenceObject
61
+ >;
62
+ }
63
+
64
+ type PathsObject = Record<string, PathItemObject>;
65
+
66
+ interface PathItemObject {
67
+ $ref?: string;
68
+ delete?: OperationObject;
69
+ description?: string;
70
+ get?: OperationObject;
71
+ head?: OperationObject;
72
+ options?: OperationObject;
73
+ parameters?: (ParameterObject | ReferenceObject)[];
74
+ patch?: OperationObject;
75
+ post?: OperationObject;
76
+ put?: OperationObject;
77
+ servers?: ServerObject[];
78
+ summary?: string;
79
+ trace?: OperationObject;
80
+ }
81
+
82
+ interface OperationObject {
83
+ callbacks?: Map<CallbackObject | ReferenceObject>;
84
+ deprecated?: boolean;
85
+ description?: string;
86
+ externalDocs?: ExternalDocumentationObject;
87
+ operationId?: string;
88
+ parameters?: (ParameterObject | ReferenceObject)[];
89
+ requestBody?: ReferenceObject | RequestBodyObject;
90
+ responses: ResponsesObject;
91
+ security?: SecurityRequirementObject[];
92
+ servers?: ServerObject[];
93
+ summary?: string;
94
+ tags?: string[];
95
+ }
96
+
97
+ interface ExternalDocumentationObject {
98
+ description?: string;
99
+ url: string;
100
+ }
101
+
102
+ interface ParameterObject {
103
+ allowEmptyValue?: boolean;
104
+ allowReserved?: boolean;
105
+ //
106
+ content?: Map<MediaTypeObject>;
107
+ deprecated?: boolean;
108
+ description?: string;
109
+ example?: any;
110
+ examples?: Map<ExampleObject | ReferenceObject>;
111
+ explode?: string;
112
+ in: string;
113
+ name: string;
114
+ required?: boolean;
115
+ schema?: ReferenceObject | SchemaObject;
116
+ //
117
+ style?: string;
118
+ // ignoring stylings: matrix, label, form, simple, spaceDelimited,
119
+ // pipeDelimited and deepObject
120
+ }
121
+
122
+ interface RequestBodyObject {
123
+ content: Map<MediaTypeObject>;
124
+ description?: string;
125
+ required?: boolean;
126
+ }
127
+
128
+ interface MediaTypeObject {
129
+ encoding?: Map<EncodingObject>;
130
+ example?: any;
131
+ examples?: Map<ExampleObject | ReferenceObject>;
132
+ schema?: ReferenceObject | SchemaObject;
133
+ }
134
+
135
+ interface EncodingObject {
136
+ allowReserved?: boolean;
137
+ contentType?: string;
138
+ explode?: boolean;
139
+ headers?: Map<HeaderObject | ReferenceObject>;
140
+ style?: string;
141
+ }
142
+
143
+ type ResponsesObject = Record<string, ReferenceObject | ResponseObject>;
144
+
145
+ interface ResponseObject {
146
+ content?: Map<MediaTypeObject>;
147
+ description: string;
148
+ headers?: Map<HeaderObject | ReferenceObject>;
149
+ links?: Map<LinkObject | ReferenceObject>;
150
+ }
151
+
152
+ type CallbackObject = Record<string, PathItemObject>;
153
+
154
+ interface ExampleObject {
155
+ description?: string;
156
+ externalValue?: string;
157
+ summary?: string;
158
+ value?: any;
159
+ }
160
+
161
+ interface LinkObject {
162
+ description?: string;
163
+ operationId?: string;
164
+ operationRef?: string;
165
+ parameters?: Map<any>;
166
+ requestBody?: any;
167
+ server?: ServerObject;
168
+ }
169
+
170
+ interface HeaderObject {
171
+ allowEmptyValue?: boolean;
172
+ allowReserved?: boolean;
173
+ //
174
+ content?: Map<MediaTypeObject>;
175
+ deprecated?: boolean;
176
+ description?: string;
177
+ example?: any;
178
+ examples?: Map<ExampleObject | ReferenceObject>;
179
+ explode?: string;
180
+ required?: boolean;
181
+ schema?: ReferenceObject | SchemaObject;
182
+ //
183
+ style?: string;
184
+ // ignoring stylings: matrix, label, form, simple, spaceDelimited,
185
+ // pipeDelimited and deepObject
186
+ }
187
+
188
+ interface TagObject {
189
+ description?: string;
190
+ externalDocs?: ExternalDocumentationObject;
191
+ name: string;
192
+ }
193
+
194
+ interface ReferenceObject {
195
+ $ref: string;
196
+ }
197
+
198
+ // TODO: this could be expanded on.
199
+ type SchemaObject = Record<string, any>;
200
+
201
+ interface ApiKeySecuritySchemeObject {
202
+ description?: string;
203
+ in: string;
204
+ name: string;
205
+ type: string;
206
+ }
207
+
208
+ interface HttpSecuritySchemeObject {
209
+ bearerFormat?: string;
210
+ description?: string;
211
+ scheme: string;
212
+ type: string;
213
+ }
214
+
215
+ interface Oauth2SecuritySchemeObject {
216
+ description?: string;
217
+ flows: OAuthFlowsObject;
218
+ type: string;
219
+ }
220
+
221
+ interface OpenIdConnectSecuritySchemeObject {
222
+ description?: string;
223
+ openIdConnectUrl: string;
224
+ type: string;
225
+ }
226
+
227
+ interface OAuthFlowsObject {
228
+ authorizationCode?: OAuthFlowObject;
229
+ clientCredentials?: OAuthFlowObject;
230
+ implicit?: OAuthFlowObject;
231
+ password?: OAuthFlowObject;
232
+ }
233
+
234
+ interface OAuthFlowObject {
235
+ authorizationUrl?: string; // required for some?
236
+ refreshUrl: string;
237
+ scopes: Map<string>;
238
+ tokenUrl?: string; // required for some?
239
+ }
240
+
241
+ type SecurityRequirementObject = Record<string, string[]>;
242
+
243
+ type Map<T> = Record<string, T>;
244
+
245
+ declare const commentsToOpenApi$1: (fileContents: string, verbose?: boolean) => {
246
+ loc: number;
247
+ spec: OpenApiObject;
248
+ }[];
249
+
250
+ declare const parseFile: (file: string, commentsToOpenApi: (fileContent: string, verbose?: boolean) => {
251
+ loc: number;
252
+ spec: OpenApiObject;
253
+ }[], verbose?: boolean) => {
254
+ loc: number;
255
+ spec: OpenApiObject;
256
+ }[];
257
+
258
+ declare class SpecBuilder implements OpenApiObject {
259
+ components?: ComponentsObject;
260
+ externalDocs?: ExternalDocumentationObject;
261
+ info: InfoObject;
262
+ openapi: string;
263
+ paths: PathsObject;
264
+ security?: SecurityRequirementObject[];
265
+ servers?: ServerObject[];
266
+ tags?: TagObject[];
267
+ constructor(baseDefinition: BaseDefinition);
268
+ addData(parsedFile: OpenApiObject[]): void;
269
+ }
270
+
271
+ declare const commentsToOpenApi: (fileContents: string, verbose?: boolean) => {
272
+ loc: number;
273
+ spec: OpenApiObject;
274
+ }[];
275
+
276
+ declare const yamlLoc: (string: string) => number;
277
+
278
+ declare class SwaggerCompilerPlugin {
279
+ private readonly assetsPath;
280
+ private readonly ignore;
281
+ private readonly sources;
282
+ private readonly swaggerDefinition;
283
+ private readonly verbose;
284
+ constructor(assetsPath: string, sources: string[], swaggerDefinition: BaseDefinition, options: {
285
+ ignore?: ReadonlyArray<string> | string;
286
+ verbose?: boolean;
287
+ });
288
+ apply(compiler: Compiler): void;
289
+ }
290
+
291
+ export { BaseDefinition, OpenApiObject, SpecBuilder, SwaggerCompilerPlugin, commentsToOpenApi$1 as jsDocumentCommentsToOpenApi, parseFile, commentsToOpenApi as swaggerJsDocumentCommentsToOpenApi, yamlLoc };