// Import rollup plugins import { rollupPluginHTML as html } from '@web/rollup-plugin-html'; import { copy } from '@web/rollup-plugin-copy'; import resolve from '@rollup/plugin-node-resolve'; import { terser } from 'rollup-plugin-terser'; import summary from 'rollup-plugin-summary'; import { rollupImportMapPlugin } from "rollup-plugin-import-map"; export default { plugins: [ // Entry point for application build; can specify a glob to build multiple // HTML files for non-SPA app html({ input: ['./web/index.html', './web/dev.html'] }), // Add Import maps from libraries to CDN urls rollupImportMapPlugin([ { "imports": { 'lit': 'https://cdn.jsdelivr.net/gh/lit/dist@2/core/lit-core.min.js', 'lit/decorators.js': 'https://cdn.skypack.dev/pin/lit@v2.5.0-jYRq0AKQogjUdUh7SCAE/mode=imports/optimized/lit/decorators.js', 'lit/directives/live.js': 'https://cdn.jsdelivr.net/gh/lit/dist@2/all/lit-all.min.js', 'lit/directives/style-map.js': 'https://cdn.jsdelivr.net/gh/lit/dist@2/all/lit-all.min.js', } } ]), // Resolve bare module specifiers to relative paths resolve(), // Minify JS terser({ ecma: 2020, module: true, warnings: true, }), // Print bundle summary summary(), // Copy any static assets to build directory copy({ patterns: ['./assets/*'], }), ], output: { dir: 'dist', preserveModules: true, preserveModulesRoot: 'web' }, preserveEntrySignatures: 'strict', };