Skip to content

Instantly share code, notes, and snippets.

@junereycasuga
Created March 9, 2023 01:29
Show Gist options
  • Save junereycasuga/60403ab92bc51285ded7c27f14695ee6 to your computer and use it in GitHub Desktop.
Save junereycasuga/60403ab92bc51285ded7c27f14695ee6 to your computer and use it in GitHub Desktop.
Semantic Release Config
module.exports = {
extends: ['@commitlint/config-conventional'],
parserPreset: {
parserOpts: {
issuePrefixes: ['API-']
}
},
rules: {
'references-empty': [2, 'never'],
'body-leading-blank': [1, 'always'],
'footer-leading-blank': [1, 'always'],
'header-max-length': [2, 'always', 72],
'scope-case': [2, 'always', 'lower-case'],
'subject-case': [
2,
'never',
['sentence-case', 'start-case', 'pascal-case', 'upper-case']
],
'subject-empty': [2, 'never'],
'subject-full-stop': [2, 'never', '.'],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'build',
'chore',
'ci',
'docs',
'feat',
'feature',
'fix',
'perf',
'refactor',
'revert',
'style',
'test'
]
]
}
};
const commitlint = require('./commitlint.config');
module.exports = {
dryRun: false,
plugins: [
'@semantic-release/commit-analyzer',
[
'@semantic-release/release-notes-generator',
{
preset: 'conventionalcommits',
presetConfig: {
issueUrlFormat:
'https://{org}.atlassian.net/browse/{{prefix}}{{id}}',
issuePrefixes: commitlint.parserPreset.parserOpts.issuePrefixes
}
}
],
[
'@semantic-release/changelog',
{
changelogFile: 'docs/CHANGELOG.md'
}
],
'@semantic-release/npm',
'@semantic-release/github'
]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment