-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
39 lines (37 loc) · 1.13 KB
/
vite.config.ts
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
import { defineConfig } from 'vite'
// @ts-ignore
import pkg from './package.json'
import { qwikVite } from '@builder.io/qwik/optimizer'
import * as path from 'path'
import tsconfigPaths from 'vite-tsconfig-paths'
const { dependencies = {}, peerDependencies = {} } = pkg as any
const makeRegex = (dep) => new RegExp(`^${dep}(/.*)?$`)
const excludeAll = (obj) => Object.keys(obj).map(makeRegex)
export default defineConfig(() => {
return {
build: {
cssCodeSplit: true,
target: 'esnext',
lib: {
entry: './src/index.ts',
formats: ['es', 'cjs'],
fileName: (format) => `flowbite-icons.qwik.${format === 'es' ? 'mjs' : 'cjs'}`,
},
rollupOptions: {
output: {
assetFileNames: (chunkInfo) => {
return chunkInfo.name || 'index'
},
},
// externalize deps that shouldn't be bundled into the library
external: [/^node:.*/, ...excludeAll(dependencies), ...excludeAll(peerDependencies)],
},
},
resolve: {
alias: {
'~': path.resolve(__dirname, './src/'),
},
},
plugins: [qwikVite(), tsconfigPaths()],
}
})