diff options
Diffstat (limited to 'packages/abi-gen')
-rw-r--r-- | packages/abi-gen/CHANGELOG.json | 13 | ||||
-rw-r--r-- | packages/abi-gen/package.json | 2 | ||||
-rw-r--r-- | packages/abi-gen/src/index.ts | 8 |
3 files changed, 20 insertions, 3 deletions
diff --git a/packages/abi-gen/CHANGELOG.json b/packages/abi-gen/CHANGELOG.json index 438b25649..8f0beb57e 100644 --- a/packages/abi-gen/CHANGELOG.json +++ b/packages/abi-gen/CHANGELOG.json @@ -1,5 +1,18 @@ [ { + "version": "0.4.0", + "changes": [ + { + "note": "Convert e_r_c to erc in generated file names", + "pr": 822 + }, + { + "note": "Remove the output directory before writing to it", + "pr": 822 + } + ] + }, + { "timestamp": 1529397769, "version": "0.3.2", "changes": [ diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json index dadf1dbfe..f8eede705 100644 --- a/packages/abi-gen/package.json +++ b/packages/abi-gen/package.json @@ -34,6 +34,7 @@ "glob": "^7.1.2", "handlebars": "^4.0.11", "lodash": "^4.17.4", + "rimraf": "^2.6.2", "mkdirp": "^0.5.1", "to-snake-case": "^1.0.0", "yargs": "^10.0.3" @@ -42,6 +43,7 @@ "@0xproject/monorepo-scripts": "^0.2.1", "@0xproject/tslint-config": "^0.4.20", "@types/glob": "^5.0.33", + "@types/rimraf": "^2.0.2", "@types/handlebars": "^4.0.36", "@types/mkdirp": "^0.5.1", "@types/node": "^8.0.53", diff --git a/packages/abi-gen/src/index.ts b/packages/abi-gen/src/index.ts index 0d053cdd1..47f2c404b 100644 --- a/packages/abi-gen/src/index.ts +++ b/packages/abi-gen/src/index.ts @@ -8,6 +8,7 @@ import { sync as globSync } from 'glob'; import * as Handlebars from 'handlebars'; import * as _ from 'lodash'; import * as mkdirp from 'mkdirp'; +import * as rimraf from 'rimraf'; import * as yargs from 'yargs'; import toSnakeCase = require('to-snake-case'); @@ -72,9 +73,9 @@ function registerPartials(partialsGlob: string): void { function writeOutputFile(name: string, renderedTsCode: string): void { let fileName = toSnakeCase(name); - if (fileName === 'z_r_x_token') { - fileName = 'zrx_token'; - } + // HACK: Snake case doesn't make a lot of sense for abbreviated names but we can't reliably detect abbreviations + // so we special-case the abbreviations we use. + fileName = fileName.replace('z_r_x', 'zrx').replace('e_r_c', 'erc'); const filePath = `${args.output}/${fileName}.ts`; fs.writeFileSync(filePath, renderedTsCode); logUtils.log(`Created: ${chalk.bold(filePath)}`); @@ -96,6 +97,7 @@ if (_.isEmpty(abiFileNames)) { process.exit(1); } else { logUtils.log(`Found ${chalk.green(`${abiFileNames.length}`)} ${chalk.bold('ABI')} files`); + rimraf.sync(args.output); mkdirp.sync(args.output); } for (const abiFileName of abiFileNames) { |