Skip to content

Commit

Permalink
Exclude trash items from public changelog
Browse files Browse the repository at this point in the history
  • Loading branch information
igorkamyshev committed Mar 6, 2024
1 parent 2d0d0a4 commit b3bc764
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 3 deletions.
10 changes: 8 additions & 2 deletions apps/website/changelog/cli.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { NodeHtmlMarkdown } from 'node-html-markdown';
import { parseSemVer, compareSemVer } from 'semver-parser';
import { resolve } from 'node:path';

import { groupByVersions } from './lib.mjs';
import { excludeTrashUpdates, groupByVersions } from './lib.mjs';

const files = await promisify(glob)(
'../../{packages,deleted_packages}/*/CHANGELOG.md',
Expand Down Expand Up @@ -88,7 +88,13 @@ function mergeChangelogs(packages) {
logForVersion.push(['para', `::: details ${packageName}`]);

for (const [type, items] of pacakgeChangesEntries) {
logForVersion.push(['para', ['strong', type]], ...items);
const cleanItems = excludeTrashUpdates(items);

if (cleanItems.length === 0) {
continue;
}

logForVersion.push(['para', ['strong', type]], ...cleanItems);
}

logForVersion.push(['para', ':::']);
Expand Down
18 changes: 18 additions & 0 deletions apps/website/changelog/lib.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,21 @@ export function groupByVersions(packages) {

return groupedByVersions;
}

export function excludeTrashUpdates(items) {
return items
.map((tags) => {
const [header, ...body] = tags;

const filteredBody = body.filter(
(item) => !item.at(1).toLowerCase().includes('updated dependencies')
);

if (filteredBody.length === 0) {
return null;
}

return [header, ...filteredBody];
})
.filter(Boolean);
}
53 changes: 52 additions & 1 deletion apps/website/changelog/lib.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, test, expect } from 'vitest';

import { groupByVersions } from './lib.mjs';
import { groupByVersions, excludeTrashUpdates } from './lib.mjs';

describe('groupByVersion', () => {
test('correct grouping', () => {
Expand Down Expand Up @@ -193,3 +193,54 @@ describe('groupByVersion', () => {
]);
});
});

describe('excludeTrashUpdates', () => {
test('delete trash updates from the list', () => {
const trashUpdates = [
[
'bulletlist',
['listitem', '896e27d: Update build tool-chain'],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array], [Array]],
],
];

expect(excludeTrashUpdates(trashUpdates)).toMatchInlineSnapshot(`
[
[
"bulletlist",
[
"listitem",
"896e27d: Update build tool-chain",
],
],
]
`);
});

test('delete the whole list in case of only updated deps', () => {
const trashUpdates = [
[
'bulletlist',
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array]],
['listitem', 'Updated dependencies ', [Array], [Array]],
],
];

expect(excludeTrashUpdates(trashUpdates)).toMatchInlineSnapshot(`[]`);
});
});
4 changes: 4 additions & 0 deletions packages/valibot/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## 0.12.0

### Minor Changes

- 0966310: Initial release of `@farfetched/valibot`

### Patch Changes

- Updated dependencies [0b8df65]
Expand Down

0 comments on commit b3bc764

Please sign in to comment.