Files
colanode/apps/server/tsup.config.ts

41 lines
1.1 KiB
TypeScript

import fs from 'fs/promises';
import path from 'path';
import { defineConfig } from 'tsup';
const copyTemplates = async () => {
const srcDir = path.resolve(__dirname, 'src/templates');
const destDir = path.resolve(__dirname, 'dist');
await fs.mkdir(destDir, { recursive: true });
const files = await fs.readdir(srcDir);
for (const file of files) {
if (!file.endsWith('.html')) {
continue;
}
await fs.copyFile(path.join(srcDir, file), path.join(destDir, file));
}
};
export default defineConfig({
entry: ['src/index.ts'],
format: ['esm'],
target: 'es2022',
sourcemap: true,
/**
* The common package is using the internal packages approach, so it needs to
* be transpiled / bundled together with the deployed code.
*/
noExternal: ['@colanode/core', '@colanode/crdt'],
/**
* Do not use tsup for generating d.ts files because it can not generate type
* the definition maps required for go-to-definition to work in our IDE. We
* use tsc for that.
*/
onSuccess: async () => {
await copyTemplates();
},
});