scripts/prepare-release: handle packages that were added since last release
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
+23
-13
@@ -71,21 +71,31 @@ async function detectPatchVersionsForRef(repo, ref) {
|
||||
path.relative(repo.root.dir, pkg.dir),
|
||||
'package.json',
|
||||
);
|
||||
const { stdout: pkgJsonStr } = await execFile('git', [
|
||||
'show',
|
||||
`${ref}:${pkgJsonPath}`,
|
||||
]);
|
||||
if (pkgJsonStr) {
|
||||
const releasePkgJson = JSON.parse(pkgJsonStr);
|
||||
const pkgJson = pkg.packageJson;
|
||||
if (releasePkgJson.name !== pkgJson.name) {
|
||||
throw new Error(
|
||||
`Mismatched package name at ${pkg.dir}, ${releasePkgJson.name} !== ${pkgJson.name}`,
|
||||
);
|
||||
try {
|
||||
const { stdout: pkgJsonStr } = await execFile('git', [
|
||||
'show',
|
||||
`${ref}:${pkgJsonPath}`,
|
||||
]);
|
||||
if (pkgJsonStr) {
|
||||
const releasePkgJson = JSON.parse(pkgJsonStr);
|
||||
const pkgJson = pkg.packageJson;
|
||||
if (releasePkgJson.name !== pkgJson.name) {
|
||||
throw new Error(
|
||||
`Mismatched package name at ${pkg.dir}, ${releasePkgJson.name} !== ${pkgJson.name}`,
|
||||
);
|
||||
}
|
||||
if (releasePkgJson.version !== pkgJson.version) {
|
||||
patchVersions.set(pkgJson.name, releasePkgJson.version);
|
||||
}
|
||||
}
|
||||
if (releasePkgJson.version !== pkgJson.version) {
|
||||
patchVersions.set(pkgJson.name, releasePkgJson.version);
|
||||
} catch (error) {
|
||||
if (
|
||||
error.stderr?.match(/^fatal: Path .* exists on disk, but not in .*$/m)
|
||||
) {
|
||||
console.log(`Skipping new package ${pkg.packageJson.name}`);
|
||||
continue;
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user