diff --git a/packages/react/.releaserc.cjs b/packages/react/.releaserc.cjs index 77c3b4ffef..75a707bec1 100644 --- a/packages/react/.releaserc.cjs +++ b/packages/react/.releaserc.cjs @@ -11,7 +11,8 @@ const config = { 'semantic-release-commit-filter', '@semantic-release/commit-analyzer', '@semantic-release/release-notes-generator', - ['semantic-release-pnpm', { npmPublish: true }], + ['semantic-release-pnpm', { npmPublish: false }], + '../../scripts/publish-react.cjs', ], }; diff --git a/scripts/publish-react.cjs b/scripts/publish-react.cjs new file mode 100644 index 0000000000..4c8f3cb414 --- /dev/null +++ b/scripts/publish-react.cjs @@ -0,0 +1,20 @@ +#!/usr/bin/env node +const { execFileSync } = require('node:child_process'); +const path = require('node:path'); + +const rootDir = path.resolve(__dirname, '..'); +const reactDir = path.join(rootDir, 'packages', 'react'); + +module.exports = { + publish: async (_pluginConfig, context) => { + const { nextRelease, logger = console } = context; + const distTag = (nextRelease && nextRelease.channel) || 'latest'; + + logger.log(`Publishing @superdoc-dev/react with dist-tag "${distTag}"...`); + execFileSync( + 'pnpm', + ['publish', '--access', 'public', '--tag', distTag, '--no-git-checks'], + { stdio: 'inherit', cwd: reactDir } + ); + }, +};