{"id":22295,"library":"rollup-plugin-wp-resolve","title":"rollup-plugin-wp-resolve","description":"A Rollup plugin that externalizes WordPress and Gutenberg dependencies, converting imports like '@wordpress/components' to global 'wp.*' globals (e.g., 'wp.components.ToggleControl'). Works with Rollup >=1.0.0. Inspired by WordPress dependency-extraction-webpack-plugin, it automatically handles @wordpress/* packages and common bundled libraries (jQuery, lodash, moment, React, ReactDOM). Avoids issues with camelCase conversions since v1.0.8. Stable at v1.0.9 but no recent updates; does not generate PHP dependency files for block registration.","status":"active","version":"1.0.9","language":"javascript","source_language":"en","source_url":"https://github.com/kshaner/rollup-plugin-wp-resolve","tags":["javascript","rollup","plugin","wordpress","gutenberg"],"install":[{"cmd":"npm install rollup-plugin-wp-resolve","lang":"bash","label":"npm"},{"cmd":"yarn add rollup-plugin-wp-resolve","lang":"bash","label":"yarn"},{"cmd":"pnpm add rollup-plugin-wp-resolve","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for Rollup plugin runtime","package":"rollup","optional":false}],"imports":[{"note":"ESM-only package; CommonJS require will fail.","wrong":"const wpResolve = require('rollup-plugin-wp-resolve');","symbol":"wpResolve","correct":"import wpResolve from 'rollup-plugin-wp-resolve';"},{"note":"Default export only; named import will be undefined.","wrong":"import { wpResolve } from 'rollup-plugin-wp-resolve';","symbol":"default","correct":"import wpResolve from 'rollup-plugin-wp-resolve';"},{"note":"Namespace import results in { default: ... }. Use default import instead.","wrong":"import * as wpResolve from 'rollup-plugin-wp-resolve';","symbol":"wpResolve","correct":"import wpResolve from 'rollup-plugin-wp-resolve';"}],"quickstart":{"code":"import wpResolve from 'rollup-plugin-wp-resolve';\n\nexport default {\n  input: 'src/index.js',\n  output: {\n    dir: 'output',\n    format: 'iife'\n  },\n  plugins: [wpResolve()]\n};","lang":"javascript","description":"Basic Rollup configuration using wpResolve to externalize WordPress dependencies to global wp.* variables."},"warnings":[{"fix":"Consider using @wordpress/dependency-extraction-webpack-plugin with webpack or migrating to a maintained alternative.","message":"Package has not been updated since 2020; may not support latest Rollup versions.","severity":"deprecated","affected_versions":">=1.0.9"},{"fix":"Upgrade to >=1.0.8","message":"Versions < 1.0.8 had a camelCasing bug that mapped 'wp.i18n' to 'wp.i18N' for certain imports.","severity":"breaking","affected_versions":"<1.0.8"},{"fix":"Manually add wp_deregister_script / wp_register_script calls, or use dependency-extraction-webpack-plugin if PHP output is needed.","message":"Does not generate PHP files for block registration; only externalizes dependencies in the Rollup output.","severity":"gotcha","affected_versions":"all"},{"fix":"Use the 'include' or 'exclude' options if available, but the plugin has no such configuration. Extend by forking or using other tools.","message":"Only converts known @wordpress/* packages and a limited set of third-party libraries (jQuery, lodash, moment, React, ReactDOM).","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.0.0':28 'automat':38 'avoid':51 'block':72 'bundl':44 'camelcas':54 'common':43 'convers':55 'convert':15 'depend':14,33,69 'dependency-extraction-webpack-plugin':32 'e.g':23 'extern':10 'extract':34 'file':70 'generat':67 'global':20,22 'gutenberg':13,78 'handl':39 'import':16 'inspir':29 'issu':52 'javascript':74 'jqueri':46 'librari':45 'like':17 'lodash':47 'moment':48 'packag':41 'php':68 'plugin':3,8,36,76 'react':49 'reactdom':50 'recent':63 'registr':73 'resolv':5 'rollup':2,7,27,75 'rollup-plugin-wp-resolv':1 'sinc':56 'stabl':58 'updat':64 'v1.0.8':57 'v1.0.9':60 'webpack':35 'wordpress':11,31,40,77 'wordpress/components':18 'work':25 'wp':4,21 'wp.components.togglecontrol':24","created_at":"2026-04-27T17:04:24.737778+00:00","updated_at":"2026-04-27T17:04:24.737778+00:00","problems":[{"fix":"Use import statement or configure Node.js to support ESM.","cause":"Using CommonJS require() on an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module ... from ... not supported."},{"fix":"Change to: import wpResolve from 'rollup-plugin-wp-resolve';","cause":"Using named import { wpResolve } instead of default import wpResolve.","error":"TypeError: wpResolve is not a function"},{"fix":"Ensure WordPress backend enqueues necessary scripts (wp-editor, wp-components, etc.) via wp_enqueue_script or register_block_type.","cause":"Global 'wp' object not available at runtime because WordPress script enqueuing is missing.","error":"Unresolved import: @wordpress/... (missing global variable wp...)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/kshaner/rollup-plugin-wp-resolve","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/rollup-plugin-wp-resolve","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-18","next_check":"2026-07-26","install_tag":null}}