rollup-entrypoint-generator v0.3.0
Entry point generator based on code for rollup
Prerequisites
- node >=10
Install
npm install rollup-entrypoint-generator --save-dev
Why
With Rollup, it is easy to create a tree-shakable library using multiple entrypoints. Each entrypoint is a module that can be imported without the others.
The build process can generate a file per entry point, allowing tree shake by default for library consumers.
The downside is that we need to maintain a list of entrypoints. This lib helps automating this task.
How it works
Find every export of the style export { default as ComponentName } from 'componentPath'
. Each one of them with generate an entry point with the name ComponentName
.
Usage
// rollup.config.js
const { generateEntryPoints } = require('rollup-entrypoint-generator')
export default generateEntryPoints('./src').then(input => ({
input,
// ...rest of your rollup config
})
Configuration
generateEntryPoints
accepts an object containing configuration keys as a second parameter.
Example:
// rollup.config.js
const { generateEntryPoints } = require('rollup-entrypoint-generator')
export default generateEntryPoints('./src', { extensions: ['js'] }).then(input => ({
input,
// ...rest of your rollup config
})
Accepted configuration
Extensions
By default, this module only searches for files ending with .js
, .jsx
or .json
when trying a configuration path. You can add an extensions
array to override this default.
Note that adding extensions assumes the corresponding loader is correctly configured in Rollup.
// rollup.config.js
const { generateEntryPoints } = require('rollup-entrypoint-generator')
// Allow svg, js, jsx as entrypoints
export default generateEntryPoints('./src', { extensions: ['js', 'jsx', 'svg'] }).then(input => ({
input,
// ...rest of your rollup config
})
EcmaVersion
Defines the ECMAScript version to parse. See acorn's documentation for possible values. Defaults to 2020
.
Author
š¤ Mathias Bernardeau
- Github: @mbernardeau
š¤ Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.
Show your support
Give a āļø if this project helped you!
š License
Copyright Ā© 2020 Mathias Bernardeau. This project is MIT licensed.
This README was generated with ā¤ļø by readme-md-generator