JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q37628F
  • License MIT

prettier plugin for solidity that refactors solidity 0.4.x code to solidity 0.5.x code

Package Exports

  • prettier-plugin-solidity-refactor

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (prettier-plugin-solidity-refactor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

solidity-upgrade

This is a work in progress Prettier Plugin for Refactoring Solidity 0.4.x code to 0.5.x code. This tool does the following tasks currently:

  1. Change pragma version to ^0.5.0.
  2. Add calldata storage keyword infront of external function complex parameters and memory infront of other function's complex parameters that don't already have a defined parameter storage location.
  3. Rename constructor function from function ContractName to constructor.
  4. Add default function visibility of public to those normal functions which don't have function visibility explicitly defined.
  5. Add function visibility of external to fallback functions and all functions of inteface.
  6. Prettify your code using prettier.

Installation

Install both prettier and solidity-refactor:

npm install --save-dev prettier prettier-plugin-solidity-refactor

OR

yarn add --dev prettier prettier-plugin-solidity-refactor

Usage

This plugin allows you to configure prettier to your needs. Command with my personal config is

./node_modules/.bin/prettier --write --tab-width 4 --print-width 140 '**/*.sol'

command with default config is

./node_modules/.bin/prettier '**/*.sol'

You may add the command script to your package.json file and then use npm run scriptName to execute the command.