From 18ec5d567d6b5484dd6467d7becc3b9010be1532 Mon Sep 17 00:00:00 2001 From: Jon Surrell Date: Thu, 24 Oct 2019 16:55:59 +0200 Subject: [PATCH] Gutenboarding: Add wp-data to window (#36985) --- client/gutenboarding/devtools.ts | 20 ++++++++++++++++++++ client/gutenboarding/index.ts | 11 ++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 client/gutenboarding/devtools.ts diff --git a/client/gutenboarding/devtools.ts b/client/gutenboarding/devtools.ts new file mode 100644 index 00000000000000..f839480a2572f3 --- /dev/null +++ b/client/gutenboarding/devtools.ts @@ -0,0 +1,20 @@ +interface MagicWindow extends Window { + wp: undefined | Record< string, any >; +} + +// Don't complain about window.wp.data types in our debug function +declare const window: undefined | MagicWindow; + +export const wpDataDebugMiddleware: PageJS.Callback = ( context, next ) => { + if ( process.env.NODE_ENV !== 'production' ) { + if ( typeof window === 'object' ) { + if ( ! window.wp ) { + window.wp = {}; + } + if ( ! window.wp.data ) { + window.wp.data = require( '@wordpress/data' ); + } + } + } + next(); +}; diff --git a/client/gutenboarding/index.ts b/client/gutenboarding/index.ts index ae053432fce76e..a0b69c669a23c2 100644 --- a/client/gutenboarding/index.ts +++ b/client/gutenboarding/index.ts @@ -8,7 +8,16 @@ import page from 'page'; */ import { hideMasterbar, main, redirectIfNotEnabled } from './controller'; import { makeLayout, render as clientRender } from 'controller'; +import { wpDataDebugMiddleware } from './devtools'; export default function() { - page( '/gutenboarding', redirectIfNotEnabled, hideMasterbar, main, makeLayout, clientRender ); + page( + '/gutenboarding', + redirectIfNotEnabled, + wpDataDebugMiddleware, + hideMasterbar, + main, + makeLayout, + clientRender + ); }