rollup-plugin-multi-input
A rollup plugin to bundle modular libraries with sub directories.
- Use multiple entry points.
- Use glob in entries.
- Preserve
src
tree structure in the dist
folder.
Install
Install via npm or yarn.
npm i -D rollup-plugin-multi-input
yarn add rollup-plugin-multi-input
Setup
In the rollup configuration
import multiInput from 'rollup-plugin-multi-input';
export default {
input: ['src/**/*.js'],
output: {
format: 'esm',
dir: 'dist'
},
plugins: [ multiInput() ],
};
If using a rollup version lower than 1.0.0
enable experimentalCodeSplitting
.
It's possible to mix input
type.
- use glob in array
input: ['src/**/*.js']
- use object input configuration
input: [{
output1: 'src/output1.js'
}]
input: [{
output1: 'src/**/*.js'
}]
- use glob string and object configuration
input: ['src/more/**/*.js', 'src/more2/**/*.js', {
output1: 'src/output1.js'
}]
Options
relative 'src/'
Specify the relative path to use in the dist folder.
Example:
import multiInput from 'rollup-plugin-multi-input';
export default {
input: ['src/bar.js', 'src/foo/bar.js'],
output: {
format: 'esm',
dir: 'dist'
},
plugins: [ multiInput({ relative: 'src/' }) ],
};
transformOutputPath
A callback for transforming output file path.
Example:
import multiInput from 'rollup-plugin-multi-input';
import path from 'path';
export default {
input: ['src/bar.js', 'src/foo/bar.js'],
output: {
format: 'esm',
dir: 'dist'
},
plugins: [ multiInput({
relative: 'src/',
transformOutputPath: (output, input) => `awesome/path/${path.basename(output)}`,
}) ],
};
glob {}
fast-glob object configuration.