Merge pull request #450 from 0xProject/convertScriptsToTs

Convert Scripts to TS & Other Misc. Fixes
This commit is contained in:
Fabio Berger 2018-03-14 15:18:16 +01:00 committed by GitHub
commit e16feb27f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
138 changed files with 748 additions and 476 deletions

3
.gitignore vendored
View File

@ -75,3 +75,6 @@ bin/
# generated contract artifacts # generated contract artifacts
packages/contracts/src/artifacts packages/contracts/src/artifacts
# Monorepo scripts
packages/*/scripts/

View File

@ -52,7 +52,6 @@ This repository is a monorepo including the 0x protocol smart contracts and nume
| --------------------------------------------------------------- | ---------------------------------------------------------------- | | --------------------------------------------------------------- | ---------------------------------------------------------------- |
| [`@0xproject/contracts`](/packages/contracts) | 0x solidity smart contracts & tests | | [`@0xproject/contracts`](/packages/contracts) | 0x solidity smart contracts & tests |
| [`@0xproject/react-docs-example`](/packages/react-docs-example) | Example documentation site created with `@0xproject/react-docs` | | [`@0xproject/react-docs-example`](/packages/react-docs-example) | Example documentation site created with `@0xproject/react-docs` |
| [`@0xproject/monorepo-scripts`](/packages/monorepo-scripts) | Shared monorepo scripts |
| [`@0xproject/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether | | [`@0xproject/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
| [`@0xproject/website`](/packages/website) | 0x website & Portal DApp | | [`@0xproject/website`](/packages/website) | 0x website & Portal DApp |

View File

@ -16,12 +16,8 @@
"mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic" "mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic"
}, },
"devDependencies": { "devDependencies": {
"@0xproject/utils": "^0.4.1",
"async-child-process": "^1.1.1",
"ethereumjs-testrpc": "^6.0.3", "ethereumjs-testrpc": "^6.0.3",
"lerna": "^2.5.1", "lerna": "^2.5.1",
"prettier": "^1.11.1", "prettier": "^1.11.1"
"publish-release": "0xproject/publish-release",
"semver-sort": "^0.0.4"
} }
} }

View File

@ -24,14 +24,22 @@
"test:coverage": "nyc npm run test --all", "test:coverage": "nyc npm run test --all",
"report_test_coverage": "nyc report --reporter=text-lcov | coveralls", "report_test_coverage": "nyc report --reporter=text-lcov | coveralls",
"update_contracts": "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../0x.js/src/artifacts; done;", "update_contracts": "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../0x.js/src/artifacts; done;",
"clean": "shx rm -rf _bundles lib test_temp", "clean": "shx rm -rf _bundles lib test_temp scripts",
"build:umd:prod": "NODE_ENV=production webpack", "build:umd:prod": "NODE_ENV=production webpack",
"build:commonjs": "tsc && copyfiles -u 2 './src/artifacts/**/*.json' ./lib/src/artifacts;", "build:commonjs": "tsc && copyfiles -u 2 './src/artifacts/**/*.json' ./lib/src/artifacts && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts",
"test:commonjs": "run-s build:commonjs run_mocha", "test:commonjs": "run-s build:commonjs run_mocha",
"run_mocha": "mocha lib/test/**/*_test.js --timeout 10000 --bail --exit" "run_mocha": "mocha lib/test/**/*_test.js --timeout 10000 --bail --exit"
}, },
"config": { "config": {
"artifacts": "TokenTransferProxy Exchange TokenRegistry Token EtherToken" "artifacts": "TokenTransferProxy Exchange TokenRegistry Token EtherToken",
"postpublish": {
"assets": ["_bundles/index.js", "_bundles/index.min.js"],
"docPublishConfigs": {
"extraFileIncludes": ["../types/src/index.ts"],
"s3BucketPath": "s3://0xjs-docs-jsons/",
"s3StagingBucketPath": "s3://staging-0xjs-docs-jsons/"
}
}
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -44,6 +52,7 @@
"devDependencies": { "devDependencies": {
"@0xproject/abi-gen": "^0.2.5", "@0xproject/abi-gen": "^0.2.5",
"@0xproject/dev-utils": "^0.2.1", "@0xproject/dev-utils": "^0.2.1",
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@types/bintrees": "^1.0.2", "@types/bintrees": "^1.0.2",
"@types/jsonschema": "^1.1.1", "@types/jsonschema": "^1.1.1",
@ -66,6 +75,7 @@
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"nyc": "^11.0.1", "nyc": "^11.0.1",
"opn-cli": "^3.1.0", "opn-cli": "^3.1.0",
"prettier": "^1.11.1",
"request": "^2.81.0", "request": "^2.81.0",
"request-promise-native": "^1.0.5", "request-promise-native": "^1.0.5",
"shx": "^0.2.2", "shx": "^0.2.2",

View File

@ -1,47 +0,0 @@
const execAsync = require('async-child-process').execAsync;
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const tsConfig = require('../tsconfig.json');
const cwd = __dirname + '/..';
const subPackageName = packageJSON.name;
// Include any external packages that are part of the 0x.js public interface
// to this array so that TypeDoc picks it up and adds it to the Docs JSON
// So far, we only have @0xproject/types as part of 0x.js's public interface.
const fileIncludes = [...tsConfig.include, '../types/src/index.ts'];
const fileIncludesAdjusted = postpublish_utils.adjustFileIncludePaths(fileIncludes, __dirname);
const projectFiles = fileIncludesAdjusted.join(' ');
const S3BucketPath = 's3://0xjs-docs-jsons/';
let tag;
let version;
postpublish_utils
.getLatestTagAndVersionAsync(subPackageName)
.then(function(result) {
tag = result.tag;
version = result.version;
const releaseName = postpublish_utils.getReleaseName(subPackageName, version);
const assets = [__dirname + '/../_bundles/index.js', __dirname + '/../_bundles/index.min.js'];
return postpublish_utils.publishReleaseNotesAsync(tag, releaseName, assets);
})
.then(function(release) {
console.log('POSTPUBLISH: Release successful, generating docs...');
const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json';
return execAsync('JSON_FILE_PATH=' + jsonFilePath + ' PROJECT_FILES="' + projectFiles + '" yarn docs:json', {
cwd,
});
})
.then(function(result) {
if (result.stderr !== '') {
throw new Error(result.stderr);
}
const fileName = 'v' + version + '.json';
console.log('POSTPUBLISH: Doc generation successful, uploading docs... as ', fileName);
const s3Url = S3BucketPath + fileName;
return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json', {
cwd,
});
})
.catch(function(err) {
throw err;
});

View File

@ -1,31 +0,0 @@
const execAsync = require('async-child-process').execAsync;
const postpublish_utils = require('../../../scripts/postpublish_utils');
const tsConfig = require('../tsconfig.json');
const cwd = __dirname + '/..';
const S3BucketPath = 's3://staging-0xjs-docs-jsons/';
// Include any external packages that are part of the 0x.js public interface
// to this array so that TypeDoc picks it up and adds it to the Docs JSON
// So far, we only have @0xproject/types as part of 0x.js's public interface.
const fileIncludes = [...tsConfig.include, '../types/src/index.ts'];
const fileIncludesAdjusted = postpublish_utils.adjustFileIncludePaths(fileIncludes, __dirname);
const projectFiles = fileIncludesAdjusted.join(' ');
const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json';
const version = process.env.DOCS_VERSION;
execAsync('JSON_FILE_PATH=' + jsonFilePath + ' PROJECT_FILES="' + projectFiles + '" yarn docs:json', {
cwd,
})
.then(function(result) {
if (result.stderr !== '') {
throw new Error(result.stderr);
}
const fileName = 'v' + version + '.json';
const s3Url = S3BucketPath + fileName;
return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json', {
cwd,
});
})
.catch(function(err) {
console.log(err);
});

