(candidateRoot, lockFiles)
| 184 | } |
| 185 | |
| 186 | function locksMatch(candidateRoot, lockFiles) { |
| 187 | for (const lockFile of lockFiles) { |
| 188 | const current = join(ROOT, lockFile); |
| 189 | const candidate = join(candidateRoot, lockFile); |
| 190 | if (!existsSync(current) || !existsSync(candidate)) { |
| 191 | return false; |
| 192 | } |
| 193 | if (hashPath(current) !== hashPath(candidate)) { |
| 194 | return false; |
| 195 | } |
| 196 | } |
| 197 | return true; |
| 198 | } |
| 199 | |
| 200 | function copyIntoPlace(source, destination, { replace = false } = {}) { |
| 201 | if (replace) { |
no test coverage detected