From 37a84f86a500a31057b515aa1b95afa1f22bdcba Mon Sep 17 00:00:00 2001 From: Joshua Chen Date: Fri, 7 Jan 2022 12:50:45 +0800 Subject: [PATCH] fix(preset-classic): throw if preset finds GA options in theme config (#6284) * fix(preset-classic): throw if preset finds GA options in theme config * revert * stricter --- .../src/index.ts | 2 +- .../docusaurus-plugin-google-gtag/src/index.ts | 2 +- packages/docusaurus-preset-classic/src/index.ts | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/docusaurus-plugin-google-analytics/src/index.ts b/packages/docusaurus-plugin-google-analytics/src/index.ts index 156b210e4f..3abe326da3 100644 --- a/packages/docusaurus-plugin-google-analytics/src/index.ts +++ b/packages/docusaurus-plugin-google-analytics/src/index.ts @@ -82,7 +82,7 @@ export function validateOptions({ export function validateThemeConfig({ themeConfig, }: ThemeConfigValidationContext): ValidationResult { - if (themeConfig.googleAnalytics) { + if ('googleAnalytics' in themeConfig) { throw new Error( 'The "googleAnalytics" field in themeConfig should now be specified as option for plugin-google-analytics. More information at https://github.com/facebook/docusaurus/pull/5832.', ); diff --git a/packages/docusaurus-plugin-google-gtag/src/index.ts b/packages/docusaurus-plugin-google-gtag/src/index.ts index ac119f0afa..5dacf0a1c3 100644 --- a/packages/docusaurus-plugin-google-gtag/src/index.ts +++ b/packages/docusaurus-plugin-google-gtag/src/index.ts @@ -95,7 +95,7 @@ export function validateOptions({ export function validateThemeConfig({ themeConfig, }: ThemeConfigValidationContext): ValidationResult { - if (themeConfig.gtag) { + if ('gtag' in themeConfig) { throw new Error( 'The "gtag" field in themeConfig should now be specified as option for plugin-google-gtag. More information at https://github.com/facebook/docusaurus/pull/5832.', ); diff --git a/packages/docusaurus-preset-classic/src/index.ts b/packages/docusaurus-preset-classic/src/index.ts index 310a4104a3..e3059a5206 100644 --- a/packages/docusaurus-preset-classic/src/index.ts +++ b/packages/docusaurus-preset-classic/src/index.ts @@ -48,6 +48,16 @@ export default function preset( if (algolia) { themes.push(require.resolve('@docusaurus/theme-search-algolia')); } + if ('gtag' in themeConfig) { + throw new Error( + 'The "gtag" field in themeConfig should now be specified as option for plugin-google-gtag. For preset-classic, simply move themeConfig.gtag to preset options. More information at https://github.com/facebook/docusaurus/pull/5832.', + ); + } + if ('googleAnalytics' in themeConfig) { + throw new Error( + 'The "googleAnalytics" field in themeConfig should now be specified as option for plugin-google-analytics. For preset-classic, simply move themeConfig.googleAnalytics to preset options. More information at https://github.com/facebook/docusaurus/pull/5832.', + ); + } const plugins: PluginConfig[] = []; if (docs !== false) { @@ -59,7 +69,7 @@ export default function preset( if (pages !== false) { plugins.push(makePluginConfig('@docusaurus/plugin-content-pages', pages)); } - if (isProd && googleAnalytics) { + if (googleAnalytics) { plugins.push( makePluginConfig('@docusaurus/plugin-google-analytics', googleAnalytics), ); @@ -67,7 +77,7 @@ export default function preset( if (debug || (debug === undefined && !isProd)) { plugins.push(require.resolve('@docusaurus/plugin-debug')); } - if (isProd && gtag) { + if (gtag) { plugins.push(makePluginConfig('@docusaurus/plugin-google-gtag', gtag)); } if (isProd && sitemap !== false) {