UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

28 lines (22 loc) 876 B
/** * 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 (r) { r.keys().forEach(filePath => new CheetahStore(r(filePath))) } // framework modules preloadModules(require.context('@cheetah', true, /storeModules\/.*\.js$/)) // app modules (Cheetah Commerce / Cheetah Reach) preloadModules(require.context('@@/cheetahModules', true, /storeModules\/.*\.js$/)) // app project modules preloadModules(require.context('@@/modules', true, /storeModules\/.*\.js$/)) export default store