@lskjs/semantic-release-config
v1.0.1
Published
LSK.js - semantic-release configuration preset
Downloads
23
Readme
☂️ LSK.js – Semantic Release Config Preset
Part of @lskjs/presets monorepo
🚀 Automated: Fully automated version management
📦 Multi-plugin: Changelog, npm, GitHub releases
🎯 Conventional Commits: Based on commit analysis
🔧 Monorepo Ready: Support for monorepo workflows
🎉 Beautiful: Custom release messages with emojis
Installation
npm install --save-dev @lskjs/semantic-release-config
# or
yarn add --dev @lskjs/semantic-release-config
# or
pnpm add --save-dev @lskjs/semantic-release-configYou'll also need to install peer dependencies:
npm install --save-dev \
semantic-release \
@semantic-release/commit-analyzer \
@semantic-release/release-notes-generator \
@semantic-release/changelog \
@semantic-release/npm \
@semantic-release/github \
@semantic-release/gitUsage
Default configuration
Add to your package.json:
{
"release": {
"extends": "@lskjs/semantic-release-config"
}
}Or create .releaserc.js:
module.exports = {
extends: '@lskjs/semantic-release-config'
};Monorepo configuration
For monorepo projects with main and beta branches:
{
"release": {
"extends": "@lskjs/semantic-release-config/monorepo"
}
}Features
- ✅ Commit analysis based on conventional commits
- ✅ Automatic CHANGELOG.md generation
- ✅ NPM package publishing
- ✅ GitHub releases
- ✅ Git commits with version bump
- ✅ Automatic version management
- 🎉 Custom release message with emoji
Configuration Details
Default branches
main- production releases
Monorepo branches
main- production releasesbeta- beta releases
Plugins
- @semantic-release/commit-analyzer - Analyzes commits to determine version bump
- @semantic-release/release-notes-generator - Generates release notes
- @semantic-release/changelog - Updates CHANGELOG.md
- @semantic-release/npm - Publishes to npm
- @semantic-release/github - Creates GitHub releases
- @semantic-release/git - Commits version changes
Git commit assets
package.jsonpnpm-lock.yamlCHANGELOG.md
Commit message format
chore(release): 🎉 v{version}
{release notes}
[skip ci]Example CI/CD (GitHub Actions)
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npx semantic-releaseFor monorepos with semantic-release-monorepo:
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
pnpm -r exec -- npx semantic-release -e semantic-release-monorepo📝 License
MIT © Igor Suvorov
@lskjs/presets - Unified configuration for LSK.js projects 🎯
