Scripts

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.