aboutsummaryrefslogtreecommitdiffstats
path: root/packages/0x.js
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2018-03-15 05:36:04 +0800
committerBrandon Millman <brandon.millman@gmail.com>2018-03-15 05:36:04 +0800
commit380e51ca505a880e1ac24f46b3ba7e1a736f693e (patch)
tree95e0311485834d8181171da821f258dd46a2d258 /packages/0x.js
parent6a8c2cb7172be9b0aadb34904d1d9b3348bed0cc (diff)
parentaea7207b9f9865a279243889a5f9ca1638ddc739 (diff)
downloaddexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar
dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar.gz
dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar.bz2
dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar.lz
dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar.xz
dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar.zst
dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.zip
Merge branch 'development' into feature/utils/console-log
* development: (25 commits) Enable coverage for all other packages with tests Fix parallel coverage results reporting Fix linter issuesx Remove outdated comment Add script copying to build command Add postpublish script to sol-cov Move configuration into package.json configs section Transform input data before encoding for callAsync and getABIEncodedTransactionData Consolidate docs generation and uploading logic Use async/await instead of promise syntax Move changelog entry remove unneeded include remove unused dep Fix lint issues Re-add linter to monorepo-scripts but with tslint-config dep at earlier version to avoid cyclical dependency small fixes move scripts to monorepro-scripts Fix gitignore Move abi-gen scripts to src Add missing dep ...
Diffstat (limited to 'packages/0x.js')
-rw-r--r--packages/0x.js/coverage/.gitkeep0
-rw-r--r--packages/0x.js/package.json23
-rw-r--r--packages/0x.js/scripts/postpublish.js47
-rw-r--r--packages/0x.js/scripts/stagedocs.js31
-rw-r--r--packages/0x.js/src/globals.d.ts6
-rw-r--r--packages/0x.js/src/monorepo_scripts/postpublish.ts8
-rw-r--r--packages/0x.js/src/monorepo_scripts/stagedocs.ts8
7 files changed, 38 insertions, 85 deletions
diff --git a/packages/0x.js/coverage/.gitkeep b/packages/0x.js/coverage/.gitkeep
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/packages/0x.js/coverage/.gitkeep
diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json
index 4a4d6d2c8..0cb01d352 100644
--- a/packages/0x.js/package.json
+++ b/packages/0x.js/package.json
@@ -19,19 +19,27 @@
"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",
"generate_contract_wrappers": "node ../abi-gen/lib/index.js --abis 'src/artifacts/@(Exchange|Token|TokenTransferProxy|EtherToken|TokenRegistry|DummyToken).json' --template ../contract_templates/contract.handlebars --partials '../contract_templates/partials/**/*.handlebars' --output src/contract_wrappers/generated --backend ethers && prettier --write 'src/contract_wrappers/generated/**.ts'",
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'",
- "test:circleci": "run-s test:coverage report_test_coverage",
+ "test:circleci": "run-s test:coverage",
"test": "run-s clean test:commonjs",
- "test:coverage": "nyc npm run test --all",
- "report_test_coverage": "nyc report --reporter=text-lcov | coveralls",
+ "test:coverage": "nyc npm run test --all && yarn coverage:report:lcov",
+ "coverage:report:lcov": "nyc report --reporter=text-lcov > coverage/lcov.info",
"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: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",
"run_mocha": "mocha lib/test/**/*_test.js --timeout 10000 --bail --exit"
},
"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": {
"type": "git",
@@ -44,6 +52,7 @@
"devDependencies": {
"@0xproject/abi-gen": "^0.2.5",
"@0xproject/dev-utils": "^0.2.1",
+ "@0xproject/monorepo-scripts": "^0.1.12",
"@0xproject/tslint-config": "^0.4.10",
"@types/bintrees": "^1.0.2",
"@types/jsonschema": "^1.1.1",
@@ -59,13 +68,13 @@
"chai-bignumber": "^2.0.1",
"chai-typescript-typings": "^0.0.4",
"copyfiles": "^1.2.0",
- "coveralls": "^3.0.0",
"dirty-chai": "^2.0.1",
"json-loader": "^0.5.4",
"mocha": "^4.0.1",
"npm-run-all": "^4.1.2",
"nyc": "^11.0.1",
"opn-cli": "^3.1.0",
+ "prettier": "^1.11.1",
"request": "^2.81.0",
"request-promise-native": "^1.0.5",
"shx": "^0.2.2",
diff --git a/packages/0x.js/scripts/postpublish.js b/packages/0x.js/scripts/postpublish.js
deleted file mode 100644
index 1a9ab73ea..000000000
--- a/packages/0x.js/scripts/postpublish.js
+++ /dev/null
@@ -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;
- });
diff --git a/packages/0x.js/scripts/stagedocs.js b/packages/0x.js/scripts/stagedocs.js
deleted file mode 100644
index f0ba55205..000000000
--- a/packages/0x.js/scripts/stagedocs.js
+++ /dev/null
@@ -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);
- });
diff --git a/packages/0x.js/src/globals.d.ts b/packages/0x.js/src/globals.d.ts
index 0e103d057..e2c321f38 100644
--- a/packages/0x.js/src/globals.d.ts
+++ b/packages/0x.js/src/globals.d.ts
@@ -4,6 +4,12 @@ declare module 'dirty-chai';
declare module 'request-promise-native';
declare module 'web3-provider-engine';
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
// interface we must use `namespace` as the Chai definitelyTyped definition does. Since we otherwise
diff --git a/packages/0x.js/src/monorepo_scripts/postpublish.ts b/packages/0x.js/src/monorepo_scripts/postpublish.ts
new file mode 100644
index 000000000..dcb99d0f7
--- /dev/null
+++ b/packages/0x.js/src/monorepo_scripts/postpublish.ts
@@ -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);
diff --git a/packages/0x.js/src/monorepo_scripts/stagedocs.ts b/packages/0x.js/src/monorepo_scripts/stagedocs.ts
new file mode 100644
index 000000000..e732ac8eb
--- /dev/null
+++ b/packages/0x.js/src/monorepo_scripts/stagedocs.ts
@@ -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);