-
Notifications
You must be signed in to change notification settings - Fork 410
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MapStore modular plugins with faster loading time #8423
Comments
@tdipisa @allyoucanmap There are two strategies for further optimization:
|
Just one thing about "mute" stream. Epics of redux-observable already define a 3rd argument, as an arbitrary object to pass (typically to pass APIs that can be wrapped for testing, instead of static imports). For the general idea of epics, but some of them (most of them in our case) are part of plugins. This is litterally the first idea I have in mind, feel free to make it better: (action$, store, {pluginAPI}) => {
const $pluginRenderEvents = pluginAPI.getCurrentPluginRenderStream();
} 'pluginAPI.getCurrentPluginRenderStream()` returns the stream of rendering, that can be used to mute (or do whatever you want).
I don't remember if I missed something, so I did some error forgive me and elaborate on your own my suggestions. |
@offtherailz please take a look if this could work for you |
Ok @allyoucanmap moving to test. |
(cherry picked from commit 4005b4e)
Description
The goal of this improvement is to allow the MapStore runtime load of plugins and their side-effects, to reduce the size of the initial JS downloaded and to allow to create extensions with a better plugins isolation system that do not affect the other pages of the application when the plugin is not used/present in the viewer.
A more technical proposal explains the aim and the boundaries of this work in details.
What kind of improvement you want to add? (check one with "x", remove the others)
Other useful information
The text was updated successfully, but these errors were encountered: