From a61a7b688a03590ba0d09d985db53311eb435bfd Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Tue, 21 Nov 2017 18:45:02 -0800 Subject: Prepare connect package for publishing --- packages/connect/package.json | 6 ++-- packages/connect/scripts/postpublish.js | 33 +++++++++++++++++++--- packages/connect/src/http_client.ts | 7 ++++- packages/connect/src/index.ts | 4 --- packages/connect/test/ws_orderbook_channel_test.ts | 2 +- 5 files changed, 40 insertions(+), 12 deletions(-) (limited to 'packages') diff --git a/packages/connect/package.json b/packages/connect/package.json index ff6253fb6..180a79eea 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -3,7 +3,7 @@ "version": "0.0.1", "description": "A javascript library for interacting with the standard relayer api", "keywords": [ - "0x-connect", + "connect", "0xproject", "ethereum", "tokens", @@ -14,9 +14,10 @@ "scripts": { "build": "tsc", "clean": "shx rm -rf _bundles lib test_temp", + "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_DIR", + "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", "copy_test_fixtures": "copyfiles -u 2 './test/fixtures/**/*.json' ./lib/test/fixtures", "lint": "tslint src/**/*.ts test/**/*.ts", - "prepublishOnly": "run-p build", "run_mocha": "mocha lib/test/**/*_test.js", "test": "run-s clean build copy_test_fixtures run_mocha", "test:circleci": "yarn test" @@ -62,6 +63,7 @@ "npm-run-all": "^4.0.2", "shx": "^0.2.2", "tslint": "5.8.0", + "typedoc": "~0.8.0", "typescript": "~2.6.1", "web3-typescript-typings": "^0.7.1" } diff --git a/packages/connect/scripts/postpublish.js b/packages/connect/scripts/postpublish.js index 7fa452b08..ba0f8507d 100644 --- a/packages/connect/scripts/postpublish.js +++ b/packages/connect/scripts/postpublish.js @@ -1,14 +1,39 @@ +const execAsync = require('async-child-process').execAsync; const postpublish_utils = require('../../../scripts/postpublish_utils'); const packageJSON = require('../package.json'); +const cwd = __dirname + '/..'; const subPackageName = packageJSON.name; +const S3BucketPath = 's3://connect-docs-jsons/'; +let tag; +let version; postpublish_utils.getLatestTagAndVersionAsync(subPackageName) .then(function(result) { - const releaseName = postpublish_utils.getReleaseName(subPackageName, result.version); - const assets = []; - return postpublish_utils.publishReleaseNotes(result.tag, releaseName, assets); + tag = result.tag; + version = result.version; + const releaseName = postpublish_utils.getReleaseName(subPackageName, version); + return postpublish_utils.publishReleaseNotes(tag, releaseName); }) - .catch (function(err) { + .then(function(release) { + console.log('POSTPUBLISH: Release successful, generating docs...'); + return execAsync( + 'JSON_FILE_PATH=' + __dirname + '/../docs/index.json PROJECT_DIR=' + __dirname + '/.. 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/connect/src/http_client.ts b/packages/connect/src/http_client.ts index ab8c6bfa1..3dd0fb55e 100644 --- a/packages/connect/src/http_client.ts +++ b/packages/connect/src/http_client.ts @@ -18,6 +18,10 @@ import { import {schemas as clientSchemas} from './schemas/schemas'; import {typeConverters} from './utils/type_converters'; +BigNumber.config({ + EXPONENTIAL_AT: 1000, +}); + interface RequestOptions { params?: object; payload?: object; @@ -157,9 +161,10 @@ export class HttpClient implements Client { const headers = new Headers({ 'content-type': 'application/json', }); + const response = await fetch(url, { method: requestType, - body: payload, + body: JSON.stringify(payload), headers, }); if (!response.ok) { diff --git a/packages/connect/src/index.ts b/packages/connect/src/index.ts index 5e97f4f26..c9ebde510 100644 --- a/packages/connect/src/index.ts +++ b/packages/connect/src/index.ts @@ -1,12 +1,8 @@ export {HttpClient} from './http_client'; -export {WebSocketOrderbookChannel} from './ws_orderbook_channel'; export { Client, FeesRequest, FeesResponse, - OrderbookChannel, - OrderbookChannelHandler, - OrderbookChannelSubscriptionOpts, OrderbookRequest, OrderbookResponse, OrdersRequest, diff --git a/packages/connect/test/ws_orderbook_channel_test.ts b/packages/connect/test/ws_orderbook_channel_test.ts index f3dead9ae..e92c6f44a 100644 --- a/packages/connect/test/ws_orderbook_channel_test.ts +++ b/packages/connect/test/ws_orderbook_channel_test.ts @@ -4,7 +4,7 @@ import * as dirtyChai from 'dirty-chai'; import * as chai from 'chai'; import { WebSocketOrderbookChannel, -} from '../src/index'; +} from '../src/ws_orderbook_channel'; chai.config.includeStack = true; chai.use(dirtyChai); -- cgit v1.2.3 From 27ce87f6529087bd511cae68bec5fb2dfa91649d Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 22 Nov 2017 13:26:15 -0800 Subject: Add TODO comment before BigNumber.config() call --- packages/connect/src/http_client.ts | 1 + 1 file changed, 1 insertion(+) (limited to 'packages') diff --git a/packages/connect/src/http_client.ts b/packages/connect/src/http_client.ts index 3dd0fb55e..85dc83c61 100644 --- a/packages/connect/src/http_client.ts +++ b/packages/connect/src/http_client.ts @@ -18,6 +18,7 @@ import { import {schemas as clientSchemas} from './schemas/schemas'; import {typeConverters} from './utils/type_converters'; +// TODO: move this and bigNumberConfigs in the 0x.js package into one place BigNumber.config({ EXPONENTIAL_AT: 1000, }); -- cgit v1.2.3 From b38142ddb18857d7d2cf36006a2ebcfd0b700cca Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 22 Nov 2017 13:54:07 -0800 Subject: Update connect CHANGELOG.md in preperation for publishing --- packages/connect/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index f3367f4ce..a6e30ed4a 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -1,4 +1,5 @@ # CHANGELOG -v0.0.0 - _Nov. 15, 2017_ +v0.0.2 - _November 22, 2017_ ------------------------ + * Provide a HttpClient class for interacting with standard relayer api compliant HTTP urls -- cgit v1.2.3 From c0e17f613666ebe8fdae394694fd065eb4e418f0 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 22 Nov 2017 14:20:45 -0800 Subject: Add blockchainLifecycle management to the ExpirationWatcher test --- packages/0x.js/test/expiration_watcher_test.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'packages') diff --git a/packages/0x.js/test/expiration_watcher_test.ts b/packages/0x.js/test/expiration_watcher_test.ts index 0d5ebb909..0f2470070 100644 --- a/packages/0x.js/test/expiration_watcher_test.ts +++ b/packages/0x.js/test/expiration_watcher_test.ts @@ -12,11 +12,13 @@ import {TokenUtils} from './utils/token_utils'; import {ExpirationWatcher} from '../src/order_watcher/expiration_watcher'; import {Token, DoneCallback} from '../src/types'; import {ZeroEx} from '../src/0x'; +import {BlockchainLifecycle} from './utils/blockchain_lifecycle'; import {FillScenarios} from './utils/fill_scenarios'; import {reportCallbackErrors} from './utils/report_callback_errors'; chaiSetup.configure(); const expect = chai.expect; +const blockchainLifecycle = new BlockchainLifecycle(); describe('ExpirationWatcher', () => { let web3: Web3; @@ -52,14 +54,16 @@ describe('ExpirationWatcher', () => { makerTokenAddress = makerToken.address; takerTokenAddress = takerToken.address; }); - beforeEach(() => { + beforeEach(async () => { + await blockchainLifecycle.startAsync(); const sinonTimerConfig = {shouldAdvanceTime: true} as any; // This constructor has incorrect types timer = Sinon.useFakeTimers(sinonTimerConfig); currentUnixTimestampSec = utils.getCurrentUnixTimestampSec(); expirationWatcher = new ExpirationWatcher(); }); - afterEach(() => { + afterEach(async () => { + await blockchainLifecycle.revertAsync(); timer.restore(); expirationWatcher.unsubscribe(); }); -- cgit v1.2.3 From c3f24a9cea72b2554e28526f880a646cf7efa69b Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Wed, 22 Nov 2017 16:47:24 -0600 Subject: Add actual version to CHANGELOG --- packages/0x.js/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/0x.js/CHANGELOG.md b/packages/0x.js/CHANGELOG.md index 26e5f528b..235a6eedb 100644 --- a/packages/0x.js/CHANGELOG.md +++ b/packages/0x.js/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -vx.x.x +v0.26.0 ------------------------ * Add post-formatter for logs converting `blockNumber`, `logIndex`, `transactionIndex` from hexes to numbers (#231) * Remove support for Async callback types when used in Subscribe functions (#222) -- cgit v1.2.3 From 6a8717b29407b75cd03ca85b890fa8f34527accc Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Wed, 22 Nov 2017 16:50:16 -0600 Subject: Publish - 0x.js@0.26.1 - @0xproject/connect@0.1.0 --- packages/0x.js/package.json | 2 +- packages/connect/package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'packages') diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index 26f9273db..afca00fe9 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -1,6 +1,6 @@ { "name": "0x.js", - "version": "0.26.0", + "version": "0.26.1", "description": "A javascript library for interacting with the 0x protocol", "keywords": [ "0x.js", diff --git a/packages/connect/package.json b/packages/connect/package.json index 180a79eea..9131eef14 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0xproject/connect", - "version": "0.0.1", + "version": "0.1.0", "description": "A javascript library for interacting with the standard relayer api", "keywords": [ "connect", @@ -36,7 +36,7 @@ }, "homepage": "https://github.com/0xProject/0x.js/packages/connect/README.md", "dependencies": { - "0x.js": "^0.26.0", + "0x.js": "^0.26.1", "@0xproject/assert": "^0.0.5", "@0xproject/json-schemas": "^0.6.8", "bignumber.js": "~4.1.0", -- cgit v1.2.3 From 99f2026ce260915ec9eaf013723f1d618965f008 Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Wed, 22 Nov 2017 16:51:09 -0600 Subject: Revert "Publish" This reverts commit 6a8717b29407b75cd03ca85b890fa8f34527accc. --- packages/0x.js/package.json | 2 +- packages/connect/package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'packages') diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json index afca00fe9..26f9273db 100644 --- a/packages/0x.js/package.json +++ b/packages/0x.js/package.json @@ -1,6 +1,6 @@ { "name": "0x.js", - "version": "0.26.1", + "version": "0.26.0", "description": "A javascript library for interacting with the 0x protocol", "keywords": [ "0x.js", diff --git a/packages/connect/package.json b/packages/connect/package.json index 9131eef14..180a79eea 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0xproject/connect", - "version": "0.1.0", + "version": "0.0.1", "description": "A javascript library for interacting with the standard relayer api", "keywords": [ "connect", @@ -36,7 +36,7 @@ }, "homepage": "https://github.com/0xProject/0x.js/packages/connect/README.md", "dependencies": { - "0x.js": "^0.26.1", + "0x.js": "^0.26.0", "@0xproject/assert": "^0.0.5", "@0xproject/json-schemas": "^0.6.8", "bignumber.js": "~4.1.0", -- cgit v1.2.3