-
Notifications
You must be signed in to change notification settings - Fork 61
Expand file tree
/
Copy pathcommonVite.config.ts
More file actions
55 lines (53 loc) · 1.45 KB
/
commonVite.config.ts
File metadata and controls
55 lines (53 loc) · 1.45 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
51
52
53
54
55
import copy from 'rollup-plugin-copy';
import { createUnplugin } from 'unplugin';
import type { UserConfig } from 'vite';
import { defineConfig } from 'vite';
import { loadSemcoreSources } from './website/docs/.vitepress/load-semcore-sources';
import { resolveSemcoreSources } from './website/docs/.vitepress/resolve-semcore-sources';
export default defineConfig({
plugins: [
createUnplugin<{}>(() => ({
name: 'semcore-styles-resolver',
async resolveId(id) {
if (!id.endsWith('.shadow.css')) return null;
return await resolveSemcoreSources(id);
},
loadInclude: (id) => {
return id.includes('/semcore/');
},
async load(id) {
return await loadSemcoreSources(id, true);
},
enforce: 'pre',
})).vite({}),
],
esbuild: {
legalComments: 'inline',
},
build: {
minify: false,
emptyOutDir: false,
outDir: 'lib',
rollupOptions: {
treeshake: false,
external: ['react', 'react-dom', 'react/jsx-runtime', /@babel\/runtime\/*/, /@semcore\/*/],
output: [
{
preserveModules: true,
assetFileNames: 'esm/[name][extname]',
entryFileNames: 'esm/[name].mjs',
format: 'esm',
},
],
plugins: [
// @ts-ignore
copy({
targets: [
{ src: 'src/**/*.shadow.css', dest: 'lib/esm' },
],
flatten: false,
}),
],
},
},
}) as UserConfig;