From 1a8b4337e3e6981f358b119dddca2108ae08e180 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 25 Feb 2025 08:45:01 +0900 Subject: [PATCH] fix: fix fetch cache multiple writes (#7546) --- packages/vitest/src/node/pools/rpc.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/vitest/src/node/pools/rpc.ts b/packages/vitest/src/node/pools/rpc.ts index 6dedcf73ccba..3fef387b6add 100644 --- a/packages/vitest/src/node/pools/rpc.ts +++ b/packages/vitest/src/node/pools/rpc.ts @@ -2,7 +2,8 @@ import type { RawSourceMap } from 'vite-node' import type { RuntimeRPC } from '../../types/rpc' import type { TestProject } from '../project' import type { ResolveSnapshotPathHandlerContext } from '../types/config' -import { mkdir, writeFile } from 'node:fs/promises' +import { mkdirSync } from 'node:fs' +import { writeFile } from 'node:fs/promises' import { join } from 'pathe' import { hash } from '../hash' @@ -54,14 +55,14 @@ export function createMethodsRPC(project: TestProject, options: MethodsOptions = const dir = join(project.tmpDir, transformMode) const name = hash('sha1', id, 'hex') const tmp = join(dir, name) + if (!created.has(dir)) { + mkdirSync(dir, { recursive: true }) + created.add(dir) + } if (promises.has(tmp)) { await promises.get(tmp) return { id: tmp } } - if (!created.has(dir)) { - await mkdir(dir, { recursive: true }) - created.add(dir) - } promises.set( tmp, writeFile(tmp, code, 'utf-8').finally(() => promises.delete(tmp)),