Commit Graph
37 Commits
Author SHA1 Message Date
Jonathan Kelley bdeedc13eb 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
2025-02-13 18:54:38 -08:00
Jonathan Kelley 66a50240bc Update all docs links to 0.6, release 0.6 (#3225)
* update doc links to 0.6
* add new splash pages for crates
* update keyword features
* remove some unnecessary links
2024-12-06 19:15:15 -08:00
Miles Murgaw f42ca65931 Fix Links & Add Link Checker (#2769)
* feat: link checker
2024-08-02 10:46:18 -07:00
Miles MurgawandJonathan Kelley 3cbe6ff96e Fix Outdated README.md (#2147)
* fix: outdated readme

* Fix missing readme

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-03-26 19:17:02 -07:00
Evan Almloff e65c5f0eb3 depreciate the render macro 2024-01-16 13:18:46 -06:00
Jonathan Kelley fae0b08e61 Fix the router and stub out a number of crates to get compiling 2024-01-13 20:51:37 -08:00
marc2332 7f8c963cd9 fix: Update doc links from v3 to v4 2023-09-16 19:03:27 +02:00
Leonard c866ae602b Add system for creating component attributes + new #[component] attribute (#1448)
* Add `#[component]` attribute + system for creating component attributes + other stuff

* Delete inlineprops.rs

* Update inline_props.rs

* Cargo fmt

* Fix clippy warnings and paths in props/mods.rs

* Include where clause in `#[inline_props]` output

* Allow Clippy type complexity in `LinkProps`

* Allow the type complexity lint for the entire link.rs file

* Remove snake_case -> PascalCase converter, but rather enforce PascalCase

Also:
- Put the second function inside the main one instead of besides it.
- Simplify

* Simplify type check lints so they don't return false positives

They will not always work, but they won't return any false positives, like for aliases. This is likely going to be replaced by a more polished Clippy-backed linting system.

* Fix #583

* Cargo fmt

* Add docs for `deserialize()` and remove useless comment

* Add `#[component]` to prelude

* Merge branch 'master' of https://github.com/tigerros/dioxus

* #[inline_props] is no more. Except in the docs folder, but that's going to be removed

* Remove docs folder

* Remove docs from workspace

* Resolve `DeserializerOutput` conversation
2023-09-15 09:13:36 -05:00
Evan Almloff 5f0dd3af3e it almost lives? 2023-07-25 18:14:48 -07:00
Evan Almloff 61dc549ba1 Make new enum router less breaking 2023-07-24 11:57:56 -07:00
Evan Almloff a9307e57e6 fix CI 2023-06-02 12:33:47 -05:00
Evan Almloff 577f99e68c link to the router guide in the readme 2023-06-01 17:50:42 -05:00
Evan Almloff 09cabe4e8b update doc examples 2023-05-31 15:51:26 -05:00
Adrian Wannenmacher 231e32d76e merge upstream changes 2023-04-11 19:21:48 +02:00
Kyle Smith eee6cbabb2 Update Router book to reflect crate separation and need for web feature. (#873) 2023-03-10 07:07:53 -06:00
Evan Almloff a51f67c2ec add version to docs links in readmes 2023-02-18 18:38:30 -06:00
Evan Almloff 3f3db39c28 update doc links 2023-01-15 15:18:12 -06:00
Evan Almloff 52d5c8d4e7 update READMEs and tags for the 0.3 release 2023-01-10 10:16:11 -06:00
Jonathan Kelley 4fdbce9a70 chore: clean up readmes 2022-12-29 16:17:03 -05:00
Adrian Wannenmacher da1862507e update router readme 2022-12-16 12:03:59 +01:00
Adrian Wannenmacher af6362ce3e deny missing docs in router 2022-12-13 12:42:18 +01:00
YuKun Liu 8346525db5 Update README.md 2022-05-21 23:33:17 +08:00
YuKun Liu b964f7c802 Update README.md 2022-05-21 10:11:07 +08:00
Jonathan Kelley c7627f0b93 fix: tests pass 2022-03-04 13:16:37 -05:00
Jonathan Kelley 46a42c5ef9 Docs: update readme and usage doc for router 2022-03-02 17:57:00 -05:00
Jonathan Kelley 29ed7ebece feat: connect an onchange listener 2022-01-25 15:06:37 -05:00
Dave Rolsky 9e4ec43b1e Fix various typos and grammar nits
I also removed all trailing whitespace from lines since I have Emacs
configured to highlight this.
2022-01-21 21:43:43 -06:00
Jonathan Kelley cb2782b4bb wip: memoize dom in the prescence of identical components 2022-01-05 00:27:22 -05:00
Jonathan Kelley 3dc0e59876 fix: readme and examples syntax 2021-12-28 23:48:25 -05:00
Jonathan Kelley 4de16c4779 docs: update local examples and docs to support new syntaxes 2021-12-15 15:56:53 -05:00
Jonathan Kelley 52c7154897 fix: really big bug around hooks 2021-11-29 11:10:40 -05:00
Jonathan Kelley a5f05d73ac wip: docs and router 2021-11-19 00:49:04 -05:00
Jonathan Kelley fd7933561f chore: move CLI into its own "studio" app 2021-07-07 16:58:23 -04:00
Jonathan Kelley 81382e7044 chore: rename ctx to cx 2021-06-25 21:15:33 -04:00
Jonathan Kelley 47e896038e wip: more work on updating syntad 2021-06-15 10:02:46 -04:00
Jonathan Kelley 508c560320 Feat: massive changes to definition of components
This change switches back to the original `ctx<props>` syntax for
commponents. This lets lifetime elision to remove the need to match
exactly which lifetime (props or ctx) gets  carried to the output. As
such, `Props` is currently required to be static. It *is* possible to
loosen this restriction, and will be done in the future, though only
through adding metadata about the props through the Props derive
macro. Implementing the IS_STATIC trait is unsafe, so the derive macro
will do it through some heuristics.

For now, this unlocks sharing vnodes from parents to children, enabling
pass-thru components, fragments, portals, etc.
2021-06-01 18:33:15 -04:00
Jonathan Kelley 6aeea9b790 Feat: add router 2021-01-20 17:48:58 -05:00