aboutsummaryrefslogtreecommitdiffstats
path: root/packages/0x.js
diff options
context:
space:
mode:
authorBrandon Millman <brandon.millman@gmail.com>2017-11-16 04:14:20 +0800
committerBrandon Millman <brandon.millman@gmail.com>2017-11-16 04:14:20 +0800
commita9fbe921a04d2828bd17a60598a3eee0ec63445b (patch)
tree09ca7ed09d024cea91f203a614d83038e205206a /packages/0x.js
parent4e39a957c733d5593dc6d3fe81f96e43e4cc347a (diff)
downloaddexon-sol-tools-a9fbe921a04d2828bd17a60598a3eee0ec63445b.tar.gz
dexon-sol-tools-a9fbe921a04d2828bd17a60598a3eee0ec63445b.tar.zst
dexon-sol-tools-a9fbe921a04d2828bd17a60598a3eee0ec63445b.zip
WIP
Diffstat (limited to 'packages/0x.js')
-rw-r--r--packages/0x.js/package.json14
-rw-r--r--packages/0x.js/scripts/postpublish.js32
2 files changed, 39 insertions, 7 deletions
diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json
index 0204d723f..e2b19a440 100644
--- a/packages/0x.js/package.json
+++ b/packages/0x.js/package.json
@@ -14,10 +14,8 @@
"scripts": {
"prebuild": "npm run clean",
"build": "run-p build:umd:prod build:commonjs; exit 0;",
- "prepublishOnly": "run-p build",
- "postpublish": "run-s release docs:json upload_docs_json",
- "release": "publish-release --assets _bundles/index.js,_bundles/index.min.js --tag $(git describe --tags) --owner 0xProject --repo 0x.js",
- "upload_docs_json": "aws s3 cp docs/index.json s3://0xjs-docs-jsons/$(git describe --tags).json --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type aplication/json",
+ "release": "publish-release --assets _bundles/index.js,_bundles/index.min.js --tag $LATEST_TAG --owner 0xProject --repo 0x.js",
+ "upload_docs_json": "aws s3 cp docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type aplication/json",
"lint": "tslint src/**/*.ts test/**/*.ts",
"test:circleci": "run-s test:coverage report_test_coverage; if [ $CIRCLE_BRANCH = \"development\" ]; then yarn test:umd; fi",
"test": "run-s clean test:commonjs",
@@ -49,13 +47,14 @@
"node": ">=6.0.0"
},
"devDependencies": {
- "@0xproject/tslint-config": "^0.1.0",
+ "@0xproject/tslint-config": "^0.1.3",
"@types/jsonschema": "^1.1.1",
"@types/lodash": "^4.14.64",
"@types/mocha": "^2.2.41",
"@types/node": "^8.0.1",
"@types/sinon": "^2.2.2",
"@types/uuid": "^3.4.2",
+ "async-child-process": "^1.1.1",
"awesome-typescript-loader": "^3.1.3",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
@@ -73,6 +72,7 @@
"opn-cli": "^3.1.0",
"request": "^2.81.0",
"request-promise-native": "^1.0.4",
+ "semver-sort": "^0.0.4",
"shx": "^0.2.2",
"sinon": "^4.0.0",
"source-map-support": "^0.5.0",
@@ -87,8 +87,8 @@
"webpack": "^3.1.0"
},
"dependencies": {
- "@0xproject/assert": "^0.0.4",
- "@0xproject/json-schemas": "^0.6.7",
+ "@0xproject/assert": "^0.0.7",
+ "@0xproject/json-schemas": "^0.6.10",
"bignumber.js": "~4.1.0",
"bn.js": "4.11.8",
"compare-versions": "^3.0.1",
diff --git a/packages/0x.js/scripts/postpublish.js b/packages/0x.js/scripts/postpublish.js
new file mode 100644
index 000000000..c2dffa920
--- /dev/null
+++ b/packages/0x.js/scripts/postpublish.js
@@ -0,0 +1,32 @@
+const execAsync = require('async-child-process').execAsync;
+const semverSort = require('semver-sort');
+
+const packagePrefix = '0x.js@';
+const gitTagsCommand = 'git tags -l "' + packagePrefix + '*"';
+let latestTag;
+execAsync(gitTagsCommand)
+ .then(function(result) {
+ if (result.stderr !== '') {
+ throw new Error(result.stderr);
+ }
+ const tags = result.stdout.trim().split('\n');
+ const versions = tags.map(function(tag) {
+ return tag.slice(packagePrefix.length);
+ });
+ const sortedVersions = semverSort.desc(versions);
+ latestTag = packagePrefix + sortedVersions[0];
+ return execAsync('LATEST_TAG=' + latestTag + ' yarn release');
+ })
+ .then(function(result) {
+ if (result.stderr !== '') {
+ throw new Error(result.stderr);
+ }
+ return execAsync('yarn docs:json');
+ })
+ .then(function(result) {
+ if (result.stderr !== '') {
+ throw new Error(result.stderr);
+ }
+ const s3Url = 's3://0xjs-docs-jsons/v' + latestTag +'.json';
+ return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json');
+ });