Add WordPress Plugin: Playground ES Modules Support #133
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a WordPress plugin to expose WordPress scripts like
@wordpress/block-editor
as ES modules.This enables block development without transpilation and, thus, unlocks embedding a block code editor on learn.wordpress.org. With this plugin in place, we can:
Notably, this is a proof-of-concept, only intended for use in WordPress Playground.
Implementation details
ES Modules are shipped as JS files generated from core scripts. This plugin:
export const autop = window.wp.autop
etc.)In addition, it also:
@wordpress
script handles in WordPress, e.g.wp_register_script( "@wordpress/block-editor", ..., ['wp-block-editor])
esmodules-import-map
script and adds it as a dependency to all the core scriptsThis enables the developer to register a script as follows:
Testing Instructions
/wp-admin
cc @dmsnell @youknowriad @luisherranz @gziolo