fix: a nicer lockfile message (#9952)

Fixes #9574
This commit is contained in:
Andrey Lushnikov 2021-11-01 17:48:18 -07:00 committed by GitHub
parent 96d611ed7d
commit d1b43fafd3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -524,7 +524,11 @@ export class Registry {
const executables = this._addRequirementsAndDedupe(executablesToInstall); const executables = this._addRequirementsAndDedupe(executablesToInstall);
await fs.promises.mkdir(registryDirectory, { recursive: true }); await fs.promises.mkdir(registryDirectory, { recursive: true });
const lockfilePath = path.join(registryDirectory, '__dirlock'); const lockfilePath = path.join(registryDirectory, '__dirlock');
const releaseLock = await lockfile.lock(registryDirectory, { const linksDir = path.join(registryDirectory, '.links');
let releaseLock;
try {
releaseLock = await lockfile.lock(registryDirectory, {
retries: { retries: {
retries: 10, retries: 10,
// Retry 20 times during 10 minutes with // Retry 20 times during 10 minutes with
@ -537,9 +541,6 @@ export class Registry {
}, },
lockfilePath, lockfilePath,
}); });
const linksDir = path.join(registryDirectory, '.links');
try {
// Create a link first, so that cache validation does not remove our own browsers. // Create a link first, so that cache validation does not remove our own browsers.
await fs.promises.mkdir(linksDir, { recursive: true }); await fs.promises.mkdir(linksDir, { recursive: true });
await fs.promises.writeFile(path.join(linksDir, calculateSha1(PACKAGE_PATH)), PACKAGE_PATH); await fs.promises.writeFile(path.join(linksDir, calculateSha1(PACKAGE_PATH)), PACKAGE_PATH);
@ -574,6 +575,7 @@ export class Registry {
throw e; throw e;
} }
} finally { } finally {
if (releaseLock)
await releaseLock(); await releaseLock();
} }
} }