(modules: EvaluatedModules, resetMocks = false)
| 50 | } |
| 51 | |
| 52 | export function resetModules(modules: EvaluatedModules, resetMocks = false): void { |
| 53 | const skipPaths = [ |
| 54 | // Vitest |
| 55 | /\/vitest\/dist\//, |
| 56 | // yarn's .store folder |
| 57 | /vitest-virtual-\w+\/dist/, |
| 58 | // cnpm |
| 59 | /@vitest\/dist/, |
| 60 | // don't clear mocks |
| 61 | ...(!resetMocks ? [/^mock:/] : []), |
| 62 | ] |
| 63 | modules.idToModuleMap.forEach((node, path) => { |
| 64 | if (skipPaths.some(re => re.test(path))) { |
| 65 | return |
| 66 | } |
| 67 | |
| 68 | node.promise = undefined |
| 69 | node.exports = undefined |
| 70 | node.evaluated = false |
| 71 | node.importers.clear() |
| 72 | }) |
| 73 | } |
| 74 | |
| 75 | function waitNextTick() { |
| 76 | const { setTimeout } = getSafeTimers() |
no test coverage detected