diff options
author | Fabio Berger <me@fabioberger.com> | 2018-09-26 20:50:08 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-26 20:50:08 +0800 |
commit | 13aa98f0f3431e4ea4db07794a06304c237e8d45 (patch) | |
tree | 38df7202ef0f41c84e608962dd1a75e8588befd5 | |
parent | b244f3e2c0d3c105c364ffe9c5cc5c8046b0ec32 (diff) | |
parent | 4a94f8b1cac453b8a6d97cd5293fe0855a6602cf (diff) | |
download | dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.tar dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.tar.gz dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.tar.bz2 dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.tar.lz dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.tar.xz dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.tar.zst dexon-sol-tools-13aa98f0f3431e4ea4db07794a06304c237e8d45.zip |
Merge pull request #1092 from 0xProject/addFlagToPublishReleases
Add Flag to publish releases command-line tool
-rw-r--r-- | packages/monorepo-scripts/src/publish_release_notes.ts | 20 | ||||
-rw-r--r-- | packages/monorepo-scripts/src/utils/utils.ts | 7 |
2 files changed, 23 insertions, 4 deletions
diff --git a/packages/monorepo-scripts/src/publish_release_notes.ts b/packages/monorepo-scripts/src/publish_release_notes.ts index a9bc8fe75..6090498e0 100644 --- a/packages/monorepo-scripts/src/publish_release_notes.ts +++ b/packages/monorepo-scripts/src/publish_release_notes.ts @@ -1,3 +1,4 @@ +import * as _ from 'lodash'; import * as yargs from 'yargs'; import { publishReleaseNotesAsync } from './utils/github_release_utils'; @@ -9,14 +10,25 @@ const args = yargs type: 'boolean', demandOption: true, }) - .example('$0 --isDryRun true', 'Full usage example').argv; + .option('packages', { + describe: + 'Space-separated list of packages to generated release notes for. If not supplied, it does all `Lerna updated` packages.', + type: 'string', + }) + .example('$0 --isDryRun true --packages "0x.js @0xproject/web3-wrapper"', 'Full usage example').argv; (async () => { const isDryRun = args.isDryRun; - const shouldIncludePrivate = false; - const allUpdatedPackages = await utils.getUpdatedPackagesAsync(shouldIncludePrivate); + let packages; + if (_.isUndefined(args.packages)) { + const shouldIncludePrivate = false; + packages = await utils.getUpdatedPackagesAsync(shouldIncludePrivate); + } else { + const packageNames = args.packages.split(' '); + packages = await utils.getPackagesByNameAsync(packageNames); + } - await publishReleaseNotesAsync(allUpdatedPackages, isDryRun); + await publishReleaseNotesAsync(packages, isDryRun); process.exit(0); })().catch(err => { utils.log(err); diff --git a/packages/monorepo-scripts/src/utils/utils.ts b/packages/monorepo-scripts/src/utils/utils.ts index 2ce36942c..5e2e877c7 100644 --- a/packages/monorepo-scripts/src/utils/utils.ts +++ b/packages/monorepo-scripts/src/utils/utils.ts @@ -54,6 +54,13 @@ export const utils = { } return packages; }, + async getPackagesByNameAsync(packageNames: string[]): Promise<Package[]> { + const allPackages = utils.getPackages(constants.monorepoRootPath); + const updatedPackages = _.filter(allPackages, pkg => { + return _.includes(packageNames, pkg.packageJson.name); + }); + return updatedPackages; + }, async getUpdatedPackagesAsync(shouldIncludePrivate: boolean): Promise<Package[]> { const updatedPublicPackages = await utils.getLernaUpdatedPackagesAsync(shouldIncludePrivate); const updatedPackageNames = _.map(updatedPublicPackages, pkg => pkg.name); |