import Vue from 'vue' import Vuex from 'vuex' import { extractVuexModule } from "vuex-class-component"; import { createProxy } from "vuex-class-component"; import UIStore from '@/store/uiStore'; import GalleryStore from '@/store/galleryStore'; Vue.use(Vuex) const store = new Vuex.Store({ modules: { ...extractVuexModule(UIStore), ...extractVuexModule(GalleryStore) } }); Vue.use((vue) => vue.prototype.$uiStore = createProxy(store, UIStore)); Vue.use((vue) => vue.prototype.$galleryStore = createProxy(store, GalleryStore)); declare module 'vue/types/vue' { interface Vue { $uiStore: UIStore, $galleryStore: GalleryStore } } export default store;