@@ -26,9 +26,9 @@ const CWD = process.cwd();
2626 * - `next`: Defaults to `false`.
2727 */
2828const argv = minimist ( process . argv . slice ( 2 ) , {
29- boolean : [ 'dry-run' , 'next' , 'build' , 'test' , 'release' ] ,
29+ boolean : [ 'dry-run' , 'next' , 'build' , 'test' , 'release' , 'major' ] ,
3030 string : [ 'loglevel' ] ,
31- default : { 'dry-run' : false , next : false , build : false , test : false , release : false } ,
31+ default : { 'dry-run' : false , next : false , build : false , test : false , release : false , major : false } ,
3232} ) ;
3333
3434/**
@@ -160,7 +160,14 @@ const test = () => {
160160 */
161161const release = ( ) => {
162162 log ( chalk . magenta ( '--- STEP 5: VERSION PACKAGES ---' ) ) ;
163- runCmd ( 'npx lerna version --conventional-commits --yes' ) ;
163+ // --major forces a major bump on every publishable package, bypassing
164+ // conventional-commits inference. Use this for coordinated platform
165+ // upgrades (peerDep changes for React, MUI, etc.) where every package
166+ // must move to a new major in lockstep.
167+ const versionCmd = argv . major
168+ ? 'npx lerna version major --force-publish=* --yes'
169+ : 'npx lerna version --conventional-commits --yes' ;
170+ runCmd ( versionCmd ) ;
164171
165172 log ( chalk . magenta ( '--- STEP 6: PUBLISH PACKAGES ---' ) ) ;
166173 let releaseCmd = 'npx lerna publish from-git --yes' ;
0 commit comments