mirror of
https://github.com/zoriya/react-native-omni.git
synced 2026-08-05 05:36:17 +00:00
61 lines
1.6 KiB
JavaScript
61 lines
1.6 KiB
JavaScript
const rules = [
|
|
{ type: 'feat', release: 'minor', title: '✨ Features' },
|
|
{ type: 'fix', release: 'patch', title: '🐛 Bug Fixes' },
|
|
{ type: 'perf', release: 'patch', title: '💨 Performance Improvements' },
|
|
{ type: 'refactor', release: 'patch', title: '🔄 Code Refactors' },
|
|
{ type: 'docs', release: 'patch', title: '📚 Documentation' },
|
|
{ type: 'chore', release: 'patch', title: '🛠️ Other changes' },
|
|
]
|
|
|
|
const sortMap = Object.fromEntries(
|
|
rules.map((rule, index) => [rule.title, index])
|
|
)
|
|
|
|
/**
|
|
* @type {import('semantic-release').GlobalConfig}
|
|
*/
|
|
module.exports = {
|
|
branches: ['main', { name: 'next', prerelease: 'next' }],
|
|
plugins: [
|
|
[
|
|
'@semantic-release/commit-analyzer',
|
|
{
|
|
preset: 'conventionalcommits',
|
|
releaseRules: [
|
|
{ breaking: true, release: 'major' },
|
|
{ revert: true, release: 'patch' },
|
|
].concat(rules.map(({ type, release }) => ({ type, release }))),
|
|
},
|
|
],
|
|
[
|
|
'@semantic-release/release-notes-generator',
|
|
{
|
|
preset: 'conventionalcommits',
|
|
presetConfig: {
|
|
types: rules.map(({ type, title }) => ({
|
|
type,
|
|
section: title,
|
|
})),
|
|
},
|
|
writerOpts: {
|
|
commitGroupsSort: (a, z) => sortMap[a.title] - sortMap[z.title],
|
|
},
|
|
},
|
|
],
|
|
[
|
|
'@semantic-release/changelog',
|
|
{
|
|
changelogFile: 'CHANGELOG.md',
|
|
},
|
|
],
|
|
'@semantic-release/npm',
|
|
'@semantic-release/github',
|
|
[
|
|
'@semantic-release/git',
|
|
{
|
|
assets: ['package.json', 'CHANGELOG.md', 'example/package.json'],
|
|
},
|
|
],
|
|
],
|
|
}
|