Description
Currently, the contents of preloaded libraries are bundled to the browser XOD IDE as a part of its source built with Webpack. This introduces another mechanism to maintain in addition to the dynamic mechanism used by “File → Add Libraries”. To make the preloaded library list manageable by a busy admin (avoid whole IDE rebuild/redockerization/redeploy), it should be sourced from the same “load” list as seen in #2014. That is, all the libraries a xoder sees in browser-based IDE should be installed right after IDE initialization in the same way as if he would use “File → Add Libraries” many times manually.
Implementing this issue opens the way to exclude some standard libraries if desired.
To recall, the bundling mechanism exists because of performance issues. Installing libs one by one will cause many redundant whole-project slow validations which significantly lowers UX. These issues should be addressed, the performance has to be preserved. One way to achieve it is disabling validations for the time of serial loading (including transitive deps) and enabling them back when done.
Acceptance criteria
- The list of preloaded libraries is defined in a dedicated well-known source file
- A script is made to update the list based on the contents of
workspace
source folder, with matching versions - Building a new (pre-) release version delivers the same UX, that is, I see the same set of libraries
- The performance is preserved by temporal disabling validations before complete libraries preloading