From 1503943e3f4cc2eb1f006f9d83f9b6bb539cb99f Mon Sep 17 00:00:00 2001 From: Sam Zhou Date: Fri, 22 May 2020 16:57:02 -0400 Subject: [PATCH] fix(v2): Use `require.resolve` to resolve plugin path in presets (#2794) --- .../docusaurus-preset-bootstrap/src/index.js | 8 ++++---- .../docusaurus-preset-classic/src/index.js | 18 ++++++++++-------- website/docs/presets.md | 7 +++++-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/packages/docusaurus-preset-bootstrap/src/index.js b/packages/docusaurus-preset-bootstrap/src/index.js index 7058e0e962..66f4363b66 100644 --- a/packages/docusaurus-preset-bootstrap/src/index.js +++ b/packages/docusaurus-preset-bootstrap/src/index.js @@ -7,11 +7,11 @@ module.exports = function preset(context, opts = {}) { return { - themes: [['@docusaurus/theme-bootstrap', opts.theme]], + themes: [[require.resolve('@docusaurus/theme-bootstrap'), opts.theme]], plugins: [ - ['@docusaurus/plugin-content-pages', opts.pages], - ['@docusaurus/plugin-content-blog', opts.blog], - ['@docusaurus/plugin-content-docs', opts.docs], + [require.resolve('@docusaurus/plugin-content-pages'), opts.pages], + [require.resolve('@docusaurus/plugin-content-blog'), opts.blog], + [require.resolve('@docusaurus/plugin-content-docs'), opts.docs], ], }; }; diff --git a/packages/docusaurus-preset-classic/src/index.js b/packages/docusaurus-preset-classic/src/index.js index ac74ef9269..2a4d489bcc 100644 --- a/packages/docusaurus-preset-classic/src/index.js +++ b/packages/docusaurus-preset-classic/src/index.js @@ -13,17 +13,19 @@ module.exports = function preset(context, opts = {}) { return { themes: [ - ['@docusaurus/theme-classic', opts.theme], + [require.resolve('@docusaurus/theme-classic'), opts.theme], // Don't add this if algolia config is not defined. - algolia && '@docusaurus/theme-search-algolia', + algolia && require.resolve('@docusaurus/theme-search-algolia'), ], plugins: [ - ['@docusaurus/plugin-content-docs', opts.docs], - ['@docusaurus/plugin-content-blog', opts.blog], - ['@docusaurus/plugin-content-pages', opts.pages], - isProd && googleAnalytics && '@docusaurus/plugin-google-analytics', - isProd && gtag && '@docusaurus/plugin-google-gtag', - isProd && ['@docusaurus/plugin-sitemap', opts.sitemap], + [require.resolve('@docusaurus/plugin-content-docs'), opts.docs], + [require.resolve('@docusaurus/plugin-content-blog'), opts.blog], + [require.resolve('@docusaurus/plugin-content-pages'), opts.pages], + isProd && + googleAnalytics && + require.resolve('@docusaurus/plugin-google-analytics'), + isProd && gtag && require.resolve('@docusaurus/plugin-google-gtag'), + isProd && [require.resolve('@docusaurus/plugin-sitemap'), opts.sitemap], ], }; }; diff --git a/website/docs/presets.md b/website/docs/presets.md index 872be9dc31..44d07c8fb2 100644 --- a/website/docs/presets.md +++ b/website/docs/presets.md @@ -40,8 +40,11 @@ Presets in some way are a shorthand function to add plugins and themes to your d ```js module.exports = function preset(context, opts = {}) { return { - themes: ['@docusaurus/themes-cool', '@docusaurus/themes-bootstrap'], - plugins: ['@docusaurus/plugin-blog'], + themes: [ + require.resolve('@docusaurus/themes-cool'), + require.resolve('@docusaurus/themes-bootstrap'), + ], + plugins: [require.resolve('@docusaurus/plugin-blog')], }; }; ```