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

Trim bundle sizes with feature-gating #68

Merged
merged 7 commits into from
Oct 28, 2021
Merged

Conversation

arctic-hen7
Copy link
Member

This removes large amounts of code from Wasm bundles by feature-gating to allow plugins that only run at tinker-time, to prevent server-side code leakage, and to remove unnecessary i18n code from bundles that aren't using it.

The main breaking change here is that apps using i18n now need to add the translator-fluent flag to Perseus, which has been documented. Plugins must also now define whether or not they should only be run at tinker-time. Both are now documented in the book.

BREAKING CHANGE: exports now majorly restructured, some exports may be in different places, please check docs.rs
BREAKING CHANGE: `fs_extra` errors now accepted as `String`s for all relevant plugin actions
…imizations

Otherwise client size optimizations also affect the server (which reduces its speed).
BREAKING CHANGE: the `translator-fluent` flag is now required to use i18n
…bundle sizes

The engine is now composed of a server, a builder (new), and a browser client.
@arctic-hen7 arctic-hen7 self-assigned this Oct 28, 2021
@arctic-hen7 arctic-hen7 added A-i18n Area: internationalization A-plugins Area: plugins system A-templates Area: templates C-enhancement Category: enhancement C-performance Category: performance P-high Priority: high labels Oct 28, 2021
@arctic-hen7 arctic-hen7 merged commit ffea205 into main Oct 28, 2021
@arctic-hen7 arctic-hen7 deleted the feat-feature-gating branch October 28, 2021 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-i18n Area: internationalization A-plugins Area: plugins system A-templates Area: templates C-enhancement Category: enhancement C-performance Category: performance P-high Priority: high
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant