Errors like #242 and #244 arise from bundling of frontend code (and in development mode, download/install of node_modules) at runtime. This is a wasteful and error-prone process for the majority of users. It makes startup much slower and less deterministic. However, we do this so we can incorporate lab-specific plugins into the build. It would be useful to accomplish more of the bundling at build time.
To do this, we should probably upgrade to Webpack v5, which has better tools for multistage builds. And then figure out how to keep plugins separate. We could potentially make use of new sparrow-prestart.sh scripts to build user-provided plugins into images, but this probably won't happen for a while.
Errors like #242 and #244 arise from bundling of frontend code (and in development mode, download/install of
node_modules
) at runtime. This is a wasteful and error-prone process for the majority of users. It makes startup much slower and less deterministic. However, we do this so we can incorporate lab-specific plugins into the build. It would be useful to accomplish more of the bundling at build time.To do this, we should probably upgrade to Webpack v5, which has better tools for multistage builds. And then figure out how to keep plugins separate. We could potentially make use of new
sparrow-prestart.sh
scripts to build user-provided plugins into images, but this probably won't happen for a while.