mirror of
https://github.com/bitwarden/browser.git
synced 2024-11-09 09:51:02 +01:00
Do not lock until after the file is created (#274)
Proper-lockfile throws if the file it's locking does not exist. Lock around adapter creation rather than file creation.
This commit is contained in:
parent
7941664a59
commit
fc1275aeb2
@ -28,17 +28,17 @@ export class LowdbStorageService implements StorageService {
|
||||
this.logService.info(`Created dir "${this.dir}".`);
|
||||
}
|
||||
this.dataFilePath = path.join(this.dir, 'data.json');
|
||||
if (!fs.existsSync(this.dataFilePath)) {
|
||||
this.logService.warning(`Could not find data file, "${this.dataFilePath}"; creating it instead.`);
|
||||
fs.writeFileSync(this.dataFilePath, '', { mode: 0o600 });
|
||||
fs.chmodSync(this.dataFilePath, 0o600);
|
||||
this.logService.info(`Created data file "${this.dataFilePath}" with chmod 600.`);
|
||||
} else {
|
||||
this.logService.info(`db file "${this.dataFilePath} already exists"; using existing db`);
|
||||
}
|
||||
await this.lockDbFile(() => {
|
||||
if (!fs.existsSync(this.dataFilePath)) {
|
||||
this.logService.warning(`Could not find data file, "${this.dataFilePath}"; creating it instead.`);
|
||||
fs.writeFileSync(this.dataFilePath, '', { mode: 0o600 });
|
||||
fs.chmodSync(this.dataFilePath, 0o600);
|
||||
this.logService.info(`Created data file "${this.dataFilePath}" with chmod 600.`);
|
||||
} else {
|
||||
this.logService.info(`db file "${this.dataFilePath} already exists"; using existing db`);
|
||||
}
|
||||
adapter = new FileSync(this.dataFilePath);
|
||||
});
|
||||
adapter = new FileSync(this.dataFilePath);
|
||||
}
|
||||
try {
|
||||
this.logService.info('Attempting to create lowdb storage adapter.');
|
||||
|
Loading…
Reference in New Issue
Block a user