aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts-gen/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contracts-gen/README.md')
-rw-r--r--packages/contracts-gen/README.md76
1 files changed, 76 insertions, 0 deletions
diff --git a/packages/contracts-gen/README.md b/packages/contracts-gen/README.md
new file mode 100644
index 000000000..b32fa53cc
--- /dev/null
+++ b/packages/contracts-gen/README.md
@@ -0,0 +1,76 @@
+# Contracts Gen
+
+This package allows you to generate boilerplate TypeScript code and configs for smart contracts packages.
+
+## Installation
+
+`yarn add -g @0x/contracts-gen`
+
+## Usage
+
+Run it from within your smart contracts packages.
+
+```bash
+contracts-gen
+```
+
+You should run this tool after each time you move your contracts around to regenerate boilerplate code and configs.
+
+## What can it generate
+
+This tool does the following:
+
+- Reads your `compiler.json`. Specifically list of smart contracts.
+- Creates `wrapper.ts` file which exports all contract wrappers.
+- Creates `artifacts.ts` file which exports all contract artifacts.
+- Generates list of JSON artifact files in `tsconfig.json`
+- Generates a glob for abi-gen in `package.json`
+
+On top of that - if your `compiler.json` has contracts referenced just by name - it will resolve the name to relative path and put it there.
+It also sorts all the lists in it's output leading to smaller and cleaner diffs.
+
+## 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](../../CONTRIBUTING.md) before getting started.
+
+### Install dependencies
+
+If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
+
+```bash
+yarn config set workspaces-experimental true
+```
+
+Then install dependencies
+
+```bash
+yarn install
+```
+
+### Build
+
+To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
+
+```bash
+PKG=@0x/contracts-gen yarn build
+```
+
+Or continuously rebuild on change:
+
+```bash
+PKG=@0x/contracts-gen yarn watch
+```
+
+### Clean
+
+```bash
+yarn clean
+```
+
+### Lint
+
+```bash
+yarn lint
+```