lazy

You can lazy load configurations. You do this by giving each configuration a key with a function that returns the config when called. To actually load the configurations you can either call an effect or an action with the key of the configuration to load.

overmind/index.js
overmind/moduleA/index.js
overmind/actions.js
overmind/index.js
import { lazy } from 'overmind/config'
export const config = lazy({
moduleA: async () => await import('./moduleA').config
})
overmind/moduleA/index.js
import { state } from './state'
export const config = {
state
}
overmind/actions.js
export const loadModule = async ({ actions }) => {
await actions.lazy.loadConfig('moduleA')
}