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
| import { readPackageJSON } from 'pkg-types';
| import { defineConfig, mergeConfig, type UserConfig } from 'vite';
| import dts from 'vite-plugin-dts';
|
| import { commonConfig } from './common';
|
| interface DefineOptions {
| overrides?: UserConfig;
| options?: {
| //
| };
| }
|
| function definePackageConfig(defineOptions: DefineOptions = {}) {
| const { overrides = {} } = defineOptions;
| const root = process.cwd();
| return defineConfig(async ({ mode }) => {
| const { dependencies = {}, peerDependencies = {} } = await readPackageJSON(root);
| const packageConfig: UserConfig = {
| build: {
| lib: {
| entry: 'src/index.ts',
| formats: ['es'],
| fileName: () => 'index.mjs',
| },
| rollupOptions: {
| external: [...Object.keys(dependencies), ...Object.keys(peerDependencies)],
| },
| },
| plugins: [
| dts({
| logLevel: 'error',
| }),
| ],
| };
| const mergedConfig = mergeConfig(commonConfig(mode), packageConfig);
|
| return mergeConfig(mergedConfig, overrides);
| });
| }
|
| export { definePackageConfig };
|
|