fulcro-rad icon indicating copy to clipboard operation
fulcro-rad copied to clipboard

Improve hot reload during development

Open awkay opened this issue 2 years ago • 1 comments

When a project gets large it can be very slow to reload the entire project when the model changes. Ideally the attribute model and derived elements could be re-evaluated, followed by a simple server restart to refresh the runtime.

The suggested mechanism, which is backward compatible with the current system, is to use a custom map type that uses a global name to register the value in an atom. The externally visible map works identically to standard maps, but re-registering under that maps name causes it's value to update for all users of it.

This breaks the idea of pure maps, but since the artifacts look more like vars, this is sort of like altering a root binding in a structured manner (when the definition is changed) and simply avoids undesirable closures over a stale value.

awkay avatar Oct 18 '21 18:10 awkay

This is available in current releases. Could use some documentation.

awkay avatar Oct 21 '21 06:10 awkay

Added to RAD dev guide.

awkay avatar Dec 27 '22 06:12 awkay