@visulima/jsdoc-open-api 3.0.0-alpha.4 → 3.0.0-alpha.41

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 (46) hide show
  1. package/CHANGELOG.md +371 -0
  2. package/LICENSE.md +35 -1
  3. package/README.md +44 -33
  4. package/bin/index.js +12 -9
  5. package/dist/cli/commander/index.d.ts +996 -3
  6. package/dist/cli/commander/index.js +1 -33
  7. package/dist/cli/index.d.ts +5 -6
  8. package/dist/cli/index.js +1 -17
  9. package/dist/index.d.ts +200 -182
  10. package/dist/index.js +1 -106
  11. package/dist/packem_shared/DEFAULT_OPTIONS-C7o6qjwP.js +1 -0
  12. package/dist/packem_shared/SpecBuilder-Vbq42UbW.js +1 -0
  13. package/dist/packem_shared/SwaggerCompilerPlugin-PUOALp2i.js +1 -0
  14. package/dist/packem_shared/constants-CdEv9ZcD.js +1 -0
  15. package/dist/packem_shared/customizer-BXFVpImq.js +1 -0
  16. package/dist/packem_shared/generateCommand-C_XPsbS6.js +5 -0
  17. package/dist/packem_shared/generateCommand-ClL9Mnc3.js +1 -0
  18. package/dist/packem_shared/initCommand-Ca1hGdYS.js +35 -0
  19. package/dist/packem_shared/initCommand-TixxsVQU.js +1 -0
  20. package/dist/packem_shared/jsDocumentCommentsToOpenApi-TjPhUj5G.js +1 -0
  21. package/dist/packem_shared/loadDefinition-7r9qpfuE.js +1 -0
  22. package/dist/packem_shared/parseFile-RDlR4tEF.js +1 -0
  23. package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-Bm9R1BnW.js +10 -0
  24. package/dist/packem_shared/validate-9Rwe2A3r.js +1 -0
  25. package/dist/packem_shared/yamlLoc-DPq-xUM4.js +1 -0
  26. package/package.json +38 -45
  27. package/dist/chunk-2T6HMUIL.mjs +0 -1215
  28. package/dist/chunk-2T6HMUIL.mjs.map +0 -1
  29. package/dist/chunk-PTFTJY7I.js +0 -1233
  30. package/dist/chunk-PTFTJY7I.js.map +0 -1
  31. package/dist/chunk-RGP6RTJO.mjs +0 -142
  32. package/dist/chunk-RGP6RTJO.mjs.map +0 -1
  33. package/dist/chunk-RVCK3H3U.js +0 -149
  34. package/dist/chunk-RVCK3H3U.js.map +0 -1
  35. package/dist/cli/commander/index.d.mts +0 -7
  36. package/dist/cli/commander/index.js.map +0 -1
  37. package/dist/cli/commander/index.mjs +0 -30
  38. package/dist/cli/commander/index.mjs.map +0 -1
  39. package/dist/cli/index.d.mts +0 -10
  40. package/dist/cli/index.js.map +0 -1
  41. package/dist/cli/index.mjs +0 -4
  42. package/dist/cli/index.mjs.map +0 -1
  43. package/dist/index.d.mts +0 -248
  44. package/dist/index.js.map +0 -1
  45. package/dist/index.mjs +0 -85
  46. package/dist/index.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,374 @@
1
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.41](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.40...@visulima/jsdoc-open-api@3.0.0-alpha.41) (2026-07-03)
2
+
3
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.40](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.39...@visulima/jsdoc-open-api@3.0.0-alpha.40) (2026-07-03)
4
+
5
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.39](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.38...@visulima/jsdoc-open-api@3.0.0-alpha.39) (2026-07-01)
6
+
7
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.38](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.37...@visulima/jsdoc-open-api@3.0.0-alpha.38) (2026-06-30)
8
+
9
+ ### ⚠ BREAKING CHANGES
10
+
11
+ * the listed packages no longer publish a CommonJS build —
12
+ consumers must use ESM (import) or dynamic import(). @visulima/connect,
13
+ @visulima/crud, @visulima/prisma-dmmf-transformer and @visulima/api-platform
14
+ are removed and deprecated.
15
+
16
+ Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17
+
18
+ ### Bug Fixes
19
+
20
+ * resolve eslint errors in fmt, jsdoc-open-api, vis ([43bf450](https://github.com/visulima/visulima/commit/43bf45081e46b042a08b555c3fcb60391b82d06f))
21
+ * **security:** resolve CodeQL alerts on alpha→main ([541e206](https://github.com/visulima/visulima/commit/541e206517b2f78532d19638c18be95ff97e48ae)), closes [#713](https://github.com/visulima/visulima/issues/713)
22
+
23
+ ### Styles
24
+
25
+ * cs fixes ([2a960bb](https://github.com/visulima/visulima/commit/2a960bb1772c9dc70080e2d75d3a0d827034e294))
26
+
27
+ ### Miscellaneous Chores
28
+
29
+ * add fallow code-intelligence across all packages ([a3b4821](https://github.com/visulima/visulima/commit/a3b48215002e86fed20f2973038b5d4a0aa1ce04))
30
+
31
+ ### Code Refactoring
32
+
33
+ * ship esm-only; remove deprecated api packages ([6e58351](https://github.com/visulima/visulima/commit/6e58351e73ac7d8f8ec88be4d77871e4de5d5405))
34
+
35
+ ### Build System
36
+
37
+ * emit .js instead of .mjs for esm output ([c8a6026](https://github.com/visulima/visulima/commit/c8a602665a59f0441a61a5a510cdfed9353101e6))
38
+
39
+ ### Continuous Integration
40
+
41
+ * **fallow:** make fallow:health advisory (--report-only) ([d57148e](https://github.com/visulima/visulima/commit/d57148ea0e3556b4c24d8d336b9fa14987f5dc7d))
42
+
43
+
44
+ ### Dependencies
45
+
46
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.33
47
+
48
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.37](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.36...@visulima/jsdoc-open-api@3.0.0-alpha.37) (2026-06-23)
49
+
50
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.36](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.35...@visulima/jsdoc-open-api@3.0.0-alpha.36) (2026-06-23)
51
+
52
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.35](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.34...@visulima/jsdoc-open-api@3.0.0-alpha.35) (2026-06-20)
53
+
54
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.34](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.33...@visulima/jsdoc-open-api@3.0.0-alpha.34) (2026-06-20)
55
+
56
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.33](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.32...@visulima/jsdoc-open-api@3.0.0-alpha.33) (2026-06-19)
57
+
58
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.32](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.31...@visulima/jsdoc-open-api@3.0.0-alpha.32) (2026-06-19)
59
+
60
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.31](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.30...@visulima/jsdoc-open-api@3.0.0-alpha.31) (2026-06-19)
61
+
62
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.30](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.29...@visulima/jsdoc-open-api@3.0.0-alpha.30) (2026-06-13)
63
+
64
+ ### Features
65
+
66
+ * **jsdoc-open-api:** harden merge, fix error paths, add yaml/stdout/watch output ([abd6a1a](https://github.com/visulima/visulima/commit/abd6a1ae6be8060515f8a61a1469b8ae652bf58a))
67
+
68
+ ### Bug Fixes
69
+
70
+ * **jsdoc-open-api:** use String.raw for mime-type backslash literal ([e55977d](https://github.com/visulima/visulima/commit/e55977d804ec2cb26b077f51bd2ce9cc6677d5ac))
71
+
72
+ ### Tests
73
+
74
+ * **jsdoc-open-api:** assert each file is parsed once ([b285496](https://github.com/visulima/visulima/commit/b28549623e984cc65a8c645a149406c546461e93))
75
+
76
+ ### Build System
77
+
78
+ * regenerate bundled-license manifests and types ordering ([af26588](https://github.com/visulima/visulima/commit/af26588d75aaa937fd4862800560bd4070a4878c))
79
+
80
+
81
+ ### Dependencies
82
+
83
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.32
84
+
85
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.29](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.28...@visulima/jsdoc-open-api@3.0.0-alpha.29) (2026-06-04)
86
+
87
+
88
+ ### Dependencies
89
+
90
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.31
91
+
92
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.28](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.27...@visulima/jsdoc-open-api@3.0.0-alpha.28) (2026-06-04)
93
+
94
+ ### Bug Fixes
95
+
96
+ * **jsdoc-open-api:** 3 bug fixes ([1336b87](https://github.com/visulima/visulima/commit/1336b870964f2645505efbf2720218ddb5aaa18d))
97
+
98
+
99
+ ### Dependencies
100
+
101
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.30
102
+
103
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.27](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.26...@visulima/jsdoc-open-api@3.0.0-alpha.27) (2026-06-02)
104
+
105
+ ### Miscellaneous Chores
106
+
107
+ * apply eslint + prettier autofixes across packages ([c1bb784](https://github.com/visulima/visulima/commit/c1bb7848a0d93d0dfe2960c77e3cda22239c79a0))
108
+
109
+ ### Tests
110
+
111
+ * improve coverage across packages ([91bd6d3](https://github.com/visulima/visulima/commit/91bd6d3b61736e3c8bd1fc59b0b5955f76a5d323))
112
+ * **jsdoc-open-api:** cover cli commands, webpack plugin errors, loaders, and swagger merge paths ([22cff56](https://github.com/visulima/visulima/commit/22cff56740cc473cad3ad45ab3749cfff8ff36d8))
113
+
114
+
115
+ ### Dependencies
116
+
117
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.29
118
+
119
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.26](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.25...@visulima/jsdoc-open-api@3.0.0-alpha.26) (2026-05-27)
120
+
121
+ ### Bug Fixes
122
+
123
+ * **storage-client:** percent-encode user fields in defaultFingerprint ([7c78a0f](https://github.com/visulima/visulima/commit/7c78a0f9512e2a673b941d80839e9f1e86b7b5d0))
124
+
125
+ ### Miscellaneous Chores
126
+
127
+ * sorted package.json ([b47c545](https://github.com/visulima/visulima/commit/b47c545591600fdab17d5cd3a3fbc68b61e199da))
128
+
129
+
130
+ ### Dependencies
131
+
132
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.28
133
+
134
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.25](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.24...@visulima/jsdoc-open-api@3.0.0-alpha.25) (2026-05-26)
135
+
136
+ ### Miscellaneous Chores
137
+
138
+ * **ci-stability:** green CI across vis, native, lint, tests, attw ([#651](https://github.com/visulima/visulima/issues/651)) ([d4eb684](https://github.com/visulima/visulima/commit/d4eb684b5f75c818c9251048c605a0ed54a268e3))
139
+ * **repo:** apply eslint --fix and prettier --fix across packages ([#650](https://github.com/visulima/visulima/issues/650)) ([2e26a84](https://github.com/visulima/visulima/commit/2e26a84774f218f21345e9a8ecd68236b6542743)), closes [#620](https://github.com/visulima/visulima/issues/620)
140
+ * **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
141
+
142
+ ### Tests
143
+
144
+ * **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
145
+ * **repo:** cover bin entry points in dist integration suite ([7479ef1](https://github.com/visulima/visulima/commit/7479ef113cf5ccef25692619082afb1b6a0eecab))
146
+
147
+
148
+ ### Dependencies
149
+
150
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.26
151
+
152
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.24](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.23...@visulima/jsdoc-open-api@3.0.0-alpha.24) (2026-05-20)
153
+
154
+
155
+ ### Dependencies
156
+
157
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.25
158
+
159
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.23](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.22...@visulima/jsdoc-open-api@3.0.0-alpha.23) (2026-05-19)
160
+
161
+
162
+ ### Dependencies
163
+
164
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.24
165
+
166
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.22](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.21...@visulima/jsdoc-open-api@3.0.0-alpha.22) (2026-05-16)
167
+
168
+
169
+ ### Dependencies
170
+
171
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.23
172
+
173
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.21](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.20...@visulima/jsdoc-open-api@3.0.0-alpha.21) (2026-05-14)
174
+
175
+ ### Miscellaneous Chores
176
+
177
+ * **jsdoc-open-api:** apply formatter sweep ([6852218](https://github.com/visulima/visulima/commit/6852218fe4d8099771d12499cba090d73034b3c3))
178
+
179
+
180
+ ### Dependencies
181
+
182
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.22
183
+
184
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.20](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.19...@visulima/jsdoc-open-api@3.0.0-alpha.20) (2026-05-11)
185
+
186
+
187
+ ### Dependencies
188
+
189
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.21
190
+
191
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.19](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.18...@visulima/jsdoc-open-api@3.0.0-alpha.19) (2026-05-11)
192
+
193
+
194
+ ### Dependencies
195
+
196
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.20
197
+
198
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.18](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.17...@visulima/jsdoc-open-api@3.0.0-alpha.18) (2026-05-10)
199
+
200
+
201
+ ### Dependencies
202
+
203
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.19
204
+
205
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.17](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.16...@visulima/jsdoc-open-api@3.0.0-alpha.17) (2026-05-10)
206
+
207
+
208
+ ### Dependencies
209
+
210
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.18
211
+
212
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.16](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.15...@visulima/jsdoc-open-api@3.0.0-alpha.16) (2026-05-07)
213
+
214
+
215
+ ### Dependencies
216
+
217
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.17
218
+
219
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.15](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.14...@visulima/jsdoc-open-api@3.0.0-alpha.15) (2026-05-07)
220
+
221
+
222
+ ### Dependencies
223
+
224
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.16
225
+
226
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.14](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.13...@visulima/jsdoc-open-api@3.0.0-alpha.14) (2026-05-06)
227
+
228
+
229
+ ### Dependencies
230
+
231
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.15
232
+
233
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.13](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.12...@visulima/jsdoc-open-api@3.0.0-alpha.13) (2026-05-06)
234
+
235
+ ### Miscellaneous Chores
236
+
237
+ * **jsdoc-open-api:** apply prettier and eslint quote-style auto-fix ([2e9b8d0](https://github.com/visulima/visulima/commit/2e9b8d0cdccaa94f22627e5e5f11153c71b689bd))
238
+ * **jsdoc-open-api:** housekeeping cleanup ([de52abe](https://github.com/visulima/visulima/commit/de52abea6d81abc06a8afc14c70ea2a5aabcd30e))
239
+
240
+
241
+ ### Dependencies
242
+
243
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.14
244
+
245
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.12](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.11...@visulima/jsdoc-open-api@3.0.0-alpha.12) (2026-05-04)
246
+
247
+ ### Miscellaneous Chores
248
+
249
+ * **jsdoc-open-api:** upgrade packem to 2.0.0-alpha.76 ([a3b3549](https://github.com/visulima/visulima/commit/a3b3549a68e22970a39904d2d654b65c6047d7cf))
250
+ * re-sort workspace package.json files via vis sort-package-json ([f625696](https://github.com/visulima/visulima/commit/f625696cfac974325774b3243e1a83c3d23acbd7))
251
+
252
+
253
+ ### Dependencies
254
+
255
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.13
256
+
257
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.11](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.10...@visulima/jsdoc-open-api@3.0.0-alpha.11) (2026-04-22)
258
+
259
+ ### Bug Fixes
260
+
261
+ * Remove JSR configuration generation script and generated jsr.json files ([#616](https://github.com/visulima/visulima/issues/616)) ([533744b](https://github.com/visulima/visulima/commit/533744b103b74896941db5b727173e617a27a63b))
262
+
263
+
264
+ ### Dependencies
265
+
266
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.12
267
+
268
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.9...@visulima/jsdoc-open-api@3.0.0-alpha.10) (2026-04-21)
269
+
270
+ ### Miscellaneous Chores
271
+
272
+ * jsr.json update and lock file ([73fce38](https://github.com/visulima/visulima/commit/73fce38c7cb4603f3fffb88609b1b18e2feb4937))
273
+
274
+
275
+ ### Dependencies
276
+
277
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.11
278
+
279
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.8...@visulima/jsdoc-open-api@3.0.0-alpha.9) (2026-04-21)
280
+
281
+ ### Miscellaneous Chores
282
+
283
+ * update the jsr.json ([864ab7e](https://github.com/visulima/visulima/commit/864ab7e71c4b5ae82f64792d1ae8debfea2c539b))
284
+
285
+
286
+ ### Dependencies
287
+
288
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.10
289
+
290
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.7...@visulima/jsdoc-open-api@3.0.0-alpha.8) (2026-04-21)
291
+
292
+ ### Bug Fixes
293
+
294
+ * **api:** resolve eslint and type-safety issues across api packages ([3601491](https://github.com/visulima/visulima/commit/3601491261de56b5cfad87c97daafd458e4ee3b6))
295
+ * **jsdoc-open-api:** drop redundant String() conversion in init-command ([1b2384e](https://github.com/visulima/visulima/commit/1b2384e917687beaf464e18e24595c7d4214c94e))
296
+ * **jsdoc-open-api:** relax type overrides for parser code, preserve JSON roundtrip for undefined stripping ([be896e2](https://github.com/visulima/visulima/commit/be896e2e724396bcb74fbbd3161d29213a9984d6))
297
+
298
+ ### Miscellaneous Chores
299
+
300
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
301
+ * fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
302
+ * **jsdoc-open-api:** apply formatter updates ([57231bd](https://github.com/visulima/visulima/commit/57231bd235fa16768802306aa6e906a4558c579c))
303
+ * **jsdoc-open-api:** apply pending lint and source updates ([0669fd3](https://github.com/visulima/visulima/commit/0669fd3d46ad0787ef6709cc8cad67b7ff7495f7))
304
+ * **jsdoc-open-api:** enforce curly braces and apply lint fixes ([606641f](https://github.com/visulima/visulima/commit/606641f7a29eaa5707ae27c57ed02a91adf950b5))
305
+
306
+
307
+ ### Dependencies
308
+
309
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.9
310
+
311
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.6...@visulima/jsdoc-open-api@3.0.0-alpha.7) (2026-04-08)
312
+
313
+ ### Miscellaneous Chores
314
+
315
+ * **jsdoc-open-api:** add tsconfig.eslint.json for type-aware linting ([dd9a888](https://github.com/visulima/visulima/commit/dd9a88810a864e5ef8ee9a1cdf3cf742a4549cb3))
316
+ * **jsdoc-open-api:** apply prettier formatting ([25dae1b](https://github.com/visulima/visulima/commit/25dae1bd4d911921c1926c0212751cf4179087aa))
317
+ * **jsdoc-open-api:** migrate .prettierrc.cjs to prettier.config.js ([cbe2931](https://github.com/visulima/visulima/commit/cbe2931b52a65fcb2e86960acdc31c8ebc3c9c74))
318
+
319
+
320
+ ### Dependencies
321
+
322
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.7
323
+
324
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.5...@visulima/jsdoc-open-api@3.0.0-alpha.6) (2026-03-26)
325
+
326
+ ### Features
327
+
328
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
329
+
330
+ ### Miscellaneous Chores
331
+
332
+ * update homepage URLs to visulima.com/packages/ format ([be42968](https://github.com/visulima/visulima/commit/be42968129df85fb074224435e33135ff44cab91))
333
+
334
+
335
+ ### Dependencies
336
+
337
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.6
338
+
339
+ ## @visulima/jsdoc-open-api [3.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.4...@visulima/jsdoc-open-api@3.0.0-alpha.5) (2026-03-26)
340
+
341
+ ### Bug Fixes
342
+
343
+ * **jsdoc-open-api:** use workspace:* for internal [@visulima](https://github.com/visulima) deps ([4f97e12](https://github.com/visulima/visulima/commit/4f97e125a8f84a5e8b9691b72e2f9c56c5d3a69b))
344
+ * **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
345
+
346
+ ### Documentation
347
+
348
+ * **cerebro,prisma-dmmf-transformer,jsdoc-open-api:** add comprehensive Fumadocs documentation ([891b308](https://github.com/visulima/visulima/commit/891b308a34bca2765a4a97ea450648d20d90e0cf))
349
+
350
+ ### Miscellaneous Chores
351
+
352
+ * **api:** remove empty peerDependencies and optionalDependencies ([85142fa](https://github.com/visulima/visulima/commit/85142fa76729c238a59ac48265b5e33e31183abb))
353
+ * **api:** update dependencies ([f3b6f7c](https://github.com/visulima/visulima/commit/f3b6f7c956e8ae2c0da67773b3790f159c07de29))
354
+ * **jsdoc-open-api:** migrate deps to pnpm catalogs ([9a673ca](https://github.com/visulima/visulima/commit/9a673ca0d8235d0ff28a6fe9b150cf2ee37e78a4))
355
+ * **jsdoc-open-api:** update dependencies ([5a1248f](https://github.com/visulima/visulima/commit/5a1248f8fa408fc81bb07a5bf9ce8430b89c1f57))
356
+ * **jsdoc-open-api:** update dependencies ([f5d2a31](https://github.com/visulima/visulima/commit/f5d2a31a8fd163c321915a779c661b758b3e6f73))
357
+ * **jsdoc-open-api:** update tests, docs, and source formatting ([9526ec8](https://github.com/visulima/visulima/commit/9526ec8ebb3e0e506d50b2f6035faf0cbcaca205))
358
+ * sorting package.json ([430ed68](https://github.com/visulima/visulima/commit/430ed683d3e38e4c5c5530f787ca832f083b17e4))
359
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
360
+ * visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
361
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
362
+
363
+ ### Code Refactoring
364
+
365
+ * **jsdoc-open-api:** replace read-pkg-up with @visulima/fs and migrate to packem ([be668e4](https://github.com/visulima/visulima/commit/be668e4dc21a3394bcdb22aecf416f9c27e08e0d))
366
+
367
+
368
+ ### Dependencies
369
+
370
+ * **@visulima/fs:** upgraded to 5.0.0-alpha.5
371
+
1
372
  ## @visulima/jsdoc-open-api [3.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/jsdoc-open-api@3.0.0-alpha.3...@visulima/jsdoc-open-api@3.0.0-alpha.4) (2026-01-17)
2
373
 
3
374
  ### Bug Fixes
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 visulima
3
+ Copyright (c) 2026 visulima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -24,4 +24,38 @@ SOFTWARE.
24
24
  <!-- /DEPENDENCIES -->
25
25
 
26
26
  <!-- TYPE_DEPENDENCIES -->
27
+
28
+ # Licenses of bundled types
29
+ The published @visulima/jsdoc-open-api artifact additionally contains code with the following licenses:
30
+ MIT
31
+
32
+ # Bundled types:
33
+ ## commander
34
+ License: MIT
35
+ By: TJ Holowaychuk
36
+ Repository: git+https://github.com/tj/commander.js.git
37
+
38
+ > (The MIT License)
39
+ >
40
+ > Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
41
+ >
42
+ > Permission is hereby granted, free of charge, to any person obtaining
43
+ > a copy of this software and associated documentation files (the
44
+ > 'Software'), to deal in the Software without restriction, including
45
+ > without limitation the rights to use, copy, modify, merge, publish,
46
+ > distribute, sublicense, and/or sell copies of the Software, and to
47
+ > permit persons to whom the Software is furnished to do so, subject to
48
+ > the following conditions:
49
+ >
50
+ > The above copyright notice and this permission notice shall be
51
+ > included in all copies or substantial portions of the Software.
52
+ >
53
+ > THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
54
+ > EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
55
+ > MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
56
+ > IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
57
+ > CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
58
+ > TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
59
+ > SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
60
+
27
61
  <!-- /TYPE_DEPENDENCIES -->
package/README.md CHANGED
@@ -134,11 +134,23 @@ jsdoc-open-api generate src/routes/**/*.js src/controllers/
134
134
  # Specify output file
135
135
  jsdoc-open-api generate -o ./public/swagger.json src/
136
136
 
137
+ # Emit YAML instead of JSON (format is inferred from the extension)
138
+ jsdoc-open-api generate -o ./openapi.yaml src/
139
+
140
+ # Write the spec to stdout (useful for piping into other tools)
141
+ jsdoc-open-api generate -o - src/
142
+
143
+ # Seed info/servers/components from a standalone base-definition file
144
+ jsdoc-open-api generate -d ./definition.yaml src/
145
+
146
+ # Re-generate automatically whenever a watched path changes
147
+ jsdoc-open-api generate --watch src/
148
+
137
149
  # Use verbose output
138
150
  jsdoc-open-api generate -v src/
139
151
 
140
152
  # Use very verbose output for debugging
141
- jsdoc-open-api generate -d src/
153
+ jsdoc-open-api generate --very-verbose src/
142
154
  ```
143
155
 
144
156
  ### `generate` Command Options:
@@ -149,54 +161,53 @@ jsdoc-open-api generate [options] [path ...]
149
161
 
150
162
  - `[path ...]` : Paths to files or directories to parse (optional, uses configuration if not provided).
151
163
  - `-c, --config [.openapirc.js]` : Specify the configuration file path. Defaults to `.openapirc.js`.
152
- - `-o, --output [swaggerSpec.json]` : Specify the output file for the OpenAPI specification. Defaults to `swaggerSpec.json`.
164
+ - `-d, --definition [definition.yaml]` : Base OpenAPI definition file (YAML or JSON) used to seed `info`/`servers`/`components`. The config's `swaggerDefinition` takes precedence over the file.
165
+ - `-o, --output [swaggerSpec.json]` : Specify the output file for the OpenAPI specification. Defaults to `swagger.json`. Use a `.yaml`/`.yml` extension to emit YAML, or `-` to write to stdout.
166
+ - `-w, --watch` : Re-generate the specification whenever one of the watched paths changes (press Ctrl+C to exit).
153
167
  - `-v, --verbose` : Enable verbose output during generation.
154
- - `-d, --very-verbose` : Enable _very_ verbose output for detailed debugging.
168
+ - `--very-verbose` : Enable _very_ verbose output for detailed debugging.
155
169
 
156
170
  ---
157
171
 
158
172
  ## Programmatic Usage
159
173
 
160
- You can integrate the generation process directly into your Node.js scripts.
174
+ You can assemble a specification directly in your Node.js scripts. The package
175
+ exposes the building blocks rather than a single all-in-one function:
176
+
177
+ - `SpecBuilder` — merges per-file results into a single OpenAPI document.
178
+ - `parseFile` / `parseFileMulti` — read a file and run one (or several) comment translators over it. `parseFileMulti` reads + parses the comments only once when you need both dialects.
179
+ - `jsDocumentCommentsToOpenApi` / `swaggerJsDocumentCommentsToOpenApi` — the two JSDoc dialect translators.
180
+ - `validate` — validate the assembled document with `@apidevtools/swagger-parser` (the same check the CLI runs).
181
+ - `loadDefinition` — load a standalone base-definition file (YAML or JSON).
161
182
 
162
183
  ```javascript
163
184
  import path from "node:path";
164
185
  import { fileURLToPath } from "node:url";
165
- import jsdocOpenApi from "@visulima/jsdoc-open-api"; // Adjust import based on your module system (require vs import)
166
186
 
167
- const __filename = fileURLToPath(import.meta.url);
168
- const __dirname = path.dirname(__filename);
187
+ import { SpecBuilder, parseFileMulti, jsDocumentCommentsToOpenApi, swaggerJsDocumentCommentsToOpenApi, validate } from "@visulima/jsdoc-open-api";
169
188
 
170
- const options = {
171
- definition: {
172
- openapi: "3.0.0",
173
- info: {
174
- title: "My Programmatic API",
175
- version: "1.0.0",
176
- description: "API documentation generated programmatically",
177
- },
178
- // Add other base OpenAPI definition properties here
189
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
190
+
191
+ const spec = new SpecBuilder({
192
+ openapi: "3.0.0",
193
+ info: {
194
+ title: "My Programmatic API",
195
+ version: "1.0.0",
196
+ description: "API documentation generated programmatically",
179
197
  },
180
- // Glob patterns pointing to your source files with JSDoc comments
181
- sources: [path.join(__dirname, "src/routes/**/*.js")],
182
- // Optional: Specify output path (defaults to 'swaggerSpec.json' in current dir)
183
- // output: path.join(__dirname, 'public/api-docs.json'),
184
- // Optional: Enable verbose logging
185
- // verbose: true,
186
- };
198
+ });
199
+
200
+ const translators = [jsDocumentCommentsToOpenApi, swaggerJsDocumentCommentsToOpenApi];
187
201
 
188
- async function generateDocs() {
189
- try {
190
- const specification = await jsdocOpenApi(options);
191
- console.log("OpenAPI specification generated successfully:");
192
- // The specification object is returned, and also written to the output file if specified.
193
- // console.log(JSON.stringify(specification, null, 2));
194
- } catch (error) {
195
- console.error("Error generating OpenAPI specification:", error);
196
- }
202
+ // Feed each source file through both dialects (single read + single comment parse).
203
+ for (const file of [path.join(__dirname, "src/routes/users.js")]) {
204
+ spec.addData(parseFileMulti(file, translators).map((entry) => entry.spec));
197
205
  }
198
206
 
199
- generateDocs();
207
+ // Re-use the exact validation the CLI performs.
208
+ await validate(structuredClone(spec));
209
+
210
+ console.log(JSON.stringify(spec, null, 2));
200
211
  ```
201
212
 
202
213
  ---
package/bin/index.js CHANGED
@@ -1,24 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { exit } = require("node:process");
4
- // eslint-disable-next-line import/no-extraneous-dependencies
5
- const { Command } = require("commander");
3
+ import { readFileSync } from "node:fs";
4
+ import { argv, exit } from "node:process";
5
+ import { fileURLToPath } from "node:url";
6
6
 
7
- const { generateCommand, initCommand } = require("../dist/cli/commander");
7
+ // eslint-disable-next-line import/no-extraneous-dependencies -- commander is an optional CLI dependency; the bin only runs when a consumer has installed it
8
+ import { Command } from "commander";
8
9
 
9
- // eslint-disable-next-line no-underscore-dangle
10
- const package_ = require("../package.json");
10
+ // eslint-disable-next-line antfu/no-import-dist -- bin entry point loads the built ESM dist after build
11
+ import { generateCommand, initCommand } from "../dist/cli/commander/index.js";
12
+
13
+ const { version } = JSON.parse(readFileSync(fileURLToPath(new URL("../package.json", import.meta.url)), "utf8"));
11
14
 
12
15
  const program = new Command();
13
16
 
14
- program.name("@visulima/jsdoc-open-api").description("CLI to generate OpenAPI (Swagger) documentation from JSDoc's").version(package_.version);
17
+ program.name("@visulima/jsdoc-open-api").description("CLI to generate OpenAPI (Swagger) documentation from JSDoc's").version(version);
15
18
 
16
19
  initCommand(program);
17
20
  generateCommand(program);
18
21
 
19
- program.parse(process.argv);
22
+ program.parse(argv);
20
23
 
21
- if (process.argv.slice(2).length === 0) {
24
+ if (argv.slice(2).length === 0) {
22
25
  program.help();
23
26
  exit(1);
24
27
  }