![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@lauginwing/openapi-gen
Advanced tools
根据 swagger 文档生成 api 代码及其类型
yarn add @lauginwing/openapi-gen
openapi-gen -c ./config.js
// -c : 设定配置文件所在地址,不传则默认取终端当前目录下的genapiconfig.js
// 本地使用
npx openapi-gen -c ./config.js
import {gen} from '@lauginwing/openapi-gen'
import config from './genapiconfig.ts'
gen(config)
一般情况下,只需配置前四项即可
例子
// config.js
const path = require('path')
module.exports = [
{
api: `https://petstore.swagger.io/v2/swagger.json`,
sdkDir: path.join(__dirname, './src/api/pet'),
namespace: 'Pet',
prefix: '/pet',
},
]
完整类型:
interface config {
/** api文档地址 **/
api: string
/** 生成目录 */
sdkDir: string
/** 复杂类型命名空间 */
namespace?: string
/** 在每个请求的请求地址前加的前缀 */
prefix?: string
saveOpenAPIData?: boolean
autoClear?: boolean
/** 自动清除旧文件时忽略列表 */
ignoreDelete?: string[]
/** 参数类型的模板的地址 */
paramInterfaceTemplatePath?: string
/** Service模板文件路径 */
templatePath?: string
/** Interface模板文件路径 */
interfaceTemplatePath?: string
/** 生成请求库 */
requestLib?: boolean
/** filename style, true 为大驼峰,lower 为小驼峰 */
camelCase?: boolean | 'lower'
/** gen type */
type?: 'ts' | 'js'
/** 生成 Service 类型 */
serviceType?: 'function' | 'class'
/** 拿到 swagger json ,做前置处理,返回处理好的数据 **/
beforeParseSwagger?: (data: SwaggerJSon | OpenApiJson) => Promise<SwaggerJSon | OpenApiJson>
/** 数据处理钩子 */
hook?: {
/** 自定义函数名称 */
customFunctionName?: (data: OperationObject) => string
/** 自定义类名 */
customClassName?: (tagName: string) => string
}
/** path过滤 */
filter?: (RegExp | ((data: APIDataType) => boolean))[]
}
FAQs
根据swagger文档生成api代码及其类型
We found that @lauginwing/openapi-gen demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.