🍣 A Rollup plugin to replace CJS global variables within esm output bundles.
The list of global variables that are shimmed are:
__filename
: This variable corresponds to the file path of the generated bundle file.__dirname
: This variable corresponds to the folder path of the created bundle file.require
: Corresponds to a function to import modules in a synchronous way.
This plugin requires an LTS Node version (v14.0.0+) and Rollup v2.0+.
Using npm:
npm install @rollup/plugin-esm-shim --save-dev
Create a rollup.config.js
configuration file and import the plugin:
import esmShim from '@rollup/plugin-esm-shim';
export default {
input: 'src/index.js',
output: {
dir: 'output',
format: 'cjs'
},
plugins: [esmShim()]
};
Then call rollup
either via the CLI or the API.
Portions of this code were used with permission from unbuild. unbuild LICENSE