Disable sentry plugin on bitbucket

This commit is contained in:
Ramon Wenger 2023-07-27 19:44:52 +02:00
parent 754e67b06b
commit f333e92489
1 changed files with 45 additions and 30 deletions

View File

@ -1,18 +1,18 @@
import { defineConfig } from 'vite'; import { defineConfig } from "vite";
import { sentryVitePlugin } from '@sentry/vite-plugin'; import { sentryVitePlugin } from "@sentry/vite-plugin";
import vue from '@vitejs/plugin-vue'; import vue from "@vitejs/plugin-vue";
import gql from '@rollup/plugin-graphql'; import gql from "@rollup/plugin-graphql";
import path from 'path'; import path from "path";
const getFlavorConfig = () => { const getFlavorConfig = () => {
switch (process.env.APP_FLAVOR) { switch (process.env.APP_FLAVOR) {
case 'my-kv': case "my-kv":
return require('./config/prod-my-kv.env.js').default; return require("./config/prod-my-kv.env.js").default;
case 'my-dhf': case "my-dhf":
return require('./config/prod-dhf.env.js').default; return require("./config/prod-dhf.env.js").default;
case 'my-dha': case "my-dha":
return require('./config/prod-dha.env.js').default; return require("./config/prod-dha.env.js").default;
} }
return {}; return {};
}; };
@ -22,54 +22,68 @@ function resolve(dir: string) {
} }
const define = { const define = {
'import.meta.env.HEP_URL': JSON.stringify(process.env.HEP_URL), "import.meta.env.HEP_URL": JSON.stringify(process.env.HEP_URL),
'import.meta.env.MATOMO_HOST': JSON.stringify(process.env.MATOMO_HOST), "import.meta.env.MATOMO_HOST": JSON.stringify(process.env.MATOMO_HOST),
'import.meta.env.MATOMO_SITE_ID': JSON.stringify(process.env.MATOMO_SITE_ID), "import.meta.env.MATOMO_SITE_ID": JSON.stringify(process.env.MATOMO_SITE_ID),
'import.meta.env.LOGOUT_REDIRECT_URL': JSON.stringify(process.env.LOGOUT_REDIRECT_URL), "import.meta.env.LOGOUT_REDIRECT_URL": JSON.stringify(
'import.meta.env.VUE_APP_FLAVOR': JSON.stringify(process.env.APP_FLAVOR), process.env.LOGOUT_REDIRECT_URL
'import.meta.env.SENTRY_DSN': JSON.stringify(process.env.SENTRY_JAVASCRIPT_DSN), ),
'import.meta.env.SENTRY_ENVIRONMENT': JSON.stringify(process.env.SENTRY_ENV), "import.meta.env.VUE_APP_FLAVOR": JSON.stringify(process.env.APP_FLAVOR),
"import.meta.env.SENTRY_DSN": JSON.stringify(
process.env.SENTRY_JAVASCRIPT_DSN
),
"import.meta.env.SENTRY_ENVIRONMENT": JSON.stringify(process.env.SENTRY_ENV),
/* /*
* ENV variables used in JS code need to be stringyfied, as they will be replaced (in place) in the code, * ENV variables used in JS code need to be stringyfied, as they will be replaced (in place) in the code,
* and JS needs quotes around strings * and JS needs quotes around strings
* see https://cli.vuejs.org/guide/mode-and-env.html#using-env-variables-in-client-side-code * see https://cli.vuejs.org/guide/mode-and-env.html#using-env-variables-in-client-side-code
*/ */
'import.meta.env.VUE_APP_ENABLE_SPELLCHECK': !!process.env.TASKBASE_BASEURL, "import.meta.env.VUE_APP_ENABLE_SPELLCHECK": !!process.env.TASKBASE_BASEURL,
}; };
const flavorConfig = getFlavorConfig(); const flavorConfig = getFlavorConfig();
const htmlPlugin = () => { const htmlPlugin = () => {
return { return {
name: 'html-transform', name: "html-transform",
transformIndexHtml(html: string) { transformIndexHtml(html: string) {
return html return html
.replace(/_APP_TITLE_/, flavorConfig.VUE_APP_TITLE || 'mySkillbox') .replace(/_APP_TITLE_/, flavorConfig.VUE_APP_TITLE || "mySkillbox")
.replace(/_FAVICON_16_/, flavorConfig.VUE_APP_FAVICON_16 || '/static/favicon-16x16.png') .replace(
.replace(/_FAVICON_32_/, flavorConfig.VUE_APP_FAVICON_32 || '/static/favicon-32x32.png'); /_FAVICON_16_/,
flavorConfig.VUE_APP_FAVICON_16 || "/static/favicon-16x16.png"
)
.replace(
/_FAVICON_32_/,
flavorConfig.VUE_APP_FAVICON_32 || "/static/favicon-32x32.png"
);
}, },
}; };
}; };
const disableSentryPlugin = !process.env.SENTRY_AUTH_TOKEN; // disable the plugin when we're not in an environment that is connected to sentry
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
build: { build: {
assetsDir: 'static', assetsDir: "static",
sourcemap: true, // Source map generation must be turned on sourcemap: true, // Source map generation must be turned on
}, },
css: { css: {
preprocessorOptions: { preprocessorOptions: {
scss: { scss: {
additionalData: process.env.THEME ? `@import "styles/themes/_${process.env.THEME}.scss";` : '', additionalData: process.env.THEME
? `@import "styles/themes/_${process.env.THEME}.scss";`
: "",
}, },
}, },
devSourcemap: true, devSourcemap: true,
}, },
resolve: { resolve: {
alias: { alias: {
'@': resolve('./src'), "@": resolve("./src"),
styles: resolve('./src/styles'), styles: resolve("./src/styles"),
gql: resolve('./src/graphql/gql'), gql: resolve("./src/graphql/gql"),
}, },
}, },
server: { server: {
@ -84,8 +98,9 @@ export default defineConfig({
htmlPlugin(), htmlPlugin(),
sentryVitePlugin({ sentryVitePlugin({
authToken: process.env.SENTRY_AUTH_TOKEN, authToken: process.env.SENTRY_AUTH_TOKEN,
org: 'iterativ', org: "iterativ",
project: 'skillbox-vue', disable: disableSentryPlugin,
project: "skillbox-vue",
}), }),
], ],
define, define,