The editor provides several vendor and internal scripts to plugin developers. Script names, handles, and descriptions are documented in the table below.
WordPress scripts
The editor includes a number of packages to enable various pieces of functionality. Plugin developers can utilize them to create blocks, editor plugins, or generic plugins.
| Script Name | Handle | Description |
|---|---|---|
| Blob | wp-blob | Blob utilities |
| Block Library | wp-block-library | Block library for the editor |
| Blocks | wp-blocks | Block creations |
| Block Serialization Default Parser | wp-block-serialization-default-parser | Default block serialization parser implementations for WordPress documents |
| Block Serialization Spec Parser | wp-block-serialization-spec-parser | Grammar file (grammar.pegjs) for WordPress posts |
| Components | wp-components | Generic components to be used for creating common UI elements |
| Compose | wp-compose | Collection of handy Higher Order Components (HOCs) |
| Core Data | wp-core-data | Simplify access to and manipulation of core WordPress entities |
| Data | wp-data | Data module serves as a hub to manage application state for both plugins and WordPress itself |
| Date | wp-date | Date module for WordPress |
| Deprecated | wp-deprecated | Utility to log a message to notify developers about a deprecated feature |
| Dom | wp-dom | DOM utilities module for WordPress |
| Dom Ready | wp-dom-ready | Execute callback after the DOM is loaded |
| Editor | wp-editor | Building blocks for WordPress editors |
| Edit Post | wp-edit-post | Edit Post Module for WordPress |
| Element | wp-element | Element is, quite simply, an abstraction layer atop React |
| Escape Html | wp-escape-html | Escape HTML utils |
| Hooks | wp-hooks | A lightweight and efficient EventManager for JavaScript |
| Html Entities | wp-html-entities | HTML entity utilities for WordPress |
| I18N | wp-i18n | Internationalization utilities for client-side localization |
| Is Shallow Equal | wp-is-shallow-equal | A function for performing a shallow comparison between two objects or arrays |
| Keycodes | wp-keycodes | Keycodes utilities for WordPress, used to check the key pressed in events like onKeyDown |
| List Reusable blocks | wp-list-reusable-blocks | Package used to add import/export links to the listing page of the reusable blocks |
| NUX | wp-nux | Components, and wp.data methods useful for onboarding a new user to the WordPress admin interface |
| Plugins | wp-plugins | Plugins module for WordPress |
| Redux Routine | wp-redux-routine | Redux middleware for generator coroutines |
| Rich Text | wp-rich-text | Helper functions to convert HTML or a DOM tree into a rich text value and back |
| Shortcode | wp-shortcode | Shortcode module for WordPress |
| Token List | wp-token-list | Constructable, plain JavaScript DOMTokenList implementation, supporting non-browser runtimes |
| URL | wp-url | A collection of utilities to manipulate URLs |
| Viewport | wp-viewport | Module for responding to changes in the browser viewport size |
| Wordcount | wp-wordcount | WordPress word count utility |
Vendor scripts
The editor also uses some popular third-party packages and scripts. Plugin developers can use these scripts as well without bundling them in their code (and increasing file sizes).
| Script Name | Handle | Description |
|---|---|---|
| React | react | React is a JavaScript library for building user interfaces |
| React Dom | react-dom | Serves as the entry point to the DOM and server renderers for React, intended to be paired with React |
| Moment | moment | Parse, validate, manipulate, and display dates and times in JavaScript |
| Lodash | lodash | Lodash is a JavaScript library which provides utility functions for common programming tasks |
Polyfill scripts
The editor also provides polyfills for certain features that may not be available in all modern browsers.
It is recommended to use the main wp-polyfill script handle which takes care of loading all the below mentioned polyfills.
| Script Name | Handle | Description |
|---|---|---|
| Babel Polyfill | wp-polyfill | Emulate a full ES2015+ environment. Main script to load all the below mentioned additional polyfills |
| Fetch Polyfill | wp-polyfill-fetch | Polyfill that implements a subset of the standard Fetch specification |
| Promise Polyfill | wp-polyfill-promise | Lightweight ES6 Promise polyfill for the browser and node |
| Formdata Polyfill | wp-polyfill-formdata | Polyfill conditionally replaces the native implementation |
| Node Contains Polyfill | wp-polyfill-node-contains | Polyfill for Node.contains |
| Element Closest Polyfill | wp-polyfill-element-closest | Return the closest element matching a selector up the DOM tree |
Bundling and code sharing
When using a JavaScript bundler like webpack, the scripts mentioned here can be excluded from the bundle and provided by WordPress in the form of script dependencies see wp_enqueue_script.
The @wordpress/dependency-extraction-webpack-plugin provides a webpack plugin to help extract WordPress dependencies from bundles. The @wordpress/scripts build script includes the plugin by default.