common/config/beachball/changelog-config.ts (53 lines of code) (raw):

import { BeachballConfig } from 'beachball'; import { renderPackageChangelog } from './changelog-custom-renders'; export const config: BeachballConfig = { changeFilePrompt: { changePrompt: prompt => { const changeAreaPrompt = { type: 'select', name: 'area', message: 'Change area', choices: [ { value: 'fix', title: 'Bug fix' }, { value: 'feature', title: 'Feature' }, { value: 'improvement', title: 'Improvement' }, { value: 'storybook', title: 'Storybook' }, ], }; const workstreamPrompt = { type: 'text', name: 'workstream', message: 'Workstream', } return [prompt.changeType, changeAreaPrompt, workstreamPrompt, prompt.description]; }, }, changelog: { renderPackageChangelog: renderPackageChangelog, groups: [{ masterPackageName: '@azure/communication-react', include: 'packages/*', changelogPath: 'packages/communication-react' }] }, ignorePatterns: [ // do not require change files for tests or snapshots "**/*.test.ts?(x)", "**/tests/**", "**/__snapshots__/**", "**/*-snapshots/**", "**/playwright.config.ts" ], tag: "next", changehint: 'Run "rush changelog" to create required change files', // We use package groups to bump all our internal dependent packages together. // There seems to be a bug in how beachball handles prerelease vs patch change types. // Setting `bumpDeps` to true can cause beachball to attempt to bump a dependent package // in the group to `patch` even though the group is being bumped to `prelease`. // This causes infinite recursion inside beachball. bumpDeps: false, groups: [ { name: "@azure/communication-react and its packlets", include: "packages/*", disallowedChangeTypes: [ "major", "none" ] } ] };