@@ -25,19 +25,34 @@ if (!hasSemanticReleaseMonorepo) {
25
25
process . exit ( 1 ) ;
26
26
}
27
27
28
- console . log ( 'Checking root .releaserc.json...' ) ;
29
- // Check root .releaserc.json
30
- const rootReleaseRc = JSON . parse (
31
- fs . readFileSync ( path . join ( ROOT_DIR , '.releaserc.json' ) , 'utf8' ) ,
32
- ) ;
33
- if (
34
- ! rootReleaseRc . extends ||
35
- rootReleaseRc . extends !== 'semantic-release-monorepo'
36
- ) {
37
- console . error (
38
- '❌ Root .releaserc.json does not extend semantic-release-monorepo' ,
28
+ console . log ( 'Checking if root package is private...' ) ;
29
+ // Only check for root .releaserc.json if the root package is not private
30
+ if ( ! rootPackageJson . private ) {
31
+ console . log ( 'Root package is not private, checking root .releaserc.json...' ) ;
32
+ try {
33
+ // Check root .releaserc.json
34
+ const rootReleaseRc = JSON . parse (
35
+ fs . readFileSync ( path . join ( ROOT_DIR , '.releaserc.json' ) , 'utf8' ) ,
36
+ ) ;
37
+ if (
38
+ ! rootReleaseRc . extends ||
39
+ rootReleaseRc . extends !== 'semantic-release-monorepo'
40
+ ) {
41
+ console . error (
42
+ '❌ Root .releaserc.json does not extend semantic-release-monorepo' ,
43
+ ) ;
44
+ process . exit ( 1 ) ;
45
+ }
46
+ } catch ( error ) {
47
+ console . error (
48
+ '❌ Root .releaserc.json is missing but required for non-private root packages' ,
49
+ ) ;
50
+ process . exit ( 1 ) ;
51
+ }
52
+ } else {
53
+ console . log (
54
+ 'Root package is private, skipping root .releaserc.json check...' ,
39
55
) ;
40
- process . exit ( 1 ) ;
41
56
}
42
57
43
58
console . log ( 'Checking packages...' ) ;
0 commit comments