Draft: DO NOT MERGE: Side-effects-free vue file modules

What does this MR do and why?

Adds tree-shake-ability to side-effect free .vue files.

Some of our files still have side-effects, so we exclude them from tree shaking.

To get the list of .vue files with side-effects — we add a eslint rule to forbid top-level side-effects and export the list of files that violate that. Then we use that list in the webpack config.

Webpack docs on tree shaking: https://webpack.js.org/configuration/module/#rulesideeffects

References

Screenshots or screen recordings

N/A

How to set up and validate locally

TBD

Q: how to run production-like webpack locally?

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Kos Palchyk

Merge request reports

Loading