ckeditor5-dev icon indicating copy to clipboard operation
ckeditor5-dev copied to clipboard

Generating a changelog for a monorepository

Open martnpaneq opened this issue 10 months ago • 4 comments

Suggested merge commit message (convention)

Feature: Generating a changelog for a monorepository. Closes ckeditor/ckeditor5#18063.


Additional information

For example – encountered issues, assumptions you had to make, other affected tickets, etc.

martnpaneq avatar Mar 26 '25 14:03 martnpaneq

Coverage Status

coverage: 88.041% (-0.004%) from 88.045% when pulling 2ee009909319788a0650429a7964bbf61fcd2d4b on ck/18063-changelog-for-monorepository into 8ed77cea06905c7e571a46f5412931e8b82bcf11 on epic/ck/18051-changeset.

coveralls avatar Mar 26 '25 16:03 coveralls

Please merge master branch to epic branch and ck/18063-changelog-for-monorepository.

psmyrek avatar Mar 27 '25 13:03 psmyrek

Is the lack of bin intentional?

psmyrek avatar Mar 27 '25 13:03 psmyrek

~When there is no .changelog directory, the following code:~

It seems that current implementation expects that at least one major and at least one minor breaking change is found. When there is no items without major and minor breaking changes, the following code:

import { generateChangelog } from '@ckeditor/ckeditor5-dev-changelog';

generateChangelog( {
    cwd: process.cwd()
} );

throws an error:

� Listing the changes...

� Determining the new version...

file:///D:/Projects/ckeditor/ckeditor5/external/ckeditor5-dev/packages/ckeditor5-dev-changelog/dist/index.js:427
    if (sectionsWithEntries.minor.entries.length || sectionsWithEntries.Feature.entries.length) {
                                          ^

TypeError: Cannot read properties of undefined (reading 'length')
    at getNewVersion (file:///D:/Projects/ckeditor/ckeditor5/external/ckeditor5-dev/packages/ckeditor5-dev-changelog/dist/index.js:427:43)
    at generateChangelog (file:///D:/Projects/ckeditor/ckeditor5/external/ckeditor5-dev/packages/ckeditor5-dev-changelog/dist/index.js:633:45)

psmyrek avatar Mar 27 '25 13:03 psmyrek

Example changesets for testing. Place it in the root of ckeditro5 or other external project roots.

changelog.zip

martnpaneq avatar Apr 04 '25 08:04 martnpaneq