Introducing Solium: A customizable Linter for Ethereum’s Solidity
Before you begin working on a new project, always try to optimise your workflow.
This mantra has done wonders for me. A little extra effort at the beginning (which, believe me, seems like a complete waste of time) goes a long way in saving you a lot of manual, repetitive effort during the lifetime of your project.
So I’ve always been a believer of improving work flow, which led me to build a range of projects that help me improve it.
I recently started dabbling with Smart Contract development using Solidity. and what I‘ve realised is that despite all the hype and fast-paced innovation surrounding Ethereum, the platform itself is an uncharted territory. Its development tools have a massive scope for improvement and so does its workflow.
So I set out to do the one thing I’ve recently fallen in love with — make the development process as smooth as humanely possible for myself and for the community (all the cool kids are doing stuff and appending “for the community” to it!).
My greatest contribution so far, I believe, is Solium. Its a linter that aims to follow the official Solidity Style guide (although I personally disagree with some of the conventions listed in it — ah! the eternal warfare between tabs and spaces). It would have the option of selecting rules over others, based on the user’s adopted conventions.
However, its greatest strength lies in its flexibility — Solium would allow you to write your custom linting rules and just plug them in!
Currently, the linter is in its infancy stage — the core software along with around 6–7 rules is functional. As more rules & features are added and tests written, the project will mature into (I hope so) something the solidity community at large would find useful!
Solium is available via npm:
npm install -g solium
k bye=)