From 739776781bc28929127487e0a2a3bc36afe930fc Mon Sep 17 00:00:00 2001 From: Nicolas Kruk Date: Mon, 3 Feb 2025 18:01:09 -0500 Subject: [PATCH 1/4] fix: local dev logs LWC mismatch warnings on every SSR request --- .../src/framework/check-version-mismatch.ts | 5 +++++ .../rendering/version-mismatch/index.spec.js | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts b/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts index a8821a5f62..9b555336a2 100644 --- a/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts +++ b/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts @@ -38,6 +38,11 @@ export function checkVersionMismatch( ) { const versionMatcher = func.toString().match(LWC_VERSION_COMMENT_REGEX); if (!isNull(versionMatcher) && !warned) { + if (process.env.SKIP_LWC_VERSION_MISMATCH_CHECK === 'true') { + warned = true; // skip printing out version mismatch errors when env var is set + return; + } + const version = versionMatcher[1]; if (version !== LWC_VERSION) { warned = true; // only warn once to avoid flooding the console diff --git a/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js b/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js index a24f0c4701..65ad476fb5 100644 --- a/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js +++ b/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js @@ -48,9 +48,27 @@ describe('compiler version mismatch', () => { }); afterEach(() => { + process.env.SKIP_LWC_VERSION_MISMATCH_CHECK = 'false'; detachReportingControlDispatcher(); }); + it('skip warning during local dev', () => { + process.env.SKIP_LWC_VERSION_MISMATCH_CHECK = 'true'; + function tmpl() { + return []; + /*LWC compiler v123.456.789*/ + } + + expect(() => { + registerTemplate(tmpl); + }).not.toLogErrorDev( + new RegExp( + `LWC WARNING: current engine is v${process.env.LWC_VERSION}, but template was compiled with v123.456.789` + ) + ); + expect(dispatcher).not.toHaveBeenCalled(); + }); + it('template', () => { function tmpl() { return []; From d135dbf60e0d4a3e579ce0cf3cac00979d020011 Mon Sep 17 00:00:00 2001 From: Nicolas Kruk Date: Mon, 3 Feb 2025 18:39:22 -0500 Subject: [PATCH 2/4] fix: null checks for safety --- .../@lwc/engine-core/src/framework/check-version-mismatch.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts b/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts index 9b555336a2..badcdb4f61 100644 --- a/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts +++ b/packages/@lwc/engine-core/src/framework/check-version-mismatch.ts @@ -38,7 +38,7 @@ export function checkVersionMismatch( ) { const versionMatcher = func.toString().match(LWC_VERSION_COMMENT_REGEX); if (!isNull(versionMatcher) && !warned) { - if (process.env.SKIP_LWC_VERSION_MISMATCH_CHECK === 'true') { + if (process?.env?.SKIP_LWC_VERSION_MISMATCH_CHECK === 'true') { warned = true; // skip printing out version mismatch errors when env var is set return; } From c451d88578e75c406d934e82816df0f723cff6fa Mon Sep 17 00:00:00 2001 From: Nicolas Kruk Date: Wed, 26 Feb 2025 12:25:23 -0500 Subject: [PATCH 3/4] fix: tests --- .../test/rendering/version-mismatch/index.spec.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js b/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js index 65ad476fb5..dd44e7644e 100644 --- a/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js +++ b/packages/@lwc/integration-karma/test/rendering/version-mismatch/index.spec.js @@ -61,11 +61,7 @@ describe('compiler version mismatch', () => { expect(() => { registerTemplate(tmpl); - }).not.toLogErrorDev( - new RegExp( - `LWC WARNING: current engine is v${process.env.LWC_VERSION}, but template was compiled with v123.456.789` - ) - ); + }).not.toLogErrorDev(new RegExp(`LWC WARNING:`)); expect(dispatcher).not.toHaveBeenCalled(); }); From 55cb8f5369c7fae10bcd4682b8824a869c37a7bc Mon Sep 17 00:00:00 2001 From: Nicolas Kruk Date: Wed, 26 Feb 2025 12:26:36 -0500 Subject: [PATCH 4/4] fix: rollup comments --- scripts/rollup/rollup.config.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/rollup/rollup.config.js b/scripts/rollup/rollup.config.js index ca267b48de..9314e0e1c7 100644 --- a/scripts/rollup/rollup.config.js +++ b/scripts/rollup/rollup.config.js @@ -55,6 +55,9 @@ function sharedPlugins() { // This is only used inside @lwc/engine-dom and @lwc/engine-server // Elsewhere, it _not_ be replaced, so that it can be replaced later (e.g. in @lwc/engine-core) 'process.env.IS_BROWSER': packageName === '@lwc/engine-dom' ? 'true' : 'false', + ...(packageName === '@lwc/engine-dom' + ? { 'process.env.SKIP_LWC_VERSION_MISMATCH_CHECK': 'false' } + : {}), }; return [