DEPRECATED for webpack v5: please use output.library.export instead.

Webpack plugin for exporting default property for selected libraries which use ES6 Modules. Implementation is based on the Webpack’s core plugin ExportPropertyMainTemplatePlugin. The only difference is that this plugin allows to include all entry point names where the default export of your entry point will be assigned to the library target.


Install the module

npm install @wordpress/library-export-default-webpack-plugin --save

Note: This package requires Node.js 12.0.0 or later. It is not compatible with older versions. It works only with webpack v4.


Construct an instance of LibraryExportDefaultPlugin in your Webpack configurations plugins entry, passing an array where values correspond to the entry point name.

The following example selects boo entry point to be updated by the plugin. When compiled, the built file will ensure that default value exported for the chunk will be assigned to the global variable wp.boo. foo chunk will remain untouched.

const LibraryExportDefaultPlugin = require( '@wordpress/library-export-default-webpack-plugin' );

module.exports = {
    // ...

    entry: {
        boo: './packages/boo',
        foo: './packages/foo',

    output: {
        filename: 'build/[name].js',
        path: __dirname,
        library: [ 'wp', '[name]' ],
        libraryTarget: 'this',

    plugins: [ new LibraryExportDefaultPlugin( [ 'boo' ] ) ],

Contributing to this package

This is an individual package that’s part of the Gutenberg project. The project is organized as a monorepo. It’s made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to npm and used by WordPress as well as other software projects.

To find out more about contributing to this package or Gutenberg as a whole, please read the project’s main contributor guide.