Skip to content

Webpack plugin to solve the problem of generating js file for manifest.json entry

License

Notifications You must be signed in to change notification settings

abhijithvijayan/wext-manifest-webpack-plugin

Repository files navigation

wext-manifest-webpack-plugin

Webpack plugin to solve the problem of generating js file for manifest.json entry

🙋‍♂️ Made by @abhijithvijayan

Donate: PayPal, Patreon

Buy Me a Coffee


❤️ it? ⭐️ it on GitHub or Tweet about it.

Table of Contents

How it works

It just find js files from manifest entry and remove the js file from the compilation.

Looking for Web Extension starter

Checkout web-extension-starter that uses this plugin

Installation

# npm
npm install --save-dev wext-manifest-webpack-plugin

# yarn
yarn add wext-manifest-webpack-plugin --dev

Version 1.4.0 adds support for webpack 5. Backward compatible with webpack 4 as well.

Usage

// ... other plugins
const WextManifestWebpackPlugin = require("wext-manifest-webpack-plugin");

module.exports = {
    entry: {
        manifest: './source/manifest.json',
        // ...
    },

    output: {
        path: path.join(destPath, targetBrowser),
        filename: 'js/[name].js',
    },

    module: {
        rules: [
            {
                type: 'javascript/auto', // prevent webpack handling json with its own loaders,
                test: /manifest\.json$/,
                use: 'wext-manifest-loader',
                exclude: /node_modules/,
            },
        ]
    },

    plugins: [
        new WextManifestWebpackPlugin(),
        // ...
    ],
};

Issues

Looking to contribute? Look for the Good First Issue label.

🐛 Bugs

Please file an issue here for bugs, missing documentation, or unexpected behavior.

See Bugs

Linting & TypeScript Config

License

MIT © Abhijith Vijayan