@saasquatch/mint-components
v2.4.1
Published
A minimal design library with components for referral and loyalty experiences. Built with Shoelace components by Saasquatch.
Maintainers
Keywords
Readme
Mint Components
Mint components for the SaaSquatch content platform. Built with Stencil.
Contributing
Version Management with Changesets
This project uses Changesets to manage versioning and changelogs.
Adding a Changeset
When you make changes that should be included in the next release, create a changeset:
npm run changesetFollow the prompts to:
- Select the type of change (major, minor, or patch)
- Provide a summary of your changes
This will create a new file in the .changeset directory that will be used to automatically update the version and changelog when the changes are released.
Releasing a New Version
When changesets are merged to the master branch, the mint-components release workflow will automatically:
Create or update a "Version Packages" pull request that:
- Bumps the version in
package.json - Updates
package-lock.json - Updates
CHANGELOG.mdwith all changeset summaries - Removes the processed changeset files
- Bumps the version in
When you're ready to release, simply merge the "Version Packages" PR to
masterThe workflow will then automatically:
- Publish the new version to npm
- Deploy the production Stencilbook site for mint-components
- Create a git tag for the release
mint-components stable releases use the mint-specific Mint Components Release workflow (Changesets), and prereleases use the shared Publish Package workflow.
Local npm publish is blocked. A prepublishOnly script in package.json aborts publishes that aren't running in CI (where CI=true). All publishes must go through the GitHub Actions workflows below.
Manual Development Releases (Prereleases)
For development and testing purposes, use the shared Publish Package GitHub Actions workflow:
- Run the workflow from the branch you want to publish.
- Set
packagetomint-components. - Set
increment-typetoprerelease. The workflow rejectspatch/minor/majorfor mint-components — stable releases must go through the Mint Components Release (Changesets) workflow.
The workflow will:
- Compute the next semver from
package.json(e.g.2.1.8→2.1.9-0forprerelease) - Build mint-components automatically via the
prepacklifecycle script - Publish to npm with
--access public --provenance, taggednextfor prereleases orlatestfor stable - Commit the version bump and create a signed
@saasquatch/mint-components@<version>git tag viasaasquatch/git-commit-action
Stable releases should still flow through master via the Changesets "Version Packages" PR. When the next stable Changesets release runs, changeset version will compute the next stable version from changesets and overwrite any manual prerelease version in package.json — that is intentional.
About Stencil
Stencil is a compiler for building fast web apps using Web Components.
Stencil combines the best concepts of the most popular frontend frameworks into a compile-time rather than run-time tool. Stencil takes TypeScript, JSX, a tiny virtual DOM layer, efficient one-way data binding, an asynchronous rendering pipeline (similar to React Fiber), and lazy-loading out of the box, and generates 100% standards-based Web Components that run in any browser supporting the Custom Elements v1 spec.
Stencil components are just Web Components, so they work in any major framework or with no framework at all.
