Generate package.json
file with packages from your bundle using Rollup.
This plugin is useful when you have a lot of packages in your current package.json
file and want to create a lean one with only packages from your generated bundle, probably for deployment.
# yarn
yarn add rollup-plugin-generate-package-json -D
# npm
npm install rollup-plugin-generate-package-json -D
// rollup.config.js
import generatePackageJson from 'rollup-plugin-generate-package-json'
export default {
input: 'src/index.js',
output: {
file: 'dist/app.js',
format: 'cjs'
},
plugins: [
generatePackageJson()
]
}
There are some useful options, all of them are optional:
Type: string
Default: current working directory
Set input package.json
folder.
generatePackageJson({
inputFolder: 'nested/folder'
})
Type: string
Default: bundle output folder
Set output folder for generated package.json
file.
generatePackageJson({
outputFolder: 'dist'
})
Type: object | function
Default: {}
Set base contents for your generated package.json
file.
generatePackageJson({
baseContents: {
scripts: {
start: 'node app.js'
},
dependencies: {},
private: true
}
})
It can also be a function, which receives the contents of the input package.json
file.
generatePackageJson({
baseContents: (pkg) => ({
name: pkg.name,
main: pkg.main.replace('src', 'dist')
dependencies: {},
private: true
})
})
Type: Array | object
Default: []
Set dependencies which are not directly imported in the bundle, but are used by the app.
generatePackageJson({
additionalDependencies: ['pg']
})
It's also possible to add new dependencies or overwrite dependency version.
generatePackageJson({
additionalDependencies: {
pg: '7.12.1',
'react-calendar': 'file:../react-calendar/react-calendar-v2.13.2.tgz'
}
})
MIT