JavaScript Chat Summary – August 28th

Below is a summary of the discussion from this week’s JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. chat (agenda, Slack Transcript)

Have a topic for discussion for the next meeting? Leave a suggested edit on next week’s agenda.

Agenda: Preparing for GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. Merge

Slack Conversation

What tasks do we need to complete on the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. side to be ready for Gutenberg Merge?

Prior Work

Remaining Tickets


Experiment with the following steps to see how this works:

WordPress side:

– Gutenberg packages stay where they are
– Gutenberg’s PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher (script registration and bootstrapping) move to core.
– Webpack config to alias wp.* to npm dependencies moves to Core’s webpack config.

Gutenberg side:

– Kept as pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the Plugin Directory or can be cost-based plugin from a third-party for ease of maintenance, updates.
– Plugin re-register’s the scripts (overriding wp’s registrations)
– No more php bootstrapping in the Gutenberg repository.

Some experimentation could involve consuming packages in WordPress core.

Example: Usage of shortcodes.js could be replaced with @wordpress/shortcodes

edit-post needs to be moved to a package.
Resolve componentsand block-library which have some code that lives outside packages.

Agenda: HooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

Slack Conversation | Context

The following things were discussed:

  • Standards for naming/namespacing hooks
  • Criteria for adding/accepting a new hook
  • Expanding documentation for available hooks (including inline documentation)
  • “All” hooks.

No clear resolution to the above points was made in the meeting.

Agenda: Babel 7 & Polyfills

Slack Conversation | Context


Decision: Ship packages without any polyfills, then bundle all polyfills in WordPress core.  Documentation will include something like this:

This package assumes that your code will run in an ES2015+ environment. If you’re using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods. Learn more about it in Babel docs.

Agenda: Converting from lodash to lodash-es for distributed packages

Slack Conversation | Context


Continue discussion on the related issue.