UNPKG

@omer-x/next-openapi-interface-generator

Version:
2 lines 4.76 kB
#!/usr/bin/env -S npx tsx (()=>{"use strict";var e={745:function(e,t,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){try{const e=i.default.resolve(process.cwd(),"package.json"),t=n.default.readFileSync(e,"utf-8");return JSON.parse(t).name}catch(e){return"unknown-service"}};const n=r(a(24)),i=r(a(760))},530:function(e,t,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e){return(n instanceof Promise?await n:n)[e]};const n=r(a(314)).default.option("output",{alias:"o",describe:"Specify the output directory",type:"string",demandOption:!1,default:"dist"}).option("framework",{alias:"f",describe:"Specify the target framework",type:"string",demandOption:!1,default:null}).option("schemas",{alias:"s",describe:"Specify the path for predefined zod schemas",type:"string",demandOption:!1,default:null}).option("definer",{describe:"Specify the name of definer function",type:"string",demandOption:!1}).argv},630:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.split(" ").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}},206:function(e,t,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e,t,a,r="."){const o=i.default.resolve(a,r);await n.default.mkdir(o,{recursive:!0});const s=i.default.resolve(o,t);await n.default.writeFile(s,e)};const n=r(a(455)),i=r(a(760))},482:function(e,t,a){var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function(e){if(!e)return{};const t=e.split(",");return(await Promise.all(t.map(c))).flat().reduce(((e,t)=>({...e,...t})),{})};const n=r(a(455)),i=r(a(760));async function o(e){const t=[],a=await n.default.readdir(e);for(const r of a){const a=i.default.resolve(e,r);if((await n.default.stat(a)).isDirectory()){const e=await o(a);t.push(...e)}else t.push(a)}return t}async function s(e){const t=i.default.resolve(process.cwd(),e);return(await n.default.lstat(t)).isDirectory()?await o(t):[t]}async function u(e){const t=await import(e);return Object.entries(t).reduce(((e,[t,a])=>({...e,[t]:a})),{})}async function c(e){const t=await s(e);return await Promise.all(t.map(u))}},156:function(e,t,a){var r=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,r,n)}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&r(t,e,a);return n(t,e),t},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const s=o(a(760)),u=o(a(100)),c=i(a(881)),f=o(a(745)),d=o(a(530)),l=o(a(630)),p=o(a(206)),_=o(a(482));(async()=>{const e=await(0,d.default)("output"),t=s.default.resolve(process.cwd(),e),a=await(0,d.default)("framework"),r=await(0,d.default)("schemas"),n=await(0,_.default)(r),i=await(0,d.default)("definer"),o=await(0,u.default)(n,{routeDefinerName:i});if(!o.paths)throw new Error("Couldn't find any valid path");if(o.components.schemas)for(const[e,a]of Object.entries(o.components.schemas)){if(!a.type)continue;const r=c.generateSchemaCode(e,a);await(0,p.default)(r,`${e}.ts`,t,"dist/schemas")}const h=(0,f.default)(),m=h.split("/").pop()??"unknown-service",w=(0,l.default)(m.replace(/-/g," ")),y=`${m.replace(/-/g,"_").toUpperCase()}_BASE_URL`;await(0,p.default)(c.generateInterface(y,o.paths,a),"index.js",t,"dist"),await(0,p.default)(c.generateDeclaration(o.paths,a),"index.d.ts",t,"dist"),await(0,p.default)(c.generateDocumentation(w,h,y,o.paths),"README.md",t),await(0,p.default)(c.generateConfigs("dist",[])+"\n","package.json",t)})()},100:e=>{e.exports=require("@omer-x/next-openapi-json-generator")},881:e=>{e.exports=require("@omer-x/openapi-code-generator")},314:e=>{e.exports=require("yargs")},24:e=>{e.exports=require("node:fs")},455:e=>{e.exports=require("node:fs/promises")},760:e=>{e.exports=require("node:path")}},t={};!function a(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,a),i.exports}(156)})();