Notoriously Pedantic Magistrate
    Wondering what’s next for npm?Check out our public roadmap! »

    @repositive/apigen

    0.3.0 • Public • Published

    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

    Keywords

    none

    Install

    npm i @repositive/apigen

    DownloadsWeekly Downloads

    3

    Version

    0.3.0

    License

    UNLICENSED

    Unpacked Size

    20.2 MB

    Total Files

    6

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar