github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/web/src/main.ts (about)

     1  import Vue from 'vue';
     2  import VueClipboard from 'vue-clipboard2';
     3  import App from './App.vue';
     4  import router from './router';
     5  import vuetify from './plugins/vuetify';
     6  import { authorize } from './router/gates';
     7  import { makeServer } from './server';
     8  import store, { Actions } from '@/store';
     9  import { AxiosPlugin } from '@/plugins/http';
    10  import { HighlightPlugin } from '@/plugins/highlight';
    11  import '@/plugins/scrollbar';
    12  import 'file-icon-vectors/dist/file-icon-vivid.min.css';
    13  
    14  __webpack_public_path__ = process.env.NODE_ENV === 'production' ? `${VUE_BASE}/` : process.env.BASE_URL;
    15  
    16  Vue.use(AxiosPlugin);
    17  Vue.use(HighlightPlugin);
    18  Vue.use(VueClipboard);
    19  
    20  if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK_SERVER === 'true') {
    21    makeServer();
    22  }
    23  
    24  Vue.config.productionTip = false;
    25  router.beforeEach(authorize(store));
    26  store.dispatch(Actions.FETCH_USER).then(() => {
    27    new Vue({
    28      router,
    29      store,
    30      vuetify,
    31      render: h => h(App)
    32    }).$mount('#app');
    33  });
    34  
    35  export default store;