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

[WCM] Encore updates for Webpack 4 #10322

Merged
merged 7 commits into from
Nov 5, 2018
Merged

Conversation

weaverryan
Copy link
Member

@weaverryan weaverryan commented Sep 11, 2018

Phew! The next (unreleased) version of Webpack Encore (will be 0.21.0) that supports Webpack 4 will contain a few minor changes, that have major implications on the documentation. Ultimately, I think the experience will be easier for users :). The 3 big changes are:

  1. In all cases, people should use the new WebpackEncoreBundle and its 2 new Twig functions - encore_entry_script_tags() and encore_entry_link_tags() to render their script and link tags.

  2. In earlier versions, an extra manifest.js file was output when using createdSharedEntry(). But now, a new runtime.js file is always output. But, because of the encore_entry_script_tags() shortcut... that's just rendered for you automatically.

  3. createSharedEntry() is no longer hipster ;). This is from changes in Webpack. A newer, and better "split chunks" feature replaces it... which (other than changing how existing users think), is much simpler. Basically, the user does nothing... except call encore_entry_script_tags(). But, when this feature is enabled, the final .js and .css files may be split into multiple files. And so, the encore_entry_script_tags() (and also the link version) may render multiple script tags. This all happens automatically.

TODO: Wait for the bundle to be tagged, then test the new recipe (symfony/recipes#458) and code through some of the docs to catch any mistakes (due to so many changes).

Merging into 4.1 TODOS

  • update web/ to public/

Cheers!

@weaverryan
Copy link
Member Author

This is now ready! I hope to release the library on Monday. And so, this code is not easily testable yet (it requires a dev version of Encore, using an unreleased bundle and using a WIP recipe), but the content is ready for review.

Thanks!

@weaverryan weaverryan merged commit 12ca7d9 into symfony:3.4 Nov 5, 2018
weaverryan added a commit that referenced this pull request Nov 5, 2018
This PR was squashed before being merged into the 3.4 branch (closes #10322).

Discussion
----------

[WCM] Encore updates for Webpack 4

Phew! The next (unreleased) version of Webpack Encore (will be 0.21.0) that supports Webpack 4 will contain a few minor changes, that have major implications on the documentation. Ultimately, I think the experience will be easier for users :). The 3 big changes are:

1) In all cases, people should use the new WebpackEncoreBundle and its 2 new Twig functions - `encore_entry_script_tags()` and `encore_entry_link_tags()` to render their `script` and `link` tags.

2) In earlier versions, an extra `manifest.js` file was output when using `createdSharedEntry()`. But now, a new `runtime.js` file is *always* output. But, because of the `encore_entry_script_tags()` shortcut... that's just rendered for you automatically.

3) `createSharedEntry()` is no longer hipster ;). This is from changes in Webpack. A newer, and better "split chunks" feature replaces it... which (other than changing how existing users think), is much simpler. Basically, the user does nothing... except call `encore_entry_script_tags()`. But, when this feature is enabled, the final `.js` and `.css` files may be split into multiple files. And so, the `encore_entry_script_tags()` (and also the link version) may render *multiple* script tags. This all happens automatically.

TODO: Wait for the bundle to be tagged, then test the new recipe (symfony/recipes#458) and code through some of the docs to catch any mistakes (due to so many changes).

**Merging into 4.1 TODOS**
* update `web/` to `public/`

Cheers!

Commits
-------

12ca7d9 adding a small entry about ajax code splitting
165432f fixing build errors
bf649ab Documenting copyFiles() and a few small things
6833bb6 finishing read-through
c2b36a2 more work on encore
53f9ffe Adding docs for runtime.js and fixed a few other things
62f322e documenting the new split chunks and Twig helper functions for Encore
@weaverryan weaverryan deleted the encore-webpack4 branch November 5, 2018 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants