Merge pull request #1092 from 0xProject/addFlagToPublishReleases
Add Flag to publish releases command-line tool
This commit is contained in:
commit
13aa98f0f3
@ -1,3 +1,4 @@
|
|||||||
|
import * as _ from 'lodash';
|
||||||
import * as yargs from 'yargs';
|
import * as yargs from 'yargs';
|
||||||
|
|
||||||
import { publishReleaseNotesAsync } from './utils/github_release_utils';
|
import { publishReleaseNotesAsync } from './utils/github_release_utils';
|
||||||
@ -9,14 +10,25 @@ const args = yargs
|
|||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
demandOption: true,
|
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 () => {
|
(async () => {
|
||||||
const isDryRun = args.isDryRun;
|
const isDryRun = args.isDryRun;
|
||||||
const shouldIncludePrivate = false;
|
let packages;
|
||||||
const allUpdatedPackages = await utils.getUpdatedPackagesAsync(shouldIncludePrivate);
|
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);
|
process.exit(0);
|
||||||
})().catch(err => {
|
})().catch(err => {
|
||||||
utils.log(err);
|
utils.log(err);
|
||||||
|
@ -54,6 +54,13 @@ export const utils = {
|
|||||||
}
|
}
|
||||||
return packages;
|
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[]> {
|
async getUpdatedPackagesAsync(shouldIncludePrivate: boolean): Promise<Package[]> {
|
||||||
const updatedPublicPackages = await utils.getLernaUpdatedPackagesAsync(shouldIncludePrivate);
|
const updatedPublicPackages = await utils.getLernaUpdatedPackagesAsync(shouldIncludePrivate);
|
||||||
const updatedPackageNames = _.map(updatedPublicPackages, pkg => pkg.name);
|
const updatedPackageNames = _.map(updatedPublicPackages, pkg => pkg.name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user