Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependencies webpack plugin: Let the output file be specified when output is combined #20844

Merged
merged 1 commit into from
Mar 13, 2020

Conversation

gziolo
Copy link
Member

@gziolo gziolo commented Mar 12, 2020

Description

Closes #20562.

After #20330 it seems to make sense to be able to specify the (single) output file name and path.

Use case: currently in core the assets.php file has to be moved with Grunt after the Webpack build is done. Seems pretty simple to "tell" Webpack where to output the file instead of having this additional step.

The plugin now supports an optional combinedOutputFile option that is useful only when another combineAssets option is enabled. It allows providing a custom output file for the generated single assets file.

How has this been tested?

I used the following diff to ensure that the new option is respected:

diff --git a/webpack.config.js b/webpack.config.js
index 2251ffe33..4d0199ac0 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -186,7 +186,11 @@ module.exports = {
                                to: 'build/block-library/blocks/[1]/block.json',
                        },
                ] ),
-               new DependencyExtractionWebpackPlugin( { injectPolyfill: true } ),
+               new DependencyExtractionWebpackPlugin( {
+                       combineAssets: true,
+                       combinedOutputFile: 'assets.test.php',
+                       injectPolyfill: true,
+               } ),
        ],
        devtool,
 };

Types of changes

New feature (non-breaking change which adds functionality).

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.

@gziolo gziolo added [Type] Enhancement A suggestion for improvement. [Tool] Dependency Extraction Webpack Plugin /packages/dependency-extraction-webpack-plugin labels Mar 12, 2020
@gziolo gziolo requested review from azaozz and sirreal March 12, 2020 18:50
@gziolo gziolo self-assigned this Mar 12, 2020
@gziolo gziolo force-pushed the update/webpack-dependency-plugin-output-file branch from 9522ee6 to 8ed80ad Compare March 12, 2020 18:52
@github-actions
Copy link

github-actions bot commented Mar 12, 2020

Size Change: 0 B

Total Size: 864 kB

ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.01 kB 0 B
build/annotations/index.js 3.43 kB 0 B
build/api-fetch/index.js 3.39 kB 0 B
build/autop/index.js 2.58 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 6.02 kB 0 B
build/block-directory/style-rtl.css 760 B 0 B
build/block-directory/style.css 760 B 0 B
build/block-editor/index.js 105 kB 0 B
build/block-editor/style-rtl.css 10.7 kB 0 B
build/block-editor/style.css 10.7 kB 0 B
build/block-library/editor-rtl.css 7.23 kB 0 B
build/block-library/editor.css 7.24 kB 0 B
build/block-library/index.js 116 kB 0 B
build/block-library/style-rtl.css 7.38 kB 0 B
build/block-library/style.css 7.39 kB 0 B
build/block-library/theme-rtl.css 669 B 0 B
build/block-library/theme.css 671 B 0 B
build/block-serialization-default-parser/index.js 1.65 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 57.7 kB 0 B
build/components/index.js 191 kB 0 B
build/components/style-rtl.css 15.5 kB 0 B
build/components/style.css 15.5 kB 0 B
build/compose/index.js 5.75 kB 0 B
build/core-data/index.js 10.6 kB 0 B
build/data-controls/index.js 1.03 kB 0 B
build/data/index.js 8.22 kB 0 B
build/date/index.js 5.36 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 569 B 0 B
build/dom/index.js 3.06 kB 0 B
build/edit-post/index.js 91.3 kB 0 B
build/edit-post/style-rtl.css 8.64 kB 0 B
build/edit-post/style.css 8.64 kB 0 B
build/edit-site/index.js 4.64 kB 0 B
build/edit-site/style-rtl.css 2.48 kB 0 B
build/edit-site/style.css 2.48 kB 0 B
build/edit-widgets/index.js 4.44 kB 0 B
build/edit-widgets/style-rtl.css 2.58 kB 0 B
build/edit-widgets/style.css 2.58 kB 0 B
build/editor/editor-styles-rtl.css 381 B 0 B
build/editor/editor-styles.css 382 B 0 B
build/editor/index.js 43.8 kB 0 B
build/editor/style-rtl.css 3.97 kB 0 B
build/editor/style.css 3.96 kB 0 B
build/element/index.js 4.45 kB 0 B
build/escape-html/index.js 734 B 0 B
build/format-library/index.js 7.09 kB 0 B
build/format-library/style-rtl.css 502 B 0 B
build/format-library/style.css 502 B 0 B
build/hooks/index.js 1.92 kB 0 B
build/html-entities/index.js 622 B 0 B
build/i18n/index.js 3.49 kB 0 B
build/is-shallow-equal/index.js 710 B 0 B
build/keyboard-shortcuts/index.js 2.3 kB 0 B
build/keycodes/index.js 1.68 kB 0 B
build/list-reusable-blocks/index.js 2.99 kB 0 B
build/list-reusable-blocks/style-rtl.css 226 B 0 B
build/list-reusable-blocks/style.css 226 B 0 B
build/media-utils/index.js 4.85 kB 0 B
build/notices/index.js 1.57 kB 0 B
build/nux/index.js 3.01 kB 0 B
build/nux/style-rtl.css 616 B 0 B
build/nux/style.css 613 B 0 B
build/plugins/index.js 2.54 kB 0 B
build/primitives/index.js 1.49 kB 0 B
build/priority-queue/index.js 780 B 0 B
build/redux-routine/index.js 2.84 kB 0 B
build/rich-text/index.js 14.3 kB 0 B
build/server-side-render/index.js 2.55 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.01 kB 0 B
build/viewport/index.js 1.61 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.18 kB 0 B

compressed-size-action

@azaozz
Copy link
Contributor

azaozz commented Mar 13, 2020

Works as expected, thanks! Added local copy of DependencyExtractionPlugin to core trunk and tested with combinedOutputFile: '../../assets/script-loader-packages.php'.

@gziolo gziolo merged commit a481717 into master Mar 13, 2020
@gziolo gziolo deleted the update/webpack-dependency-plugin-output-file branch March 13, 2020 05:41
@github-actions github-actions bot added this to the Gutenberg 7.8 milestone Mar 13, 2020
gziolo added a commit that referenced this pull request Mar 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Tool] Dependency Extraction Webpack Plugin /packages/dependency-extraction-webpack-plugin [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dependencies webpack plugin: Let the output file be specified when output is combined
2 participants