Utilities for MetaMask's GitHub Actions.
yarn add @metamask/action-utils
or
npm install @metamask/action-utils
For example:
import {
getPackageManifest,
validatePackageManifestVersion,
} from '@metamask/action-utils';
// Partial<PackageManifest>
const rawManifest = await getPackageManifest('directory/package.json');
// Partial<PackageManifest> & { version: string }
// The version must be valid SemVer, or the function will throw.
// The manifest is returned unmodified.
const manifestWithVersion = await validatePackageManifestVersion(
rawManifest,
'directory',
);
For more examples of how these utilities are used, see:
Run yarn test
to run the tests once.
To run tests on file changes, run yarn test:watch
.
The project follows the same release process as the other libraries in the MetaMask organization:
- Create a release branch
- For a typical release, this would be based on
main
- To update an older maintained major version, base the release branch on the major version branch (e.g.
1.x
)
- For a typical release, this would be based on
- Update the changelog
- Update version in package.json file (e.g.
yarn version --minor --no-git-tag-version
) - Create a pull request targeting the base branch (e.g. master or 1.x)
- Code review and QA
- Once approved, the PR is squashed & merged
- The commit on the base branch is tagged
- The tag can be published as needed