0

Seeing as @wordpress/scripts will magic my development versions of @wordpress/* dependencies, should any of them be present in the package.json for my own block development?

Gutenberg examples package.json refers exclusively to @wordpress/scripts despite the entrypoint file referring to @wordpress/i18n and @wordpress/blocks. Should I do the same?

1 Answer 1

1

Yes and no, it depends...

The WP Scripts package depends on the @wordpress/dependency-extraction-webpack-plugin package at:

https://github.com/WordPress/gutenberg/tree/master/packages/dependency-extraction-webpack-plugin

What this will do is search for packages from @wordpress and list them in a file to make it easy for you to load the list of dependencies when enqueuing. It also adjusts webpack so that it knows not to compile in those dependencies, but instead rely on WordPress to provide them at runtime via enqueuing. As a result, the packages aren't needed, and you don't end up with 20 copies of @wordpress/element loaded on the page from every extra block installed.

So, you don't need to put @wordpress/element in your package.json requirements when using wp scripts to build the assets. This only applies to WordPress packages though. Other libraries on the other hand get included the normal way.

1
  • following your link, i notice it also extracts references to jquery, lodash, moment and react. Commented Mar 9, 2020 at 0:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.