From 1ee55ef6f138c98c327be58206038c0982c15c8b Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Mon, 16 Jan 2023 21:41:11 +0100 Subject: [PATCH] Support browsers by browserslist --- aleksis/core/settings.py | 2 ++ aleksis/core/vite.config.js | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py index 20ed81813..ca04816ee 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/vite.config.js b/aleksis/core/vite.config.js index 228309031..fcaf916e4 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: { @@ -160,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), -- GitLab