@visulima/jsdoc-open-api 3.0.0-alpha.37 → 3.0.0-alpha.39

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 (54) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/bin/index.js +12 -9
  3. package/dist/cli/commander/index.js +1 -0
  4. package/dist/cli/index.js +1 -0
  5. package/dist/index.js +1 -0
  6. package/dist/packem_shared/SwaggerCompilerPlugin-PUOALp2i.js +1 -0
  7. package/dist/packem_shared/{generateCommand-CkcShFNr.mjs → generateCommand-C_XPsbS6.js} +1 -1
  8. package/dist/packem_shared/generateCommand-ClL9Mnc3.js +1 -0
  9. package/dist/packem_shared/initCommand-TixxsVQU.js +1 -0
  10. package/dist/packem_shared/jsDocumentCommentsToOpenApi-TjPhUj5G.js +1 -0
  11. package/dist/packem_shared/parseFile-RDlR4tEF.js +1 -0
  12. package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-Bm9R1BnW.js +10 -0
  13. package/package.json +10 -28
  14. package/dist/cli/commander/index.cjs +0 -1
  15. package/dist/cli/commander/index.d.cts +0 -1000
  16. package/dist/cli/commander/index.d.mts +0 -1000
  17. package/dist/cli/commander/index.mjs +0 -1
  18. package/dist/cli/index.cjs +0 -1
  19. package/dist/cli/index.d.cts +0 -9
  20. package/dist/cli/index.d.mts +0 -9
  21. package/dist/cli/index.mjs +0 -1
  22. package/dist/index.cjs +0 -1
  23. package/dist/index.d.cts +0 -266
  24. package/dist/index.d.mts +0 -266
  25. package/dist/index.mjs +0 -1
  26. package/dist/packem_shared/DEFAULT_OPTIONS-CP1lNs-k.cjs +0 -1
  27. package/dist/packem_shared/SpecBuilder-C_KcIxW-.cjs +0 -1
  28. package/dist/packem_shared/SwaggerCompilerPlugin-Bd9L4Djt.cjs +0 -1
  29. package/dist/packem_shared/SwaggerCompilerPlugin-wRdVpHJS.mjs +0 -1
  30. package/dist/packem_shared/constants-DnbfJ7Id.cjs +0 -1
  31. package/dist/packem_shared/customizer-Bo8QD_ti.cjs +0 -1
  32. package/dist/packem_shared/generateCommand-CEP0sWth.cjs +0 -5
  33. package/dist/packem_shared/generateCommand-CmoN8jyY.cjs +0 -1
  34. package/dist/packem_shared/generateCommand-DEhmHbRZ.mjs +0 -1
  35. package/dist/packem_shared/initCommand-1O6IuWJv.mjs +0 -1
  36. package/dist/packem_shared/initCommand-C8s0kkim.cjs +0 -1
  37. package/dist/packem_shared/initCommand-DvNH61Z4.cjs +0 -35
  38. package/dist/packem_shared/jsDocumentCommentsToOpenApi-BEQrWgpQ.mjs +0 -1
  39. package/dist/packem_shared/jsDocumentCommentsToOpenApi-CMbdb0uR.cjs +0 -1
  40. package/dist/packem_shared/loadDefinition-ah20Zy-G.cjs +0 -1
  41. package/dist/packem_shared/parseFile-CPb-Kglh.cjs +0 -1
  42. package/dist/packem_shared/parseFile-Wxs3O0wy.mjs +0 -1
  43. package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-BnPWbZoe.mjs +0 -10
  44. package/dist/packem_shared/swaggerJsDocumentCommentsToOpenApi-rMEaS4lg.cjs +0 -10
  45. package/dist/packem_shared/validate-DLmCjOPl.cjs +0 -1
  46. package/dist/packem_shared/yamlLoc-DC_7PYVS.cjs +0 -1
  47. /package/dist/packem_shared/{DEFAULT_OPTIONS-C7o6qjwP.mjs → DEFAULT_OPTIONS-C7o6qjwP.js} +0 -0
  48. /package/dist/packem_shared/{SpecBuilder-Vbq42UbW.mjs → SpecBuilder-Vbq42UbW.js} +0 -0
  49. /package/dist/packem_shared/{constants-CdEv9ZcD.mjs → constants-CdEv9ZcD.js} +0 -0
  50. /package/dist/packem_shared/{customizer-BXFVpImq.mjs → customizer-BXFVpImq.js} +0 -0
  51. /package/dist/packem_shared/{initCommand-Ca1hGdYS.mjs → initCommand-Ca1hGdYS.js} +0 -0
  52. /package/dist/packem_shared/{loadDefinition-7r9qpfuE.mjs → loadDefinition-7r9qpfuE.js} +0 -0
  53. /package/dist/packem_shared/{validate-9Rwe2A3r.mjs → validate-9Rwe2A3r.js} +0 -0
  54. /package/dist/packem_shared/{yamlLoc-DPq-xUM4.mjs → yamlLoc-DPq-xUM4.js} +0 -0
@@ -1 +0,0 @@
1
- import{parse as d}from"comment-parser";import{mergeWith as l}from"es-toolkit";import{u as y}from"./customizer-BXFVpImq.mjs";const f=/\[\]$/,b=/^- /u,$=/Param$/u,g=/^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \/.*$/,h=t=>{t.security&&(t.security=Object.keys(t.security).map(o=>({[o]:t.security[o]})))},T=new Set(["array","boolean","integer","number","object","string"]),m={binary:"string",byte:"string",date:"string","date-time":"string",double:"number",float:"number",int32:"integer",int64:"integer",password:"string"},w=t=>{const o=t.type,c=o.endsWith("[]"),e=o.replace(f,""),n=T.has(e),r=Object.keys(m).includes(e);let s;if(t.default)switch(e){case"double":case"float":case"number":{s=Number.parseFloat(t.default);break}case"int32":case"int64":case"integer":{s=Number.parseInt(t.default,10);break}default:{s=t.default;break}}let a;n?a={default:s,type:e}:r?a={default:s,format:e,type:m[e]}:a={$ref:`#/components/schemas/${e}`};let p=c?{items:{...a},type:"array"}:{...a};e===""&&(p=void 0);let i=t.description.trim().replace(b,"");return i===""&&(i=void 0),{description:i,name:t.name,rawType:o,required:!t.optional,schema:p}},k=(t,o)=>t.map(c=>{const e=w(c);let n="";switch(e.name&&(n+=e.name),e.description&&(n+=` ${e.description.trim()}`),c.tag){case"bodyComponent":return{requestBody:{$ref:`#/components/requestBodies/${e.rawType}`}};case"bodyContent":return{requestBody:{content:{[e.name.replaceAll(String.raw`*\/*`,"*/*")]:{schema:e.schema}}}};case"bodyDescription":return{requestBody:{description:n}};case"bodyExample":{const[r,s]=e.name.split(".");return{requestBody:{content:{[r]:{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:c.tag.replace($,""),name:e.name,required:e.required,schema:e.schema}]};case"deprecated":return{deprecated:!0};case"description":case"operationId":case"summary":return{[c.tag]:n};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[r,s]=e.name.split(".");return{responses:{[r]:{content:{[s]:{schema:e.schema}}}}}}case"responseExample":{const[r,s,a]=e.name.split(".");return{responses:{[r]:{content:{[s]:{examples:{[a]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}}case"responseHeader":{const[r,s]=e.name.split(".");return{responses:{[r]:{headers:{[s]:{description:e.description,schema:e.schema}}}}}}case"responseHeaderComponent":{const[r,s]=e.name.split(".");return{responses:{[r]:{headers:{[s]:{$ref:`#/components/headers/${e.rawType}`}}}}}}case"responseLink":{const[r,s]=e.name.split(".");return{responses:{[r]:{links:{[s]:{$ref:`#/components/links/${e.rawType}`}}}}}}case"security":{const[r,s]=e.name.split(".");let a=[];return s&&(a=[s]),{security:{[r]:a}}}case"server":return{servers:[{description:e.description,url:e.name}]};case"tag":return{tags:[n]};default:return{}}}),C=(t,o,c)=>(c??d(t,{spacing:"preserve"})).filter(e=>g.test(e.description.trim())).map(e=>{const n=e.tags.length+1,r={};for(const u of k(e.tags))l(r,u,y);h(r);const[s,a]=e.description.split(" "),p={[a.trim()]:{[s.toLowerCase().trim()]:{...r}}},i=JSON.parse(JSON.stringify({paths:p}));return{loc:n,spec:i}});export{C as default};
@@ -1 +0,0 @@
1
- "use strict";const d=require("comment-parser"),l=require("es-toolkit"),y=require("./customizer-Bo8QD_ti.cjs"),b=/\[\]$/,f=/^- /u,g=/Param$/u,h=/^(GET|PUT|POST|DELETE|OPTIONS|HEAD|PATCH|TRACE) \/.*$/,$=t=>{t.security&&(t.security=Object.keys(t.security).map(o=>({[o]:t.security[o]})))},T=new Set(["array","boolean","integer","number","object","string"]),m={binary:"string",byte:"string",date:"string","date-time":"string",double:"number",float:"number",int32:"integer",int64:"integer",password:"string"},w=t=>{const o=t.type,c=o.endsWith("[]"),e=o.replace(b,""),n=T.has(e),r=Object.keys(m).includes(e);let s;if(t.default)switch(e){case"double":case"float":case"number":{s=Number.parseFloat(t.default);break}case"int32":case"int64":case"integer":{s=Number.parseInt(t.default,10);break}default:{s=t.default;break}}let a;n?a={default:s,type:e}:r?a={default:s,format:e,type:m[e]}:a={$ref:`#/components/schemas/${e}`};let p=c?{items:{...a},type:"array"}:{...a};e===""&&(p=void 0);let i=t.description.trim().replace(f,"");return i===""&&(i=void 0),{description:i,name:t.name,rawType:o,required:!t.optional,schema:p}},q=(t,o)=>t.map(c=>{const e=w(c);let n="";switch(e.name&&(n+=e.name),e.description&&(n+=` ${e.description.trim()}`),c.tag){case"bodyComponent":return{requestBody:{$ref:`#/components/requestBodies/${e.rawType}`}};case"bodyContent":return{requestBody:{content:{[e.name.replaceAll(String.raw`*\/*`,"*/*")]:{schema:e.schema}}}};case"bodyDescription":return{requestBody:{description:n}};case"bodyExample":{const[r,s]=e.name.split(".");return{requestBody:{content:{[r]:{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:c.tag.replace(g,""),name:e.name,required:e.required,schema:e.schema}]};case"deprecated":return{deprecated:!0};case"description":case"operationId":case"summary":return{[c.tag]:n};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[r,s]=e.name.split(".");return{responses:{[r]:{content:{[s]:{schema:e.schema}}}}}}case"responseExample":{const[r,s,a]=e.name.split(".");return{responses:{[r]:{content:{[s]:{examples:{[a]:{$ref:`#/components/examples/${e.rawType}`}}}}}}}}case"responseHeader":{const[r,s]=e.name.split(".");return{responses:{[r]:{headers:{[s]:{description:e.description,schema:e.schema}}}}}}case"responseHeaderComponent":{const[r,s]=e.name.split(".");return{responses:{[r]:{headers:{[s]:{$ref:`#/components/headers/${e.rawType}`}}}}}}case"responseLink":{const[r,s]=e.name.split(".");return{responses:{[r]:{links:{[s]:{$ref:`#/components/links/${e.rawType}`}}}}}}case"security":{const[r,s]=e.name.split(".");let a=[];return s&&(a=[s]),{security:{[r]:a}}}case"server":return{servers:[{description:e.description,url:e.name}]};case"tag":return{tags:[n]};default:return{}}}),k=(t,o,c)=>(c??d.parse(t,{spacing:"preserve"})).filter(e=>h.test(e.description.trim())).map(e=>{const n=e.tags.length+1,r={};for(const u of q(e.tags))l.mergeWith(r,u,y.u);$(r);const[s,a]=e.description.split(" "),p={[a.trim()]:{[s.toLowerCase().trim()]:{...r}}},i=JSON.parse(JSON.stringify({paths:p}));return{loc:n,spec:i}});module.exports=k;
@@ -1 +0,0 @@
1
- "use strict";const r=require("node:fs"),s=require("node:path"),a=require("yaml"),o=e=>e&&typeof e=="object"&&"default"in e?e.default:e,i=o(s),u=o(a),c=e=>{const t=i.extname(e);if(t!==".yaml"&&t!==".yml"&&t!==".json")throw new Error("OpenAPI definition path must be YAML or JSON.");const n=r.readFileSync(e,{encoding:"utf8"});return t===".yaml"||t===".yml"?u.parse(n):JSON.parse(n)};module.exports=c;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("node:fs"),y=require("node:path"),m=require("comment-parser"),g=require("yaml"),_=require("./yamlLoc-DC_7PYVS.cjs"),u=e=>e&&typeof e=="object"&&"default"in e?e.default:e,f=u(y),b=u(g),i=new Set(["components","externalDocs","info","openapi","paths","security","servers","tags"]);class j extends Error{filePath}const p=new Set([".yaml",".yml"]),h=(e,s)=>{const n=b.parse(s);if(n===null||typeof n!="object")return[];const r=Object.keys(n).filter(t=>!i.has(t));if(r.length>0){const t=new j(`Unexpected keys: ${r.join(", ")}`);throw t.filePath=e,t}return Object.keys(n).some(t=>i.has(t))?[{loc:_(s),spec:n}]:[]},w=(e,s,n)=>{const r=l.readFileSync(e,{encoding:"utf8"}),t=f.extname(e);if(p.has(t))return h(e,r);try{return s(r,n)}catch(o){throw o.filePath=e,o}},P=(e,s,n)=>{const r=l.readFileSync(e,{encoding:"utf8"}),t=f.extname(e);if(p.has(t))return h(e,r);const o=m.parse(r,{spacing:"preserve"}),c=[];for(const d of s)try{c.push(...d(r,n,o))}catch(a){throw a.filePath=e,a}return c};exports.default=w;exports.parseFileMulti=P;
@@ -1 +0,0 @@
1
- import{readFileSync as f}from"node:fs";import p from"node:path";import{parse as u}from"comment-parser";import y from"yaml";import d from"./yamlLoc-DPq-xUM4.mjs";const i=new Set(["components","externalDocs","info","openapi","paths","security","servers","tags"]);class g extends Error{filePath}const l=new Set([".yaml",".yml"]),h=(t,o)=>{const r=y.parse(o);if(r===null||typeof r!="object")return[];const n=Object.keys(r).filter(e=>!i.has(e));if(n.length>0){const e=new g(`Unexpected keys: ${n.join(", ")}`);throw e.filePath=t,e}return Object.keys(r).some(e=>i.has(e))?[{loc:d(o),spec:r}]:[]},k=(t,o,r)=>{const n=f(t,{encoding:"utf8"}),e=p.extname(t);if(l.has(e))return h(t,n);try{return o(n,r)}catch(s){throw s.filePath=t,s}},O=(t,o,r)=>{const n=f(t,{encoding:"utf8"}),e=p.extname(t);if(l.has(e))return h(t,n);const s=u(n,{spacing:"preserve"}),c=[];for(const m of o)try{c.push(...m(n,r,s))}catch(a){throw a.filePath=t,a}return c};export{k as default,O as parseFileMulti};
@@ -1,10 +0,0 @@
1
- import{parse as f}from"comment-parser";import{mergeWith as m}from"es-toolkit";import y from"yaml";import{u as l}from"./customizer-BXFVpImq.mjs";const g=(s,t)=>{if(t===null)return s},h=(s,t)=>{const e=m({},s??{},g);return m(e,t??{},g)},d=s=>Object.keys(s).map(t=>s[t]).every(t=>typeof t=="object"&&Object.keys(t).every(e=>!(e in t))),u=(s,t)=>t.some(e=>s.name===e.name),v=s=>{switch(s.tag){case"asyncapi":return"v4";case"openapi":return"v3";case"swagger":return"v2";default:return"v2"}},w=(s,t,e)=>{if(e==="x-webhooks"&&(s[e]=t[e]),!e.startsWith("x-"))if(["components","consumes","produces","paths","schemas","securityDefinitions","responses","parameters","definitions","channels"].includes(e))Object.keys(t[e]).forEach(r=>{s[e][r]=h(s[e][r],t[e][r])});else if(e==="tags"){const{tags:r}=t;Array.isArray(r)?r.forEach(n=>{u(n,s.tags)||s.tags.push(n)}):u(r,s.tags)||s.tags.push(r)}else if(e==="security"){const{security:r}=t;s.security=r}else e.startsWith("/")&&(s.paths[e]=h(s.paths[e],t[e]))},E={v2:["paths","definitions","responses","parameters","securityDefinitions"],v3:["paths","definitions","responses","parameters","securityDefinitions","components"],v4:["components","channels"]},S=(s,t)=>s.map(e=>{const r=e.description!==""||e.name.startsWith("/")||e.name.endsWith(":");if((e.tag==="openapi"||e.tag==="swagger"||e.tag==="asyncapi")&&r){let n=e.description;(e.name.startsWith("/")||e.name.endsWith(":"))&&(n=n.trim()===""?e.name:`${e.name}
2
- ${n}`);const a=y.parseDocument(n);if(a.errors.length>0){a.errors.forEach(p=>{p.annotation=n});let i="Error parsing YAML in @openapi spec:";throw i+=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(i)}const c=a.toJSON(),o={tags:[]};return E[v(e)].forEach(i=>{o[i]=o[i]??{}}),Object.keys(c).forEach(i=>{w(o,c,i)}),o}return{}}),O=new Set(["asyncapi","openapi","swagger"]),k=(s,t,e)=>(e??f(s,{spacing:"preserve"})).filter(r=>r.tags.some(n=>O.has(n.tag))).map(r=>{const n=r.tags.length+1,a={};for(const o of S(r.tags,t))m(a,o,l);["definitions","responses","parameters","securityDefinitions","components","tags"].forEach(o=>{a[o]!==void 0&&d(a[o])&&delete a[o]});const c=JSON.parse(JSON.stringify(a));return{loc:n,spec:c}});export{k as default};
@@ -1,10 +0,0 @@
1
- "use strict";const f=require("comment-parser"),g=require("es-toolkit"),l=require("yaml"),y=require("./customizer-Bo8QD_ti.cjs"),d=t=>t&&typeof t=="object"&&"default"in t?t.default:t,v=d(l),m=(t,s)=>{if(s===null)return t},u=(t,s)=>{const e=g.mergeWith({},t??{},m);return g.mergeWith(e,s??{},m)},w=t=>Object.keys(t).map(s=>t[s]).every(s=>typeof s=="object"&&Object.keys(s).every(e=>!(e in s))),h=(t,s)=>s.some(e=>t.name===e.name),E=t=>{switch(t.tag){case"asyncapi":return"v4";case"openapi":return"v3";case"swagger":return"v2";default:return"v2"}},O=(t,s,e)=>{if(e==="x-webhooks"&&(t[e]=s[e]),!e.startsWith("x-"))if(["components","consumes","produces","paths","schemas","securityDefinitions","responses","parameters","definitions","channels"].includes(e))Object.keys(s[e]).forEach(r=>{t[e][r]=u(t[e][r],s[e][r])});else if(e==="tags"){const{tags:r}=s;Array.isArray(r)?r.forEach(n=>{h(n,t.tags)||t.tags.push(n)}):h(r,t.tags)||t.tags.push(r)}else if(e==="security"){const{security:r}=s;t.security=r}else e.startsWith("/")&&(t.paths[e]=u(t.paths[e],s[e]))},S={v2:["paths","definitions","responses","parameters","securityDefinitions"],v3:["paths","definitions","responses","parameters","securityDefinitions","components"],v4:["components","channels"]},W=(t,s)=>t.map(e=>{const r=e.description!==""||e.name.startsWith("/")||e.name.endsWith(":");if((e.tag==="openapi"||e.tag==="swagger"||e.tag==="asyncapi")&&r){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(c=>{c.annotation=n});let i="Error parsing YAML in @openapi spec:";throw i+=s?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(i)}const p=a.toJSON(),o={tags:[]};return S[E(e)].forEach(i=>{o[i]=o[i]??{}}),Object.keys(p).forEach(i=>{O(o,p,i)}),o}return{}}),b=new Set(["asyncapi","openapi","swagger"]),j=(t,s,e)=>(e??f.parse(t,{spacing:"preserve"})).filter(r=>r.tags.some(n=>b.has(n.tag))).map(r=>{const n=r.tags.length+1,a={};for(const o of W(r.tags,s))g.mergeWith(a,o,y.u);["definitions","responses","parameters","securityDefinitions","components","tags"].forEach(o=>{a[o]!==void 0&&w(a[o])&&delete a[o]});const p=JSON.parse(JSON.stringify(a));return{loc:n,spec:p}});module.exports=j;
@@ -1 +0,0 @@
1
- "use strict";const a=require("@apidevtools/swagger-parser"),o=t=>t&&typeof t=="object"&&"default"in t?t.default:t,e=o(a),s=async t=>{await e.validate(t)};module.exports=s;
@@ -1 +0,0 @@
1
- "use strict";const e=/\r\n|\r|\n/u,n=/^\s*(#\s*(?:\S.*)?)?$/u,r=t=>t.split(e).filter(s=>n.test(s)?!1:s.trim().length>0).length;module.exports=r;