Skip to content

Commit f0218f4

Browse files
committed
fix cache restoration
1 parent 5db6a47 commit f0218f4

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/mdx.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -523,9 +523,15 @@ export async function getFileBySlug(slug: string): Promise<SlugFile> {
523523

524524
const cacheKey = md5(source);
525525
const cacheFile = path.join(CACHE_DIR, `${cacheKey}.br`);
526+
const assetsCacheDir = path.join(CACHE_DIR, cacheKey);
527+
const outdir = path.join(root, 'public', 'mdx-images');
528+
await mkdir(outdir, {recursive: true});
526529

527530
try {
528-
const cached = await readCacheFile<SlugFile>(cacheFile);
531+
const [cached, _] = await Promise.all([
532+
readCacheFile<SlugFile>(cacheFile),
533+
cp(assetsCacheDir, outdir, {recursive: true}),
534+
]);
529535
return cached;
530536
} catch (err) {
531537
if (err.code !== 'ENOENT' && err.code !== 'ABORT_ERR' && err.code !== 'Z_BUF_ERROR') {
@@ -547,8 +553,6 @@ export async function getFileBySlug(slug: string): Promise<SlugFile> {
547553

548554
// cwd is how mdx-bundler knows how to resolve relative paths
549555
const cwd = path.dirname(sourcePath);
550-
const assetsCacheDir = path.join(CACHE_DIR, cacheKey);
551-
const outdir = path.join(root, 'public', 'mdx-images');
552556

553557
const result = await bundleMDX<Platform>({
554558
source,
@@ -662,12 +666,7 @@ export async function getFileBySlug(slug: string): Promise<SlugFile> {
662666
},
663667
};
664668

665-
await mkdir(outdir, {recursive: true});
666-
await cp(assetsCacheDir, outdir, {
667-
recursive: true,
668-
errorOnExist: false,
669-
force: true,
670-
});
669+
await cp(assetsCacheDir, outdir, {recursive: true});
671670
writeCacheFile(cacheFile, JSON.stringify(resultObj)).catch(e => {
672671
// eslint-disable-next-line no-console
673672
console.warn(`Failed to write MDX cache: ${cacheFile}`, e);

0 commit comments

Comments
 (0)