32 lines
750 B
TypeScript
32 lines
750 B
TypeScript
import { compile } from "ejs";
|
|
import { readFile } from "node:fs/promises";
|
|
import { relative, resolve } from "node:path";
|
|
import { defineWorkersConfig } from '@cloudflare/vitest-pool-workers/config';
|
|
|
|
export default defineWorkersConfig({
|
|
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: "env",
|
|
views: [resolve(__dirname, "templates")],
|
|
filename: relative(__dirname, id),
|
|
}).toString();
|
|
return `export default ${code}`;
|
|
}
|
|
},
|
|
}
|
|
],
|
|
test: {
|
|
poolOptions: {
|
|
workers: {
|
|
wrangler: { configPath: './wrangler.jsonc' },
|
|
},
|
|
},
|
|
},
|
|
});
|