Merge pull request #1165 from 0xProject/fix/release-notes-versions

Fix the package versions in release notes
This commit is contained in:
Leonid Logvinov
2018-10-19 15:44:52 +02:00
committed by GitHub
5 changed files with 17 additions and 17 deletions

View File

@@ -11,7 +11,7 @@ import { utils } from './utils/utils';
async function prepublishChecksAsync(): Promise<void> {
const shouldIncludePrivate = false;
const updatedPublicPackages = await utils.getUpdatedPackagesAsync(shouldIncludePrivate);
const updatedPublicPackages = await utils.getPackagesToPublishAsync(shouldIncludePrivate);
await checkCurrentVersionMatchesLatestPublishedNPMPackageAsync(updatedPublicPackages);
await checkChangelogFormatAsync(updatedPublicPackages);

View File

@@ -34,12 +34,12 @@ async function confirmAsync(message: string): Promise<void> {
(async () => {
// Fetch public, updated Lerna packages
const shouldIncludePrivate = true;
const allUpdatedPackages = await utils.getUpdatedPackagesAsync(shouldIncludePrivate);
if (_.isEmpty(allUpdatedPackages)) {
const allPackagesToPublish = await utils.getPackagesToPublishAsync(shouldIncludePrivate);
if (_.isEmpty(allPackagesToPublish)) {
utils.log('No packages need publishing');
process.exit(0);
}
const packagesWithDocs = getPackagesWithDocs(allUpdatedPackages);
const packagesWithDocs = getPackagesWithDocs(allPackagesToPublish);
if (!configs.IS_LOCAL_PUBLISH) {
await confirmAsync(
@@ -49,12 +49,12 @@ async function confirmAsync(message: string): Promise<void> {
}
// Update CHANGELOGs
const updatedPublicPackages = _.filter(allUpdatedPackages, pkg => !pkg.packageJson.private);
const updatedPublicPackages = _.filter(allPackagesToPublish, pkg => !pkg.packageJson.private);
const updatedPublicPackageNames = _.map(updatedPublicPackages, pkg => pkg.packageJson.name);
utils.log(`Will update CHANGELOGs and publish: \n${updatedPublicPackageNames.join('\n')}\n`);
const packageToNextVersion = await updateChangeLogsAsync(updatedPublicPackages);
const updatedPrivatePackages = _.filter(allUpdatedPackages, pkg => pkg.packageJson.private);
const updatedPrivatePackages = _.filter(allPackagesToPublish, pkg => pkg.packageJson.private);
_.each(updatedPrivatePackages, pkg => {
const currentVersion = pkg.packageJson.version;
const packageName = pkg.packageJson.name;

View File

@@ -22,7 +22,7 @@ const args = yargs
let packages;
if (_.isUndefined(args.packages)) {
const shouldIncludePrivate = false;
packages = await utils.getUpdatedPackagesAsync(shouldIncludePrivate);
packages = await utils.getPackagesToPublishAsync(shouldIncludePrivate);
} else {
const packageNames = args.packages.split(' ');
packages = await utils.getPackagesByNameAsync(packageNames);

View File

@@ -12,7 +12,7 @@ import { utils } from './utils';
const publishReleaseAsync = promisify(publishRelease);
// tslint:disable-next-line:completed-docs
export async function publishReleaseNotesAsync(updatedPublishPackages: Package[], isDryRun: boolean): Promise<void> {
export async function publishReleaseNotesAsync(packagesToPublish: Package[], isDryRun: boolean): Promise<void> {
// Git push a tag representing this publish (publish-{commit-hash}) (truncate hash)
const result = await execAsync('git log -n 1 --pretty=format:"%H"', { cwd: constants.monorepoRootPath });
const latestGitCommit = result.stdout;
@@ -40,12 +40,8 @@ export async function publishReleaseNotesAsync(updatedPublishPackages: Package[]
let assets: string[] = [];
let aggregateNotes = '';
_.each(updatedPublishPackages, pkg => {
const notes = getReleaseNotesForPackage(pkg.packageJson.name, pkg.packageJson.version);
if (_.isEmpty(notes)) {
return; // don't include it
}
aggregateNotes += `### ${pkg.packageJson.name}@${pkg.packageJson.version}\n${notes}\n\n`;
_.each(packagesToPublish, pkg => {
aggregateNotes += getReleaseNotesForPackage(pkg.packageJson.name);
const packageAssets = _.get(pkg.packageJson, 'config.postpublish.assets');
if (!_.isUndefined(packageAssets)) {
@@ -92,7 +88,7 @@ function adjustAssetPaths(assets: string[]): string[] {
return finalAssets;
}
function getReleaseNotesForPackage(packageName: string, version: string): string {
function getReleaseNotesForPackage(packageName: string): string {
const packageNameWithoutNamespace = packageName.replace('@0x/', '');
const changelogJSONPath = path.join(
constants.monorepoRootPath,
@@ -115,5 +111,9 @@ function getReleaseNotesForPackage(packageName: string, version: string): string
}
notes += `\n`;
});
return notes;
if (_.isEmpty(notes)) {
return ''; // don't include it
}
const releaseNotesSection = `### ${packageName}@${latestLog.version}\n${notes}\n\n`;
return releaseNotesSection;
}

View File

@@ -61,7 +61,7 @@ export const utils = {
});
return updatedPackages;
},
async getUpdatedPackagesAsync(shouldIncludePrivate: boolean): Promise<Package[]> {
async getPackagesToPublishAsync(shouldIncludePrivate: boolean): Promise<Package[]> {
const updatedPublicPackages = await utils.getLernaUpdatedPackagesAsync(shouldIncludePrivate);
const updatedPackageNames = _.map(updatedPublicPackages, pkg => pkg.name);