-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
54 lines (50 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
import fs from 'fs';
import {defineConfig} from 'vite';
import dtsPlugin from 'vite-plugin-dts';
import type vitestTypes from 'vitest';
const BUILD_PATHS = {
dtsPluginOutput: '/dist/src/',
dtsFixedOutput: '/dist/types/',
dtsEntryFile: './dist/index.d.ts',
};
const DTS_ENTRY_CONTENT = `export * from './types/index';`;
const testConfig: vitestTypes.InlineConfig = {
global: true,
};
export default defineConfig({
test: testConfig,
plugins: [
dtsPlugin({
beforeWriteFile(filePath, content) {
return {
filePath: filePath.replace(
BUILD_PATHS.dtsPluginOutput,
BUILD_PATHS.dtsFixedOutput,
),
content,
};
},
afterBuild() {
fs.promises
.writeFile(BUILD_PATHS.dtsEntryFile, DTS_ENTRY_CONTENT)
.then((_success) =>
// eslint-disable-next-line no-console
console.log('The build types have been generated.'),
)
.catch(() =>
// eslint-disable-next-line no-console
console.error('There was a problem processing the build.'),
);
},
}),
],
build: {
lib: {
entry: 'src/index.ts',
name: 'Template Common',
fileName: (format) => `template-common.${format}.js`,
},
// rollupOptions: {},
minify: false,
},
});