Files
commafeed-podcasts/rollup.config.js
jaandrle 656c2da8cf Adds routing
Squashed commit of the following:

commit d26bffc33a
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Tue Jun 9 10:35:14 2026 +0200

     ups versions

commit 8bb12aaac1
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Fri May 22 15:56:44 2026 +0200

     📺 finlizes routing and improves bs

commit c3782509e8
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Wed May 20 16:10:51 2026 +0200

     first steps (footer)

commit 7c925d1fdb
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Wed May 20 15:24:20 2026 +0200

     📺 tsc-alias

commit e4e41197b9
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Wed May 20 14:40:47 2026 +0200

    🐛 fixes routing

commit 7d6240e28a
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Wed May 20 14:40:00 2026 +0200

    🐛 📺 fixes dev server

commit 139b1590ce
Author: 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

commit 3cc11b68de
Author: Jan Andrle <andrle.jan@centrum.cz>
Date:   Tue Apr 28 17:16:00 2026 +0200

    🎉
2026-06-09 11:04:02 +02:00

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" }],
}),
],
};