@visulima/jsdoc-open-api 3.0.0-alpha.1 → 3.0.0-alpha.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.
Files changed (111) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +16 -8
  4. package/dist/cli/command/generate-command.d.cts +7 -0
  5. package/dist/cli/command/generate-command.d.mts +7 -0
  6. package/dist/cli/command/generate-command.d.ts +7 -0
  7. package/dist/cli/command/init-command.d.cts +2 -0
  8. package/dist/cli/command/init-command.d.mts +2 -0
  9. package/dist/cli/command/init-command.d.ts +2 -0
  10. package/dist/cli/commander/command/generate-command.d.cts +3 -0
  11. package/dist/cli/commander/command/generate-command.d.mts +3 -0
  12. package/dist/cli/commander/command/generate-command.d.ts +3 -0
  13. package/dist/cli/commander/command/init-command.d.cts +3 -0
  14. package/dist/cli/commander/command/init-command.d.mts +3 -0
  15. package/dist/cli/commander/command/init-command.d.ts +3 -0
  16. package/dist/cli/commander/index.cjs +11 -0
  17. package/dist/cli/commander/index.d.cts +2 -0
  18. package/dist/cli/commander/index.d.mts +2 -7
  19. package/dist/cli/commander/index.d.ts +2 -7
  20. package/dist/cli/commander/index.mjs +2 -30
  21. package/dist/cli/index.cjs +11 -0
  22. package/dist/cli/index.d.cts +2 -0
  23. package/dist/cli/index.d.mts +2 -10
  24. package/dist/cli/index.d.ts +2 -10
  25. package/dist/cli/index.mjs +2 -4
  26. package/dist/constants.d.cts +1 -0
  27. package/dist/constants.d.mts +1 -0
  28. package/dist/constants.d.ts +1 -0
  29. package/dist/exported.d.cts +198 -0
  30. package/dist/exported.d.mts +198 -0
  31. package/dist/exported.d.ts +198 -0
  32. package/dist/index.cjs +19 -0
  33. package/dist/index.d.cts +7 -0
  34. package/dist/index.d.mts +7 -248
  35. package/dist/index.d.ts +7 -248
  36. package/dist/index.mjs +6 -85
  37. package/dist/jsdoc/comments-to-open-api.d.cts +6 -0
  38. package/dist/jsdoc/comments-to-open-api.d.mts +6 -0
  39. package/dist/jsdoc/comments-to-open-api.d.ts +6 -0
  40. package/dist/packem_shared/SpecBuilder-B7YiF7zR.mjs +61 -0
  41. package/dist/packem_shared/SpecBuilder-CCESkmm5.cjs +63 -0
  42. package/dist/packem_shared/SwaggerCompilerPlugin-BkYJzU4f.cjs +88 -0
  43. package/dist/packem_shared/SwaggerCompilerPlugin-DZ7tIJ8x.mjs +86 -0
  44. package/dist/packem_shared/customizer-CoMXMU7a.mjs +8 -0
  45. package/dist/packem_shared/customizer-DDFwFqJl.cjs +10 -0
  46. package/dist/packem_shared/generateCommand-DRMkfIle.mjs +15 -0
  47. package/dist/packem_shared/generateCommand-MwnCNgEE.cjs +82 -0
  48. package/dist/packem_shared/generateCommand-RY4QFtm7.cjs +17 -0
  49. package/dist/packem_shared/generateCommand-a9_RAbug.mjs +80 -0
  50. package/dist/packem_shared/initCommand-B6Z9EXHP.mjs +15 -0
  51. package/dist/packem_shared/initCommand-Ch-72dKZ.cjs +65 -0
  52. package/dist/packem_shared/initCommand-D3yVEMwO.cjs +17 -0
  53. package/dist/packem_shared/initCommand-zE4VRDGW.mjs +63 -0
  54. package/dist/packem_shared/jsDocumentCommentsToOpenApi-C7yMeXJ5.cjs +337 -0
  55. package/dist/packem_shared/jsDocumentCommentsToOpenApi-DtrIZ2lK.mjs +331 -0
  56. package/dist/packem_shared/parseFile-BE-sKiRK.mjs +35 -0
  57. package/dist/packem_shared/parseFile-Dk7Bw7lt.cjs +42 -0
  58. package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-B7g9rVr5.mjs +131 -0
  59. package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-BuB7eE94.cjs +138 -0
  60. package/dist/packem_shared/validate-DZHaKH07.mjs +30 -0
  61. package/dist/packem_shared/validate-FKieC3ln.cjs +37 -0
  62. package/dist/packem_shared/yamlLoc-C7iHWvdq.mjs +14 -0
  63. package/dist/packem_shared/yamlLoc-CEvBiR4K.cjs +16 -0
  64. package/dist/parse-file.d.cts +9 -0
  65. package/dist/parse-file.d.mts +9 -0
  66. package/dist/parse-file.d.ts +9 -0
  67. package/dist/spec-builder.d.cts +14 -0
  68. package/dist/spec-builder.d.mts +14 -0
  69. package/dist/spec-builder.d.ts +14 -0
  70. package/dist/swagger-jsdoc/comments-to-open-api.d.cts +6 -0
  71. package/dist/swagger-jsdoc/comments-to-open-api.d.mts +6 -0
  72. package/dist/swagger-jsdoc/comments-to-open-api.d.ts +6 -0
  73. package/dist/swagger-jsdoc/organize-swagger-object.d.cts +7 -0
  74. package/dist/swagger-jsdoc/organize-swagger-object.d.mts +7 -0
  75. package/dist/swagger-jsdoc/organize-swagger-object.d.ts +7 -0
  76. package/dist/swagger-jsdoc/utils.d.cts +22 -0
  77. package/dist/swagger-jsdoc/utils.d.mts +22 -0
  78. package/dist/swagger-jsdoc/utils.d.ts +22 -0
  79. package/dist/util/customizer.d.cts +2 -0
  80. package/dist/util/customizer.d.mts +2 -0
  81. package/dist/util/customizer.d.ts +2 -0
  82. package/dist/util/object-merge.d.cts +2 -0
  83. package/dist/util/object-merge.d.mts +2 -0
  84. package/dist/util/object-merge.d.ts +2 -0
  85. package/dist/util/yaml-loc.d.cts +2 -0
  86. package/dist/util/yaml-loc.d.mts +2 -0
  87. package/dist/util/yaml-loc.d.ts +2 -0
  88. package/dist/validate.d.cts +2 -0
  89. package/dist/validate.d.mts +2 -0
  90. package/dist/validate.d.ts +2 -0
  91. package/dist/webpack/swagger-compiler-plugin.d.cts +15 -0
  92. package/dist/webpack/swagger-compiler-plugin.d.mts +15 -0
  93. package/dist/webpack/swagger-compiler-plugin.d.ts +15 -0
  94. package/package.json +34 -22
  95. package/dist/chunk-HCUSCJ47.mjs +0 -142
  96. package/dist/chunk-HCUSCJ47.mjs.map +0 -1
  97. package/dist/chunk-LH7UXAJC.js +0 -1223
  98. package/dist/chunk-LH7UXAJC.js.map +0 -1
  99. package/dist/chunk-MBTPK5EE.js +0 -149
  100. package/dist/chunk-MBTPK5EE.js.map +0 -1
  101. package/dist/chunk-RJ6GDVYR.mjs +0 -1205
  102. package/dist/chunk-RJ6GDVYR.mjs.map +0 -1
  103. package/dist/cli/commander/index.js +0 -33
  104. package/dist/cli/commander/index.js.map +0 -1
  105. package/dist/cli/commander/index.mjs.map +0 -1
  106. package/dist/cli/index.js +0 -17
  107. package/dist/cli/index.js.map +0 -1
  108. package/dist/cli/index.mjs.map +0 -1
  109. package/dist/index.js +0 -106
  110. package/dist/index.js.map +0 -1
  111. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ const SwaggerParser = require('@apidevtools/swagger-parser');