View File

@ -4,6 +4,12 @@ declare module 'dirty-chai';
declare module 'request-promise-native'; declare module 'request-promise-native';
declare module 'web3-provider-engine'; declare module 'web3-provider-engine';
declare module 'web3-provider-engine/subproviders/rpc'; declare module 'web3-provider-engine/subproviders/rpc';
declare module 'publish-release';
// semver-sort declarations
declare module 'semver-sort' {
const desc: (versions: string[]) => string[];
}
// HACK: In order to merge the bignumber declaration added by chai-bignumber to the chai Assertion // HACK: In order to merge the bignumber declaration added by chai-bignumber to the chai Assertion
// interface we must use `namespace` as the Chai definitelyTyped definition does. Since we otherwise // interface we must use `namespace` as the Chai definitelyTyped definition does. Since we otherwise

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.publishDocsToStagingAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -7,8 +7,8 @@
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"lint": "tslint --project . 'src/**/*.ts'", "lint": "tslint --project . 'src/**/*.ts'",
"clean": "shx rm -rf lib", "clean": "shx rm -rf lib scripts",
"build": "tsc" "build": "tsc && copyfiles -u 2 './lib/monorepo_scripts/**/*' ./scripts"
}, },
"bin": { "bin": {
"abi-gen": "lib/index.js" "abi-gen": "lib/index.js"
@ -34,12 +34,14 @@
"yargs": "^10.0.3" "yargs": "^10.0.3"
}, },
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@types/glob": "^5.0.33", "@types/glob": "^5.0.33",
"@types/handlebars": "^4.0.36", "@types/handlebars": "^4.0.36",
"@types/mkdirp": "^0.5.1", "@types/mkdirp": "^0.5.1",
"@types/node": "^8.0.53", "@types/node": "^8.0.53",
"@types/yargs": "^10.0.0", "@types/yargs": "^10.0.0",
"copyfiles": "^1.2.0",
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"shx": "^0.2.2", "shx": "^0.2.2",
"tslint": "5.8.0", "tslint": "5.8.0",

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -2,3 +2,10 @@ declare function toSnakeCase(str: string): string;
declare module 'to-snake-case' { declare module 'to-snake-case' {
export = toSnakeCase; export = toSnakeCase;
} }
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -6,8 +6,8 @@
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"build": "tsc", "build": "tsc && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts",
"clean": "shx rm -rf _bundles lib test_temp", "clean": "shx rm -rf _bundles lib test_temp scripts",
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'", "lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'",
"run_mocha": "mocha lib/test/**/*_test.js", "run_mocha": "mocha lib/test/**/*_test.js",
"prepublishOnly": "run-p build", "prepublishOnly": "run-p build",
@ -24,12 +24,14 @@
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/assert/README.md", "homepage": "https://github.com/0xProject/0x-monorepo/packages/assert/README.md",
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"@types/mocha": "^2.2.42", "@types/mocha": "^2.2.42",
"@types/valid-url": "^1.0.2", "@types/valid-url": "^1.0.2",
"chai": "^4.0.1", "chai": "^4.0.1",
"chai-typescript-typings": "^0.0.4", "chai-typescript-typings": "^0.0.4",
"copyfiles": "^1.2.0",
"dirty-chai": "^2.0.1", "dirty-chai": "^2.0.1",
"mocha": "^4.0.1", "mocha": "^4.0.1",
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -1 +1,8 @@
declare module 'dirty-chai'; declare module 'dirty-chai';
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -6,8 +6,8 @@
"types": "lib/index.d.ts", "types": "lib/index.d.ts",
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"build": "tsc", "build": "tsc && copyfiles -u 2 './lib/monorepo_scripts/**/*' ./scripts",
"clean": "shx rm -rf lib", "clean": "shx rm -rf lib scripts",
"lint": "tslint --project . 'src/**/*.ts'" "lint": "tslint --project . 'src/**/*.ts'"
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
@ -20,8 +20,10 @@
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/base-contract/README.md", "homepage": "https://github.com/0xProject/0x-monorepo/packages/base-contract/README.md",
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"copyfiles": "^1.2.0",
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"shx": "^0.2.2", "shx": "^0.2.2",
"tslint": "5.8.0", "tslint": "5.8.0",

View File

@ -0,0 +1,6 @@
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -0,0 +1,6 @@
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -4,6 +4,10 @@
"description": "Typescript type definitions for chai-as-promised", "description": "Typescript type definitions for chai-as-promised",
"main": "index.d.ts", "main": "index.d.ts",
"types": "index.d.ts", "types": "index.d.ts",
"scripts": {
"build": "tsc && copyfiles -u 1 './lib/**/*' ./scripts",
"clean": "shx rm -rf scripts"
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/0xProject/0x-monorepo.git" "url": "git+https://github.com/0xProject/0x-monorepo.git"
@ -20,6 +24,11 @@
"dependencies": { "dependencies": {
"chai-typescript-typings": "^0.0.4" "chai-typescript-typings": "^0.0.4"
}, },
"devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"copyfiles": "^1.2.0",
"shx": "^0.2.2"
},
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -0,0 +1,7 @@
{
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "lib"
},
"include": ["./monorepo_scripts/**/*"]
}

View File

@ -0,0 +1,6 @@
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -4,6 +4,10 @@
"description": "Typescript type definitions for chai", "description": "Typescript type definitions for chai",
"main": "index.d.ts", "main": "index.d.ts",
"types": "index.d.ts", "types": "index.d.ts",
"scripts": {
"build": "tsc && copyfiles -u 1 './lib/**/*' ./scripts",
"clean": "shx rm -rf scripts"
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/0xProject/0x-monorepo.git" "url": "git+https://github.com/0xProject/0x-monorepo.git"
@ -13,6 +17,11 @@
"url": "https://github.com/0xProject/0x-monorepo/issues" "url": "https://github.com/0xProject/0x-monorepo/issues"
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/chai-typescript-typings#readme", "homepage": "https://github.com/0xProject/0x-monorepo/packages/chai-typescript-typings#readme",
"devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"copyfiles": "^1.2.0",
"shx": "^0.2.2"
},
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
} }

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -0,0 +1,7 @@
{
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "lib"
},
"include": ["./monorepo_scripts/**/*"]
}

View File

@ -13,8 +13,8 @@
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"build": "tsc", "build": "tsc && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts",
"clean": "shx rm -rf _bundles lib test_temp", "clean": "shx rm -rf _bundles lib test_temp scripts",
"docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_FILES", "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_FILES",
"upload_docs_json": "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json", "upload_docs_json": "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json",
"copy_test_fixtures": "copyfiles -u 2 './test/fixtures/**/*.json' ./lib/test/fixtures", "copy_test_fixtures": "copyfiles -u 2 './test/fixtures/**/*.json' ./lib/test/fixtures",
@ -23,6 +23,15 @@
"test": "run-s clean build copy_test_fixtures run_mocha", "test": "run-s clean build copy_test_fixtures run_mocha",
"test:circleci": "yarn test" "test:circleci": "yarn test"
}, },
"config": {
"postpublish": {
"assets": ["_bundles/index.js", "_bundles/index.min.js"],
"docPublishConfigs": {
"s3BucketPath": "s3://connect-docs-jsons/",
"s3StagingBucketPath": "s3://staging-connect-docs-jsons/"
}
}
},
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/0xProject/0x-monorepo.git" "url": "https://github.com/0xProject/0x-monorepo.git"
@ -46,12 +55,14 @@
"websocket": "^1.0.25" "websocket": "^1.0.25"
}, },
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@types/fetch-mock": "^5.12.1", "@types/fetch-mock": "^5.12.1",
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"@types/mocha": "^2.2.42", "@types/mocha": "^2.2.42",
"@types/query-string": "^5.0.1", "@types/query-string": "^5.0.1",
"@types/websocket": "^0.0.34", "@types/websocket": "^0.0.34",
"async-child-process": "^1.1.1",
"chai": "^4.0.1", "chai": "^4.0.1",
"chai-as-promised": "^7.1.0", "chai-as-promised": "^7.1.0",
"chai-as-promised-typescript-typings": "^0.0.10", "chai-as-promised-typescript-typings": "^0.0.10",

View File

@ -1,45 +0,0 @@
const execAsync = require('async-child-process').execAsync;
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const tsConfig = require('../tsconfig.json');
const cwd = __dirname + '/..';
const subPackageName = packageJSON.name;
const S3BucketPath = 's3://connect-docs-jsons/';
// Include any external packages that are part of the @0xproject/connect public interface
// to this array so that TypeDoc picks it up and adds it to the Docs JSON
const fileIncludes = [...tsConfig.include];
const fileIncludesAdjusted = postpublish_utils.adjustFileIncludePaths(fileIncludes, __dirname);
const projectFiles = fileIncludesAdjusted.join(' ');
let tag;
let version;
postpublish_utils
.getLatestTagAndVersionAsync(subPackageName)
.then(function(result) {
tag = result.tag;
version = result.version;
const releaseName = postpublish_utils.getReleaseName(subPackageName, version);
return postpublish_utils.publishReleaseNotesAsync(tag, releaseName);
})
.then(function(release) {
console.log('POSTPUBLISH: Release successful, generating docs...');
const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json';
return execAsync('JSON_FILE_PATH=' + jsonFilePath + ' PROJECT_FILES="' + projectFiles + '" yarn docs:json', {
cwd,
});
})
.then(function(result) {
if (result.stderr !== '') {
throw new Error(result.stderr);
}
const fileName = 'v' + version + '.json';
console.log('POSTPUBLISH: Doc generation successful, uploading docs... as ', fileName);
const s3Url = S3BucketPath + fileName;
return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json', {
cwd,
});
})
.catch(function(err) {
throw err;
});

View File

@ -1,30 +0,0 @@
const execAsync = require('async-child-process').execAsync;
const postpublish_utils = require('../../../scripts/postpublish_utils');
const tsConfig = require('../tsconfig.json');
const cwd = __dirname + '/..';
const S3BucketPath = 's3://staging-connect-docs-jsons/';
const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json';
const version = process.env.DOCS_VERSION;
// Include any external packages that are part of the @0xproject/connect public interface
// to this array so that TypeDoc picks it up and adds it to the Docs JSON
const fileIncludes = [...tsConfig.include];
const fileIncludesAdjusted = postpublish_utils.adjustFileIncludePaths(fileIncludes, __dirname);
const projectFiles = fileIncludesAdjusted.join(' ');
execAsync('JSON_FILE_PATH=' + jsonFilePath + ' PROJECT_FILES="' + projectFiles + '" yarn docs:json', {
cwd,
})
.then(function(result) {
if (result.stderr !== '') {
throw new Error(result.stderr);
}
const fileName = 'v' + version + '.json';
const s3Url = S3BucketPath + fileName;
return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json', {
cwd,
});
})
.catch(function(err) {
console.log(err);
});

View File

@ -1,3 +1,4 @@
declare module 'async-child-process';
declare module 'dirty-chai'; declare module 'dirty-chai';
declare module '*.json' { declare module '*.json' {

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.publishDocsToStagingAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -6,10 +6,10 @@
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"build": "yarn clean && copyfiles 'test/fixtures/contracts/**/*' ./lib && tsc", "build": "yarn clean && copyfiles 'test/fixtures/contracts/**/*' ./lib && tsc && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts",
"test": "npm run build; mocha lib/test/*_test.js", "test": "npm run build; mocha lib/test/*_test.js",
"compile": "npm run build; node lib/src/cli.js compile", "compile": "npm run build; node lib/src/cli.js compile",
"clean": "shx rm -rf ./lib", "clean": "shx rm -rf lib scripts",
"migrate": "npm run build; node lib/src/cli.js migrate", "migrate": "npm run build; node lib/src/cli.js migrate",
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'", "lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'",
"test:circleci": "yarn test" "test:circleci": "yarn test"
@ -28,6 +28,7 @@
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/deployer/README.md", "homepage": "https://github.com/0xProject/0x-monorepo/packages/deployer/README.md",
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@types/require-from-string": "^1.2.0", "@types/require-from-string": "^1.2.0",
"chai": "^4.0.1", "chai": "^4.0.1",

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -42,3 +42,10 @@ declare module 'solc' {
declare module 'web3-eth-abi' { declare module 'web3-eth-abi' {
export function encodeParameters(typesArray: string[], parameters: any[]): string; export function encodeParameters(typesArray: string[], parameters: any[]): string;
} }
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -6,11 +6,11 @@
"types": "lib/src/index.d.ts", "types": "lib/src/index.d.ts",
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"build": "tsc", "build": "tsc && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts",
"test": "run-s clean build run_mocha", "test": "run-s clean build run_mocha",
"test:circleci": "yarn test", "test:circleci": "yarn test",
"run_mocha": "mocha lib/test/**/*_test.js --bail --exit", "run_mocha": "mocha lib/test/**/*_test.js --bail --exit",
"clean": "shx rm -rf lib", "clean": "shx rm -rf lib scripts",
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'" "lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'"
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
@ -23,12 +23,14 @@
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/dev-utils/README.md", "homepage": "https://github.com/0xProject/0x-monorepo/packages/dev-utils/README.md",
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@0xproject/web3-wrapper": "^0.2.1", "@0xproject/web3-wrapper": "^0.2.1",
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"@types/mocha": "^2.2.42", "@types/mocha": "^2.2.42",
"chai": "^4.0.1", "chai": "^4.0.1",
"chai-typescript-typings": "^0.0.4", "chai-typescript-typings": "^0.0.4",
"copyfiles": "^1.2.0",
"mocha": "^4.0.1", "mocha": "^4.0.1",
"npm-run-all": "^4.1.2", "npm-run-all": "^4.1.2",
"shx": "^0.2.2", "shx": "^0.2.2",

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -1,2 +1,9 @@
declare module 'web3-provider-engine'; declare module 'web3-provider-engine';
declare module 'web3-provider-engine/subproviders/rpc'; declare module 'web3-provider-engine/subproviders/rpc';
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -0,0 +1,6 @@
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -5,7 +5,9 @@
"main": "index.d.ts", "main": "index.d.ts",
"types": "index.d.ts", "types": "index.d.ts",
"scripts": { "scripts": {
"lint": "tslint index.d.ts" "lint": "tslint index.d.ts",
"build": "tsc && copyfiles -u 1 './lib/**/*' ./scripts",
"clean": "shx rm -rf scripts"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -21,6 +23,9 @@
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/ethers-typescript-typings#readme", "homepage": "https://github.com/0xProject/0x-monorepo/packages/ethers-typescript-typings#readme",
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"copyfiles": "^1.2.0",
"shx": "^0.2.2",
"tslint": "5.8.0", "tslint": "5.8.0",
"tslint-config-0xproject": "^0.0.2", "tslint-config-0xproject": "^0.0.2",
"typescript": "2.7.1" "typescript": "2.7.1"

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -0,0 +1,7 @@
{
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "lib"
},
"include": ["./monorepo_scripts/**/*"]
}

View File

@ -10,8 +10,8 @@
"test": "run-s clean build run_mocha", "test": "run-s clean build run_mocha",
"test:circleci": "yarn test", "test:circleci": "yarn test",
"run_mocha": "mocha lib/test/**/*_test.js", "run_mocha": "mocha lib/test/**/*_test.js",
"clean": "shx rm -rf _bundles lib test_temp", "clean": "shx rm -rf _bundles lib test_temp scripts",
"build": "tsc" "build": "tsc && copyfiles -u 3 './lib/src/monorepo_scripts/**/*' ./scripts"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -28,6 +28,7 @@
"lodash.values": "^4.3.0" "lodash.values": "^4.3.0"
}, },
"devDependencies": { "devDependencies": {
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "^0.4.10",
"@0xproject/utils": "^0.4.1", "@0xproject/utils": "^0.4.1",
"@types/lodash.foreach": "^4.5.3", "@types/lodash.foreach": "^4.5.3",
@ -35,6 +36,7 @@
"@types/mocha": "^2.2.42", "@types/mocha": "^2.2.42",
"chai": "^4.0.1", "chai": "^4.0.1",
"chai-typescript-typings": "^0.0.4", "chai-typescript-typings": "^0.0.4",
"copyfiles": "^1.2.0",
"dirty-chai": "^2.0.1", "dirty-chai": "^2.0.1",
"lodash.foreach": "^4.5.0", "lodash.foreach": "^4.5.0",
"mocha": "^4.0.1", "mocha": "^4.0.1",

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -1 +1,8 @@
declare module 'dirty-chai'; declare module 'dirty-chai';
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -0,0 +1,5 @@
CHANGELOG
## v0.1.13 - _TBD_
* Add postpublish utils

View File

@ -1,8 +1,9 @@
{ {
"name": "@0xproject/monorepo-scripts", "name": "@0xproject/monorepo-scripts",
"version": "0.1.12", "version": "0.1.12",
"private": true,
"description": "Helper scripts for the monorepo", "description": "Helper scripts for the monorepo",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": { "scripts": {
"build:watch": "tsc -w", "build:watch": "tsc -w",
"deps_versions": "node ./lib/deps_versions.js", "deps_versions": "node ./lib/deps_versions.js",
@ -19,8 +20,9 @@
"url": "https://github.com/0xProject/0x-monorepo/issues" "url": "https://github.com/0xProject/0x-monorepo/issues"
}, },
"homepage": "https://github.com/0xProject/0x-monorepo/packages/monorepo-scripts/README.md", "homepage": "https://github.com/0xProject/0x-monorepo/packages/monorepo-scripts/README.md",
"comment": "// We purposefully use an older version of tslint-config here to avoid creating an import cycle",
"devDependencies": { "devDependencies": {
"@0xproject/tslint-config": "^0.4.10", "@0xproject/tslint-config": "0.4.8",
"@types/glob": "^5.0.33", "@types/glob": "^5.0.33",
"@types/node": "^8.0.53", "@types/node": "^8.0.53",
"shx": "^0.2.2", "shx": "^0.2.2",
@ -28,8 +30,12 @@
"typescript": "2.7.1" "typescript": "2.7.1"
}, },
"dependencies": { "dependencies": {
"es6-promisify": "^5.0.0",
"async-child-process": "^1.1.1",
"publish-release": "0xproject/publish-release",
"chalk": "^2.3.0", "chalk": "^2.3.0",
"glob": "^7.1.2", "glob": "^7.1.2",
"lodash": "^4.17.4" "lodash": "^4.17.4",
"semver-sort": "^0.0.4"
} }
} }

View File

@ -0,0 +1,8 @@
declare module 'async-child-process';
declare module 'publish-release';
declare module 'es6-promisify';
// semver-sort declarations
declare module 'semver-sort' {
const desc: (versions: string[]) => string[];
}

View File

@ -0,0 +1 @@
export { postpublishUtils } from './postpublish_utils';

View File

@ -0,0 +1,161 @@
import { execAsync } from 'async-child-process';
import * as promisify from 'es6-promisify';
import * as _ from 'lodash';
import * as publishRelease from 'publish-release';
import semverSort = require('semver-sort');
import { utils } from './utils';
const publishReleaseAsync = promisify(publishRelease);
const githubPersonalAccessToken = process.env.GITHUB_PERSONAL_ACCESS_TOKEN_0X_JS;
const generatedDocsDirectoryName = 'generated_docs';
export interface PostpublishConfigs {
cwd: string;
packageName: string;
version: string;
assets: string[];
docPublishConfigs: DocPublishConfigs;
}
export interface DocPublishConfigs {
fileIncludes: string[];
s3BucketPath: string;
s3StagingBucketPath: string;
}
export const postpublishUtils = {
generateConfig(packageJSON: any, tsConfigJSON: any, cwd: string): PostpublishConfigs {
if (_.isUndefined(packageJSON.name)) {
throw new Error('name field required in package.json. Cannot publish release notes to Github.');
}
if (_.isUndefined(packageJSON.version)) {
throw new Error('version field required in package.json. Cannot publish release notes to Github.');
}
const postpublishConfig = _.get(packageJSON, 'config.postpublish', {});
const configs: PostpublishConfigs = {
cwd,
packageName: packageJSON.name,
version: packageJSON.version,
assets: _.get(postpublishConfig, 'assets', []),
docPublishConfigs: {
fileIncludes: [
...tsConfigJSON.include,
..._.get(postpublishConfig, 'docPublishConfigs.extraFileIncludes', []),
],
s3BucketPath: _.get(postpublishConfig, 'docPublishConfigs.s3BucketPath'),
s3StagingBucketPath: _.get(postpublishConfig, 'docPublishConfigs.s3StagingBucketPath'),
},
};
return configs;
},
async runAsync(packageJSON: any, tsConfigJSON: any, cwd: string): Promise<void> {
const configs = this.generateConfig(packageJSON, tsConfigJSON, cwd);
const release = await this.publishReleaseNotesAsync(
configs.cwd,
configs.packageName,
configs.version,
configs.assets,
);
if (
!_.isUndefined(configs.docPublishConfigs.s3BucketPath) ||
!_.isUndefined(configs.docPublishConfigs.s3StagingBucketPath)
) {
utils.log('POSTPUBLISH: Release successful, generating docs...');
await postpublishUtils.generateAndUploadDocsAsync(
configs.cwd,
configs.docPublishConfigs.fileIncludes,
configs.version,
configs.docPublishConfigs.s3BucketPath,
);
} else {
utils.log(`POSTPUBLISH: No S3Bucket config found for ${packageJSON.name}. Skipping doc JSON generation.`);
}
},
async publishDocsToStagingAsync(packageJSON: any, tsConfigJSON: any, cwd: string) {
const configs = this.generateConfig(packageJSON, tsConfigJSON, cwd);
if (_.isUndefined(configs.docPublishConfigs.s3StagingBucketPath)) {
utils.log('config.postpublish.docPublishConfigs.s3StagingBucketPath entry in package.json not found!');
return;
}
utils.log('POSTPUBLISH: Generating docs...');
await postpublishUtils.generateAndUploadDocsAsync(
configs.cwd,
configs.docPublishConfigs.fileIncludes,
configs.version,
configs.docPublishConfigs.s3StagingBucketPath,
);
},
async publishReleaseNotesAsync(cwd: string, packageName: string, version: string, assets: string[]): Promise<void> {
const releaseName = this.getReleaseName(packageName, version);
const tag = this.getTag(packageName, version);
utils.log('POSTPUBLISH: Releasing ', releaseName, '...');
const finalAssets = this.adjustAssetPaths(cwd, assets);
const result = await publishReleaseAsync({
token: githubPersonalAccessToken,
owner: '0xProject',
repo: '0x-monorepo',
tag,
name: releaseName,
notes: 'N/A',
draft: false,
prerelease: false,
reuseRelease: true,
reuseDraftOnly: false,
assets,
});
},
getTag(packageName: string, version: string) {
return `${packageName}@${version}`;
},
getReleaseName(subPackageName: string, version: string): string {
const releaseName = `${subPackageName} v${version}`;
return releaseName;
},
adjustAssetPaths(cwd: string, assets: string[]) {
const finalAssets: string[] = [];
_.each(assets, (asset: string) => {
finalAssets.push(`${cwd}/${asset}`);
});
return finalAssets;
},
adjustFileIncludePaths(fileIncludes: string[], cwd: string): string[] {
const fileIncludesAdjusted = _.map(fileIncludes, fileInclude => {
let path = _.startsWith(fileInclude, './') ? `${cwd}/${fileInclude.substr(2)}` : `${cwd}/${fileInclude}`;
// HACK: tsconfig.json needs wildcard directory endings as `/**/*`
// but TypeDoc needs it as `/**` in order to pick up files at the root
if (_.endsWith(path, '/**/*')) {
path = path.slice(0, -2);
}
return path;
});
return fileIncludesAdjusted;
},
async generateAndUploadDocsAsync(cwd: string, fileIncludes: string[], version: string, S3BucketPath: string) {
const fileIncludesAdjusted = this.adjustFileIncludePaths(fileIncludes, cwd);
const projectFiles = fileIncludesAdjusted.join(' ');
const jsonFilePath = `${cwd}/${generatedDocsDirectoryName}/index.json`;
const result = await execAsync(
`JSON_FILE_PATH=${jsonFilePath} PROJECT_FILES="${projectFiles}" yarn docs:json`,
{
cwd,
},
);
if (!_.isEmpty(result.stderr)) {
throw new Error(result.stderr);
}
const fileName = `v${version}.json`;
utils.log(`POSTPUBLISH: Doc generation successful, uploading docs... as ${fileName}`);
const s3Url = S3BucketPath + fileName;
await execAsync(`S3_URL=${s3Url} yarn upload_docs_json`, {
cwd,
});
// Remove the generated docs directory
await execAsync(`rm -rf ${generatedDocsDirectoryName}`, {
cwd,
});
utils.log(`POSTPUBLISH: Docs uploaded to S3 bucket: ${S3BucketPath}`);
},
};

View File

@ -0,0 +1,5 @@
export const utils = {
log(...args: any[]): void {
console.log(...args); // tslint:disable-line:no-console
},
};

View File

@ -34,6 +34,7 @@
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"@types/node": "^8.0.53", "@types/node": "^8.0.53",
"awesome-typescript-loader": "^3.1.3", "awesome-typescript-loader": "^3.1.3",
"copyfiles": "^1.2.0",
"css-loader": "^0.28.9", "css-loader": "^0.28.9",
"json-loader": "^0.5.4", "json-loader": "^0.5.4",
"less": "^2.7.2", "less": "^2.7.2",

View File

@ -5,10 +5,10 @@
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",
"scripts": { "scripts": {
"lint": "tslint --project . 'src/ts/**/*.ts' 'src/ts/**/*.tsx'", "lint": "tslint --project . 'src/**/*.ts' 'src/**/*.tsx'",
"build": "tsc", "build": "tsc && copyfiles -u 2 './lib/monorepo_scripts/**/*' ./scripts",
"build:watch": "tsc -w", "build:watch": "tsc -w",
"clean": "shx rm -rf lib" "clean": "shx rm -rf lib scripts"
}, },
"author": "Fabio Berger", "author": "Fabio Berger",
"license": "Apache-2.0", "license": "Apache-2.0",
@ -21,6 +21,8 @@
"url": "https://github.com/0xProject/0x-monorepo.git" "url": "https://github.com/0xProject/0x-monorepo.git"
}, },
"devDependencies": { "devDependencies": {
"@0xproject/dev-utils": "^0.2.1",
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.9", "@0xproject/tslint-config": "^0.4.9",
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"@types/material-ui": "0.18.0", "@types/material-ui": "0.18.0",
@ -29,6 +31,7 @@
"@types/react-dom": "^0.14.23", "@types/react-dom": "^0.14.23",
"@types/react-scroll": "0.0.31", "@types/react-scroll": "0.0.31",
"@types/react-tap-event-plugin": "0.0.30", "@types/react-tap-event-plugin": "0.0.30",
"copyfiles": "^1.2.0",
"shx": "^0.2.2", "shx": "^0.2.2",
"tslint": "^5.9.1", "tslint": "^5.9.1",
"typescript": "2.7.1" "typescript": "2.7.1"

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

View File

@ -9,5 +9,5 @@
"*": ["node_modules/@types/*", "*"] "*": ["node_modules/@types/*", "*"]
} }
}, },
"include": ["./src/ts/**/*"] "include": ["./src/**/*", "../../node_modules/web3-typescript-typings/index.d.ts"]
} }

View File

@ -5,10 +5,10 @@
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",
"scripts": { "scripts": {
"lint": "tslint --project . 'src/ts/**/*.ts' 'src/ts/**/*.tsx'", "lint": "tslint --project . 'src/**/*.ts' 'src/**/*.tsx'",
"build": "tsc", "build": "tsc && copyfiles -u 2 './lib/monorepo_scripts/**/*' ./scripts",
"build:watch": "tsc -w", "build:watch": "tsc -w",
"clean": "shx rm -rf lib" "clean": "shx rm -rf lib scripts"
}, },
"author": "Fabio Berger", "author": "Fabio Berger",
"license": "Apache-2.0", "license": "Apache-2.0",
@ -21,6 +21,8 @@
"url": "https://github.com/0xProject/0x-monorepo.git" "url": "https://github.com/0xProject/0x-monorepo.git"
}, },
"devDependencies": { "devDependencies": {
"@0xproject/dev-utils": "^0.2.1",
"@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.9", "@0xproject/tslint-config": "^0.4.9",
"@types/lodash": "^4.14.86", "@types/lodash": "^4.14.86",
"@types/material-ui": "0.18.0", "@types/material-ui": "0.18.0",
@ -28,6 +30,7 @@
"@types/react": "^15.0.15", "@types/react": "^15.0.15",
"@types/react-dom": "^0.14.23", "@types/react-dom": "^0.14.23",
"@types/react-scroll": "0.0.31", "@types/react-scroll": "0.0.31",
"copyfiles": "^1.2.0",
"shx": "^0.2.2", "shx": "^0.2.2",
"tslint": "^5.9.1", "tslint": "^5.9.1",
"typescript": "2.7.1" "typescript": "2.7.1"

View File

@ -1,5 +0,0 @@
const postpublish_utils = require('../../../scripts/postpublish_utils');
const packageJSON = require('../package.json');
const subPackageName = packageJSON.name;
postpublish_utils.standardPostPublishAsync(subPackageName);

View File

@ -5,3 +5,10 @@ declare function isMobile(): boolean;
declare module 'is-mobile' { declare module 'is-mobile' {
export = isMobile; export = isMobile;
} }
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@ -0,0 +1,8 @@
import { postpublishUtils } from '@0xproject/monorepo-scripts';
import * as packageJSON from '../package.json';
import * as tsConfigJSON from '../tsconfig.json';
const cwd = `${__dirname}/..`;
// tslint:disable-next-line:no-floating-promises
postpublishUtils.runAsync(packageJSON, tsConfigJSON, cwd);

Some files were not shown because too many files have changed in this diff Show More