@excitare/require-fix-babel-plugin

A plugin for allowing dynamic requires in Webpack processed code

Usage no npm install needed!

<script type="module">
  import excitareRequireFixBabelPlugin from 'https://cdn.skypack.dev/@excitare/require-fix-babel-plugin';
</script>

README

@excitare/require-fix-babel-plugin

npm (scoped)

This package contains a Babel plugin for converting require-statements inside functions into Webpack-compatible __non_webpack_require__ that is not compiled away during build-time.

This is required because Excitare builds Next.js server code with Webpack and Next.js uses dynamic require-statements to load code for serverside rendering.

Examples

The simplest example is:

function test() {
  require("some require");
}

compiles to:

function test() {
  __non_webpack_require__("some require");
}

The plugin doesn't touch require outside functions:

require("some first require");

function test() {
  require("some require");
}

compiles to:

require("some first require");

function test() {
  __non_webpack_require__("some require");
}