| 586 | */ |
| 587 | (callback) => { |
| 588 | const readLockfile = () => { |
| 589 | intermediateFs.readFile(lockfileLocation, (err, buffer) => { |
| 590 | if (err && err.code !== class="st">"ENOENT") { |
| 591 | compilation.missingDependencies.add(lockfileLocation); |
| 592 | return callback(err); |
| 593 | } |
| 594 | compilation.fileDependencies.add(lockfileLocation); |
| 595 | compilation.fileSystemInfo.createSnapshot( |
| 596 | compiler.fsStartTime, |
| 597 | buffer ? [lockfileLocation] : [], |
| 598 | [], |
| 599 | buffer ? [] : [lockfileLocation], |
| 600 | { timestamp: true }, |
| 601 | (err, s) => { |
| 602 | if (err) return callback(err); |
| 603 | const lockfile = buffer |
| 604 | ? Lockfile.parse(buffer.toString(class="st">"utf8")) |
| 605 | : new Lockfile(); |
| 606 | lockfileCache = { |
| 607 | lockfile, |
| 608 | snapshot: /** @type {Snapshot} */ (s) |
| 609 | }; |
| 610 | callback(null, lockfile); |
| 611 | } |
| 612 | ); |
| 613 | }); |
| 614 | }; |
| 615 | if (lockfileCache) { |
| 616 | compilation.fileSystemInfo.checkSnapshotValid( |
| 617 | lockfileCache.snapshot, |