From 35044f092bae63288ca4112c4dbd227edcbba8a4 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 20 Apr 2023 13:19:56 +0200 Subject: [PATCH] Update static handling for vite --- client/vite.config.ts | 72 ++++++++++++++++++++--------------------- server/core/settings.py | 2 +- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/client/vite.config.ts b/client/vite.config.ts index 108d240e..05f45b8f 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -1,33 +1,35 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' -import gql from '@rollup/plugin-graphql'; -import path from 'path'; - +import gql from '@rollup/plugin-graphql' +import path from 'path' const getFlavorConfig = () => { switch (process.env.APP_FLAVOR) { case 'my-kv': - return require('./config/prod-my-kv.env.js').default; + return require('./config/prod-my-kv.env.js').default case 'my-dhf': - return require('./config/prod-dhf.env.js').default; + return require('./config/prod-dhf.env.js').default case 'my-dha': - return require('./config/prod-dha.env.js').default; + return require('./config/prod-dha.env.js').default } - return {}; + return {} } - function resolve(dir: string) { - return path.join(__dirname, dir); + return path.join(__dirname, dir) } const define = { '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_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( + process.env.LOGOUT_REDIRECT_URL + ), '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_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, @@ -35,56 +37,54 @@ const define = { * 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, - } -const flavorConfig = getFlavorConfig(); +const flavorConfig = getFlavorConfig() const htmlPlugin = () => { return { name: 'html-transform', transformIndexHtml(html: string) { - return html.replace( - /_APP_TITLE_/, - flavorConfig.VUE_APP_TITLE || 'mySkillbox' - ).replace( - /_FAVICON_16_/, - flavorConfig.VUE_APP_FAVICON_16 || '/static/favicon-16x16.png' - ).replace( - /_FAVICON_32_/, - flavorConfig.VUE_APP_FAVICON_32 || '/static/favicon-32x32.png' - ); - } + return html + .replace(/_APP_TITLE_/, flavorConfig.VUE_APP_TITLE || 'mySkillbox') + .replace( + /_FAVICON_16_/, + flavorConfig.VUE_APP_FAVICON_16 || '/static/favicon-16x16.png' + ) + .replace( + /_FAVICON_32_/, + flavorConfig.VUE_APP_FAVICON_32 || '/static/favicon-32x32.png' + ) + }, } } // https://vitejs.dev/config/ export default defineConfig({ + base: '/static/', css: { preprocessorOptions: { 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: { alias: { '@': resolve('./src'), styles: resolve('./src/styles'), gql: resolve('./src/graphql/gql'), - } + }, }, server: { port: 8080, hmr: { - clientPort: 8080 - } + clientPort: 8080, + }, }, - plugins: [ - gql(), - vue(), - htmlPlugin() - ], - define + plugins: [gql(), vue(), htmlPlugin()], + define, }) diff --git a/server/core/settings.py b/server/core/settings.py index 79af64da..0dc7d18b 100644 --- a/server/core/settings.py +++ b/server/core/settings.py @@ -206,7 +206,7 @@ STATIC_ROOT = os.path.join(BASE_DIR, "static") STATIC_URL = "/static/" STATICFILES_DIRS = ( - os.path.join(BASE_DIR, "..", "client/dist/static"), + os.path.join(BASE_DIR, "..", "client/dist"), os.path.join(BASE_DIR, "..", "client/src/assets"), )