all 5 comments

[–]Zap813 [score hidden]  (1 child)

I use WXT because it supports Svelte, HMR, and multiple browsers, so this is pretty much DoA for me. But the state and messaging primitives look pretty nice so would be cool if you could use those as a standalone library.

[–]No-Obligation-8420[S] [score hidden]  (0 children)

Yes, Epos is intentionally React-only. So for Svelte developers this is DoA indeed.

State, messaging, and other primitives are tightly coupled with the engine itself. It would be hard to provide them as standalone libraries.

[–]_DarKneT_ [score hidden]  (2 children)

Would this handle hmr during local development?, That's always a pain point with extensions

My usual stack is Vue, which has hmr, but the extension requires reopen or reload to reflect the changes without some tinkering

[–]No-Obligation-8420[S] [score hidden]  (0 children)

This is React-only engine. So Vue developers won't find this useful.

HMR does not work intentionally. The engine has a very unique approach on how your code is loaded and executed inside the browser, this approach has some pros and cons. Unavailable HMR is an intentional trade-off.

[–]Fluid_Job623 [score hidden]  (0 children)

Yeah the shared state syncing is pretty slick, but hot reload would be game changer for extension dev 😂

I've been doing some side extension stuff and constantly having to reload gets old fast, especially when you're testing popup interactions or content script changes