GitHunt
VI

vittominacori/truffle-flattener

Truffle Flattener concats solidity files developed under Truffle with all of their dependencies

truffle-flattener

npm

Truffle Flattener concats solidity files developed under Truffle with all of
their dependencies.

This tool helps you to verify contracts developed with Truffle on
Etherscan, or debugging them on
Remix, by merging your files and their
dependencies in the right order.

Check out Buidler, our alternative to
Truffle. It's got flattening built-in, it's faster, and much more flexible.

Installation

npm install truffle-flattener -g

Usage

Just intall it with npm in your truffle project and run
truffle-flattener <solidity-files>.

Why not Solidity Flattener?

This project is a Truffle specific
reimplementation of Solidity Flattener. By being closely coupled to Truffle it
can take advantage of its dependencies resolution logic making --solc-paths a
thing of the past. It also supports flattening more than one file at once,
concatenating everything in the right order, whithout duplicating any file.

Limitations

If you deploy your contracts with truffle's migrations the output of
truffle-flattener may not match while verifying it in Etherscan. You
can use Solidity Flattener
in that case, or deploy your contracts from Remix.

Aliased imports (eg: import {symbol1 as alias, symbol2} from "filename";) are
not supported by truffle-flattener.

Languages

JavaScript100.0%
MIT License
Created September 12, 2020
Updated August 7, 2025