-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrollup.config.mjs
More file actions
50 lines (45 loc) · 1.39 KB
/
Copy pathrollup.config.mjs
File metadata and controls
50 lines (45 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import commonjs from '@rollup/plugin-commonjs'
import { nodeResolve } from '@rollup/plugin-node-resolve'
import css from 'rollup-plugin-css-only'
import terser from '@rollup/plugin-terser'
const __dirname = import.meta.dirname
export default {
input: {
bundle: 'src/javascript/index.js',
folder: 'src/javascript/folder.js',
publicFolder: 'src/javascript/publicFolder.js',
login: 'src/javascript/login.js',
signup: 'src/javascript/signup.js',
showBody: 'src/javascript/showBody.js',
},
output: {
dir: 'public',
format: 'es',
entryFileNames: 'scripts/[name].min.js',
chunkFileNames: 'scripts/chunks/[name]-[hash].js',
assetFileNames: '[name].[ext]',
},
plugins: [
nodeResolve(),
commonjs(),
css({ output: 'stylesheets/bundle.css' }),
terser(), // minify js
],
}
// Old copy config
// import path from 'node:path'
// import copy from 'rollup-plugin-copy'
// This is now done manually to reduce bundle size
// copy({
// targets: [
// // Copies all icons from shoelace to the public folder, done manually to save space
// // {
// // src: path.resolve(__dirname, 'node_modules/@shoelace-style/shoelace/dist/assets'),
// // dest: path.resolve(__dirname, 'public/vendors/shoelace'),
// // },
// {
// src: path.resolve(__dirname, 'src/assets'),
// dest: path.resolve(__dirname, 'public'),
// },
// ],
// }),