From 5277d4a2666a795d01b7d3d4d018ca6d0e42399f Mon Sep 17 00:00:00 2001 From: Fabio Berger Date: Fri, 17 Nov 2017 14:09:48 -0600 Subject: Move most of code for getting latest tag/version and calling publish_release to postpublish_utils script in top-level dir --- packages/0x.js/scripts/postpublish.js | 52 ++++++----------------------------- 1 file changed, 8 insertions(+), 44 deletions(-) (limited to 'packages/0x.js/scripts') diff --git a/packages/0x.js/scripts/postpublish.js b/packages/0x.js/scripts/postpublish.js index 4512fb24c..e68302b33 100644 --- a/packages/0x.js/scripts/postpublish.js +++ b/packages/0x.js/scripts/postpublish.js @@ -1,39 +1,25 @@ const execAsync = require('async-child-process').execAsync; -const semverSort = require('semver-sort'); -const publishRelease = require('publish-release'); -const promisify = require('es6-promisify'); -const typedoc = require('typedoc'); +const postpublish_utils = require('../../../scripts/postpublish_utils'); const cwd = __dirname + '/..'; -const publishReleaseAsync = promisify(publishRelease); const subPackageName = '0x.js'; -const githubPersonalAccessToken = process.env.GITHUB_PERSONAL_ACCESS_TOKEN_0X_JS; let tag; let version; -getLatestTagAndVersionAsync(subPackageName) +postpublish_utils.getLatestTagAndVersionAsync(subPackageName) .then(function(result) { console.log('POSTPUBLISH: Releasing...'); tag = result.tag; version = result.version; - const releaseName = subPackageName + ' v' + result.version; - return publishReleaseAsync({ - token: githubPersonalAccessToken, - owner: '0xProject', - repo: '0x.js', - tag: tag, - name: releaseName, - notes: 'TODO', - draft: false, - prerelease: true, - reuseRelease: true, - reuseDraftOnly: false, - assets: [__dirname + '/../_bundles/index.js', __dirname + '/../_bundles/index.min.js'], - }); + const releaseName = subPackageName + ' v' + version; + const assets = [ + __dirname + '/../_bundles/index.js', + __dirname + '/../_bundles/index.min.js', + ]; + return postpublish_utils.publishReleaseNotes(tag, releaseName, assets); }) .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', { @@ -54,25 +40,3 @@ getLatestTagAndVersionAsync(subPackageName) }).catch (function(err) { throw err; }); - -function getLatestTagAndVersionAsync(subPackageName) { - const subPackagePrefix = subPackageName + '@'; - const gitTagsCommand = 'git tags -l "' + subPackagePrefix + '*"'; - return 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(subPackagePrefix.length); - }); - const sortedVersions = semverSort.desc(versions); - const latestVersion = sortedVersions[0]; - const latestTag = subPackagePrefix + latestVersion; - return { - tag: latestTag, - version: latestVersion - }; - }); -} -- cgit v1.2.3