diff --git a/packages/open-next/package.json b/packages/open-next/package.json index 1f692419b..a1b1d1db0 100644 --- a/packages/open-next/package.json +++ b/packages/open-next/package.json @@ -22,6 +22,13 @@ "types": "./dist/*.d.ts" } }, + "typesVersions": { + "*": { + "*": [ + "dist/*" + ] + } + }, "keywords": [], "author": "", "files": [ diff --git a/packages/open-next/src/build/createAssets.ts b/packages/open-next/src/build/createAssets.ts index 892d8bf3a..792a30f94 100644 --- a/packages/open-next/src/build/createAssets.ts +++ b/packages/open-next/src/build/createAssets.ts @@ -2,6 +2,7 @@ import fs from "node:fs"; import path from "node:path"; import logger from "../logger.js"; +import type { TagCacheMetaFile } from "../types/cache.js"; import { isBinaryContentType } from "../utils/binary.js"; import * as buildHelper from "./helper.js"; @@ -55,7 +56,7 @@ export function createStaticAssets(options: buildHelper.BuildOptions) { * Create the cache assets. * * @param options Build options. - * @returns Whether tag cache is used. + * @returns Whether the tag cache is used, and the meta files collected. */ export function createCacheAssets(options: buildHelper.BuildOptions) { logger.info("Bundling cache assets..."); @@ -157,11 +158,7 @@ export function createCacheAssets(options: buildHelper.BuildOptions) { }); // We need to traverse the cache to find every .meta file - const metaFiles: { - tag: { S: string }; - path: { S: string }; - revalidatedAt: { N: string }; - }[] = []; + const metaFiles: TagCacheMetaFile[] = []; // Copy fetch-cache to cache folder const fetchCachePath = path.join( @@ -244,5 +241,5 @@ export function createCacheAssets(options: buildHelper.BuildOptions) { ({ relativePath }) => !relativePath.endsWith(".cache"), ); - return { useTagCache }; + return { useTagCache, metaFiles }; } diff --git a/packages/open-next/src/types/cache.ts b/packages/open-next/src/types/cache.ts index da343ac34..2c01e122d 100644 --- a/packages/open-next/src/types/cache.ts +++ b/packages/open-next/src/types/cache.ts @@ -75,3 +75,9 @@ export interface Meta { headers?: Record; postponed?: string; } + +export type TagCacheMetaFile = { + tag: { S: string }; + path: { S: string }; + revalidatedAt: { N: string }; +};