diff --git a/web-dev-server.config.js b/web-dev-server.config.js index 4daca8f891..3a6a7c33ec 100644 --- a/web-dev-server.config.js +++ b/web-dev-server.config.js @@ -3,14 +3,15 @@ import { esbuildPlugin } from '@web/dev-server-esbuild'; import fs from 'node:fs'; import path from 'node:path'; +const hasLitParam = process.argv.includes('--lit'); const hasBaseParam = process.argv.includes('--base'); /** @return {import('@web/test-runner').TestRunnerPlugin} */ -function generatedLitTestsPlugin() { +export function enforceLitVersionsPlugin(predicate) { return { - name: 'generated-lit-tests', + name: 'enforce-lit-versions', transformImport({ source, context }) { - if (context.url.includes('-lit.generated.test.')) { + if (!predicate || predicate(context)) { const dependencyPath = path.resolve(path.dirname(context.url), source); const litDependencyPath = dependencyPath @@ -23,7 +24,6 @@ function generatedLitTestsPlugin() { return litDependencyPath; } } - return source; }, }; } @@ -92,9 +92,9 @@ export default { } }, }, + hasLitParam && enforceLitVersionsPlugin(), // When passing --base flag to `yarn start` command, load base styles and not Lumo hasBaseParam && enforceBaseStylesPlugin(), esbuildPlugin({ ts: true }), - generatedLitTestsPlugin(), ].filter(Boolean), }; diff --git a/wtr-utils.js b/wtr-utils.js index b24a14fb21..d318f9d3cd 100644 --- a/wtr-utils.js +++ b/wtr-utils.js @@ -9,7 +9,7 @@ import minimist from 'minimist'; import { execSync } from 'node:child_process'; import fs from 'node:fs'; import path from 'node:path'; -import { enforceBaseStylesPlugin } from './web-dev-server.config.js'; +import { enforceBaseStylesPlugin, enforceLitVersionsPlugin } from './web-dev-server.config.js'; dotenv.config(); @@ -269,6 +269,10 @@ const createUnitTestsConfig = (config) => { }, coverage: hasCoverageParam, groups, + plugins: [ + esbuildPlugin({ ts: true }), + enforceLitVersionsPlugin((context) => context.url.includes('-lit.generated.test.')), + ], testRunnerHtml: getTestRunnerHtml(), filterBrowserLogs, };