Add `badge`, `slider`, and `use-table` to the Component type so
the changelog sync script recognizes them. Add `useTable` special
case mapping in the sync script, and include `use-table` in the
Table docs page changelog.
Also fix CHANGELOG.md to use `Slider` instead of `RangeSlider`
as the affected component name.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Vale validation can require backticks around component names like
`useTable` in changesets. The sync script now strips backticks so
these names are matched correctly.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Broaden "Affected components" regex to handle all formats found in
CHANGELOG.md (bold, plain, and typo variants). Align unknown component
detection to use extraction-time tracking instead of re-parsing
stripped descriptions. Deduplicate component arrays after mapping.
Add --skip-prs flag and Grid.Item special case.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Changed the CSS sync script to output theme files to src/css/ instead
of public/, matching the new location for theme CSS files.
Updated variable names from publicPath to outputPath for clarity and
updated log messages to reflect the correct output location.
Signed-off-by: Charles de Dreuille <charles.dedreuille@gmail.com>
Adds automated synchronization of component changelogs from
@backstage/ui package to the documentation site, eliminating
manual changelog maintenance.
The sync script parses CHANGELOG.md using remark/unified, extracts
component-specific entries via "Affected components:" tags, and
generates per-version TypeScript files with preserved markdown
formatting. Includes GitHub API integration to automatically fetch
PR numbers for changelog entries.
Key features:
- Version comparison to sync only new releases
- Per-version file structure (changelogs/v0.2.0.ts, etc.)
- Markdown preservation via AST position slicing
- Component name mapping (PascalCase → kebab-case)
- Duplicate detection for idempotent syncing
- GitHub authentication via gh CLI or GITHUB_TOKEN
- Dry-run mode with preview
Usage:
```bash
yarn sync:changelog # Sync new entries
yarn sync:changelog:dry-run # Preview changes
```
Technical changes:
- Added scripts/sync-changelog.mjs (991 lines)
- Refactored changelog.ts to import per-version files
- Extracted types to separate types.ts file
- Added dependencies: @octokit/rest, unified (remark-parse via @mdx-js/mdx)
- Added documentation in README.md
Signed-off-by: Johan Persson <johanopersson@gmail.com>