From 93f36a09fe84f8a991943cfc324a5e14e823280a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Greg=20Zi=C3=83=C2=B3=C3=85=E2=80=9Akowski?= Date: Fri, 24 May 2024 07:58:42 +0000 Subject: [PATCH] Build: Add globalThis DefinePlugin config to webpack This updates the build to account for related changes in WordPress packages. More details in https://github.com/WordPress/gutenberg/pull/61486. Props jonsurrell, youknowriad, swissspidy, gziolo. Fixes #61262. git-svn-id: https://develop.svn.wordpress.org/trunk@58193 602fd350-edb4-49c9-b593-d223f7449a82 --- tools/webpack/shared.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/tools/webpack/shared.js b/tools/webpack/shared.js index 6c1397db40f09..ec12959351151 100644 --- a/tools/webpack/shared.js +++ b/tools/webpack/shared.js @@ -41,12 +41,30 @@ const getBaseConfig = ( env ) => { watch: env.watch, plugins: [ new DefinePlugin( { + /* + * These variables are part of https://github.com/WordPress/gutenberg/pull/61486 + * They're expected to be released in an upcoming version of Gutenberg. + * + * Defining this before the packages are released is harmless. + * + * @todo Remove the non-globalThis defines here when packages have been upgraded to the globalThis versions. + */ + + // Inject the `IS_GUTENBERG_PLUGIN` global, used for feature flagging. + 'globalThis.IS_GUTENBERG_PLUGIN': JSON.stringify( false ), + // Inject the `IS_WORDPRESS_CORE` global, used for feature flagging. + 'globalThis.IS_WORDPRESS_CORE': JSON.stringify( true ), + // Inject the `SCRIPT_DEBUG` global, used for dev versions of JavaScript. + 'globalThis.SCRIPT_DEBUG': JSON.stringify( + mode === 'development' + ), + // Inject the `IS_GUTENBERG_PLUGIN` global, used for feature flagging. - 'process.env.IS_GUTENBERG_PLUGIN': false, + 'process.env.IS_GUTENBERG_PLUGIN': JSON.stringify( false ), // Inject the `IS_WORDPRESS_CORE` global, used for feature flagging. - 'process.env.IS_WORDPRESS_CORE': true, + 'process.env.IS_WORDPRESS_CORE': JSON.stringify( true ), // Inject the `SCRIPT_DEBUG` global, used for dev versions of JavaScript. - SCRIPT_DEBUG: mode === 'development', + SCRIPT_DEBUG: JSON.stringify( mode === 'development' ), } ), ], };