diff --git a/.releaserc b/.releaserc deleted file mode 100644 index 80ac5666..00000000 --- a/.releaserc +++ /dev/null @@ -1,23 +0,0 @@ -{ - "branches": [ - "main", - { "name": "develop", "prerelease": true }, - { "name": "next", "prerelease": true } - ], - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - ["@semantic-release/npm", { "npmPublish": false }], - ["@semantic-release/git", { - "assets": [".version", "package.json"], - "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" - }], - "@semantic-release/github", - [ - "@semantic-release/exec", - { - "verifyReleaseCmd": "echo ${nextRelease.version} > .version" - } - ] - ] -} diff --git a/release.config.cjs b/release.config.cjs new file mode 100644 index 00000000..a80570d8 --- /dev/null +++ b/release.config.cjs @@ -0,0 +1,28 @@ +/* eslint-disable no-template-curly-in-string */ +function isDryRun() { + return process.argv.includes('--dry-run'); +} + +const configProduction = [ + ['@semantic-release/npm', { npmPublish: false }], + ['@semantic-release/git', { + assets: ['.version', 'package.json'], + message: 'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}', + }], +]; + +module.exports = { + branches: [ + 'main', + { name: 'develop', prerelease: true }, + { name: 'next', prerelease: true }, + ], + plugins: [ + '@semantic-release/commit-analyzer', + '@semantic-release/release-notes-generator', + ...(isDryRun() ? [] : configProduction), + ['@semantic-release/exec', { + verifyReleaseCmd: 'echo ${nextRelease.version} > .version', + }], + ], +};