Package Exports
- rollup-plugin-multi-input
- rollup-plugin-multi-input/dist/plugin.js
- rollup-plugin-multi-input/src/plugin.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (rollup-plugin-multi-input) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 thedist
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 {
// use glob in the input
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
// DO 👍 input: [{ output1: 'src/output1.js' }] // DON'T ❌ (glob not supported yet) 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/' }) ],
};
// create the files dist/bar.js and dist/foo/bar.js
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)}`,
}) ],
};
// create the files awesome/path/bar.js and awesome/path/foo/bar.js
glob {}
fast-glob object configuration.