Skip to content

Commit dad3c3f

Browse files
committed
chore: improve verify-release-config for monorepo setup.
1 parent 3900a4d commit dad3c3f

File tree

1 file changed

+27
-12
lines changed

1 file changed

+27
-12
lines changed

scripts/verify-release-config.js

+27-12
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,34 @@ if (!hasSemanticReleaseMonorepo) {
2525
process.exit(1);
2626
}
2727

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...',
3955
);
40-
process.exit(1);
4156
}
4257

4358
console.log('Checking packages...');

0 commit comments

Comments
 (0)