Skip to content
Snippets Groups Projects
Verified Commit a93e6c04 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Build only one bundle for all of AlekSIS

parent d97d2457
No related branches found
No related tags found
1 merge request!1132Resolve "Evaluate use of Vite instead of Webpack"
......@@ -576,6 +576,7 @@ YARN_INSTALLED_APPS = [
"@vitejs/plugin-vue2@^2.2.0",
"@rollup/plugin-node-resolve@^15.0.1",
"@rollup/plugin-graphql@^2.0.2",
"@rollup/plugin-multi-entry@^6.0.0",
"vue-i18n@8",
"eslint@^8.26.0",
"eslint-plugin-vue@^9.7.0",
......
......@@ -224,7 +224,7 @@
{{ request.site.preferences.theme__primary|json_script:"primary-color" }}
{{ request.site.preferences.theme__secondary|json_script:"secondary-color" }}
<script type="text/javascript" src="{% static 'js/search.js' %}"></script>
{% vite_asset 'aleksis/core/assets/index.js' %}
{% vite_asset 'virtual:aleksis-local-full.js' %}
{% block extra_body %}{% endblock %}
</body>
</html>
......@@ -27,12 +27,16 @@ def write_vite_values(out_path: str) -> dict[str, Any]:
"static_url": settings.STATIC_URL,
}
# Write rollup entrypoints for all apps
vite_values["entrypoints"] = {
app: os.path.join(path, "index") for app, path in get_apps_with_assets().items()
}
vite_values["entrypoints"]["core"] = os.path.join(
settings.BASE_DIR, "aleksis", "core", "assets", "index"
vite_values["entrypoints"] = []
for app, path in get_apps_with_assets().items():
ep = os.path.join(path, "index.js")
if os.path.exists(ep):
vite_values["entrypoints"].append(ep)
# Add core entrypoint
vite_values["entrypoints"].append(
os.path.join(settings.BASE_DIR, "aleksis", "core", "assets", "index.js")
)
with open(out_path, "w") as out:
json.dump(vite_values, out)
......
const fs = require("fs");
const path = require("path");
import { defineConfig } from 'vite';
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue2";
import { nodeResolve } from '@rollup/plugin-node-resolve';
import graphql from '@rollup/plugin-graphql';
import { nodeResolve } from "@rollup/plugin-node-resolve";
import graphql from "@rollup/plugin-graphql";
import multi from '@rollup/plugin-multi-entry';
const django_values = JSON.parse(fs.readFileSync("./django-vite-values.json"));
export default defineConfig({
root: path.resolve(".."),
base: django_values.static_url,
build: {
outDir: path.resolve("./vite_bundles/"),
......@@ -22,10 +22,15 @@ export default defineConfig({
strictPort: true,
origin: "http://127.0.0.1:5173",
},
plugins: [vue(), nodeResolve({modulePaths: [path.resolve("./node_modules")]}), graphql()],
plugins: [
multi({entryFileName: "aleksis-local-full.js"}),
vue(),
nodeResolve({ modulePaths: [path.resolve("./node_modules")] }),
graphql(),
],
resolve: {
alias: {
"vue": "vue/dist/vue.esm.js",
vue: "vue/dist/vue.esm.js",
},
},
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment