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 🙏

© 2025 – Pkg Stats / Ryan Hefner

sol-profiler

v2.0.1

Published

Colourful Solidity Smart Contract Profiler

Downloads

23

Readme

sol-profiler

npm version Build status dependencies Status devDependencies Status npm npm GitHub LoC Package Quality

sol-profiler lists down the properties of all the contract methods which helps to visualize and review the definition of various contract methods involved at one glance. This is easy to use and user-friendly.

Note: sol-profiler does not ensure/guarantee any kind of security or correctness of any smart-contract.

Features

  • Lists down attributes of contract methods
  • Works with file & directory both
  • Displays user friendly colourful profile on console for single file
  • Also stores generated profile in a folder names profiles in a .txt file named with suffix _Profile
  • Generates & stores profile for each available Solidity file if directory path is passed
  • Supports file import relatively and from node_modules
  • Explicitly marks abstract and fallback functions
  • Explicitly marks library and interface contracts
  • Since Solidity release 0.5.0, Explicit data location for all variables of struct, array or mapping types is now mandatory, so profile also include the data location of parameters defined explicitly.

Install

npm install --global sol-profiler

or

npm install --save-dev sol-profiler

Application

For DApp, one can provide its contract directory path and profile will be stored for each contract which can be referred in future to get the knowledge of the methods defined in various contract.

sol-profiler <dapp/contracts/or/any/directory/path>

It can be used for individual file as:

sol-profiler <solidity/contract/file/path>

It can also be added in the package.json as:

{
  "scripts": {
    "generateProfile": "sol-profiler ./contracts/"
  },
}

Example

We have attached an extensive example i.e. sample.sol. For this, profiler result will be same as in below image :

solp2

Generated profile which get stored in .txt file can be seen here.

VSCode Extension

sol-profiler is also available as Visual Studio Code Extension

Contribution/Suggestions

Any kind of suggestion/feedback/contribution is most welcome!

License

MIT