Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@repositive/apigen

Package Overview
Dependencies
Maintainers
7
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@repositive/apigen

Generate code from OpenAPI specs

  • 0.3.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
7
Created
Source

Generate API definitions from OpenAPI YAML specs

Install

npm install --save-dev @repositive/apigen

Add the apigen script to your "scripts" section in package.json:

"apigen": "apigen ts -o ./src/openapi

Usage

npm run apigen

Output is rendered to a folder at the path specified in the NPM scripts command (./src/openapi). If the folder (or its parents) don't exist, they will be created. Any other non-target files in the folder will be kept. It's good practice to add ./src/openapi to .gitignore.

Development

Setup:

  • Install Rust with Rustup
  • Install Node with NVM
  • npm install

Run:

# Generates Typescript types into `./rendered/typescript`
cargo run -- ts /path/to/api.yaml -o ./rendered/typescript

View docs:

cargo doc --open

Build dependencies

The following targets are supported by apigen:

  • x86_64-unknown-linux-gnu
  • x86_64-unknown-linux-musl
  • x86_64-apple-darwin

To build for these targets on a Linux machine, make sure you have the correct build dependencies:

# Ensure Rust targets are added
rustup target add x86_64-unknown-linux-gnu x86_64-unknown-linux-musl x86_64-apple-darwin

# Install cross compilation tools (Debian/Ubuntu/Mint)
apt install musl musl-tools clang gcc g++ zlib1g-dev libmpc-dev libmpfr-dev libgmp-dev

# Install osxcross toolchain (requires sudo)
./osxcross-setup.sh

Releasing to NPM

# Make sure we're deploying up to date master
git checkout master && git pull

# (optional) login to NPM
npm login

# Increment NPM version number
npm version major|minor|patch

# Publish to NPM (builds binaries for targets)
npm publish

# Push generated tag to Github
git push --tags

FAQs

Package last updated on 25 Mar 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc