Skip to content

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

Open
@nkrkv

Description

@nkrkv

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions