diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py index 20ed818133d3c58c96a9c303fcdca480a7a8f814..ca04816ee710a846d2ebc973b518e6dd02750fac 100644 --- a/aleksis/core/settings.py +++ b/aleksis/core/settings.py @@ -575,12 +575,14 @@ YARN_INSTALLED_APPS = [ "vue-router@^3.5.2", "vite@^4.0.1", "vite-plugin-pwa@^0.14.1", + "vite-plugin-top-level-await@^1.2.2", "@vitejs/plugin-vue2@^2.2.0", "@rollup/plugin-node-resolve@^15.0.1", "@rollup/plugin-graphql@^2.0.2", "@rollup/plugin-virtual@^3.0.1", "rollup-plugin-license@^3.0.1", "vue-i18n@^8.0.0", + "browserslist-to-esbuild@^1.2.0", "@sentry/vue@^7.28.0", "prettier@^2.8.1", "eslint@^8.26.0", diff --git a/aleksis/core/tests/views/test_account.py b/aleksis/core/tests/views/test_account.py index ae598ab72826d403e94531ef2bf7194b4ee5225c..d56eeb0f6703d2a9f36d282942f8a8c0406126f6 100644 --- a/aleksis/core/tests/views/test_account.py +++ b/aleksis/core/tests/views/test_account.py @@ -20,7 +20,7 @@ LDAP_SETTINGS = { def test_index_not_logged_in(client): - response = client.get("/") + response = client.get("/django/") assert response.status_code == 302 assert response["Location"].startswith(reverse(settings.LOGIN_URL)) @@ -33,7 +33,7 @@ def test_login_without_person(client, django_user_model): django_user_model.objects.create_user(username=username, password=password) client.login(username=username, password=password) - response = client.get("/", follow=True) + response = client.get("/django/", follow=True) assert response.status_code == 200 assert "Your user account is not linked to a person." in response.content.decode("utf-8") @@ -46,7 +46,7 @@ def test_logout(client, django_user_model): django_user_model.objects.create_user(username=username, password=password) client.login(username=username, password=password) - response = client.get("/", follow=True) + response = client.get("/django/", follow=True) assert response.status_code == 200 response = client.get(reverse("logout"), follow=True) diff --git a/aleksis/core/vite.config.js b/aleksis/core/vite.config.js index 138b6807dfa4f1f480baeab09ae43cbc4da070c5..fcaf916e41decd4053c9805b8e310b9baa1a2ad8 100644 --- a/aleksis/core/vite.config.js +++ b/aleksis/core/vite.config.js @@ -29,11 +29,19 @@ import { nodeResolve } from "@rollup/plugin-node-resolve"; import graphql from "@rollup/plugin-graphql"; import virtual from "@rollup/plugin-virtual"; import { VitePWA } from "vite-plugin-pwa"; +import topLevelAwait from "vite-plugin-top-level-await"; +import browserslistToEsbuild from "browserslist-to-esbuild"; const license = require("rollup-plugin-license"); // Read the hints writen by `aleksis-admin vite` const django_values = JSON.parse(fs.readFileSync("./django-vite-values.json")); +// Browsers supported by us +const browsersList = [ + "defaults and supports es6-module", + ">0.2% in de and supports es6-module", +]; + /** * Generate code to import messages from a single AlekSIS app. */ @@ -98,7 +106,7 @@ export default defineConfig({ build: { outDir: path.resolve("./vite_bundles/"), manifest: true, - target: ["firefox102", "chrome108", "safari16"], + target: browserslistToEsbuild(browsersList), rollupOptions: { input: django_values.coreAssetDir + "/index.js", output: { @@ -139,6 +147,8 @@ export default defineConfig({ "**/*.mo", "**/.venv/**", "**/.tox/**", + "**/static/**", + "**/assets/**", ], }, fs: { @@ -158,6 +168,7 @@ export default defineConfig({ vue(), nodeResolve({ modulePaths: [path.resolve(django_values.node_modules)] }), graphql(), + topLevelAwait(), license({ // A package.json will be written here by `aleksis-admin vite` cwd: path.resolve(django_values.cacheDir),