MetaMask / MetaMask/auto-changelog

Read package rename options via configuration file

Open
#190 0 comments 0 reactions 0 assignees View on GitHub
enhancement team-wallet-framework wf-release-process
Dominant language
TypeScript
Stars
8
Forks
8
PR merge metrics
No merged PRs in 30d

Description

When `create-release-branch` adds commits to a package's changelog, it regenerates the whole file. If the package was renamed at some point, however, the tag references at the end of the changelog will reflect the rename (that is, at some point, the tag name may change). The `core` repo (which has some of these types of packages, e.g. `json-rpc-engine`) communicates this rename to this tool (`auto-changelog`) by passing a couple of command-line options, `--tag-prefix-before-package-rename` and `--version-before-package-rename`. However, those options are local to `core` and this tool doesn't know about them when run elsewhere. So when this tool updates changelogs for those kinds of packages via `create-release-branch`, it resets the tag references, making them invalid from `core`'s perspective.

Instead of receiving this information through command-line options, this tool should receive it through a configuration file. This way, whether it is run via `core` or `create-release-branch`, it always generates the right changelog.

We could read the configuration file via `cosmiconfig` or some other mechanism.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how create-release-branch currently receives and applies --tag-prefix-before-package-rename and --version-before-package-rename, then inspect the auto-changelog entry point and configuration handling. Compare a cosmiconfig-based approach with the existing command-line flow. Done means renamed packages produce valid changelog tag references whether invoked by core or create-release-branch.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
release, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.