go-vanity/vite.config.ts

27 lines
669 B
TypeScript

import { defineConfig } from 'vite';
import { compile } from "ejs";
import { readFile } from "node:fs/promises";
import { relative, resolve } from "node:path";
import { cloudflare } from '@cloudflare/vite-plugin';
export default defineConfig({
plugins: [
{
name: 'ejs',
async transform(_, id) {
if (id.endsWith('.ejs')) {
const src = await readFile(id, 'utf-8');
const code = compile(src, {
client: true,
strict: true,
localsName: 'data',
views: [resolve(__dirname, 'templates')],
filename: relative(__dirname, id),
}).toString();
return `export default ${code}`;
}
},
},
cloudflare(),
],
});