Skip to content

Commit bdeedc1

Browse files
authored
feat: router-based wasm bundle splitting (#3683)
* feat: wasm-split base implementation * kinda sorta works with the cli * okay great it actually works * fix: cache busting for chunks * cleaned up version * it works with the router * wip: migrate to a faster linear solution using id remapping * add a good harness * it works completely on the docsite * the super tight build works too * make parallelizable * works on the docsite but not the harness * light cleanups, fix for both harness and docsite * make codegen smaller by extract some shared functions to prevent monos * chunking works, but tbd on tuning heuristics * extract used module * wip: cleaning up module * wip: much better understanding of how imports work * fix the call graph * working again... * wip: thinking about ifuncs * ifunc approach works * yes the ifunc approach works!! * it all works completely even with chunks * small cleanups * comments * actually locate all of the symbols * clean up final implementation * clean up tomls, revert some mono changs * clean up, add some more comments / docs in places * hoist more packages * clean up impl a bit more * clean cli * move harness to playwright * update playwright * extract codgen * add lazy to components * Add docs to split loader * clippy * typos * clippy, don't generate splits if not on wasm * whoops, const * Typos and docs * enable optimizations in ci * add optimizations to ci * add wasm-split router feature * parallel playwright? * fix no case check * disable pre-compress... think that might be the issue * better logging, no default pre-compress, caching of shared symbols * Fix: compressing assets * fix non-interactive logging for serve * cache playwright even on failure, use the cli with optimizations * fix prebuild * fix playwright webserver
1 parent 14eb759 commit bdeedc1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+4250
-300
lines changed

.cargo/config.toml

-11
This file was deleted.

.github/workflows/main.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,7 @@ jobs:
211211
- uses: Swatinem/rust-cache@v2
212212
with:
213213
cache-all-crates: "true"
214-
- name: Prebuild CLI
215-
run: |
216-
cargo build --package dioxus-cli --release
214+
cache-on-failure: "true"
217215
- name: Playwright
218216
working-directory: ./packages/playwright-tests
219217
run: |

.vscode/settings.json

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
// "rust-analyzer.check.workspace": true,
1010
// "rust-analyzer.check.workspace": false,
1111
// "rust-analyzer.check.features": "all",
12+
// "rust-analyzer.cargo.buildScripts.rebuildOnSave": false,
13+
// "rust-analyzer.check.workspace": false,
1214
"rust-analyzer.cargo.features": "all",
1315
"rust-analyzer.check.features": "all",
1416
// "rust-analyzer.check.allTargets": true,

0 commit comments

Comments
 (0)