diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2018-03-15 05:36:04 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2018-03-15 05:36:04 +0800 |
commit | 380e51ca505a880e1ac24f46b3ba7e1a736f693e (patch) | |
tree | 95e0311485834d8181171da821f258dd46a2d258 /packages/0x.js | |
parent | 6a8c2cb7172be9b0aadb34904d1d9b3348bed0cc (diff) | |
parent | aea7207b9f9865a279243889a5f9ca1638ddc739 (diff) | |
download | dexon-sol-tools-380e51ca505a880e1ac24f46b3ba7e1a736f693e.tar.gz 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/.gitkeep | 0 | ||||
-rw-r--r-- | packages/0x.js/package.json | 23 | ||||
-rw-r--r-- | packages/0x.js/scripts/postpublish.js | 47 | ||||
-rw-r--r-- | packages/0x.js/scripts/stagedocs.js | 31 | ||||
-rw-r--r-- | packages/0x.js/src/globals.d.ts | 6 | ||||
-rw-r--r-- | packages/0x.js/src/monorepo_scripts/postpublish.ts | 8 | ||||
-rw-r--r-- | packages/0x.js/src/monorepo_scripts/stagedocs.ts | 8 |
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); |