A tiny plugin to replace package imports with better native code.
MIT License
A tiny plugin to replace package imports with better native code.
This package is an unplugin which provides support for a wide range of bundlers.
At build time, it removes usage of these packages, in favour of directly using native replacements:
It is under active development.
Install package:
# npm
npm install --save-dev unplugin-purge-polyfills
import { purgePolyfills } from 'unplugin-purge-polyfills'
// rollup.config.js
export default {
plugins: [
purgePolyfills.rollup({ /* options */ }),
],
}
By default this unplugin ships with a wide range of polyfills to get rid of, but you can disable these and add your own by providing a replacements
object:
// rollup.config.js
export default {
plugins: [
purgePolyfills.rollup({
replacements: {
'is-string': false, /** do not provide this polyfill */
/**
* provide a custom polyfill for this import in your codebase
* make sure this is correct for every usage
*/
'node.extend': {
default: '(obj1, obj2) => { ...obj2, ...obj1 }'
}
}
}),
],
}
The following polyfills are not purged, so you might want to add your own code to do so:
unplugin-purge-polyfill
Thanks to https://github.com/es-tooling/module-replacements and https://github.com/esm-dev/esm.sh for polyfill data. ❤️
Inspiration from https://github.com/SukkaW/nolyfill. ❤️
corepack enable
pnpm install
pnpm dev
Made with ❤️
Published under MIT License.