import 'babel-polyfill' import Vue from 'vue' import axios from 'axios' import VueAxios from 'vue-axios' import VueVimeoPlayer from 'vue-vimeo-player' import apolloClient from './graphql/client' import VueApollo from 'vue-apollo' import App from './App' import router from './router' import store from '@/store/index' import VueScrollTo from 'vue-scrollto'; Vue.config.productionTip = false // TODO: Move into a separate project as a plugin // function getRidOfEdges(collection) { if (typeof collection === 'object') { let newObj = {} for (const k in collection) { if (k === 'edges') { return collection.edges.map(edge => getRidOfEdges(edge.node)); } else { newObj[k] = getRidOfEdges(collection[k]) delete newObj[k]['__typename'] } } return newObj } else { return collection } } Object.defineProperty(Vue.prototype, '$getRidOfEdges', {value: getRidOfEdges}) Vue.use(VueApollo) Vue.use(VueAxios, axios) Vue.use(VueVimeoPlayer) Vue.use(VueScrollTo, { duration: 500, easing: 'ease-out', offset: -50 }) const apolloProvider = new VueApollo({ defaultClient: apolloClient }) /* eslint-disable no-new */ new Vue({ el: '#app', store, router, provide: apolloProvider.provide(), render: h => h(App) })