yew-debugger is a devtools extension for debugging Yew applications that includes the following features:
- It is built upon the minimally invasive implementation of only three traits:
YewComponentModel
,YewComponentMessage
, andYewComponentDebug
. - It offers a detailed view of messages and changes in the Model during state transitions.
- It provides a real-time, straight-forward view of the application's MVU (Model, View, Update) cycles.
- Clone the repository:
git clone --depth=1 git@github.com:JADSN1894/yew-debugger.git
- Change to directory
yew-debugger
:cd yew-debugger
- Open yew-debugger folder in VsCode:
code .
- Install the extension Dev Containers
- Open the Dev Container
- Install the extensions (Optional)
- When see the "...Done. Press any ke to close the terminal." press
c
:
- Open new terminal:
- Execute:
make demo
- Execute:
python3 -m http.server --directory ./dist-example/
- In a chromium-based open extensions window:
chrome://extensions/
- At right top corner enable Developer mode
- Click at
Load unpacked
button - Open the
crx
folder, (If comming from actions artifacts section, the folder name isyew-debugger-crx
) - Click at
service worker(inactive)
- Check if show at least this two logs:
- [From background module]: Hello from YewDebugger
- Yew Debugger devtools tab clicked
- Open in new tab:
http://localhost:8000/
- Open DevTools pressing
F12
orcrtl + shift + i
- At DevTools panel tab open the tab
Yew Debugger
- And controll your application. π
- Download the artifacts:
yew-debugger-crx.zip
dist-example-yew-debugger-counter-layout.zip
dist-example-spreadsheet-cells-with-yew-debugger.zip
- Create a folder named: yew-debugger
- Change to directory:
cd yew-debugger
- Extract the compressed files :
unzip yew-debugger-crx.zip -d crx
unzip dist-example-yew-debugger-counter-layout.zip -d dist-example-yew-debugger-counter-layout
unzip dist-example-spreadsheet-cells-with-yew-debugger.zip -d dist-example-spreadsheet-cells-with-yew-debugger
- Directory after extract
. βββ dist-example-spreadsheet-cells-with-yew-debugger β βββ frontend-wasm β β βββ index_bg.wasm β β βββ index.js β β βββ package.json β βββ index.html β βββ index.js β βββ output.css βββ dist-example-spreadsheet-cells-with-yew-debugger.zip βββ dist-example-yew-debugger-counter-layout β βββ assets β β βββ index-0c5742a5.js β β βββ index_bg-2f50b49e.wasm β β βββ index-d9ca7bb5.css β βββ favicon.ico β βββ index.html β βββ vite.svg βββ dist-example-yew-debugger-counter-layout.zip βββ yew-debugger-crx β βββ assets β β βββ index-643717a7.css β β βββ index-df5db1f8.js β β βββ panel_bg-88b3fac6.wasm β βββ background β β βββ background_bg.wasm β β βββ background.js β β βββ package.json β βββ background.js β βββ content-script.js β βββ devtools.html β βββ devtools.js β βββ manifest.json β βββ panel.html βββ yew-debugger-crx.zip
- Follow the steps from 8 of Cloning the repository instructions
Huge thanks to afsec for giving me the idea for this project, sharing the inspiration behind it, and implementing the first iteration in Rust. Your contributions have been invaluable.
Feel free to reach out to me at E-mail to discuss how yew-debugger
can elevate the quality of your Yew development and improve the end-user experience!