aboutsummaryrefslogtreecommitdiffstats
path: root/packages/0x.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/0x.js')
-rw-r--r--packages/0x.js/package.json16
-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
6 files changed, 35 insertions, 81 deletions
diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json
index 4a4d6d2c8..f99029b53 100644
--- a/packages/0x.js/package.json
+++ b/packages/0x.js/package.json
@@ -24,14 +24,22 @@
"test:coverage": "nyc npm run test --all",
"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;",
- "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",
@@ -66,6 +75,7 @@
"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);