656c2da8cf
Squashed commit of the following: commitd26bffc33aAuthor: Jan Andrle <andrle.jan@centrum.cz> Date: Tue Jun 9 10:35:14 2026 +0200 ⚡ ups versions commit8bb12aaac1Author: Jan Andrle <andrle.jan@centrum.cz> Date: Fri May 22 15:56:44 2026 +0200 ⚡ 📺 finlizes routing and improves bs commitc3782509e8Author: Jan Andrle <andrle.jan@centrum.cz> Date: Wed May 20 16:10:51 2026 +0200 ⚡ first steps (footer) commit7c925d1fdbAuthor: Jan Andrle <andrle.jan@centrum.cz> Date: Wed May 20 15:24:20 2026 +0200 ⚡ 📺 tsc-alias commite4e41197b9Author: Jan Andrle <andrle.jan@centrum.cz> Date: Wed May 20 14:40:47 2026 +0200 🐛 fixes routing commit7d6240e28aAuthor: Jan Andrle <andrle.jan@centrum.cz> Date: Wed May 20 14:40:00 2026 +0200 🐛 📺 fixes dev server commit139b1590ceAuthor: Jan Andrle <andrle.jan@centrum.cz> Date: Wed Apr 29 13:40:40 2026 +0200 ⚡ Uses original router - it has benefits to use hash properly commit3cc11b68deAuthor: Jan Andrle <andrle.jan@centrum.cz> Date: Tue Apr 28 17:16:00 2026 +0200 🎉
75 lines
2.1 KiB
JavaScript
75 lines
2.1 KiB
JavaScript
import nodeResolve from "@rollup/plugin-node-resolve";
|
|
import babel from "@rollup/plugin-babel";
|
|
import { rollupPluginHTML as html } from "@web/rollup-plugin-html";
|
|
import { importMetaAssets } from "@web/rollup-plugin-import-meta-assets";
|
|
import esbuild from "rollup-plugin-esbuild";
|
|
import { generateSW } from "rollup-plugin-workbox";
|
|
import { paths } from "./bs/dev/paths.js";
|
|
import { join } from "node:path";
|
|
|
|
const pathDist = join.bind(null, paths.dist);
|
|
export default {
|
|
input: "index.html",
|
|
output: {
|
|
entryFileNames: "[hash].js",
|
|
chunkFileNames: "[hash].js",
|
|
assetFileNames: "[hash][extname]",
|
|
format: "es",
|
|
dir: pathDist(),
|
|
},
|
|
preserveEntrySignatures: false,
|
|
|
|
plugins: [
|
|
/** Enable using HTML as rollup entrypoint */
|
|
html({
|
|
minify: true,
|
|
injectServiceWorker: true,
|
|
serviceWorkerPath: pathDist("sw.js"),
|
|
}),
|
|
/** Resolve bare module imports */
|
|
nodeResolve(),
|
|
/** Minify JS, compile JS to a lower language target */
|
|
esbuild({
|
|
minify: true,
|
|
target: ["chrome64", "firefox67", "safari11.1"],
|
|
}),
|
|
/** Bundle assets references via import.meta.url */
|
|
importMetaAssets(),
|
|
/** Minify html and css tagged template literals */
|
|
babel({
|
|
babelHelpers: "bundled",
|
|
plugins: [
|
|
[
|
|
"babel-plugin-template-html-minifier",
|
|
{
|
|
modules: { lit: ["html", { name: "css", encapsulation: "style" }] },
|
|
failOnError: false,
|
|
strictCSS: true,
|
|
htmlMinifier: {
|
|
collapseWhitespace: true,
|
|
conservativeCollapse: true,
|
|
removeComments: true,
|
|
caseSensitive: true,
|
|
minifyCSS: true,
|
|
},
|
|
},
|
|
],
|
|
],
|
|
}),
|
|
/** Create and inject a service worker */
|
|
generateSW({
|
|
globIgnores: ["polyfills/*.js", "nomodule-*.js"],
|
|
navigateFallback: "/index.html",
|
|
// where to output the generated sw
|
|
swDest: pathDist("sw.js"),
|
|
// directory to match patterns against to be precached
|
|
globDirectory: pathDist(),
|
|
// cache any html js and css by default
|
|
globPatterns: ["**/*.{html,js,css,webmanifest}"],
|
|
skipWaiting: true,
|
|
clientsClaim: true,
|
|
runtimeCaching: [{ urlPattern: "polyfills/*.js", handler: "CacheFirst" }],
|
|
}),
|
|
],
|
|
};
|