diff --git a/.releaserc.json b/.releaserc.json deleted file mode 100644 index 339f63500..000000000 --- a/.releaserc.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "tagFormat": "react-${version}", - "branches": [ - "main", - { - "name": "rc", - "prerelease": true - } - ], - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - ["@semantic-release/changelog", { "changelogFile": "./CHANGELOG.md" }], - [ - "@semantic-release/git", - { - "assets": ["package.json", "package-lock.json", "CHANGELOG.md"], - "message": "chore(release): ${nextRelease.version} \n\n${nextRelease.notes}" - } - ], - ["@semantic-release/npm", { "pkgRoot": "dist" }], - [ - "@semantic-release/github", - { - "assets": [ - { - "path": "dist/*.tgz", - "label": "Package" - } - ] - } - ] - ] -} diff --git a/release.config.mjs b/release.config.mjs new file mode 100644 index 000000000..6e4bb65de --- /dev/null +++ b/release.config.mjs @@ -0,0 +1,40 @@ +// The Angular preset links every #123 in a commit subject to this repo's issues. +// Point owner/repo#123 references at the repo they name instead. +const linkCrossRepoIssues = (context) => ({ + ...context, + commitGroups: context.commitGroups.map((group) => ({ + ...group, + commits: group.commits.map((commit) => ({ + ...commit, + subject: commit.subject?.replace( + /([\w.-]+\/[\w.-]+)\[#(\d+)\]\([^)]*\)/g, + (_, repo, issue) => `[${repo}#${issue}](${context.host}/${repo}/issues/${issue})` + ), + })), + })), +}); + +export default { + tagFormat: 'react-${version}', + branches: ['main', { name: 'rc', prerelease: true }], + plugins: [ + '@semantic-release/commit-analyzer', + ['@semantic-release/release-notes-generator', { writerOpts: { finalizeContext: linkCrossRepoIssues } }], + ['@semantic-release/changelog', { changelogFile: './CHANGELOG.md' }], + [ + '@semantic-release/git', + { + assets: ['package.json', 'package-lock.json', 'CHANGELOG.md'], + message: 'chore(release): ${nextRelease.version} \n\n${nextRelease.notes}', + }, + ], + ['@semantic-release/npm', { pkgRoot: 'dist' }], + [ + '@semantic-release/github', + { + successCommentCondition: false, + assets: [{ path: 'dist/*.tgz', label: 'Package' }], + }, + ], + ], +};