Add shims to use some ES2015+ methods in a ES5+ environment
- option to skip older shims
- added support for rollup 3 and 4
- support for multi entry
- only support for es module syntax in rollup.config.js
- output is handled completly by rollup
- skip and add shims option is removed.
- options are passed as object
- comments are no longer supported to skip individual shims
npm install --save-dev rollup-plugin-shims
// rollup.config.js
import shims from "rollup-plugin-shims";
export default {
input: "main.js",
output: {
file: "bundle.js",
format: "iife",
name: "MyModule",
},
plugins: [
shims(
// optional config
{
ecmaVersion: 2017, // version supported by the engine, older shims are skipped
include: [], // define wich files should be processed, Default all files.
exclude: [], // files excluded from parsing
},
),
],
};
or create a file for your engine with the cli
npx build-shim --ecmaversion=2017 --output=shim.js
for all options run npx build-shim --help
Some funtions could only shimed partial. This ones are not included in this plugin. Please consider to use a more profound soltution like core-js.
- Promise
- Symbol
- Reflect
- Proxy
- Class
- Map / WeakMap
- Set / WeakSet
- Array.prototype.keys()
- Array.prototype.values()
- Array.prototype.entries()
- String.prototype.anchor() and other HTML generators
- Object.getOwnPropertyDescriptors()
- import()
- BigInt
- globalThis
- RegExp /d
- error.cause
- Temporal
MIT