gaoluyang
2026-06-29 27cd042df9aca0383a49f3514bc21958dd890912
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
import { cp, mkdir } from 'node:fs/promises';
import { dirname, join } from 'node:path';
import { fileURLToPath } from 'node:url';
 
import { defineConfig } from 'tsdown';
 
const rootDir = dirname(fileURLToPath(import.meta.url));
const loadingAssets = ['default-loading-antd.html', 'default-loading.html'];
 
export default defineConfig({
  clean: true,
  deps: {
    neverBundle: ['@vben/node-utils'],
    skipNodeModulesBundle: true,
  },
  dts: {
    resolver: 'tsc',
  },
  entry: ['src/index.ts'],
  format: ['esm'],
  hooks: {
    'build:done': async (context) => {
      const outDir = context.options.outDir;
      if (!outDir) {
        return;
      }
 
      await mkdir(outDir, { recursive: true });
 
      for (const file of loadingAssets) {
        await cp(
          join(rootDir, 'src/plugins/inject-app-loading', file),
          join(outDir, file),
        );
      }
    },
  },
  outExtensions: () => ({
    dts: '.d.ts',
  }),
});