The fifth version of chriskrycho.com, built in Eleventy.
at canon 1.1 kB view raw
1// @ts-check 2 3import { defineConfig } from 'rollup'; 4import typescript from '@rollup/plugin-typescript'; 5import resolve from '@rollup/plugin-node-resolve'; 6import terser from '@rollup/plugin-terser'; 7import strip from '@rollup/plugin-strip'; 8 9const production = !process.env.ROLLUP_WATCH; 10 11export default defineConfig({ 12 input: 'scripts/main.ts', 13 output: [ 14 { 15 sourcemap: true, 16 format: 'module', 17 file: './site/_assets/js/main.js', 18 }, 19 { 20 sourcemap: true, 21 format: 'iife', 22 file: './site/_assets/js/main.old.js', 23 }, 24 ], 25 plugins: [ 26 // teach rollup how to handle typescript imports 27 typescript({ 28 tsconfig: './scripts/tsconfig.json', 29 sourceMap: true, 30 }), 31 resolve({ browser: true }), 32 production && 33 strip({ 34 include: ['**/*.js', '**/*.ts'], 35 functions: ['assert', 'unreachable'], 36 }), 37 production && 38 terser({ 39 compress: { 40 unsafe: true, 41 passes: 2, 42 }, 43 }), 44 ], 45});