UNPKG

webpack-extension-manifest-plugin

Version:
69 lines (52 loc) 2.87 kB
# webpack-extension-manifest-plugin > Creates manifest json file based on you config [![Travis Build Status](https://img.shields.io/travis/Scrum/webpack-extension-manifest-plugin.svg?style=flat-square&label=unix)](https://travis-ci.org/Scrum/webpack-extension-manifest-plugin)[![AppVeyor Build Status](https://img.shields.io/appveyor/ci/GitScrum/webpack-extension-manifest-plugin.svg?style=flat-square&label=windows)](https://ci.appveyor.com/project/GitScrum/webpack-extension-manifest-plugin)[![node](https://img.shields.io/node/v/webpack-extension-manifest-plugin.svg?style=flat-square)]()[![npm version](https://img.shields.io/npm/v/webpack-extension-manifest-plugin.svg?style=flat-square)](https://www.npmjs.com/package/webpack-extension-manifest-plugin)[![Dependency Status](https://david-dm.org/Scrum/webpack-extension-manifest-plugin.svg?style=flat-square)](https://david-dm.org/Scrum/webpack-extension-manifest-plugin)[![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg?style=flat-square)](https://github.com/sindresorhus/xo)[![Coveralls status](https://img.shields.io/coveralls/Scrum/webpack-extension-manifest-plugin.svg?style=flat-square)](https://coveralls.io/r/Scrum/webpack-extension-manifest-plugin) [![npm downloads](https://img.shields.io/npm/dm/webpack-extension-manifest-plugin.svg?style=flat-square)](https://www.npmjs.com/package/webpack-extension-manifest-plugin)[![npm](https://img.shields.io/npm/dt/webpack-extension-manifest-plugin.svg?style=flat-square)](https://www.npmjs.com/package/webpack-extension-manifest-plugin) ## Why ? Simplifies the development of cross-platform browser extension - [x] Firefox - [x] Chrome - [x] EDGE - [ ] Safari ## Install ```bash npm i -D webpack-extension-manifest-plugin ``` > **Note:** This project is compatible with node v10+ ## Usage **baseManifest.js** ```js export default { name: 'my manifest' }; ``` **webpack.config.js** ```js import WebpackExtensionManifestPlugin from 'webpack-extension-manifest-plugin'; module.exports = { plugins: [ new WebpackExtensionManifestPlugin({ config: { base: './baseManifest.js', extend: {description: 'my description'} }, pkgJsonProps: [ 'version' ] }) ] }; ``` *Create manifest.json with extend configs `{name: 'my manifest', description: 'my description', version: '0.0.0'}`* ## Options ### `config` Type: `Object` Default: `{}` Description: *Can take a ready-made configuration or filename (to fetch from) for the manifest file, or a set of parameters `base`, `extend` (both of which can be a filename or an object)* ### `minify` Type: `Boolean` Default: `false` Description: *Controls if the output should be minified* ### `pkgJsonProps` Type: `Array of strings` Description: *Adds specified properties from your package.json file into the manifest*