kshaner / rollup-plugin-wp-resolve

A rollup plugin to externalize WordPress dependencies for Gutenberg development
MIT License
5 stars 1 forks source link

WP Resolve

🍣 A rollup plugin which automatically converts dependencies bundled with WordPress to external dependencies. This is inspired by the WordPress dependency-extraction-webpack-plugin from wp-scripts, but for those of us who prefer rollup.

Note:

This plugin does not support saving external dependencies to a php file for block registration. It may be considered in the future.

Install

npm install rollup-plugin-wp-resolve --save-dev

rollup.config.js usage

import wpResolve from 'rollup-plugin-wp-resolve';

export default {
    input: 'src/index.js',
    output: {
        dir: 'output',
        format: 'iife'
    },
    plugins: [
        wpResolve(),
    ]
};

Bundle usage

import { ToggleControl } from '@wordpress/components';
import { useSelect } from '@wordpress/data';
import { useBlockProps } from '@wordpress/block-editor';
import ServerSideRender from '@wordpress/server-side-render';

will resolve to:

3rd Party Bundled Dependencies

This will also convert the following wordpress bundled dependencies automatically:

import jQuery from 'jquery';
import lodash from 'lodash';
import lodash-es from 'lodash-es';
import moment from 'moment';
import ReactDOM from 'react-dom';
import React from 'react';

Change log

1.0.9

1.0.0