Conversation
|
Comparing: 09056ab...afc94ff Critical size changesIncludes critical production bundles, as well as any change greater than 2%:
Significant size changesIncludes any change greater than 0.2%: Expand to show
|
(disclaimer: I used codex to write this script)
Adds a new `yarn generate-changelog` script to simplify the process of writing changelogs. You can use it as follows:
```
$ yarn generate-changelog --help
Usage: yarn generate-changelog [--codex|--claude] [--debug] [<pkg@version> ...]
Options:
--codex Use Codex for commit summarization. [boolean]
--claude Use Claude for commit summarization. [boolean]
--debug Enable verbose debug logging. [boolean] [default: false]
-h, --help Show help [boolean]
Examples:
generate-changelog --codex Generate changelog for a single
eslint-plugin-react-hooks@7.0.1 package using Codex.
generate-changelog --claude react@19.3 Generate changelog entries for
react-dom@19.3 multiple packages using Claude.
generate-changelog --codex Generate changelog for all stable
packages using recorded versions.
```
For example, if no args are passed, the script will print find all the relevant commits affecting packages (defaults to `stablePackages` in `ReactVersions.js`) and format them as a simple markdown list.
```
$ yarn generate-changelog
## eslint-plugin-react-hooks@7.0.0
* [compiler] improve zod v3 backwards compat (#34877) ([#34877](#34877) by [@henryqdineen](https://github.com/henryqdineen))
* [ESLint] Disallow passing effect event down when inlined as a prop (#34820) ([#34820](#34820) by [@jf-eirinha](https://github.com/jf-eirinha))
* Switch to `export =` to fix eslint-plugin-react-hooks types (#34949) ([#34949](#34949) by [@karlhorky](https://github.com/karlhorky))
* [eprh] Type `configs.flat` more strictly (#34950) ([#34950](#34950) by [@poteto](https://github.com/poteto))
* Add hint for Node.js cjs-module-lexer for eslint-plugin-react-hook types (#34951) ([#34951](#34951) by [@karlhorky](https://github.com/karlhorky))
* Add hint for Node.js cjs-module-lexer for eslint-plugin-react-hook types (#34953) ([#34953](#34953) by [@karlhorky](https://github.com/karlhorky))
// etc etc...
```
If `--codex` or `--claude` is passed, the script will attempt to use them to summarize the commit(s) in the same style as our existing CHANGELOG.md.
And finally, for debugging the script you can add `--debug` to see what's going on.
| log(`Summarizer prompt length: ${prompt.length} characters.`); | ||
|
|
||
| try { | ||
| const raw = await runSummarizer(summarizer, prompt); |
There was a problem hiding this comment.
I'm curious what the perf is like here and wonder about batching multiple together into one request. Probably fine for smaller changelogs like eprh, but I wonder if a React release would make it crawl.
One other consideration for follow up is if we can determine its an internal only change, we can avoid generating summaries.
There was a problem hiding this comment.
It took about ~30s for me when I ran it on all packages. I originally started with a single request but it turned out to be very large context-wise as it passes along all the commit message bodies in the prompt. So I opted with batching it per package
(disclaimer: I used codex to write this script)
Adds a new
yarn generate-changelogscript to simplify the process of writing changelogs. You can use it as follows:For example, if no args are passed, the script will print find all the relevant commits affecting packages (defaults to
stablePackagesinReactVersions.js) and format them as a simple markdown list.If
--codexor--claudeis passed, the script will attempt to use them to summarize the commit(s) in the same style as our existing CHANGELOG.md.And finally, for debugging the script you can add
--debugto see what's going on.