@@ -318,22 +318,26 @@ function generate( pkg, releaseType ) {
318
318
if ( isNamespacePkg ) {
319
319
str += releaseSectionStart ( nextVersion ) ;
320
320
str += '## ' + ( nextVersion || 'Unreleased' ) + ' (' + formatDate ( ) + ')\n\n' ;
321
- bySubpackage = groupBySubPackage ( commits . unreleased , pkg ) ;
322
- pkgNames = objectKeys ( bySubpackage ) . sort ( ) ;
323
- str += sectionStart ( 'packages' ) ;
324
- str += heading ( 'Packages' , 3 ) ;
325
- for ( i = 0 ; i < pkgNames . length ; i ++ ) {
326
- name = pkgNames [ i ] ;
327
- unreleased = releaseSummary ( bySubpackage [ name ] , true , true ) ;
328
- if ( unreleased ) {
329
- str += packageSummaryWrapper ( pkg , '' , name , unreleased ) ;
321
+ if ( commits . unreleased . length > 0 ) {
322
+ bySubpackage = groupBySubPackage ( commits . unreleased , pkg ) ;
323
+ pkgNames = objectKeys ( bySubpackage ) . sort ( ) ;
324
+ str += sectionStart ( 'packages' ) ;
325
+ str += heading ( 'Packages' , 3 ) ;
326
+ for ( i = 0 ; i < pkgNames . length ; i ++ ) {
327
+ name = pkgNames [ i ] ;
328
+ unreleased = releaseSummary ( bySubpackage [ name ] , true , true ) ;
329
+ if ( unreleased ) {
330
+ str += packageSummaryWrapper ( pkg , '' , name , unreleased ) ;
331
+ }
330
332
}
333
+ str += sectionEnd ( 'packages' ) ;
334
+ str += breakingChanges ( commits . unreleased ) ;
335
+ str += closedIssues ( commits . unreleased ) ;
336
+ str += formatContributors ( commits . unreleased ) ;
337
+ str += formatCommits ( commits . unreleased ) ;
338
+ } else {
339
+ str += PLACEHOLDER_SUMMARY ;
331
340
}
332
- str += sectionEnd ( 'packages' ) ;
333
- str += breakingChanges ( commits . unreleased ) ;
334
- str += closedIssues ( commits . unreleased ) ;
335
- str += formatContributors ( commits . unreleased ) ;
336
- str += formatCommits ( commits . unreleased ) ;
337
341
str += sectionEnd ( 'release' ) ;
338
342
} else {
339
343
unreleased = releaseSummary ( commits . unreleased ) ;
@@ -347,27 +351,30 @@ function generate( pkg, releaseType ) {
347
351
if ( isNamespacePkg ) {
348
352
for ( i = releases . length - 1 ; i >= 0 ; i -- ) {
349
353
version = releases [ i ] [ 0 ] ;
350
- releaseCommits = commits [ version ] ;
351
- if ( ! releaseCommits ) {
352
- releaseCommits = [ ] ;
353
- }
354
+ str += releaseSectionStart ( version ) ;
354
355
str += '## ' + version + ' (' + formatDate ( releases [ i ] [ 1 ] ) + ')\n\n' ;
355
- bySubpackage = groupBySubPackage ( releaseCommits , pkg ) ;
356
- pkgNames = objectKeys ( bySubpackage ) . sort ( ) ;
357
- str += sectionStart ( 'packages' ) ;
358
- str += heading ( 'Packages' , 3 ) ;
359
- for ( j = 0 ; j < pkgNames . length ; j ++ ) {
360
- name = pkgNames [ j ] ;
361
- summary = releaseSummary ( bySubpackage [ name ] , true , true ) ;
362
- if ( summary ) {
363
- str += packageSummaryWrapper ( pkg , version , name , summary ) ;
356
+ releaseCommits = commits [ version ] ;
357
+ if ( releaseCommits && releaseCommits . length > 0 ) {
358
+ bySubpackage = groupBySubPackage ( releaseCommits , pkg ) ;
359
+ pkgNames = objectKeys ( bySubpackage ) . sort ( ) ;
360
+ str += sectionStart ( 'packages' ) ;
361
+ str += heading ( 'Packages' , 3 ) ;
362
+ for ( j = 0 ; j < pkgNames . length ; j ++ ) {
363
+ name = pkgNames [ j ] ;
364
+ summary = releaseSummary ( bySubpackage [ name ] , true , true ) ;
365
+ if ( summary ) {
366
+ str += packageSummaryWrapper ( pkg , version , name , summary ) ;
367
+ }
364
368
}
369
+ str += sectionEnd ( 'packages' ) ;
370
+ str += breakingChanges ( releaseCommits ) ;
371
+ str += closedIssues ( releaseCommits ) ;
372
+ str += formatContributors ( releaseCommits ) ;
373
+ str += formatCommits ( releaseCommits ) ;
374
+ } else {
375
+ str += PLACEHOLDER_SUMMARY ;
365
376
}
366
- str += sectionEnd ( 'packages' ) ;
367
- str += breakingChanges ( releaseCommits ) ;
368
- str += closedIssues ( releaseCommits ) ;
369
- str += formatContributors ( releaseCommits ) ;
370
- str += formatCommits ( releaseCommits ) ;
377
+ str += sectionEnd ( 'release' ) ;
371
378
}
372
379
} else {
373
380
for ( i = releases . length - 1 ; i >= 0 ; i -- ) {
0 commit comments