[cli][next][build-utils] Variants (#10549)

Co-authored-by: Ethan Arrowood <ethan.arrowood@vercel.com>
This commit is contained in:
Andy
2023-09-20 19:42:20 +02:00
committed by GitHub
parent 4b376a564a
commit decdf27fb5
6 changed files with 83 additions and 0 deletions

View File

@@ -3025,3 +3025,35 @@ export function isApiPage(page: string | undefined) {
.replace(/\\/g, '/')
.match(/(serverless|server)\/pages\/api(\/|\.js$)/);
}
export type VariantsManifest = Record<
string,
{
defaultValue?: unknown;
metadata?: Record<string, unknown>;
}
>;
export async function getVariantsManifest(
entryPath: string,
outputDirectory: string
): Promise<null | VariantsManifest> {
const pathVariantsManifest = path.join(
entryPath,
outputDirectory,
'variants-manifest.json'
);
const hasVariantsManifest = await fs
.access(pathVariantsManifest)
.then(() => true)
.catch(() => false);
if (!hasVariantsManifest) return null;
const variantsManifest: VariantsManifest = await fs.readJSON(
pathVariantsManifest
);
return variantsManifest;
}