@owngames/semantic
Overview
✨️ Conventional Commit CLI (@owngames/git-cz
)🎋️ Branch Name Generator (@owngames/git-cz
)🤖️ Semantic Versioning (semantic-release
)
Installation
yarn add @owngames/semantic --dev
This extends @owngames/git-cz
.
Semantic Release
./release.config.cjs
Custom values:
enableGit?: boolean
enableGithub?: boolean
enableNpm?: boolean
enableReleaseNotes?: boolean
enableReleaseNotesCustom?: boolean
And then the rest of the traditional configuration values for semantic-release
and conventional-changelog
.
Example
You can look at this monorepo as it re-uses a lot of code ethroughout via release.config
const { getConfig } = require('@owngames/semantic')
const { name } = require('./package.json')
const configPassed = {
tagFormat: `${name}@\${version}`,
}
const config = getConfig(configPassed)
module.exports = config
Scripts
Branch Names
Add a script in package.json
:
"scripts": {
"branch": "git-cz --branch --allow-empty"
}
Running yarn branch
will then trigger the CLI to create branch for you based on
CI/CD
Add a script in package.json
as this extends semantic-release
:
"scripts": {
"semantic-release": "semantic-release",
"release": "auto shipit"
}
Be sure to allow for Git + GitHub access so semantic-release
can create commits and more actions on your repo.
Configured in this repo via ./github/workflows/semantic-release.yml
.