skillbox/client/src/setup/plugins.ts

45 lines
1.2 KiB
TypeScript

import { router } from '@/router';
import VueVimeoPlayer from 'vue-vimeo-player';
import { store } from '@/store';
import VueModal from '@/plugins/modal';
import VueRemoveEdges from '@/plugins/edges';
import { createApolloProvider } from '@vue/apollo-option';
import apolloClients from './apollo';
import flavorPlugin from '@/plugins/flavor';
import VueMatomo from 'vue-matomo';
import * as Sentry from '@sentry/vue';
const { publicApolloClient, privateApolloClient } = apolloClients;
const apolloProvider = createApolloProvider({
clients: {
publicClient: publicApolloClient,
},
defaultClient: privateApolloClient,
});
const registerPlugins = (app: any) => {
if (process.env.SENTRY_DSN) {
Sentry.init({
app,
dsn: process.env.SENTRY_DSN,
environment: process.env.SENTRY_ENVIRONMENT || 'localhost',
});
}
app.use(store);
app.use(VueModal);
app.use(VueRemoveEdges);
app.use(VueVimeoPlayer);
app.use(apolloProvider);
app.use(router);
app.use(flavorPlugin);
if (process.env.MATOMO_HOST) {
app.use(VueMatomo, {
host: process.env.MATOMO_HOST,
siteId: process.env.MATOMO_SITE_ID,
router: router,
});
}
};
export default registerPlugins;