UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

30 lines (22 loc) 1.02 kB
/** * Auto discovery of every store module (CheetahStore and custom store) */ import Vue from 'vue' import store from '@cheetah/store/index' import CheetahStore from '@cheetah/store/CheetahStore' Vue.prototype.$dependencies = function (viewModel, dependencies) { if (typeof dependencies === 'string') { dependencies = [dependencies] } dependencies.forEach(dependency => CheetahStore.load(dependency, viewModel)) } function preloadModules (context) { context.keys().forEach(filePath => new CheetahStore(context(filePath))) } // Cheetah-Framework stores preloadModules(require.context('@cheetah', true, /\.\/.*\/storeModules\/.*\.js$/)) // Other modules stores (@imarcom/monitored-tasks, @imarcom/cms-core, @imarcom/cheetah-attributes, ...) preloadModules(require.context('@@/cheetahModules', true, /\.\/@.*\/storeModules\/.*\.js$/)) // App modules stores (usually in /resources/js/modules/*/routes) preloadModules(require.context('@@/modules', true, /\.\/.*\/storeModules\/.*\.js$/)) export default store