Skip to content

Commit a8b6f48

Browse files
authoredMar 2, 2020
fix:(gatsby-plugin-mdx) Require a default export when needed (#21861)
* Require default export when needed * Fix typo
1 parent a87f1bd commit a8b6f48

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed
 

‎packages/gatsby-plugin-mdx/gatsby/source-nodes.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const getTableOfContents = require(`../utils/get-table-of-content`)
1414
const defaultOptions = require(`../utils/default-options`)
1515
const genMDX = require(`../utils/gen-mdx`)
1616
const { mdxHTMLLoader: loader } = require(`../utils/render-html`)
17+
const { interopDefault } = require(`../utils/interop-default`)
1718

1819
async function getCounts({ mdast }) {
1920
let counts = {}
@@ -96,7 +97,7 @@ module.exports = (
9697
*/
9798
for (let plugin of options.gatsbyRemarkPlugins) {
9899
debug(`requiring`, plugin.resolve)
99-
const requiredPlugin = require(plugin.resolve)
100+
const requiredPlugin = interopDefault(require(plugin.resolve))
100101
debug(`required`, plugin)
101102
if (_.isFunction(requiredPlugin.setParserPlugins)) {
102103
for (let parserPlugin of requiredPlugin.setParserPlugins(

‎packages/gatsby-plugin-mdx/utils/get-source-plugins-as-remark-plugins.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const visit = require(`unist-util-visit`)
22
const _ = require(`lodash`)
33
const debug = require(`debug`)(`get-source-plugins-as-remark-plugins`)
4+
const { interopDefault } = require(`./interop-default`)
45

56
let fileNodes
67

@@ -43,7 +44,7 @@ module.exports = async function getSourcePluginsAsRemarkPlugins({
4344
// return list of remarkPlugins
4445
const userPlugins = gatsbyRemarkPlugins
4546
.filter(plugin => {
46-
if (_.isFunction(require(plugin.resolve))) {
47+
if (_.isFunction(interopDefault(require(plugin.resolve)))) {
4748
return true
4849
} else {
4950
debug(`userPlugins: filtering out`, plugin)
@@ -52,7 +53,7 @@ module.exports = async function getSourcePluginsAsRemarkPlugins({
5253
})
5354
.map(plugin => {
5455
debug(`userPlugins: constructing remark plugin for `, plugin)
55-
const requiredPlugin = require(plugin.resolve)
56+
const requiredPlugin = interopDefault(require(plugin.resolve))
5657
const wrappedPlugin = () =>
5758
async function transformer(markdownAST) {
5859
await requiredPlugin(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const interopDefault = exp =>
2+
exp && typeof exp === `object` && `default` in exp ? exp[`default`] : exp
3+
4+
exports.interopDefault = interopDefault

0 commit comments

Comments
 (0)
Please sign in to comment.