Backfill verification install state

This commit is contained in:
ejclaw
2026-04-08 01:35:34 +09:00
parent a90159e5d4
commit 92d499c779
4 changed files with 89 additions and 5 deletions

View File

@@ -194,6 +194,27 @@ function hasRunnableNodeModulesTree(repoDir: string): boolean {
}
}
function backfillInstallFingerprintIfPossible(
repoDir: string,
packageManager: WorkspacePackageManager,
): boolean {
if (!hasRunnableNodeModulesTree(repoDir)) {
return false;
}
if (readInstallFingerprint(repoDir)) {
return false;
}
const expectedFingerprint = computeInstallFingerprint(repoDir);
if (!expectedFingerprint) {
return false;
}
writeInstallFingerprint(repoDir, packageManager, expectedFingerprint);
return true;
}
export function detectWorkspacePackageManager(
repoDir: string,
): WorkspacePackageManager | null {
@@ -326,6 +347,10 @@ export function ensureWorkspaceDependenciesInstalled(
return { installed: false, packageManager };
}
if (backfillInstallFingerprintIfPossible(repoDir, packageManager)) {
return { installed: false, packageManager };
}
const command = resolveWorkspaceInstallCommand(repoDir);
if (!command) {
return { installed: false, packageManager };