4
+
5
+ const _interopDefaultCompat = e => e && typeof e === 'object' && 'default' in e ? e.default : e;
6
+
7
+ const SwaggerParser__default = /*#__PURE__*/_interopDefaultCompat(SwaggerParser);
8
+
9
+ const DEFAULT_EXCLUDE = [
10
+ "coverage/**",
11
+ ".github/**",
12
+ "**/*.d.ts",
13
+ "**/test{,s}/**",
14
+ "**/test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}",
15
+ "**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}",
16
+ "**/__tests__/**",
17
+ "**/{ava,babel,nyc}.config.{js,cjs,mjs}",
18
+ "**/jest.config.{js,cjs,mjs,ts}",
19
+ "**/{karma,rollup,webpack}.config.js",
20
+ "**/.{eslint,mocha}rc.{js,cjs}",
21
+ "**/.{travis,yarnrc}.yml",
22
+ "**/{docker-compose,docker}.yml",
23
+ "**/.yamllint.{yaml,yml}",
24
+ "**/node_modules/**",
25
+ "**/{pnpm-workspace,pnpm-lock}.yaml",
26
+ "**/{package,package-lock}.json",
27
+ "**/yarn.lock",
28
+ "**/package.json5",
29
+ "**/.next/**"
30
+ ];
31
+
32
+ const validate = async (spec) => {
33
+ await SwaggerParser__default.validate(spec);
34
+ };
35
+
36
+ exports.DEFAULT_EXCLUDE = DEFAULT_EXCLUDE;
37
+ exports.validate = validate;
@@ -0,0 +1,14 @@
1
+ const LINE_SPLIT_REGEX = /\r\n|\r|\n/u;
2
+ const COMMENT_OR_EMPTY_REGEX = /^\s*(#\s*(?:\S.*)?)?$/u;
3
+ const yamlLoc = (string) => {
4
+ const split = string.split(LINE_SPLIT_REGEX);
5
+ const filtered = split.filter((line) => {
6
+ if (COMMENT_OR_EMPTY_REGEX.test(line)) {
7
+ return false;
8
+ }
9
+ return line.trim().length > 0;
10
+ });
11
+ return filtered.length;
12
+ };
13
+
14
+ export { yamlLoc as default };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const LINE_SPLIT_REGEX = /\r\n|\r|\n/u;
4
+ const COMMENT_OR_EMPTY_REGEX = /^\s*(#\s*(?:\S.*)?)?$/u;
5
+ const yamlLoc = (string) => {
6
+ const split = string.split(LINE_SPLIT_REGEX);
7
+ const filtered = split.filter((line) => {
8
+ if (COMMENT_OR_EMPTY_REGEX.test(line)) {
9
+ return false;
10
+ }
11
+ return line.trim().length > 0;
12
+ });
13
+ return filtered.length;
14
+ };
15
+
16
+ module.exports = yamlLoc;
@@ -0,0 +1,9 @@
1
+ import type { OpenApiObject } from "./exported.d.cts";
2
+ declare const parseFile: (file: string, commentsToOpenApi: (fileContent: string, verbose?: boolean) => {
3
+ loc: number;
4
+ spec: OpenApiObject;
5
+ }[], verbose?: boolean) => {
6
+ loc: number;
7
+ spec: OpenApiObject;
8
+ }[];
9
+ export = parseFile;
@@ -0,0 +1,9 @@
1
+ import type { OpenApiObject } from "./exported.d.mts";
2
+ declare const parseFile: (file: string, commentsToOpenApi: (fileContent: string, verbose?: boolean) => {
3
+ loc: number;
4
+ spec: OpenApiObject;
5
+ }[], verbose?: boolean) => {
6
+ loc: number;
7
+ spec: OpenApiObject;
8
+ }[];
9
+ export default parseFile;
@@ -0,0 +1,9 @@
1
+ import type { OpenApiObject } from "./exported.d.ts";
2
+ declare const parseFile: (file: string, commentsToOpenApi: (fileContent: string, verbose?: boolean) => {
3
+ loc: number;
4
+ spec: OpenApiObject;
5
+ }[], verbose?: boolean) => {
6
+ loc: number;
7
+ spec: OpenApiObject;
8
+ }[];
9
+ export = parseFile;
@@ -0,0 +1,14 @@
1
+ import type { BaseDefinition, ComponentsObject, ExternalDocumentationObject, InfoObject, OpenApiObject, PathsObject, SecurityRequirementObject, ServerObject, TagObject } from "./exported.d.cts";
2
+ declare class SpecBuilder implements OpenApiObject {
3
+ components?: ComponentsObject;
4
+ externalDocs?: ExternalDocumentationObject;
5
+ info: InfoObject;
6
+ openapi: string;
7
+ paths: PathsObject;
8
+ security?: SecurityRequirementObject[];
9
+ servers?: ServerObject[];
10
+ tags?: TagObject[];
11
+ constructor(baseDefinition: BaseDefinition);
12
+ addData(parsedFile: OpenApiObject[]): void;
13
+ }
14
+ export = SpecBuilder;
@@ -0,0 +1,14 @@
1
+ import type { BaseDefinition, ComponentsObject, ExternalDocumentationObject, InfoObject, OpenApiObject, PathsObject, SecurityRequirementObject, ServerObject, TagObject } from "./exported.d.mts";
2
+ declare class SpecBuilder implements OpenApiObject {
3
+ components?: ComponentsObject;
4
+ externalDocs?: ExternalDocumentationObject;
5
+ info: InfoObject;
6
+ openapi: string;
7
+ paths: PathsObject;
8
+ security?: SecurityRequirementObject[];
9
+ servers?: ServerObject[];
10
+ tags?: TagObject[];
11
+ constructor(baseDefinition: BaseDefinition);
12
+ addData(parsedFile: OpenApiObject[]): void;
13
+ }
14
+ export default SpecBuilder;
@@ -0,0 +1,14 @@
1
+ import type { BaseDefinition, ComponentsObject, ExternalDocumentationObject, InfoObject, OpenApiObject, PathsObject, SecurityRequirementObject, ServerObject, TagObject } from "./exported.d.ts";
2
+ declare class SpecBuilder implements OpenApiObject {
3
+ components?: ComponentsObject;
4
+ externalDocs?: ExternalDocumentationObject;
5
+ info: InfoObject;
6
+ openapi: string;
7
+ paths: PathsObject;
8
+ security?: SecurityRequirementObject[];
9
+ servers?: ServerObject[];
10
+ tags?: TagObject[];
11
+ constructor(baseDefinition: BaseDefinition);
12
+ addData(parsedFile: OpenApiObject[]): void;
13
+ }
14
+ export = SpecBuilder;
@@ -0,0 +1,6 @@
1
+ import type { OpenApiObject } from "../exported.d.cts";
2
+ declare const commentsToOpenApi: (fileContents: string, verbose?: boolean) => {
3
+ loc: number;
4
+ spec: OpenApiObject;
5
+ }[];
6
+ export = commentsToOpenApi;
@@ -0,0 +1,6 @@
1
+ import type { OpenApiObject } from "../exported.d.mts";
2
+ declare const commentsToOpenApi: (fileContents: string, verbose?: boolean) => {
3
+ loc: number;
4
+ spec: OpenApiObject;
5
+ }[];
6
+ export default commentsToOpenApi;
@@ -0,0 +1,6 @@
1
+ import type { OpenApiObject } from "../exported.d.ts";
2
+ declare const commentsToOpenApi: (fileContents: string, verbose?: boolean) => {
3
+ loc: number;
4
+ spec: OpenApiObject;
5
+ }[];
6
+ export = commentsToOpenApi;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @param {object} swaggerObject
3
+ * @param {object} annotation
4
+ * @param {string} property
5
+ */
6
+ declare const organizeSwaggerObject: (swaggerObject: Record<string, any>, annotation: Record<string, any>, property: string) => void;
7
+ export = organizeSwaggerObject;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @param {object} swaggerObject
3
+ * @param {object} annotation
4
+ * @param {string} property
5
+ */
6
+ declare const organizeSwaggerObject: (swaggerObject: Record<string, any>, annotation: Record<string, any>, property: string) => void;
7
+ export default organizeSwaggerObject;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @param {object} swaggerObject
3
+ * @param {object} annotation
4
+ * @param {string} property
5
+ */
6
+ declare const organizeSwaggerObject: (swaggerObject: Record<string, any>, annotation: Record<string, any>, property: string) => void;
7
+ export = organizeSwaggerObject;
@@ -0,0 +1,22 @@
1
+ import type { Spec } from "comment-parser";
2
+ /**
3
+ * A recursive deep-merge that ignores null values when merging.
4
+ * This returns the merged object and does not mutate.
5
+ * @param first the first object to get merged
6
+ * @param second the second object to get merged
7
+ */
8
+ export declare const mergeDeep: (first?: object, second?: object) => object;
9
+ /**
10
+ * Checks if there is any properties of the input object which are an empty object.
11
+ * @param object the object to check
12
+ * @returns boolean
13
+ */
14
+ export declare const hasEmptyProperty: (object: Record<string, any>) => boolean;
15
+ /**
16
+ * Checks whether the given tag is present in tags.
17
+ * @param tag
18
+ * @param tags
19
+ * @returns boolean
20
+ */
21
+ export declare const isTagPresentInTags: (tag: Spec, tags: Spec[]) => boolean;
22
+ export declare const getSwaggerVersionFromSpec: (tag: Spec) => "v2" | "v3" | "v4";
@@ -0,0 +1,22 @@
1
+ import type { Spec } from "comment-parser";
2
+ /**
3
+ * A recursive deep-merge that ignores null values when merging.
4
+ * This returns the merged object and does not mutate.
5
+ * @param first the first object to get merged
6
+ * @param second the second object to get merged
7
+ */
8
+ export declare const mergeDeep: (first?: object, second?: object) => object;
9
+ /**
10
+ * Checks if there is any properties of the input object which are an empty object.
11
+ * @param object the object to check
12
+ * @returns boolean
13
+ */
14
+ export declare const hasEmptyProperty: (object: Record<string, any>) => boolean;
15
+ /**
16
+ * Checks whether the given tag is present in tags.
17
+ * @param tag
18
+ * @param tags
19
+ * @returns boolean
20
+ */
21
+ export declare const isTagPresentInTags: (tag: Spec, tags: Spec[]) => boolean;
22
+ export declare const getSwaggerVersionFromSpec: (tag: Spec) => "v2" | "v3" | "v4";
@@ -0,0 +1,22 @@
1
+ import type { Spec } from "comment-parser";
2
+ /**
3
+ * A recursive deep-merge that ignores null values when merging.
4
+ * This returns the merged object and does not mutate.
5
+ * @param first the first object to get merged
6
+ * @param second the second object to get merged
7
+ */
8
+ export declare const mergeDeep: (first?: object, second?: object) => object;
9
+ /**
10
+ * Checks if there is any properties of the input object which are an empty object.
11
+ * @param object the object to check
12
+ * @returns boolean
13
+ */
14
+ export declare const hasEmptyProperty: (object: Record<string, any>) => boolean;
15
+ /**
16
+ * Checks whether the given tag is present in tags.
17
+ * @param tag
18
+ * @param tags
19
+ * @returns boolean
20
+ */
21
+ export declare const isTagPresentInTags: (tag: Spec, tags: Spec[]) => boolean;
22
+ export declare const getSwaggerVersionFromSpec: (tag: Spec) => "v2" | "v3" | "v4";
@@ -0,0 +1,2 @@
1
+ declare const customizer: (objectValue: unknown, sourceValue: unknown[]) => unknown[] | undefined;
2
+ export = customizer;
@@ -0,0 +1,2 @@
1
+ declare const customizer: (objectValue: unknown, sourceValue: unknown[]) => unknown[] | undefined;
2
+ export default customizer;
@@ -0,0 +1,2 @@
1
+ declare const customizer: (objectValue: unknown, sourceValue: unknown[]) => unknown[] | undefined;
2
+ export = customizer;
@@ -0,0 +1,2 @@
1
+ declare const objectMerge: <T>(a: T, b: T) => void;
2
+ export = objectMerge;
@@ -0,0 +1,2 @@
1
+ declare const objectMerge: <T>(a: T, b: T) => void;
2
+ export default objectMerge;
@@ -0,0 +1,2 @@
1
+ declare const objectMerge: <T>(a: T, b: T) => void;
2
+ export = objectMerge;
@@ -0,0 +1,2 @@
1
+ declare const yamlLoc: (string: string) => number;
2
+ export = yamlLoc;
@@ -0,0 +1,2 @@
1
+ declare const yamlLoc: (string: string) => number;
2
+ export default yamlLoc;
@@ -0,0 +1,2 @@
1
+ declare const yamlLoc: (string: string) => number;
2
+ export = yamlLoc;
@@ -0,0 +1,2 @@
1
+ declare const validate: (spec: Record<string, unknown>) => Promise<void>;
2
+ export = validate;
@@ -0,0 +1,2 @@
1
+ declare const validate: (spec: Record<string, unknown>) => Promise<void>;
2
+ export default validate;
@@ -0,0 +1,2 @@
1
+ declare const validate: (spec: Record<string, unknown>) => Promise<void>;
2
+ export = validate;
@@ -0,0 +1,15 @@
1
+ import type { Compiler } from "webpack";
2
+ import type { BaseDefinition } from "../exported.d.cts";
3
+ declare class SwaggerCompilerPlugin {
4
+ private readonly assetsPath;
5
+ private readonly ignore;
6
+ private readonly sources;
7
+ private readonly swaggerDefinition;
8
+ private readonly verbose;
9
+ constructor(assetsPath: string, sources: string[], swaggerDefinition: BaseDefinition, options: {
10
+ ignore?: (RegExp | string)[];
11
+ verbose?: boolean;
12
+ });
13
+ apply(compiler: Compiler): void;
14
+ }
15
+ export = SwaggerCompilerPlugin;
@@ -0,0 +1,15 @@
1
+ import type { Compiler } from "webpack";
2
+ import type { BaseDefinition } from "../exported.d.mts";
3
+ declare class SwaggerCompilerPlugin {
4
+ private readonly assetsPath;
5
+ private readonly ignore;
6
+ private readonly sources;
7
+ private readonly swaggerDefinition;
8
+ private readonly verbose;
9
+ constructor(assetsPath: string, sources: string[], swaggerDefinition: BaseDefinition, options: {
10
+ ignore?: (RegExp | string)[];
11
+ verbose?: boolean;
12
+ });
13
+ apply(compiler: Compiler): void;
14
+ }
15
+ export default SwaggerCompilerPlugin;
@@ -0,0 +1,15 @@
1
+ import type { Compiler } from "webpack";
2
+ import type { BaseDefinition } from "../exported.d.ts";
3
+ declare class SwaggerCompilerPlugin {
4
+ private readonly assetsPath;
5
+ private readonly ignore;
6
+ private readonly sources;
7
+ private readonly swaggerDefinition;
8
+ private readonly verbose;
9
+ constructor(assetsPath: string, sources: string[], swaggerDefinition: BaseDefinition, options: {
10
+ ignore?: (RegExp | string)[];
11
+ verbose?: boolean;
12
+ });
13
+ apply(compiler: Compiler): void;
14
+ }
15
+ export = SwaggerCompilerPlugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/jsdoc-open-api",
3
- "version": "3.0.0-alpha.1",
3
+ "version": "3.0.0-alpha.11",
4
4
  "description": "Generates swagger doc based on JSDoc.",
5
5
  "keywords": [
6
6
  "visulima",
@@ -14,7 +14,7 @@
14
14
  "cli",
15
15
  "command"
16
16
  ],
17
- "homepage": "https://www.visulima.com/docs/package/jsdoc-open-api",
17
+ "homepage": "https://visulima.com/packages/jsdoc-open-api/",
18
18
  "bugs": {
19
19
  "url": "https://github.com/visulima/visulima/issues"
20
20
  },
@@ -41,40 +41,53 @@
41
41
  "sideEffects": false,
42
42
  "exports": {
43
43
  ".": {
44
- "require": {
45
- "types": "./dist/index.d.ts",
46
- "default": "./dist/index.js"
47
- },
48
44
  "import": {
49
45
  "types": "./dist/index.d.mts",
50
46
  "default": "./dist/index.mjs"
47
+ },
48
+ "require": {
49
+ "types": "./dist/index.d.cts",
50
+ "default": "./dist/index.cjs"
51
51
  }
52
52
  },
53
53
  "./cli": {
54
- "require": {
55
- "types": "./dist/cli/index.d.ts",
56
- "default": "./dist/cli/index.js"
57
- },
58
54
  "import": {
59
55
  "types": "./dist/cli/index.d.mts",
60
56
  "default": "./dist/cli/index.mjs"
57
+ },
58
+ "require": {
59
+ "types": "./dist/cli/index.d.cts",
60
+ "default": "./dist/cli/index.cjs"
61
61
  }
62
62
  },
63
63
  "./cli/commander": {
64
- "require": {
65
- "types": "./dist/cli/commander/index.d.ts",
66
- "default": "./dist/cli/commander/index.js"
67
- },
68
64
  "import": {
69
65
  "types": "./dist/cli/commander/index.d.mts",
70
66
  "default": "./dist/cli/commander/index.mjs"
67
+ },
68
+ "require": {
69
+ "types": "./dist/cli/commander/index.d.cts",
70
+ "default": "./dist/cli/commander/index.cjs"
71
71
  }
72
72
  },
73
73
  "./package.json": "./package.json"
74
74
  },
75
- "main": "dist/index.js",
75
+ "main": "dist/index.cjs",
76
76
  "module": "dist/index.mjs",
77
77
  "types": "dist/index.d.ts",
78
+ "typesVersions": {
79
+ ">=5.0": {
80
+ ".": [
81
+ "./dist/index.d.ts"
82
+ ],
83
+ "cli": [
84
+ "./dist/cli/index.d.ts"
85
+ ],
86
+ "cli/commander": [
87
+ "./dist/cli/commander/index.d.ts"
88
+ ]
89
+ }
90
+ },
78
91
  "bin": {
79
92
  "jsdoc-open-api": "./bin/index.js"
80
93
  },
@@ -88,19 +101,18 @@
88
101
  ],
89
102
  "dependencies": {
90
103
  "@apidevtools/swagger-parser": "^12.1.0",
91
- "comment-parser": "^1.4.1",
104
+ "@visulima/fs": "5.0.0-alpha.12",
105
+ "comment-parser": "1.4.6",
92
106
  "lodash.mergewith": "^4.6.2",
93
- "publint": "^0.3.15",
94
- "read-pkg-up": "^7.0.1",
95
- "yaml": "^2.8.2"
107
+ "yaml": "2.8.3"
96
108
  },
97
109
  "optionalDependencies": {
98
110
  "cli-progress": "^3.12.0",
99
- "commander": "^14.0.2",
100
- "webpack": "^5.103.0"
111
+ "commander": "^14.0.3",
112
+ "webpack": "^5.106.2"
101
113
  },
102
114
  "engines": {
103
- "node": ">=22.13 <=25.x"
115
+ "node": "^22.14.0 || >=24.10.0"
104
116
  },
105
117
  "os": [
106
118
  "darwin",
@@ -1,142 +0,0 @@
1
- import { spec_builder_default, DEFAULT_EXCLUDE, collect, parse_file_default, comments_to_open_api_default, comments_to_open_api_default2, validate_default } from './chunk-RJ6GDVYR.mjs';
2
- import { lstat, realpath, mkdir, writeFile } from 'fs/promises';
3
- import { normalize, dirname } from 'path';
4
- import { pathToFileURL } from 'url';
5
- import { MultiBar, Presets } from 'cli-progress';
6
- import { existsSync, realpathSync, writeFileSync } from 'fs';
7
- import readPkgUp from 'read-pkg-up';
8
-
9
- var generateCommand = async (configName, paths, options) => {
10
- let openapiConfig = {
11
- exclude: [],
12
- swaggerDefinition: {}
13
- };
14
- try {
15
- let config = await import(pathToFileURL(normalize(options.config ?? configName)).href);
16
- if (config?.default) {
17
- config = config.default;
18
- }
19
- openapiConfig = config;
20
- } catch {
21
- throw new Error(`No config file found, on: ${options.config ?? ".openapirc.js"}
22
- `);
23
- }
24
- const multibar = new MultiBar(
25
- {
26
- clearOnComplete: false,
27
- format: "{value}/{total} | {bar} | {filename}",
28
- hideCursor: true
29
- },
30
- Presets.shades_grey
31
- );
32
- const spec = new spec_builder_default(openapiConfig.swaggerDefinition);
33
- const skip = /* @__PURE__ */ new Set([...DEFAULT_EXCLUDE, ...openapiConfig.exclude]);
34
- for await (const dir of paths) {
35
- (await lstat(dir)).isDirectory();
36
- const realDirectory = await realpath(dir);
37
- const files = await collect(realDirectory, {
38
- extensions: openapiConfig.extensions ?? [".js", ".cjs", ".mjs", ".ts", ".tsx", ".jsx", ".yaml", ".yml"],
39
- followSymlinks: openapiConfig.followSymlinks ?? false,
40
- match: openapiConfig.include,
41
- skip: [...skip]
42
- });
43
- if (options.verbose ?? options.veryVerbose) {
44
- console.log(`
45
- Found ${String(files.length)} files in ${realDirectory}`);
46
- }
47
- if (options.veryVerbose) {
48
- console.log(files);
49
- }
50
- const bar = multibar.create(files.length, 0);
51
- files.forEach((file) => {
52
- if (options.verbose) {
53
- console.log(`Parsing file ${file}`);
54
- }
55
- bar.increment(1, { filename: realDirectory });
56
- const parsedJsDocumentFile = parse_file_default(file, comments_to_open_api_default, options.verbose);
57
- spec.addData(parsedJsDocumentFile.map((item) => item.spec));
58
- const parsedSwaggerJsDocumentFile = parse_file_default(file, comments_to_open_api_default2, options.verbose);
59
- spec.addData(parsedSwaggerJsDocumentFile.map((item) => item.spec));
60
- });
61
- }
62
- if (options.verbose) {
63
- console.log("Validating swagger spec");
64
- }
65
- if (options.veryVerbose) {
66
- console.log(JSON.stringify(spec, null, 2));
67
- }
68
- await validate_default(JSON.parse(JSON.stringify(spec)));
69
- const output = options.output ?? "swagger.json";
70
- multibar.stop();
71
- if (options.verbose) {
72
- console.log(`Written swagger spec to "${output}" file`);
73
- }
74
- await mkdir(dirname(output), { recursive: true });
75
- await writeFile(output, JSON.stringify(spec, null, 2));
76
- console.log(`
77
- Swagger specification is ready, check the "${output}" file.`);
78
- };
79
- var generate_command_default = generateCommand;
80
- var initCommand = (configName, packageJsonPath = process.cwd()) => {
81
- if (existsSync(configName)) {
82
- throw new Error("Config file already exists");
83
- }
84
- const foundPackageJson = readPkgUp.sync({
85
- cwd: realpathSync(packageJsonPath)
86
- });
87
- let exportTemplate = "module.exports =";
88
- if (foundPackageJson) {
89
- const { packageJson: package_, path: packagePath } = foundPackageJson;
90
- console.info(`Found package.json at "${packagePath}"`);
91
- if (package_.type === "module") {
92
- console.info("Found package.json with type: module, using ES6 as export for the config file");
93
- exportTemplate = "export default";
94
- }
95
- } else {
96
- console.info("No package.json found");
97
- }
98
- writeFileSync(
99
- configName,
100
- `${exportTemplate} {
101
- exclude: [
102
- 'coverage/**',
103
- '.github/**',
104
- 'packages/*/test{,s}/**',
105
- '**/*.d.ts',
106
- 'test{,s}/**',
107
- 'test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',
108
- '**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',
109
- '**/__tests__/**',
110
- '**/{ava,babel,nyc}.config.{js,cjs,mjs}',
111
- '**/jest.config.{js,cjs,mjs,ts}',
112
- '**/{karma,rollup,webpack}.config.js',
113
- '**/.{eslint,mocha}rc.{js,cjs}',
114
- '**/.{travis,yarnrc}.yml',
115
- '**/{docker-compose,docker}.yml',
116
- '**/.yamllint.{yaml,yml}',
117
- '**/node_modules/**',
118
- '**/pnpm-lock.yaml',
119
- '**/pnpm-workspace.yaml',
120
- '**/{package,package-lock}.json',
121
- '**/yarn.lock',
122
- '**/package.json5',
123
- '**/.next/**',
124
- ],
125
- followSymlinks: false,
126
- swaggerDefinition: {
127
- openapi: '3.0.0',
128
- info: {
129
- title: 'API',
130
- version: '1.0.0',
131
- },
132
- },
133
- };
134
- `
135
- );
136
- console.log(`Created "${configName}"`);
137
- };
138
- var init_command_default = initCommand;
139
-
140
- export { generate_command_default, init_command_default };
141
- //# sourceMappingURL=chunk-HCUSCJ47.mjs.map
142
- //# sourceMappingURL=chunk-HCUSCJ47.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/command/generate-command.ts","../src/cli/command/init-command.ts"],"names":["comments_to_open_api_default"],"mappings":"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","file":"chunk-HCUSCJ47.mjs","sourcesContent":["import { lstat, mkdir, realpath, writeFile } from \"node:fs/promises\";\nimport { dirname, normalize } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\n\nimport type { WalkOptions } from \"@visulima/fs\";\nimport { collect } from \"@visulima/fs\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { MultiBar, Presets } from \"cli-progress\";\n\nimport { DEFAULT_EXCLUDE } from \"../../constants\";\nimport type { BaseDefinition } from \"../../exported\";\nimport jsDocumentCommentsToOpenApi from \"../../jsdoc/comments-to-open-api\";\nimport parseFile from \"../../parse-file\";\nimport SpecBuilder from \"../../spec-builder\";\nimport swaggerJsDocumentCommentsToOpenApi from \"../../swagger-jsdoc/comments-to-open-api\";\nimport validate from \"../../validate\";\n\nconst generateCommand = async (\n configName: string,\n paths: string[],\n options: {\n config?: string;\n output?: string;\n verbose?: boolean;\n veryVerbose?: boolean;\n },\n): Promise<void> => {\n let openapiConfig: {\n exclude: string[];\n extensions?: string[];\n followSymlinks?: boolean;\n include?: (RegExp | string)[];\n swaggerDefinition: BaseDefinition;\n } = {\n exclude: [],\n swaggerDefinition: {} as BaseDefinition,\n };\n\n try {\n let config = await import(pathToFileURL(normalize(options.config ?? configName)).href);\n\n if (config?.default) {\n config = config.default;\n }\n\n openapiConfig = config;\n } catch {\n throw new Error(`No config file found, on: ${options.config ?? \".openapirc.js\"}\\n`);\n }\n\n const multibar = new MultiBar(\n {\n clearOnComplete: false,\n format: \"{value}/{total} | {bar} | {filename}\",\n hideCursor: true,\n },\n Presets.shades_grey,\n );\n\n const spec = new SpecBuilder(openapiConfig.swaggerDefinition);\n const skip = new Set<RegExp | string>([...DEFAULT_EXCLUDE, ...openapiConfig.exclude]);\n\n // eslint-disable-next-line unicorn/prevent-abbreviations,no-loops/no-loops\n for await (const dir of paths) {\n // Check if the path is a directory\n // eslint-disable-next-line security/detect-non-literal-fs-filename,unicorn/no-await-expression-member\n (await lstat(dir)).isDirectory();\n\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n const realDirectory = await realpath(dir);\n\n const files: string[] = await collect(realDirectory, {\n extensions: openapiConfig.extensions ?? [\".js\", \".cjs\", \".mjs\", \".ts\", \".tsx\", \".jsx\", \".yaml\", \".yml\"],\n followSymlinks: openapiConfig.followSymlinks ?? false,\n match: openapiConfig.include,\n skip: [...skip],\n } as WalkOptions);\n\n if (options.verbose ?? options.veryVerbose) {\n // eslint-disable-next-line no-console\n console.log(`\\nFound ${String(files.length)} files in ${realDirectory}`);\n }\n\n if (options.veryVerbose) {\n // eslint-disable-next-line no-console\n console.log(files);\n }\n\n const bar = multibar.create(files.length, 0);\n\n files.forEach((file) => {\n if (options.verbose) {\n // eslint-disable-next-line no-console\n console.log(`Parsing file ${file}`);\n }\n\n bar.increment(1, { filename: realDirectory });\n\n const parsedJsDocumentFile = parseFile(file, jsDocumentCommentsToOpenApi, options.verbose);\n\n spec.addData(parsedJsDocumentFile.map((item) => item.spec));\n\n const parsedSwaggerJsDocumentFile = parseFile(file, swaggerJsDocumentCommentsToOpenApi, options.verbose);\n\n spec.addData(parsedSwaggerJsDocumentFile.map((item) => item.spec));\n });\n }\n\n if (options.verbose) {\n // eslint-disable-next-line no-console\n console.log(\"Validating swagger spec\");\n }\n\n if (options.veryVerbose) {\n // eslint-disable-next-line no-console\n console.log(JSON.stringify(spec, null, 2));\n }\n\n await validate(JSON.parse(JSON.stringify(spec)) as Record<string, unknown>);\n\n const output = options.output ?? \"swagger.json\";\n\n multibar.stop();\n\n if (options.verbose) {\n // eslint-disable-next-line no-console\n console.log(`Written swagger spec to \"${output}\" file`);\n }\n\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n await mkdir(dirname(output), { recursive: true });\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n await writeFile(output, JSON.stringify(spec, null, 2));\n\n // eslint-disable-next-line no-console\n console.log(`\\nSwagger specification is ready, check the \"${output}\" file.`);\n};\n\nexport default generateCommand;\n","import { existsSync, realpathSync, writeFileSync } from \"node:fs\";\n\nimport readPkgUp from \"read-pkg-up\";\n\nconst initCommand = (configName: string, packageJsonPath = process.cwd()): void => {\n if (existsSync(configName)) {\n throw new Error(\"Config file already exists\");\n }\n\n const foundPackageJson = readPkgUp.sync({\n cwd: realpathSync(packageJsonPath),\n });\n\n let exportTemplate = \"module.exports =\";\n\n if (foundPackageJson) {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { packageJson: package_, path: packagePath } = foundPackageJson;\n\n // eslint-disable-next-line no-console\n console.info(`Found package.json at \"${packagePath as string}\"`);\n\n if (package_.type === \"module\") {\n // eslint-disable-next-line no-console\n console.info(\"Found package.json with type: module, using ES6 as export for the config file\");\n\n exportTemplate = \"export default\";\n }\n } else {\n // eslint-disable-next-line no-console\n console.info(\"No package.json found\");\n }\n\n writeFileSync(\n configName,\n `${exportTemplate} {\n exclude: [\n 'coverage/**',\n '.github/**',\n 'packages/*/test{,s}/**',\n '**/*.d.ts',\n 'test{,s}/**',\n 'test{,-*}.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',\n '**/*{.,-}test.{js,cjs,mjs,ts,tsx,jsx,yaml,yml}',\n '**/__tests__/**',\n '**/{ava,babel,nyc}.config.{js,cjs,mjs}',\n '**/jest.config.{js,cjs,mjs,ts}',\n '**/{karma,rollup,webpack}.config.js',\n '**/.{eslint,mocha}rc.{js,cjs}',\n '**/.{travis,yarnrc}.yml',\n '**/{docker-compose,docker}.yml',\n '**/.yamllint.{yaml,yml}',\n '**/node_modules/**',\n '**/pnpm-lock.yaml',\n '**/pnpm-workspace.yaml',\n '**/{package,package-lock}.json',\n '**/yarn.lock',\n '**/package.json5',\n '**/.next/**',\n ],\n followSymlinks: false,\n swaggerDefinition: {\n openapi: '3.0.0',\n info: {\n title: 'API',\n version: '1.0.0',\n },\n },\n};\n`,\n );\n\n // eslint-disable-next-line no-console\n console.log(`Created \"${configName}\"`);\n};\n\nexport default initCommand;\n"]}