You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 16, 2025. It is now read-only.
refactor!: Synchronize dev toolchain with module template and core monorepo (#351)
Synchronizes package meta-files with
[MetaMask/metamask-module-template](https://github.com/MetaMask/metamask-module-template)
and [MetaMask/core](https://github.com/MetaMask/core). Changes exclude
source code and other published files with the following exceptions:
- `package.json`, most notably its `exports` field
- This is due to adding fields expected by our Yarn constraints and
migrating to `ts-bridge` for builds.
- Published files are split into `.cjs` and `.mjs` trees per `ts-bridge`
In detail (all changes per module template unless otherwise specified):
- Use `ts-bridge`
- Bump `eslint`, `prettier`, and related dependencies
- Add `eslint.config.mjs`
- Preserve previous lint configuration to the greatest extent possible
- Some changes are made to test files
- `index.ts` and `PollingBlockTracker.ts` received some non-behavioral,
type-related lint modifications
- Add and use `@arethetypeswrong/cli`
- Add and use `typedoc`
- Update `.yarnrc.yml` and add `yarn.config.cjs`
- Update `package.json`
- Bump `typescript` from `4.x` to `~5.2.2`
- Downgrade `jest` and related dependencies from `^29` to `^27`
- Update `tsconfig` files per `ts-bridge` conventions
- Lint all files per updated config
- Set the following rules to `warn`:
- `@typescript-eslint/prefer-nullish-coalescing`, to avoid behavioral
changes
- `@typescript-eslint/explicit-function-return-type`, because too many
violations to fix right now
Work intentionally avoided in this PR:
- Update `package.json#engines`
- Migrate to `vitest`
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is
generating a summary for commit
58e0693. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Thanks for your contribution! Take a moment to answer these questions so that reviewers have the information they need to properly understand your changes:
3
+
4
+
* What is the current state of things and why does it need to change?
5
+
* What is the solution your changes offer and how does it work?
6
+
7
+
Are there any issues or other links reviewers should consult to understand this pull request better? For instance:
Copy file name to clipboardExpand all lines: README.md
-7Lines changed: 0 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -106,35 +106,28 @@ Run `yarn lint` to run the linter, or run `yarn lint:fix` to run the linter and
106
106
The project follows the same release process as the other libraries in the MetaMask organization. The GitHub Actions [`action-create-release-pr`](https://github.com/MetaMask/action-create-release-pr) and [`action-publish-release`](https://github.com/MetaMask/action-publish-release) are used to automate the release process; see those repositories for more information about how they work.
107
107
108
108
1. Choose a release version.
109
-
110
109
- The release version should be chosen according to SemVer. Analyze the changes to see whether they include any breaking changes, new features, or deprecations, then choose the appropriate SemVer version. See [the SemVer specification](https://semver.org/) for more information.
111
110
112
111
2. If this release is backporting changes onto a previous release, then ensure there is a major version branch for that version (e.g. `1.x` for a `v1` backport release).
113
-
114
112
- The major version branch should be set to the most recent release with that major version. For example, when backporting a `v1.0.2` release, you'd want to ensure there was a `1.x` branch that was set to the `v1.0.1` tag.
115
113
116
114
3. Trigger the [`workflow_dispatch`](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch) event [manually](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow) for the `Create Release Pull Request` action to create the release PR.
117
-
118
115
- For a backport release, the base branch should be the major version branch that you ensured existed in step 2. For a normal release, the base branch should be the main branch for that repository (which should be the default value).
119
116
- This should trigger the [`action-create-release-pr`](https://github.com/MetaMask/action-create-release-pr) workflow to create the release PR.
120
117
121
118
4. Update the changelog to move each change entry into the appropriate change category ([See here](https://keepachangelog.com/en/1.0.0/#types) for the full list of change categories, and the correct ordering), and edit them to be more easily understood by users of the package.
122
-
123
119
- Generally any changes that don't affect consumers of the package (e.g. lockfile changes or development environment changes) are omitted. Exceptions may be made for changes that might be of interest despite not having an effect upon the published package (e.g. major test improvements, security improvements, improved documentation, etc.).
124
120
- Try to explain each change in terms that users of the package would understand (e.g. avoid referencing internal variables/concepts).
125
121
- Consolidate related changes into one change entry if it makes it easier to explain.
126
122
- Run `yarn auto-changelog validate --rc --prettier` to check that the changelog is correctly formatted.
127
123
128
124
5. Review and QA the release.
129
-
130
125
- If changes are made to the base branch, the release branch will need to be updated with these changes and review/QA will need to restart again. As such, it's probably best to avoid merging other PRs into the base branch while review is underway.
131
126
132
127
6. Squash & Merge the release.
133
-
134
128
- This should trigger the [`action-publish-release`](https://github.com/MetaMask/action-publish-release) workflow to tag the final release commit and publish the release on GitHub.
135
129
136
130
7. Publish the release on npm.
137
-
138
131
- Be very careful to use a clean local environment to publish the release, and follow exactly the same steps used during CI.
139
132
- Use `npm publish --dry-run` to examine the release contents to ensure the correct files are included. Compare to previous releases if necessary (e.g. using `https://unpkg.com/browse/[package name]@[package version]/`).
140
133
- Once you are confident the release contents are correct, publish the release using `npm publish`.
0 commit comments