Skip to content

Commit

Permalink
refractor: rename confusing gatsby-config.esm
Browse files Browse the repository at this point in the history
  • Loading branch information
diauweb authored Sep 21, 2021
1 parent 20a8178 commit 3f782b2
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 30 deletions.
1 change: 1 addition & 0 deletions gatsby-theme-oi-wiki/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ module.exports = {
files: [
'.eslintrc.js',
'gatsby-*.js',
'esmRequire.js',
'plugins/**/*.js',
],
env: {
Expand Down
34 changes: 34 additions & 0 deletions gatsby-theme-oi-wiki/esmRequire.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/**
* @file export compiled ES modules as a workaround before Gatsby properly handles it
*/

const esm = require('esm')
const fs = require('fs')
const Module = require('module')


// Node: bypass [ERR_REQUIRE_ESM]
const orig = Module._extensions['.js']
Module._extensions['.js'] = function (module, filename) {
try {
return orig(module, filename)
} catch (e) {
if (e.code === 'ERR_REQUIRE_ESM') {
const content = fs.readFileSync(filename, 'utf8')
module._compile(content, filename)
}
}
}

const _esmRequire = esm(module, {
cjs: true,
mode: 'all',
})

// don't pollute Module
Module._extensions['.js'] = orig


module.exports = function esmRequire(id) {
return _esmRequire(id)
}
27 changes: 0 additions & 27 deletions gatsby-theme-oi-wiki/gatsby-config.esm.js

This file was deleted.

5 changes: 2 additions & 3 deletions gatsby-theme-oi-wiki/gatsby-config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const path = require('path')
const esmRequire = require('./esmRequire')

const IS_EXEC_BUILD = process.env.gatsby_executing_command === 'build'
const IS_PROD = process.env.PRODUCTION === 'true' ||
Expand Down Expand Up @@ -26,8 +27,6 @@ const mathRehype = IS_EXEC_BUILD
? [require('rehype-mathjax/chtml'), { fontURL }]
: [require('rehype-mathjax/browser')]

const { remarkDetails } = require('./gatsby-config.esm')

module.exports = {
plugins: [
{
Expand Down Expand Up @@ -87,7 +86,7 @@ module.exports = {
],
remarkPlugins: [
require('remark-math'),
remarkDetails,
esmRequire('remark-details').default,
[require('@mgtd/remark-shiki').remarkShiki, {
semantic: false,
theme: 'css-variables',
Expand Down

0 comments on commit 3f782b2

Please sign in to comment.