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

Get rid of standard library bundle for browser-based IDE #2017

Open
4 tasks
nkrkv opened this issue Aug 11, 2020 · 0 comments
Open
4 tasks

Get rid of standard library bundle for browser-based IDE #2017

nkrkv opened this issue Aug 11, 2020 · 0 comments

Comments

@nkrkv
Copy link
Member

nkrkv commented Aug 11, 2020

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants