| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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',
- }),
- });
|