From 95614581dbe4701d079c89962a5ee66a3ae7c46c Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Mon, 23 May 2022 14:33:16 -0700 Subject: [PATCH] chery-pick(#14362): fix(ct): do not break if there are no components --- packages/playwright-test/src/plugins/vitePlugin.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/playwright-test/src/plugins/vitePlugin.ts b/packages/playwright-test/src/plugins/vitePlugin.ts index b35d9c383f..f9c43a6138 100644 --- a/packages/playwright-test/src/plugins/vitePlugin.ts +++ b/packages/playwright-test/src/plugins/vitePlugin.ts @@ -26,7 +26,7 @@ import type { FullConfig } from '../types'; import { assert } from 'playwright-core/lib/utils'; let previewServer: PreviewServer; -const VERSION = 1; +const VERSION = 2; type CtConfig = { ctPort?: number; @@ -56,10 +56,12 @@ export function createPlugin( const outDir = viteConfig?.build?.outDir || (use.ctCacheDir ? path.resolve(rootDir, use.ctCacheDir) : path.resolve(templateDir, '.cache')); const buildInfoFile = path.join(outDir, 'metainfo.json'); + let buildExists = false; let buildInfo: BuildInfo; try { buildInfo = JSON.parse(await fs.promises.readFile(buildInfoFile, 'utf-8')) as BuildInfo; assert(buildInfo.version === VERSION); + buildExists = true; } catch (e) { buildInfo = { version: VERSION, @@ -83,7 +85,7 @@ export function createPlugin( outDir }; const { build, preview } = require('vite'); - if (sourcesDirty) { + if (!buildExists || sourcesDirty) { viteConfig.plugins = viteConfig.plugins || [ frameworkPluginFactory() ];