You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
911 B
40 lines
911 B
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: {
|
|
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',
|
|
}),
|
|
});
|
|
|