Chunk deferred runtime and terminal modules in Web IDE
Revert async loading components in ide.vue- Chunk deferred runtime and terminal modules in Web IDE
- Add docs for potential test timeout issue
What does this MR do?
This MR:
- Reverts async importing all the deferred things in
ide.vue
since some of these are really small or are already included in the main bundle. - Only async imports the components that are really not needed until runtime in one
ide_runtime
chunk. - Adds an async import to the terminal session component which generates a big chunk (see relevant note).
/-/ide/project/flightjs/flight/tree/master
Network activity on What? | Before (on master ) |
After (this MR) |
---|---|---|
JS / All requests | 19 / 43 |
17 / 40 |
JS / All transferred | 40.5 MB / 43.5 MB |
39.5 MB / 42.5 MB |
/-/ide/project/flightjs/flight/tree/master/-/ADOPTERS.md/
Network activity on What? | Before (on master ) |
After (this MR) |
---|---|---|
JS / All requests | 21 / 50 |
18 / 47 |
JS / All transferred | 40.6 MB / 45.0 MB |
39.6 MB / 43.8 MB |
Waterfall
Before (on master ) |
After (this MR) |
---|---|
Big takeaway from Waterfall
You'll notice that the pages.ide.chunk.js
bundle is not always the bottleneck to kicking things off. The most significant bottleneck is the monaco.chunk.js
. This means that if we move too much from pages.ide.chunk
we could end up shooting ourselves in the foot because we'd end up loading these things after monaco.chunk.js
is loaded rather than during.
Screenshots (strongly suggested)
Terminal still loads |
In a separate chunk |
---|---|
Does this MR meet the acceptance criteria?
Conformity
Edited by Paul Slaughter