@visulima/jsdoc-open-api 3.0.0-alpha.23 → 3.0.0-alpha.25
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.
- package/CHANGELOG.md +25 -0
- package/bin/index.js +1 -1
- package/dist/cli/commander/index.cjs +1 -1
- package/dist/cli/commander/index.mjs +1 -1
- package/dist/cli/index.cjs +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/packem_shared/{SwaggerCompilerPlugin-lwIg0m84.cjs → SwaggerCompilerPlugin-CQiTDSm2.cjs} +1 -1
- package/dist/packem_shared/{SwaggerCompilerPlugin-CLoD91_H.mjs → SwaggerCompilerPlugin-CTiomx-N.mjs} +1 -1
- package/dist/packem_shared/{generateCommand-DPOEw62Z.cjs → generateCommand-BtCK1O88.cjs} +1 -1
- package/dist/packem_shared/{generateCommand-DLJ2Ac1D.mjs → generateCommand-CRR2nmxN.mjs} +3 -3
- package/dist/packem_shared/{generateCommand-Bn19mSDL.mjs → generateCommand-DWXSUZxZ.mjs} +1 -1
- package/dist/packem_shared/{generateCommand-BQuj1FCe.cjs → generateCommand-IDN6r1fR.cjs} +1 -1
- package/dist/packem_shared/jsDocumentCommentsToOpenApi-C9inxd9m.mjs +1 -0
- package/dist/packem_shared/jsDocumentCommentsToOpenApi-D859Nr79.cjs +1 -0
- package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-CPuUxW0D.cjs +10 -0
- package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-Dy8pOPTp.mjs +10 -0
- package/package.json +42 -42
- package/dist/packem_shared/jsDocumentCommentsToOpenApi-Bvfi25DQ.mjs +0 -1
- package/dist/packem_shared/jsDocumentCommentsToOpenApi-DBYlHL5i.cjs +0 -1
- package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-Bo1geBuG.cjs +0 -10
- package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-xKOqHvN2.mjs +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
## @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)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* **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))
|
|
6
|
+
* **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)
|
|
7
|
+
* **repo:** sort package.json keys across all packages ([e1fd9ab](https://github.com/visulima/visulima/commit/e1fd9ab467ef96a98c777da1572ff6a50fcf7e71))
|
|
8
|
+
|
|
9
|
+
### Tests
|
|
10
|
+
|
|
11
|
+
* **repo:** add dist runtime + types integration tests ([32ee300](https://github.com/visulima/visulima/commit/32ee300b7184117a0ddf9f9d390f75f8932d5ed9))
|
|
12
|
+
* **repo:** cover bin entry points in dist integration suite ([7479ef1](https://github.com/visulima/visulima/commit/7479ef113cf5ccef25692619082afb1b6a0eecab))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Dependencies
|
|
16
|
+
|
|
17
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.26
|
|
18
|
+
|
|
19
|
+
## @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)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Dependencies
|
|
23
|
+
|
|
24
|
+
* **@visulima/fs:** upgraded to 5.0.0-alpha.25
|
|
25
|
+
|
|
1
26
|
## @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)
|
|
2
27
|
|
|
3
28
|
|
package/bin/index.js
CHANGED
|
@@ -4,7 +4,7 @@ const { exit } = require("node:process");
|
|
|
4
4
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
5
5
|
const { Command } = require("commander");
|
|
6
6
|
|
|
7
|
-
const { generateCommand, initCommand } = require("../dist/cli/commander");
|
|
7
|
+
const { generateCommand, initCommand } = require("../dist/cli/commander/index.cjs");
|
|
8
8
|
|
|
9
9
|
// eslint-disable-next-line no-underscore-dangle
|
|
10
10
|
const package_ = require("../package.json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../packem_shared/generateCommand-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../packem_shared/generateCommand-IDN6r1fR.cjs"),t=require("../../packem_shared/initCommand-DAcI_ilX.cjs");exports.generateCommand=e;exports.initCommand=t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as m}from"../../packem_shared/generateCommand-
|
|
1
|
+
import{default as m}from"../../packem_shared/generateCommand-DWXSUZxZ.mjs";import{default as t}from"../../packem_shared/initCommand-Bm4veOwd.mjs";export{m as generateCommand,t as initCommand};
|
package/dist/cli/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../packem_shared/generateCommand-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../packem_shared/generateCommand-BtCK1O88.cjs"),t=require("../packem_shared/initCommand-CiV7G3q4.cjs");exports.generateCommand=e;exports.initCommand=t;
|
package/dist/cli/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as m}from"../packem_shared/generateCommand-
|
|
1
|
+
import{default as m}from"../packem_shared/generateCommand-CRR2nmxN.mjs";import{default as t}from"../packem_shared/initCommand-CwoPwelm.mjs";export{m as generateCommand,t as initCommand};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./packem_shared/jsDocumentCommentsToOpenApi-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./packem_shared/jsDocumentCommentsToOpenApi-D859Nr79.cjs"),r=require("./packem_shared/parseFile-C7tyTcIn.cjs"),i=require("./packem_shared/SpecBuilder-CR4EZk93.cjs"),o=require("./packem_shared/swaggerJsDocumentCommentsToOpenApi-CPuUxW0D.cjs"),u=require("./packem_shared/yamlLoc-DyGcp8YC.cjs"),m=require("./packem_shared/SwaggerCompilerPlugin-CQiTDSm2.cjs");exports.jsDocumentCommentsToOpenApi=e;exports.parseFile=r;exports.SpecBuilder=i;exports.swaggerJsDocumentCommentsToOpenApi=o;exports.yamlLoc=u;exports.SwaggerCompilerPlugin=m;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as r}from"./packem_shared/jsDocumentCommentsToOpenApi-
|
|
1
|
+
import{default as r}from"./packem_shared/jsDocumentCommentsToOpenApi-C9inxd9m.mjs";import{default as t}from"./packem_shared/parseFile-CtAVjmPd.mjs";import{default as p}from"./packem_shared/SpecBuilder-DjnDJFpv.mjs";import{default as s}from"./packem_shared/swaggerJsDocumentCommentsToOpenApi-Dy8pOPTp.mjs";import{default as u}from"./packem_shared/yamlLoc-C2tVIYaz.mjs";import{default as n}from"./packem_shared/SwaggerCompilerPlugin-CTiomx-N.mjs";export{p as SpecBuilder,n as SwaggerCompilerPlugin,r as jsDocumentCommentsToOpenApi,t as parseFile,s as swaggerJsDocumentCommentsToOpenApi,u as yamlLoc};
|
package/dist/packem_shared/{SwaggerCompilerPlugin-lwIg0m84.cjs → SwaggerCompilerPlugin-CQiTDSm2.cjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var y=Object.defineProperty;var g=(e,s)=>y(e,"name",{value:s,configurable:!0});const p=require("node:fs"),q=require("node:path"),u=require("node:process"),D=require("@visulima/fs"),m=require("./validate-tZa-jyuN.cjs"),P=require("./jsDocumentCommentsToOpenApi-
|
|
1
|
+
"use strict";var y=Object.defineProperty;var g=(e,s)=>y(e,"name",{value:s,configurable:!0});const p=require("node:fs"),q=require("node:path"),u=require("node:process"),D=require("@visulima/fs"),m=require("./validate-tZa-jyuN.cjs"),P=require("./jsDocumentCommentsToOpenApi-D859Nr79.cjs"),f=require("./parseFile-C7tyTcIn.cjs"),S=require("./SpecBuilder-CR4EZk93.cjs"),x=require("./swaggerJsDocumentCommentsToOpenApi-CPuUxW0D.cjs");var j=Object.defineProperty,w=g((e,s)=>j(e,"name",{value:s,configurable:!0}),"g");const v=w(e=>{e&&(console.error(e),u.exit(1))},"errorHandler");class O{static{g(this,"E")}static{w(this,"SwaggerCompilerPlugin")}assetsPath;ignore;sources;swaggerDefinition;verbose;constructor(s,t,h,i){this.assetsPath=s,this.swaggerDefinition=h,this.sources=t,this.verbose=i.verbose??!1,this.ignore=i.ignore??[]}apply(s){const t=new Set([...m.D,...this.ignore]);s.hooks.make.tapAsync("SwaggerCompilerPlugin",async(h,i)=>{console.log("Build paused, switching to swagger build");const r=new S(this.swaggerDefinition);for(const o of this.sources){const n=await D.collect(o,{extensions:[".js",".cjs",".mjs",".ts",".tsx",".jsx",".yaml",".yml"],includeDirs:!1,skip:[...t]});this.verbose&&(console.log(`Found ${String(n.length)} files in ${o}`),console.log(n)),n.forEach(a=>{this.verbose&&console.log(`Parsing file ${a}`);try{const c=f(a,P,this.verbose);r.addData(c.map(l=>l.spec));const b=f(a,x,this.verbose);r.addData(b.map(l=>l.spec))}catch(c){console.error(c),u.exit(1)}})}try{this.verbose&&(console.log("Validating swagger spec"),console.log(JSON.stringify(r,void 0,2))),await m.r(structuredClone(r))}catch(o){console.error(o.toJSON()),u.exit(1)}const{assetsPath:d}=this;p.mkdir(q.dirname(d),{recursive:!0},o=>{o&&v(o),p.writeFile(d,JSON.stringify(r,void 0,2),v)}),this.verbose&&console.log(`Written swagger spec to "${this.assetsPath}" file`),console.log("switching back to normal build"),i()})}}module.exports=O;
|
package/dist/packem_shared/{SwaggerCompilerPlugin-CLoD91_H.mjs → SwaggerCompilerPlugin-CTiomx-N.mjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
var v=Object.defineProperty;var g=(s,o)=>v(s,"name",{value:o,configurable:!0});import{mkdir as w,writeFile as y}from"node:fs";import{dirname as D}from"node:path";import{exit as m}from"node:process";import{collect as P}from"@visulima/fs";import{r as S,D as
|
|
1
|
+
var v=Object.defineProperty;var g=(s,o)=>v(s,"name",{value:o,configurable:!0});import{mkdir as w,writeFile as y}from"node:fs";import{dirname as D}from"node:path";import{exit as m}from"node:process";import{collect as P}from"@visulima/fs";import{r as S,D as j}from"./validate-_k84qawx.mjs";import $ from"./jsDocumentCommentsToOpenApi-C9inxd9m.mjs";import p from"./parseFile-CtAVjmPd.mjs";import k from"./SpecBuilder-DjnDJFpv.mjs";import x from"./swaggerJsDocumentCommentsToOpenApi-Dy8pOPTp.mjs";var E=Object.defineProperty,d=g((s,o)=>E(s,"name",{value:o,configurable:!0}),"g");const u=d(s=>{s&&(console.error(s),m(1))},"errorHandler");class T{static{g(this,"E")}static{d(this,"SwaggerCompilerPlugin")}assetsPath;ignore;sources;swaggerDefinition;verbose;constructor(o,i,h,r){this.assetsPath=o,this.swaggerDefinition=h,this.sources=i,this.verbose=r.verbose??!1,this.ignore=r.ignore??[]}apply(o){const i=new Set([...j,...this.ignore]);o.hooks.make.tapAsync("SwaggerCompilerPlugin",async(h,r)=>{console.log("Build paused, switching to swagger build");const t=new k(this.swaggerDefinition);for(const e of this.sources){const n=await P(e,{extensions:[".js",".cjs",".mjs",".ts",".tsx",".jsx",".yaml",".yml"],includeDirs:!1,skip:[...i]});this.verbose&&(console.log(`Found ${String(n.length)} files in ${e}`),console.log(n)),n.forEach(a=>{this.verbose&&console.log(`Parsing file ${a}`);try{const l=p(a,$,this.verbose);t.addData(l.map(c=>c.spec));const b=p(a,x,this.verbose);t.addData(b.map(c=>c.spec))}catch(l){console.error(l),m(1)}})}try{this.verbose&&(console.log("Validating swagger spec"),console.log(JSON.stringify(t,void 0,2))),await S(structuredClone(t))}catch(e){console.error(e.toJSON()),m(1)}const{assetsPath:f}=this;w(D(f),{recursive:!0},e=>{e&&u(e),y(f,JSON.stringify(t,void 0,2),u)}),this.verbose&&console.log(`Written swagger spec to "${this.assetsPath}" file`),console.log("switching back to normal build"),r()})}}export{T as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var j=Object.defineProperty;var m=(s,t)=>j(s,"name",{value:t,configurable:!0});const l=require("node:fs/promises"),d=require("node:path"),S=require("node:url"),D=require("@visulima/fs"),p=require("cli-progress"),w=require("./validate-tZa-jyuN.cjs"),x=require("./jsDocumentCommentsToOpenApi-
|
|
1
|
+
"use strict";var j=Object.defineProperty;var m=(s,t)=>j(s,"name",{value:t,configurable:!0});const l=require("node:fs/promises"),d=require("node:path"),S=require("node:url"),D=require("@visulima/fs"),p=require("cli-progress"),w=require("./validate-tZa-jyuN.cjs"),x=require("./jsDocumentCommentsToOpenApi-D859Nr79.cjs"),v=require("./parseFile-C7tyTcIn.cjs"),C=require("./SpecBuilder-CR4EZk93.cjs"),O=require("./swaggerJsDocumentCommentsToOpenApi-CPuUxW0D.cjs");var $=Object.defineProperty,k=m((s,t)=>$(s,"name",{value:t,configurable:!0}),"g");const F=k(async(s,t,e)=>{let o;try{let r=await import(S.pathToFileURL(d.normalize(e.config??s)).href);r?.default&&(r=r.default),o=r}catch{throw new Error(`No config file found, on: ${e.config??".openapirc.js"}
|
|
2
2
|
`)}const f=new p.MultiBar({clearOnComplete:!1,format:"{value}/{total} | {bar} | {filename}",hideCursor:!0},p.Presets.shades_grey),i=new C(o.swaggerDefinition),y=new Set([...w.D,...o.exclude]);for(const r of t){(await l.lstat(r)).isDirectory();const c=await l.realpath(r),n=await D.collect(c,{extensions:o.extensions??[".js",".cjs",".mjs",".ts",".tsx",".jsx",".yaml",".yml"],followSymlinks:o.followSymlinks??!1,match:o.include,skip:[...y]});(e.verbose??e.veryVerbose)&&console.log(`
|
|
3
3
|
Found ${String(n.length)} files in ${c}`),e.veryVerbose&&console.log(n);const b=f.create(n.length,0);n.forEach(u=>{e.verbose&&console.log(`Parsing file ${u}`),b.increment(1,{filename:c});const h=v(u,x,e.verbose);i.addData(h.map(g=>g.spec));const q=v(u,O,e.verbose);i.addData(q.map(g=>g.spec))})}e.verbose&&console.log("Validating swagger spec"),e.veryVerbose&&console.log(JSON.stringify(i,void 0,2)),await w.r(structuredClone(i));const a=e.output??"swagger.json";f.stop(),e.verbose&&console.log(`Written swagger spec to "${a}" file`),await l.mkdir(d.dirname(a),{recursive:!0}),await l.writeFile(a,JSON.stringify(i,void 0,2)),console.log(`
|
|
4
4
|
Swagger specification is ready, check the "${a}" file.`)},"generateCommand");module.exports=F;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var y=Object.defineProperty;var g=(t,i)=>y(t,"name",{value:i,configurable:!0});import{lstat as b,realpath as h,mkdir as $,writeFile as j}from"node:fs/promises";import{normalize as D,dirname as S}from"node:path";import{pathToFileURL as x}from"node:url";import{collect as k}from"@visulima/fs";import{MultiBar as C,Presets as E}from"cli-progress";import{r as F,D as O}from"./validate-_k84qawx.mjs";import
|
|
2
|
-
`)}const f=new C({clearOnComplete:!1,format:"{value}/{total} | {bar} | {filename}",hideCursor:!0},E.shades_grey),a=new
|
|
3
|
-
Found ${String(n.length)} files in ${l}`),e.veryVerbose&&console.log(n);const u=f.create(n.length,0);n.forEach(c=>{e.verbose&&console.log(`Parsing file ${c}`),u.increment(1,{filename:l});const w=p(c,
|
|
1
|
+
var y=Object.defineProperty;var g=(t,i)=>y(t,"name",{value:i,configurable:!0});import{lstat as b,realpath as h,mkdir as $,writeFile as j}from"node:fs/promises";import{normalize as D,dirname as S}from"node:path";import{pathToFileURL as x}from"node:url";import{collect as k}from"@visulima/fs";import{MultiBar as C,Presets as E}from"cli-progress";import{r as F,D as O}from"./validate-_k84qawx.mjs";import V from"./jsDocumentCommentsToOpenApi-C9inxd9m.mjs";import p from"./parseFile-CtAVjmPd.mjs";import L from"./SpecBuilder-DjnDJFpv.mjs";import N from"./swaggerJsDocumentCommentsToOpenApi-Dy8pOPTp.mjs";var P=Object.defineProperty,U=g((t,i)=>P(t,"name",{value:i,configurable:!0}),"g");const G=U(async(t,i,e)=>{let r;try{let o=await import(x(D(e.config??t)).href);o?.default&&(o=o.default),r=o}catch{throw new Error(`No config file found, on: ${e.config??".openapirc.js"}
|
|
2
|
+
`)}const f=new C({clearOnComplete:!1,format:"{value}/{total} | {bar} | {filename}",hideCursor:!0},E.shades_grey),a=new L(r.swaggerDefinition),d=new Set([...O,...r.exclude]);for(const o of i){(await b(o)).isDirectory();const l=await h(o),n=await k(l,{extensions:r.extensions??[".js",".cjs",".mjs",".ts",".tsx",".jsx",".yaml",".yml"],followSymlinks:r.followSymlinks??!1,match:r.include,skip:[...d]});(e.verbose??e.veryVerbose)&&console.log(`
|
|
3
|
+
Found ${String(n.length)} files in ${l}`),e.veryVerbose&&console.log(n);const u=f.create(n.length,0);n.forEach(c=>{e.verbose&&console.log(`Parsing file ${c}`),u.increment(1,{filename:l});const w=p(c,V,e.verbose);a.addData(w.map(m=>m.spec));const v=p(c,N,e.verbose);a.addData(v.map(m=>m.spec))})}e.verbose&&console.log("Validating swagger spec"),e.veryVerbose&&console.log(JSON.stringify(a,void 0,2)),await F(structuredClone(a));const s=e.output??"swagger.json";f.stop(),e.verbose&&console.log(`Written swagger spec to "${s}" file`),await $(S(s),{recursive:!0}),await j(s,JSON.stringify(a,void 0,2)),console.log(`
|
|
4
4
|
Swagger specification is ready, check the "${s}" file.`)},"generateCommand");export{G as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var p=Object.defineProperty;var t=(e,o)=>p(e,"name",{value:o,configurable:!0});import{exit as s}from"node:process";import c from"./generateCommand-
|
|
1
|
+
var p=Object.defineProperty;var t=(e,o)=>p(e,"name",{value:o,configurable:!0});import{exit as s}from"node:process";import c from"./generateCommand-CRR2nmxN.mjs";var u=Object.defineProperty,g=t((e,o)=>u(e,"name",{value:o,configurable:!0}),"t");const v=g((e,o="generate",r=".openapirc.js")=>{e.command(o).description("Generates OpenAPI (Swagger) documentation from JSDoc's").usage("[options] <path ...>").argument("[path ...]","Paths to files or directories to parse").option("-c, --config [.openapirc.js]","@visulima/jsdoc-open-api config file path.").option("-o, --output [swaggerSpec.json]","Output swagger specification.").option("-v, --verbose","Verbose output.").option("-d, --very-verbose","Very verbose output.").action(async(a,i)=>{try{await c(r,a,i)}catch(n){console.error(n),s(1)}})},"generateCommand");export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var t=(e,o)=>s(e,"name",{value:o,configurable:!0});const p=require("node:process"),c=require("./generateCommand-
|
|
1
|
+
"use strict";var s=Object.defineProperty;var t=(e,o)=>s(e,"name",{value:o,configurable:!0});const p=require("node:process"),c=require("./generateCommand-BtCK1O88.cjs");var u=Object.defineProperty,g=t((e,o)=>u(e,"name",{value:o,configurable:!0}),"t");const m=g((e,o="generate",r=".openapirc.js")=>{e.command(o).description("Generates OpenAPI (Swagger) documentation from JSDoc's").usage("[options] <path ...>").argument("[path ...]","Paths to files or directories to parse").option("-c, --config [.openapirc.js]","@visulima/jsdoc-open-api config file path.").option("-o, --output [swaggerSpec.json]","Output swagger specification.").option("-v, --verbose","Verbose output.").option("-d, --very-verbose","Very verbose output.").action(async(a,n)=>{try{await c(r,a,n)}catch(i){console.error(i),p.exit(1)}})},"generateCommand");module.exports=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var l=Object.defineProperty;var u=(s,n)=>l(s,"name",{value:n,configurable:!0});import{parse as y}from"comment-parser";import{mergeWith as f}from"es-toolkit";import{o as b}from"./customizer-COfd-Xr1.mjs";var g=Object.defineProperty,m=u((s,n)=>g(s,"name",{value:n,configurable:!0}),"p");const $=/\[\]$/,h=/^- /u,T=/Param$/u,w=/^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \/.*$/,k=m(s=>{s.security&&(s.security=Object.keys(s.security).map(n=>({[n]:s.security[n]})))},"fixSecurityObject"),q=new Set(["array","boolean","integer","number","object","string"]),d={binary:"string",byte:"string",date:"string","date-time":"string",double:"number",float:"number",int32:"integer",int64:"integer",password:"string"},O=m(s=>{const n=s.type,a=n.endsWith("[]"),e=n.replace($,""),c=q.has(e),t=Object.keys(d).includes(e);let r;if(s.default)switch(e){case"double":case"float":case"number":{r=Number.parseFloat(s.default);break}case"int32":case"int64":case"integer":{r=Number.parseInt(s.default,10);break}default:{r=s.default;break}}let o;c?o={default:r,type:e}:t?o={default:r,format:e,type:d[e]}:o={$ref:`#/components/schemas/${e}`};let p=a?{items:{...o},type:"array"}:{...o};e===""&&(p=void 0);let i=s.description.trim().replace(h,"");return i===""&&(i=void 0),{description:i,name:s.name,rawType:n,required:!s.optional,schema:p}},"parseDescription"),P=m((s,n)=>s.map(a=>{const e=O(a);let c="";switch(e.name&&(c+=e.name),e.description&&(c+=` ${e.description.trim()}`),a.tag){case"bodyComponent":return{requestBody:{$ref:`#/components/requestBodies/${e.rawType}`}};case"bodyContent":return{requestBody:{content:{[e.name.replace(String.raw`*\/*`,"*/*")]:{schema:e.schema}}}};case"bodyDescription":return{requestBody:{description:c}};case"bodyExample":{const[t,r]=e.name.split(".");return{requestBody:{content:{[t]:{examples:{[r]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}case"bodyRequired":return{requestBody:{required:!0}};case"callback":return{callbacks:{[e.name]:{$ref:`#/components/callbacks/${e.rawType}`}}};case"cookieParam":case"headerParam":case"pathParam":case"queryParam":return{parameters:[{description:e.description,in:a.tag.replace(T,""),name:e.name,required:e.required,schema:e.schema}]};case"deprecated":return{deprecated:!0};case"description":case"operationId":case"summary":return{[a.tag]:c};case"externalDocs":return{externalDocs:{description:e.description,url:e.name}};case"paramComponent":return{parameters:[{$ref:`#/components/parameters/${e.rawType}`}]};case"response":return{responses:{[e.name]:{description:e.description}}};case"responseComponent":return{responses:{[e.name]:{$ref:`#/components/responses/${e.rawType}`}}};case"responseContent":{const[t,r]=e.name.split(".");return{responses:{[t]:{content:{[r]:{schema:e.schema}}}}}}case"responseExample":{const[t,r,o]=e.name.split(".");return{responses:{[t]:{content:{[r]:{examples:{[o]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}}case"responseHeader":{const[t,r]=e.name.split(".");return{responses:{[t]:{headers:{[r]:{description:e.description,schema:e.schema}}}}}}case"responseHeaderComponent":{const[t,r]=e.name.split(".");return{responses:{[t]:{headers:{[r]:{$ref:`#/components/headers/${e.rawType}`}}}}}}case"responseLink":{const[t,r]=e.name.split(".");return{responses:{[t]:{links:{[r]:{$ref:`#/components/links/${e.rawType}`}}}}}}case"security":{const[t,r]=e.name.split(".");let o=[];return r&&(o=[r]),{security:{[t]:o}}}case"server":return{servers:[{description:e.description,url:e.name}]};case"tag":return{tags:[c]};default:return{}}}),"tagsToObjects"),j=m((s,n)=>y(s,{spacing:"preserve"}).filter(a=>w.test(a.description.trim())).map(a=>{const e=a.tags.length+1,c={};for(const i of P(a.tags,n))f(c,i,b);k(c);const[t,r]=a.description.split(" "),o={[r.trim()]:{[t.toLowerCase().trim()]:{...c}}},p=JSON.parse(JSON.stringify({paths:o}));return{loc:e,spec:p}}),"commentsToOpenApi");export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var l=Object.defineProperty;var u=(r,n)=>l(r,"name",{value:n,configurable:!0});const y=require("comment-parser"),b=require("es-toolkit"),f=require("./customizer-DUz3nxAJ.cjs");var g=Object.defineProperty,m=u((r,n)=>g(r,"name",{value:n,configurable:!0}),"p");const h=/\[\]$/,$=/^- /u,T=/Param$/u,w=/^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \/.*$/,q=m(r=>{r.security&&(r.security=Object.keys(r.security).map(n=>({[n]:r.security[n]})))},"fixSecurityObject"),k=new Set(["array","boolean","integer","number","object","string"]),d={binary:"string",byte:"string",date:"string","date-time":"string",double:"number",float:"number",int32:"integer",int64:"integer",password:"string"},O=m(r=>{const n=r.type,a=n.endsWith("[]"),e=n.replace(h,""),c=k.has(e),t=Object.keys(d).includes(e);let s;if(r.default)switch(e){case"double":case"float":case"number":{s=Number.parseFloat(r.default);break}case"int32":case"int64":case"integer":{s=Number.parseInt(r.default,10);break}default:{s=r.default;break}}let o;c?o={default:s,type:e}:t?o={default:s,format:e,type:d[e]}:o={$ref:`#/components/schemas/${e}`};let p=a?{items:{...o},type:"array"}:{...o};e===""&&(p=void 0);let i=r.description.trim().replace($,"");return i===""&&(i=void 0),{description:i,name:r.name,rawType:n,required:!r.optional,schema:p}},"parseDescription"),P=m((r,n)=>r.map(a=>{const e=O(a);let c="";switch(e.name&&(c+=e.name),e.description&&(c+=` ${e.description.trim()}`),a.tag){case"bodyComponent":return{requestBody:{$ref:`#/components/requestBodies/${e.rawType}`}};case"bodyContent":return{requestBody:{content:{[e.name.replace(String.raw`*\/*`,"*/*")]:{schema:e.schema}}}};case"bodyDescription":return{requestBody:{description:c}};case"bodyExample":{const[t,s]=e.name.split(".");return{requestBody:{content:{[t]:{examples:{[s]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}case"bodyRequired":return{requestBody:{required:!0}};case"callback":return{callbacks:{[e.name]:{$ref:`#/components/callbacks/${e.rawType}`}}};case"cookieParam":case"headerParam":case"pathParam":case"queryParam":return{parameters:[{description:e.description,in:a.tag.replace(T,""),name:e.name,required:e.required,schema:e.schema}]};case"deprecated":return{deprecated:!0};case"description":case"operationId":case"summary":return{[a.tag]:c};case"externalDocs":return{externalDocs:{description:e.description,url:e.name}};case"paramComponent":return{parameters:[{$ref:`#/components/parameters/${e.rawType}`}]};case"response":return{responses:{[e.name]:{description:e.description}}};case"responseComponent":return{responses:{[e.name]:{$ref:`#/components/responses/${e.rawType}`}}};case"responseContent":{const[t,s]=e.name.split(".");return{responses:{[t]:{content:{[s]:{schema:e.schema}}}}}}case"responseExample":{const[t,s,o]=e.name.split(".");return{responses:{[t]:{content:{[s]:{examples:{[o]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}}case"responseHeader":{const[t,s]=e.name.split(".");return{responses:{[t]:{headers:{[s]:{description:e.description,schema:e.schema}}}}}}case"responseHeaderComponent":{const[t,s]=e.name.split(".");return{responses:{[t]:{headers:{[s]:{$ref:`#/components/headers/${e.rawType}`}}}}}}case"responseLink":{const[t,s]=e.name.split(".");return{responses:{[t]:{links:{[s]:{$ref:`#/components/links/${e.rawType}`}}}}}}case"security":{const[t,s]=e.name.split(".");let o=[];return s&&(o=[s]),{security:{[t]:o}}}case"server":return{servers:[{description:e.description,url:e.name}]};case"tag":return{tags:[c]};default:return{}}}),"tagsToObjects"),x=m((r,n)=>y.parse(r,{spacing:"preserve"}).filter(a=>w.test(a.description.trim())).map(a=>{const e=a.tags.length+1,c={};for(const i of P(a.tags,n))b.mergeWith(c,i,f.o);q(c);const[t,s]=a.description.split(" "),o={[s.trim()]:{[t.toLowerCase().trim()]:{...c}}},p=JSON.parse(JSON.stringify({paths:o}));return{loc:e,spec:p}}),"commentsToOpenApi");module.exports=x;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";var d=Object.defineProperty;var p=(e,t)=>d(e,"name",{value:t,configurable:!0});const v=require("comment-parser"),u=require("es-toolkit"),b=require("yaml"),O=require("./customizer-DUz3nxAJ.cjs"),j=p(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),S=j(b);var w=Object.defineProperty,g=p((e,t)=>w(e,"name",{value:t,configurable:!0}),"n$1");const f=g((e,t)=>{if(t===null)return e},"ignoreNullCustomizer"),h=g((e,t)=>{const r=u.mergeWith({},e??{},f);return u.mergeWith(r,t??{},f)},"mergeDeep"),E=g(e=>Object.keys(e).map(t=>e[t]).every(t=>typeof t=="object"&&Object.keys(t).every(r=>!(r in t))),"hasEmptyProperty"),l=g((e,t)=>t.some(r=>e.name===r.name),"isTagPresentInTags"),W=g(e=>{switch(e.tag){case"asyncapi":return"v4";case"openapi":return"v3";case"swagger":return"v2";default:return"v2"}},"getSwaggerVersionFromSpec");var D=Object.defineProperty,P=p((e,t)=>D(e,"name",{value:t,configurable:!0}),"e");const T=P((e,t,r)=>{if(r==="x-webhooks"&&(e[r]=t[r]),!r.startsWith("x-"))if(["components","consumes","produces","paths","schemas","securityDefinitions","responses","parameters","definitions","channels"].includes(r))Object.keys(t[r]).forEach(s=>{e[r][s]=h(e[r][s],t[r][s])});else if(r==="tags"){const{tags:s}=t;Array.isArray(s)?s.forEach(n=>{l(n,e.tags)||e.tags.push(n)}):l(s,e.tags)||e.tags.push(s)}else if(r==="security"){const{security:s}=t;e.security=s}else r.startsWith("/")&&(e.paths[r]=h(e.paths[r],t[r]))},"organizeSwaggerObject");var k=Object.defineProperty,y=p((e,t)=>k(e,"name",{value:t,configurable:!0}),"c");const A={v2:["paths","definitions","responses","parameters","securityDefinitions"],v3:["paths","definitions","responses","parameters","securityDefinitions","components"],v4:["components","channels"]},$=y((e,t)=>e.map(r=>{const s=r.description!==""||r.name.startsWith("/")||r.name.endsWith(":");if((r.tag==="openapi"||r.tag==="swagger"||r.tag==="asyncapi")&&s){let n=r.description;(r.name.startsWith("/")||r.name.endsWith(":"))&&(n=n.trim()===""?r.name:`${r.name}
|
|
2
|
+
${n}`);const o=S.parseDocument(n);if(o.errors.length>0){o.errors.forEach(c=>{c.annotation=n});let i="Error parsing YAML in @openapi spec:";throw i+=t?o.errors.map(c=>`${c.toString()}
|
|
3
|
+
Imbedded within:
|
|
4
|
+
\`\`\`
|
|
5
|
+
${c.annotation?.replaceAll(`
|
|
6
|
+
`,`
|
|
7
|
+
`)}
|
|
8
|
+
\`\`\``).join(`
|
|
9
|
+
`):o.errors.map(c=>c.toString()).join(`
|
|
10
|
+
`),new Error(i)}const a=o.toJSON(),m={tags:[]};return A[W(r)].forEach(i=>{m[i]=m[i]??{}}),Object.keys(a).forEach(i=>{T(m,a,i)}),m}return{}}),"tagsToObjects"),q=y((e,t)=>v.parse(e,{spacing:"preserve"}).map(r=>{const s=r.tags.length+1,n={};for(const a of $(r.tags,t))u.mergeWith(n,a,O.o);["definitions","responses","parameters","securityDefinitions","components","tags"].forEach(a=>{n[a]!==void 0&&E(n[a])&&delete n[a]});const o=JSON.parse(JSON.stringify(n));return{loc:s,spec:o}}),"commentsToOpenApi");module.exports=q;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var d=Object.defineProperty;var g=(r,t)=>d(r,"name",{value:t,configurable:!0});import{parse as v}from"comment-parser";import{mergeWith as u}from"es-toolkit";import b from"yaml";import{o as O}from"./customizer-COfd-Xr1.mjs";var j=Object.defineProperty,p=g((r,t)=>j(r,"name",{value:t,configurable:!0}),"n$1");const f=p((r,t)=>{if(t===null)return r},"ignoreNullCustomizer"),h=p((r,t)=>{const e=u({},r??{},f);return u(e,t??{},f)},"mergeDeep"),S=p(r=>Object.keys(r).map(t=>r[t]).every(t=>typeof t=="object"&&Object.keys(t).every(e=>!(e in t))),"hasEmptyProperty"),l=p((r,t)=>t.some(e=>r.name===e.name),"isTagPresentInTags"),w=p(r=>{switch(r.tag){case"asyncapi":return"v4";case"openapi":return"v3";case"swagger":return"v2";default:return"v2"}},"getSwaggerVersionFromSpec");var E=Object.defineProperty,D=g((r,t)=>E(r,"name",{value:t,configurable:!0}),"e");const P=D((r,t,e)=>{if(e==="x-webhooks"&&(r[e]=t[e]),!e.startsWith("x-"))if(["components","consumes","produces","paths","schemas","securityDefinitions","responses","parameters","definitions","channels"].includes(e))Object.keys(t[e]).forEach(n=>{r[e][n]=h(r[e][n],t[e][n])});else if(e==="tags"){const{tags:n}=t;Array.isArray(n)?n.forEach(s=>{l(s,r.tags)||r.tags.push(s)}):l(n,r.tags)||r.tags.push(n)}else if(e==="security"){const{security:n}=t;r.security=n}else e.startsWith("/")&&(r.paths[e]=h(r.paths[e],t[e]))},"organizeSwaggerObject");var W=Object.defineProperty,y=g((r,t)=>W(r,"name",{value:t,configurable:!0}),"c");const A={v2:["paths","definitions","responses","parameters","securityDefinitions"],v3:["paths","definitions","responses","parameters","securityDefinitions","components"],v4:["components","channels"]},T=y((r,t)=>r.map(e=>{const n=e.description!==""||e.name.startsWith("/")||e.name.endsWith(":");if((e.tag==="openapi"||e.tag==="swagger"||e.tag==="asyncapi")&&n){let s=e.description;(e.name.startsWith("/")||e.name.endsWith(":"))&&(s=s.trim()===""?e.name:`${e.name}
|
|
2
|
+
${s}`);const o=b.parseDocument(s);if(o.errors.length>0){o.errors.forEach(c=>{c.annotation=s});let i="Error parsing YAML in @openapi spec:";throw i+=t?o.errors.map(c=>`${c.toString()}
|
|
3
|
+
Imbedded within:
|
|
4
|
+
\`\`\`
|
|
5
|
+
${c.annotation?.replaceAll(`
|
|
6
|
+
`,`
|
|
7
|
+
`)}
|
|
8
|
+
\`\`\``).join(`
|
|
9
|
+
`):o.errors.map(c=>c.toString()).join(`
|
|
10
|
+
`),new Error(i)}const a=o.toJSON(),m={tags:[]};return A[w(e)].forEach(i=>{m[i]=m[i]??{}}),Object.keys(a).forEach(i=>{P(m,a,i)}),m}return{}}),"tagsToObjects"),J=y((r,t)=>v(r,{spacing:"preserve"}).map(e=>{const n=e.tags.length+1,s={};for(const a of T(e.tags,t))u(s,a,O);["definitions","responses","parameters","securityDefinitions","components","tags"].forEach(a=>{s[a]!==void 0&&S(s[a])&&delete s[a]});const o=JSON.parse(JSON.stringify(s));return{loc:n,spec:o}}),"commentsToOpenApi");export{J as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/jsdoc-open-api",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.25",
|
|
4
4
|
"description": "Generates swagger doc based on JSDoc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"api",
|
|
@@ -18,11 +18,6 @@
|
|
|
18
18
|
"bugs": {
|
|
19
19
|
"url": "https://github.com/visulima/visulima/issues"
|
|
20
20
|
},
|
|
21
|
-
"license": "MIT",
|
|
22
|
-
"author": {
|
|
23
|
-
"name": "Daniel Bannert",
|
|
24
|
-
"email": "d.bannert@anolilab.de"
|
|
25
|
-
},
|
|
26
21
|
"repository": {
|
|
27
22
|
"type": "git",
|
|
28
23
|
"url": "https://github.com/visulima/visulima.git",
|
|
@@ -38,39 +33,12 @@
|
|
|
38
33
|
"url": "https://anolilab.com/support"
|
|
39
34
|
}
|
|
40
35
|
],
|
|
41
|
-
"
|
|
42
|
-
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"author": {
|
|
38
|
+
"name": "Daniel Bannert",
|
|
39
|
+
"email": "d.bannert@anolilab.de"
|
|
43
40
|
},
|
|
44
|
-
"files": [
|
|
45
|
-
"bin/**",
|
|
46
|
-
"cli/**",
|
|
47
|
-
"dist/**",
|
|
48
|
-
"README.md",
|
|
49
|
-
"CHANGELOG.md",
|
|
50
|
-
"LICENSE.md"
|
|
51
|
-
],
|
|
52
|
-
"os": [
|
|
53
|
-
"darwin",
|
|
54
|
-
"linux",
|
|
55
|
-
"win32"
|
|
56
|
-
],
|
|
57
41
|
"sideEffects": false,
|
|
58
|
-
"main": "dist/index.cjs",
|
|
59
|
-
"module": "dist/index.mjs",
|
|
60
|
-
"types": "dist/index.d.ts",
|
|
61
|
-
"typesVersions": {
|
|
62
|
-
">=5.0": {
|
|
63
|
-
".": [
|
|
64
|
-
"./dist/index.d.ts"
|
|
65
|
-
],
|
|
66
|
-
"cli": [
|
|
67
|
-
"./dist/cli/index.d.ts"
|
|
68
|
-
],
|
|
69
|
-
"cli/commander": [
|
|
70
|
-
"./dist/cli/commander/index.d.ts"
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
42
|
"exports": {
|
|
75
43
|
".": {
|
|
76
44
|
"import": {
|
|
@@ -104,15 +72,38 @@
|
|
|
104
72
|
},
|
|
105
73
|
"./package.json": "./package.json"
|
|
106
74
|
},
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
|
|
75
|
+
"main": "dist/index.cjs",
|
|
76
|
+
"module": "dist/index.mjs",
|
|
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
|
+
}
|
|
110
90
|
},
|
|
91
|
+
"bin": {
|
|
92
|
+
"jsdoc-open-api": "./bin/index.js"
|
|
93
|
+
},
|
|
94
|
+
"files": [
|
|
95
|
+
"bin/**",
|
|
96
|
+
"cli/**",
|
|
97
|
+
"dist/**",
|
|
98
|
+
"README.md",
|
|
99
|
+
"CHANGELOG.md",
|
|
100
|
+
"LICENSE.md"
|
|
101
|
+
],
|
|
111
102
|
"dependencies": {
|
|
112
103
|
"@apidevtools/swagger-parser": "^12.1.0",
|
|
113
|
-
"@visulima/fs": "5.0.0-alpha.
|
|
104
|
+
"@visulima/fs": "5.0.0-alpha.26",
|
|
114
105
|
"comment-parser": "1.4.6",
|
|
115
|
-
"
|
|
106
|
+
"es-toolkit": "^1.46.1",
|
|
116
107
|
"yaml": "2.9.0"
|
|
117
108
|
},
|
|
118
109
|
"optionalDependencies": {
|
|
@@ -122,5 +113,14 @@
|
|
|
122
113
|
},
|
|
123
114
|
"engines": {
|
|
124
115
|
"node": "^22.14.0 || >=24.10.0"
|
|
116
|
+
},
|
|
117
|
+
"os": [
|
|
118
|
+
"darwin",
|
|
119
|
+
"linux",
|
|
120
|
+
"win32"
|
|
121
|
+
],
|
|
122
|
+
"publishConfig": {
|
|
123
|
+
"access": "public",
|
|
124
|
+
"provenance": true
|
|
125
125
|
}
|
|
126
126
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var l=Object.defineProperty;var u=(s,n)=>l(s,"name",{value:n,configurable:!0});import{parse as y}from"comment-parser";import b from"lodash.mergewith";import{o as f}from"./customizer-COfd-Xr1.mjs";var g=Object.defineProperty,i=u((s,n)=>g(s,"name",{value:n,configurable:!0}),"p");const $=/\[\]$/,h=/^- /u,T=/Param$/u,w=/^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \/.*$/,k=i(s=>{s.security&&(s.security=Object.keys(s.security).map(n=>({[n]:s.security[n]})))},"fixSecurityObject"),q=new Set(["array","boolean","integer","number","object","string"]),d={binary:"string",byte:"string",date:"string","date-time":"string",double:"number",float:"number",int32:"integer",int64:"integer",password:"string"},O=i(s=>{const n=s.type,a=n.endsWith("[]"),e=n.replace($,""),c=q.has(e),t=Object.keys(d).includes(e);let r;if(s.default)switch(e){case"double":case"float":case"number":{r=Number.parseFloat(s.default);break}case"int32":case"int64":case"integer":{r=Number.parseInt(s.default,10);break}default:{r=s.default;break}}let o;c?o={default:r,type:e}:t?o={default:r,format:e,type:d[e]}:o={$ref:`#/components/schemas/${e}`};let p=a?{items:{...o},type:"array"}:{...o};e===""&&(p=void 0);let m=s.description.trim().replace(h,"");return m===""&&(m=void 0),{description:m,name:s.name,rawType:n,required:!s.optional,schema:p}},"parseDescription"),P=i((s,n)=>s.map(a=>{const e=O(a);let c="";switch(e.name&&(c+=e.name),e.description&&(c+=` ${e.description.trim()}`),a.tag){case"bodyComponent":return{requestBody:{$ref:`#/components/requestBodies/${e.rawType}`}};case"bodyContent":return{requestBody:{content:{[e.name.replace(String.raw`*\/*`,"*/*")]:{schema:e.schema}}}};case"bodyDescription":return{requestBody:{description:c}};case"bodyExample":{const[t,r]=e.name.split(".");return{requestBody:{content:{[t]:{examples:{[r]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}case"bodyRequired":return{requestBody:{required:!0}};case"callback":return{callbacks:{[e.name]:{$ref:`#/components/callbacks/${e.rawType}`}}};case"cookieParam":case"headerParam":case"pathParam":case"queryParam":return{parameters:[{description:e.description,in:a.tag.replace(T,""),name:e.name,required:e.required,schema:e.schema}]};case"deprecated":return{deprecated:!0};case"description":case"operationId":case"summary":return{[a.tag]:c};case"externalDocs":return{externalDocs:{description:e.description,url:e.name}};case"paramComponent":return{parameters:[{$ref:`#/components/parameters/${e.rawType}`}]};case"response":return{responses:{[e.name]:{description:e.description}}};case"responseComponent":return{responses:{[e.name]:{$ref:`#/components/responses/${e.rawType}`}}};case"responseContent":{const[t,r]=e.name.split(".");return{responses:{[t]:{content:{[r]:{schema:e.schema}}}}}}case"responseExample":{const[t,r,o]=e.name.split(".");return{responses:{[t]:{content:{[r]:{examples:{[o]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}}case"responseHeader":{const[t,r]=e.name.split(".");return{responses:{[t]:{headers:{[r]:{description:e.description,schema:e.schema}}}}}}case"responseHeaderComponent":{const[t,r]=e.name.split(".");return{responses:{[t]:{headers:{[r]:{$ref:`#/components/headers/${e.rawType}`}}}}}}case"responseLink":{const[t,r]=e.name.split(".");return{responses:{[t]:{links:{[r]:{$ref:`#/components/links/${e.rawType}`}}}}}}case"security":{const[t,r]=e.name.split(".");let o=[];return r&&(o=[r]),{security:{[t]:o}}}case"server":return{servers:[{description:e.description,url:e.name}]};case"tag":return{tags:[c]};default:return{}}}),"tagsToObjects"),S=i((s,n)=>y(s,{spacing:"preserve"}).filter(a=>w.test(a.description.trim())).map(a=>{const e=a.tags.length+1,c=b({},...P(a.tags,n),f);k(c);const[t,r]=a.description.split(" "),o={[r.trim()]:{[t.toLowerCase().trim()]:{...c}}},p=JSON.parse(JSON.stringify({paths:o}));return{loc:e,spec:p}}),"commentsToOpenApi");export{S as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var l=Object.defineProperty;var u=(r,n)=>l(r,"name",{value:n,configurable:!0});const y=require("comment-parser"),b=require("lodash.mergewith"),f=require("./customizer-DUz3nxAJ.cjs"),g=u(r=>r&&typeof r=="object"&&"default"in r?r.default:r,"_interopDefaultCompat"),$=g(b);var h=Object.defineProperty,p=u((r,n)=>h(r,"name",{value:n,configurable:!0}),"p");const T=/\[\]$/,w=/^- /u,q=/Param$/u,k=/^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \/.*$/,O=p(r=>{r.security&&(r.security=Object.keys(r.security).map(n=>({[n]:r.security[n]})))},"fixSecurityObject"),P=new Set(["array","boolean","integer","number","object","string"]),d={binary:"string",byte:"string",date:"string","date-time":"string",double:"number",float:"number",int32:"integer",int64:"integer",password:"string"},x=p(r=>{const n=r.type,a=n.endsWith("[]"),e=n.replace(T,""),o=P.has(e),t=Object.keys(d).includes(e);let s;if(r.default)switch(e){case"double":case"float":case"number":{s=Number.parseFloat(r.default);break}case"int32":case"int64":case"integer":{s=Number.parseInt(r.default,10);break}default:{s=r.default;break}}let c;o?c={default:s,type:e}:t?c={default:s,format:e,type:d[e]}:c={$ref:`#/components/schemas/${e}`};let i=a?{items:{...c},type:"array"}:{...c};e===""&&(i=void 0);let m=r.description.trim().replace(w,"");return m===""&&(m=void 0),{description:m,name:r.name,rawType:n,required:!r.optional,schema:i}},"parseDescription"),C=p((r,n)=>r.map(a=>{const e=x(a);let o="";switch(e.name&&(o+=e.name),e.description&&(o+=` ${e.description.trim()}`),a.tag){case"bodyComponent":return{requestBody:{$ref:`#/components/requestBodies/${e.rawType}`}};case"bodyContent":return{requestBody:{content:{[e.name.replace(String.raw`*\/*`,"*/*")]:{schema:e.schema}}}};case"bodyDescription":return{requestBody:{description:o}};case"bodyExample":{const[t,s]=e.name.split(".");return{requestBody:{content:{[t]:{examples:{[s]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}case"bodyRequired":return{requestBody:{required:!0}};case"callback":return{callbacks:{[e.name]:{$ref:`#/components/callbacks/${e.rawType}`}}};case"cookieParam":case"headerParam":case"pathParam":case"queryParam":return{parameters:[{description:e.description,in:a.tag.replace(q,""),name:e.name,required:e.required,schema:e.schema}]};case"deprecated":return{deprecated:!0};case"description":case"operationId":case"summary":return{[a.tag]:o};case"externalDocs":return{externalDocs:{description:e.description,url:e.name}};case"paramComponent":return{parameters:[{$ref:`#/components/parameters/${e.rawType}`}]};case"response":return{responses:{[e.name]:{description:e.description}}};case"responseComponent":return{responses:{[e.name]:{$ref:`#/components/responses/${e.rawType}`}}};case"responseContent":{const[t,s]=e.name.split(".");return{responses:{[t]:{content:{[s]:{schema:e.schema}}}}}}case"responseExample":{const[t,s,c]=e.name.split(".");return{responses:{[t]:{content:{[s]:{examples:{[c]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}}case"responseHeader":{const[t,s]=e.name.split(".");return{responses:{[t]:{headers:{[s]:{description:e.description,schema:e.schema}}}}}}case"responseHeaderComponent":{const[t,s]=e.name.split(".");return{responses:{[t]:{headers:{[s]:{$ref:`#/components/headers/${e.rawType}`}}}}}}case"responseLink":{const[t,s]=e.name.split(".");return{responses:{[t]:{links:{[s]:{$ref:`#/components/links/${e.rawType}`}}}}}}case"security":{const[t,s]=e.name.split(".");let c=[];return s&&(c=[s]),{security:{[t]:c}}}case"server":return{servers:[{description:e.description,url:e.name}]};case"tag":return{tags:[o]};default:return{}}}),"tagsToObjects"),E=p((r,n)=>y.parse(r,{spacing:"preserve"}).filter(a=>k.test(a.description.trim())).map(a=>{const e=a.tags.length+1,o=$({},...C(a.tags,n),f.o);O(o);const[t,s]=a.description.split(" "),c={[s.trim()]:{[t.toLowerCase().trim()]:{...o}}},i=JSON.parse(JSON.stringify({paths:c}));return{loc:e,spec:i}}),"commentsToOpenApi");module.exports=E;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var p=(e,t)=>d(e,"name",{value:t,configurable:!0});const v=require("comment-parser"),b=require("lodash.mergewith"),O=require("yaml"),j=require("./customizer-DUz3nxAJ.cjs"),y=p(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),l=y(b),S=y(O);var w=Object.defineProperty,u=p((e,t)=>w(e,"name",{value:t,configurable:!0}),"o");const m=u((e,t)=>l({},e,t,(r,s)=>{if(s===null)return r}),"mergeDeep"),E=u(e=>Object.keys(e).map(t=>e[t]).every(t=>typeof t=="object"&&Object.keys(t).every(r=>!(r in t))),"hasEmptyProperty"),f=u((e,t)=>t.some(r=>e.name===r.name),"isTagPresentInTags"),D=u(e=>{switch(e.tag){case"asyncapi":return"v4";case"openapi":return"v3";case"swagger":return"v2";default:return"v2"}},"getSwaggerVersionFromSpec");var P=Object.defineProperty,$=p((e,t)=>P(e,"name",{value:t,configurable:!0}),"e");const A=$((e,t,r)=>{if(r==="x-webhooks"&&(e[r]=t[r]),!r.startsWith("x-"))if(["components","consumes","produces","paths","schemas","securityDefinitions","responses","parameters","definitions","channels"].includes(r))Object.keys(t[r]).forEach(s=>{e[r][s]=m(e[r][s],t[r][s])});else if(r==="tags"){const{tags:s}=t;Array.isArray(s)?s.forEach(n=>{f(n,e.tags)||e.tags.push(n)}):f(s,e.tags)||e.tags.push(s)}else if(r==="security"){const{security:s}=t;e.security=s}else r.startsWith("/")&&(e.paths[r]=m(e.paths[r],t[r]))},"organizeSwaggerObject");var T=Object.defineProperty,h=p((e,t)=>T(e,"name",{value:t,configurable:!0}),"c");const W={v2:["paths","definitions","responses","parameters","securityDefinitions"],v3:["paths","definitions","responses","parameters","securityDefinitions","components"],v4:["components","channels"]},k=h((e,t)=>e.map(r=>{const s=r.description!==""||r.name.startsWith("/")||r.name.endsWith(":");if((r.tag==="openapi"||r.tag==="swagger"||r.tag==="asyncapi")&&s){let n=r.description;(r.name.startsWith("/")||r.name.endsWith(":"))&&(n=n.trim()===""?r.name:`${r.name}
|
|
2
|
-
${n}`);const a=S.parseDocument(n);if(a.errors.length>0){a.errors.forEach(c=>{c.annotation=n});let o="Error parsing YAML in @openapi spec:";throw o+=t?a.errors.map(c=>`${c.toString()}
|
|
3
|
-
Imbedded within:
|
|
4
|
-
\`\`\`
|
|
5
|
-
${c.annotation?.replaceAll(`
|
|
6
|
-
`,`
|
|
7
|
-
`)}
|
|
8
|
-
\`\`\``).join(`
|
|
9
|
-
`):a.errors.map(c=>c.toString()).join(`
|
|
10
|
-
`),new Error(o)}const i=a.toJSON(),g={tags:[]};return W[D(r)].forEach(o=>{g[o]=g[o]??{}}),Object.keys(i).forEach(o=>{A(g,i,o)}),g}return{}}),"tagsToObjects"),_=h((e,t)=>v.parse(e,{spacing:"preserve"}).map(r=>{const s=r.tags.length+1,n=l({},...k(r.tags,t),j.o);["definitions","responses","parameters","securityDefinitions","components","tags"].forEach(i=>{n[i]!==void 0&&E(n[i])&&delete n[i]});const a=JSON.parse(JSON.stringify(n));return{loc:s,spec:a}}),"commentsToOpenApi");module.exports=_;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
var l=Object.defineProperty;var m=(r,t)=>l(r,"name",{value:t,configurable:!0});import{parse as d}from"comment-parser";import h from"lodash.mergewith";import v from"yaml";import{o as b}from"./customizer-COfd-Xr1.mjs";var O=Object.defineProperty,g=m((r,t)=>O(r,"name",{value:t,configurable:!0}),"o");const u=g((r,t)=>h({},r,t,(e,s)=>{if(s===null)return e}),"mergeDeep"),j=g(r=>Object.keys(r).map(t=>r[t]).every(t=>typeof t=="object"&&Object.keys(t).every(e=>!(e in t))),"hasEmptyProperty"),f=g((r,t)=>t.some(e=>r.name===e.name),"isTagPresentInTags"),S=g(r=>{switch(r.tag){case"asyncapi":return"v4";case"openapi":return"v3";case"swagger":return"v2";default:return"v2"}},"getSwaggerVersionFromSpec");var w=Object.defineProperty,E=m((r,t)=>w(r,"name",{value:t,configurable:!0}),"e");const D=E((r,t,e)=>{if(e==="x-webhooks"&&(r[e]=t[e]),!e.startsWith("x-"))if(["components","consumes","produces","paths","schemas","securityDefinitions","responses","parameters","definitions","channels"].includes(e))Object.keys(t[e]).forEach(s=>{r[e][s]=u(r[e][s],t[e][s])});else if(e==="tags"){const{tags:s}=t;Array.isArray(s)?s.forEach(n=>{f(n,r.tags)||r.tags.push(n)}):f(s,r.tags)||r.tags.push(s)}else if(e==="security"){const{security:s}=t;r.security=s}else e.startsWith("/")&&(r.paths[e]=u(r.paths[e],t[e]))},"organizeSwaggerObject");var P=Object.defineProperty,y=m((r,t)=>P(r,"name",{value:t,configurable:!0}),"c");const $={v2:["paths","definitions","responses","parameters","securityDefinitions"],v3:["paths","definitions","responses","parameters","securityDefinitions","components"],v4:["components","channels"]},A=y((r,t)=>r.map(e=>{const s=e.description!==""||e.name.startsWith("/")||e.name.endsWith(":");if((e.tag==="openapi"||e.tag==="swagger"||e.tag==="asyncapi")&&s){let n=e.description;(e.name.startsWith("/")||e.name.endsWith(":"))&&(n=n.trim()===""?e.name:`${e.name}
|
|
2
|
-
${n}`);const a=v.parseDocument(n);if(a.errors.length>0){a.errors.forEach(p=>{p.annotation=n});let o="Error parsing YAML in @openapi spec:";throw o+=t?a.errors.map(p=>`${p.toString()}
|
|
3
|
-
Imbedded within:
|
|
4
|
-
\`\`\`
|
|
5
|
-
${p.annotation?.replaceAll(`
|
|
6
|
-
`,`
|
|
7
|
-
`)}
|
|
8
|
-
\`\`\``).join(`
|
|
9
|
-
`):a.errors.map(p=>p.toString()).join(`
|
|
10
|
-
`),new Error(o)}const i=a.toJSON(),c={tags:[]};return $[S(e)].forEach(o=>{c[o]=c[o]??{}}),Object.keys(i).forEach(o=>{D(c,i,o)}),c}return{}}),"tagsToObjects"),J=y((r,t)=>d(r,{spacing:"preserve"}).map(e=>{const s=e.tags.length+1,n=h({},...A(e.tags,t),b);["definitions","responses","parameters","securityDefinitions","components","tags"].forEach(i=>{n[i]!==void 0&&j(n[i])&&delete n[i]});const a=JSON.parse(JSON.stringify(n));return{loc:s,spec:a}}),"commentsToOpenApi");export{J as default};
|