-
Notifications
You must be signed in to change notification settings - Fork 91
/
vite.config.ts
57 lines (53 loc) · 1.32 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// SPDX-FileCopyrightText: Ferdinand Thiessen <[email protected]>
// SPDX-License-Identifier: AGPL-3.0-or-later
/// <reference types="vitest/config" />
import { createAppConfig } from '@nextcloud/vite-config'
import webpackStats from 'rollup-plugin-webpack-stats'
import path from 'path'
const config = createAppConfig({
text: path.join(__dirname, 'src', 'main.js'),
files: path.join(__dirname, 'src', 'files.js'),
public: path.join(__dirname, 'src', 'public.js'),
viewer: path.join(__dirname, 'src', 'viewer.js'),
editors: path.join(__dirname, 'src', 'editor.js'),
init: path.join(__dirname, 'src', 'init.js'),
}, {
createEmptyCSSEntryPoints: true,
config: {
resolve: {
dedupe: ['vue'],
},
css: {
modules: {
localsConvention: 'camelCase',
},
},
plugins: [
webpackStats(),
],
build: {
cssCodeSplit: true,
rollupOptions: {
output: {
manualChunks: (id) => {
// Make the emoji related dependencies a custom chunk to reduce the size of the RichText chunk
if (id.includes('emoji-mart-vue') || id.includes('emoji-datasource')) {
return 'emoji-picker'
}
},
},
},
},
test: {
setupFiles: ['src/tests/setup.mjs'],
environment: 'jsdom',
globals: true,
server: {
deps: {
inline: [/@nextcloud.*/],
}
},
},
},
})
export default config