release-it stuff

This commit is contained in:
EthanShoeDev
2025-10-06 20:12:50 -04:00
parent 3f70c86bd4
commit c61f8ac01c
7 changed files with 123 additions and 13 deletions

View File

@@ -0,0 +1,42 @@
import type { Config } from 'release-it';
export default {
git: {
requireCleanWorkingDir: true,
tagName: '${npm.name}-v${version}',
tagAnnotation: '${npm.name} v${version}',
tagMatch: '${npm.name}-v*',
commitMessage: 'chore(${npm.name}): release v${version}',
push: true,
},
// This one *does* publish to npm
npm: {
publish: true,
// pass flags youd give to `npm publish`
publishArgs: ['--access', 'public'],
// (optional) skip npms own prepublish checks:
// skipChecks: true
},
github: {
release: true,
releaseName: '${npm.name} v${version}',
// optional: attach build artifacts
// assets: ['dist/**']
},
plugins: {
'@release-it/conventional-changelog': {
preset: 'conventionalcommits',
infile: 'CHANGELOG.md',
gitRawCommitsOpts: { path: 'packages/react-native-uniffi-russh' },
},
},
hooks: {
'before:init': ['pnpm run lint:check', 'pnpm run test'],
'before:npm:release': 'pnpm run build',
'after:release': 'echo "Published ${npm.name} v${version} to npm"',
},
} satisfies Config;