
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
openapi2aspida
Advanced tools
Convert OpenAPI 3.0 and Swagger 2.0 definitions into aspida.
Since openapi2aspida >= 0.18.0
, decision whether to be required follows the OpenAPI spec correctly. Dropping the support for original implementation, that was defaulting to required.
Since openapi2aspida >= 0.16.0
, requires TypeSciprt 3.8 or higher for Type-Only Imports.
Since openapi2aspida >= 0.14.0
, request headers are forced to be optional.
Since openapi2aspida >= 0.13.0
, optional for aspida only if the 'required' property of OpenAPI is set to false
.
Compatible with yaml/json of OpenAPI3.0/Swagger2.0
$ mkdir petstore-api
$ cd petstore-api
$ npx openapi2aspida -i https://petstore.swagger.io/v2/swagger.json # or ../local-swagger.yaml
# api/$api.ts was built successfully.
$ npm init -y
$ npm install @aspida/axios axios typescript ts-node @types/node
index.ts
import axiosClient from "@aspida/axios"
import api from "./api/$api"
import type { Pet } from "./api/@types"
;(async () => {
const client = api(axiosClient())
const petId = 100
const body: Pet = {
id: petId,
name: "hoge",
photoUrls: [],
status: "available"
}
await client.pet.$post({ body })
const pet = await client.pet._petId(petId).$get()
console.log(pet)
})()
package.json
{
"scripts": {
"start": "ts-node index.ts"
}
}
$ npm start
# { id: 100, name: 'hoge', photoUrls: [], tags: [], status: 'available' }
Create config file in project root
aspida.config.js
module.exports = {
input: "api", // "input" of aspida is "output" for openapi2aspida
outputEachDir: true, // Generate $api.ts in each endpoint directory
openapi: { inputFile: "https://petstore.swagger.io/v2/swagger.json" }
}
$ npx openapi2aspida
-i
, --input
path to an OpenAPI spec file for input
-o
, --outputdir
can change aspida output directory
-c
, --config
path to an aspida config file
--version
displays version of openapi2aspida
npx openapi2aspida -i=openApi/sample.yaml -o=lib/api/sample
openapi2aspida is licensed under a MIT License.
FAQs
Convert OpenAPI 3.0 or Swagger 2.0 definitions into aspida
The npm package openapi2aspida receives a total of 14,950 weekly downloads. As such, openapi2aspida popularity was classified as popular.
We found that openapi2aspida demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers 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
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.