The new Vue.js search will have at least the following dependencies:
- Presentation styles
- Client-only JavaScript
- Vue.js itself (via Core's ResourceLoader module T252348)
It's expected that Vue.js will be the lion's share at 64 kilobytes minified for the runtime only which is a significant increase in page size. The runtime + compiler is 91 kilobytes minified. According to present desktop dashboards, the current JavaScript payload is 216 kilobytes.
How should we load all this code? E.g., as a ResourceLoader module dependency in skin.json or defer loading until after initial render? On input? Something else? That's what this task identifies.
Conclusions
- The search widget is lazy-loaded upon first interaction currently. At that point, it's mainly a matter of how much (if any) technical debt to incurr and/or how many module bundles to create. This approximates the loading strategy for the old search.
Acceptance criteria
- A loading strategy is proposed and any tasks needed are created.
- The Performance-Team is consulted or notified as needed.
- T250336, T251544, and T244276 are updated as needed.