npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sol-swagger2

v1.0.1

Published

Tool to bootstrap Swagger documentation from a Solidity contract or interface

Downloads

6

Readme

sol2swagger

Convert Solidity files and Interface ABI to Swagger specifications

TODO: Handle imports and pragma versioning

Install

npm install https://github.com/loyyal/sol2swagger.git -g

Instructions

sol2swagger SomeFile.sol

Will result in an openapi (Swagger 2.0) specification of the provided contract being printed to the screen.

sol2swagger SomeFile.sol >> out.json

This allows piping to another program or echoing to a file.

sol2swagger SomeFile.sol -s

This will run a Swagger UI site locally to let you inspect your newly generated specification

Bonus (experimental)

Yeoman

     _-----_     ╭───────────────────────╮
    |       |    │        Yo can do      │
    |--(o)--|    │       Ethereum too    │
   `---------´   │                       │
    ( _´U`_ )    │    http://yeoman.io   │
    /___A___\   /╰───────────────────────╯
     |  ~  |
   __'.___.'__
 ´   `  |° ´ Y `

If you have already converted SomeFile.sol to out.json you can actually generate a mocked out skeleton API. Be careful to be in a folder you want generated files to be placed.

Install the generator

npm install https://github.com/synrg-labs/generator-sol2solidity.git -g

Generate your spec and working mock API

sol2swagger SomeFile.sol -s -g

Wait a few minutes and you will be presented with the familiar Swagger UI viewer.

Wait a few more minutes for your new API to generate and you can now interact with the UI and have values returned based on the shape and types described in the swagger specification

You can modify the resulting nodejs application as you see fit.

Help

-s, --server           Serves swagger inside Swagger UI webserver
-p, --port [PORT]      Specifies the port to serve Swagger UI
-f, --file [FILENAME]  Specify where to write the generated swagger file
-h, --help             This menu
-g, --generate         Run the API Generator tool