Prepare connect package for publishing

This commit is contained in:
Brandon Millman 2017-11-21 18:45:02 -08:00
parent 0e03ef385b
commit a61a7b688a
5 changed files with 40 additions and 12 deletions

View File

@ -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"
}

View File

@ -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;
});

View File

@ -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) {

View File

@ -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,

View File

@ -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);