@0x/sol-compiler
Sol-compiler is a wrapper around solc-js that adds:
- Smart re-compilation: Only recompiles when smart contracts have changed
- Ability to compile an entire project instead of only individual
.sol
files - Compilation using the Solidity version specified at the top of each individual
.sol
file - Proper parsing of Solidity version ranges
- Support for the standard input description for what information you'd like added to the resulting
artifacts
file (i.e 100% configurable artifacts content).
Documentation.
Read theInstallation
CLI Installation
yarn global add @0x/sol-compiler
API Installation
yarn add @0x/sol-compiler
If your project is in TypeScript, add the following to your tsconfig.json
:
"compilerOptions": {
"typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
}
Import
import { Compiler } from '@0x/sol-compiler';
or
var Compiler = require('@0x/sol-compiler').Compiler;
Contributing
We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.
Please read our contribution guidelines before getting started.
Install dependencies
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
yarn config set workspaces-experimental true
Then install dependencies
yarn install
Build
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
PKG=@0x/sol-compiler yarn build
Or continuously rebuild on change:
PKG=@0x/sol-compiler yarn watch
Clean
yarn clean
Lint
yarn lint
Run Tests
yarn test