Caution
This is an experimental package resulting from this repo. Its sole purpose is to experiment with semantic versioning and GitHub Action release automation. USE IT AT YOUR OWN DISCRETION.
- Typescript. Configured for modern
ES2020builds. Provides two import aliases@and@test - Prettier. With sane code cleaning defaults and automated import sorting.
- Vite. Configured to build to exclude all the Node builtins,
peerDependenciesanddevDependenciesfrom the bundle.npm run buildto buildsrc/index.tsas a librarynpm run devto serve the contents ofdemoin development mode for experimentation with the library
- Create a GitHub repository with a
nameanddescription - Prepare the project with
gitandnpminitialized. Providenamedescriptionandauthor. Version should be1.0.0. This repository also includes all this technologies - Push to GitHub
Versioning is automated via the semantic-versioning solution. The configuration is present
in .releaserc.mjson and is configured with a san default that will:
- Maintain the
CHANGELOG.mdfile - Automatically manage releases via the
mainbranch - Automatically manage canary releases via the
canarybranch - Handle GitOps. By default the commit user is
@semantic-release-bot. The actions are:- Issues mentioned in release commits will receive a comment with the release
- Pull requests will receive a comment with the release
- Update the package version and create a
bot()commit to bump package when creating a production release
Tip
Order of plugins in the array is important as it denotes the order of execution of the plugins. Which implies that
npm should always precede github to prevent the creation of tags and release notes for failed npm publishes.
Actual example of working badges
Dummy library documentation. Not intended for production use.
Generate a random fruit emoji
import { fruit, fruitSalad, animal, zoo } from '@svara/npmsemver'
fruit() // -> 🍊
fruitSalad() // -> 🥝🫐🫒🍊🍇🍍
animal() // -> 🦎
zoo() // -> 🐞🦋🐓🐢🦝🐴- How to move index.html to
demo - Publish
index.htmlto GitHub pages