MetaMask / MetaMask/create-release-branch

When there are many packages that should be included, the error output can be overwhelming

Open
#135 0 comments 0 reactions 0 assignees View on GitHub
enhancement team-core-platform
Dominant language
TypeScript
Stars
9
Forks
7
Avg merge
51m
Merged PRs (30d)
2

Description

If there are error messages for multiple packages, then the output can get pretty overwhelming.

In the following example, I specified that I wanted the release the following packages:

- `@metamask/accounts-controller`
- `@metamask/assets-controllers`
- `@metamask/keyring-controller`
- `@metamask/preferences-controller`
- `@metamask/signature-controller`
- `@metamask/transaction-controller`
- `@metamask/user-operation-controller`

And I got this output:

```
Error: Your release spec could not be processed due to the following issues:

* The following packages, which are dependencies or peer dependencies of the package '@metamask/accounts-controller' being released, are missing from the release spec.

- @metamask/base-controller

These packages may have changes that '@metamask/accounts-controller' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/base-controller": intentionally-skip
* The following packages, which are dependencies or peer dependencies of the package '@metamask/assets-controllers' being released, are missing from the release spec.

- @metamask/approval-controller
- @metamask/base-controller
- @metamask/controller-utils
- @metamask/network-controller
- @metamask/polling-controller

These packages may have changes that '@metamask/assets-controllers' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/approval-controller": intentionally-skip
"@metamask/base-controller": intentionally-skip
"@metamask/controller-utils": intentionally-skip
"@metamask/network-controller": intentionally-skip
"@metamask/polling-controller": intentionally-skip
* The following packages, which are dependencies or peer dependencies of the package '@metamask/keyring-controller' being released, are missing from the release spec.

- @metamask/base-controller
- @metamask/message-manager

These packages may have changes that '@metamask/keyring-controller' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/base-controller": intentionally-skip
"@metamask/message-manager": intentionally-skip
* The following packages, which are dependencies or peer dependencies of the package '@metamask/preferences-controller' being released, are missing from the release spec.

- @metamask/base-controller
- @metamask/controller-utils

These packages may have changes that '@metamask/preferences-controller' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/base-controller": intentionally-skip
"@metamask/controller-utils": intentionally-skip
* The following packages, which are dependencies or peer dependencies of the package '@metamask/signature-controller' being released, are missing from the release spec.

- @metamask/approval-controller
- @metamask/base-controller
- @metamask/controller-utils
- @metamask/logging-controller
- @metamask/message-manager

These packages may have changes that '@metamask/signature-controller' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/approval-controller": intentionally-skip
"@metamask/base-controller": intentionally-skip
"@metamask/controller-utils": intentionally-skip
"@metamask/logging-controller": intentionally-skip
"@metamask/message-manager": intentionally-skip
* The following packages, which are dependencies or peer dependencies of the package '@metamask/transaction-controller' being released, are missing from the release spec.

- @metamask/approval-controller
- @metamask/base-controller
- @metamask/controller-utils
- @metamask/gas-fee-controller
- @metamask/network-controller

These packages may have changes that '@metamask/transaction-controller' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/approval-controller": intentionally-skip
"@metamask/base-controller": intentionally-skip
"@metamask/controller-utils": intentionally-skip
"@metamask/gas-fee-controller": intentionally-skip
"@metamask/network-controller": intentionally-skip
* The following packages, which are dependencies or peer dependencies of the package '@metamask/user-operation-controller' being released, are missing from the release spec.

- @metamask/approval-controller
- @metamask/base-controller
- @metamask/controller-utils
- @metamask/gas-fee-controller
- @metamask/network-controller
- @metamask/polling-controller

These packages may have changes that '@metamask/user-operation-controller' relies upon. Consider including them in the release spec.

If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:

packages:
"@metamask/approval-controller": intentionally-skip
"@metamask/base-controller": intentionally-skip
"@metamask/controller-utils": intentionally-skip
"@metamask/gas-fee-controller": intentionally-skip
"@metamask/network-controller": intentionally-skip
"@metamask/polling-controller": intentionally-skip
```

Could we combine this somehow?

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files, tests, or entry points. Start by locating the TypeScript code that formats missing-package release-spec errors and inspect its existing tests, if any. Done should reduce repeated output for multiple packages while preserving which dependencies are missing and the guidance for resolving or intentionally skipping them.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.