aboutsummaryrefslogtreecommitdiff
path: root/scripts/compile-views.ts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/compile-views.ts')
-rw-r--r--scripts/compile-views.ts29
1 files changed, 0 insertions, 29 deletions
diff --git a/scripts/compile-views.ts b/scripts/compile-views.ts
deleted file mode 100644
index 785efc1..0000000
--- a/scripts/compile-views.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-// Precompiles views/*.eta into plain functions for the Cloudflare Workers
-// build (src/views.generated.ts). Workers disallow runtime code generation
-// (`new Function`), so Eta cannot compile templates there at request time.
-import { Eta } from "eta";
-import fs from "node:fs";
-import path from "node:path";
-
-const root = path.join(import.meta.dirname, "..");
-const viewsDir = path.join(root, "views");
-const eta = new Eta({ views: viewsDir });
-
-const names = fs
- .readdirSync(viewsDir)
- .filter((name) => name.endsWith(".eta"))
- .sort();
-
-let out = `// @ts-nocheck
-// Generated by scripts/compile-views.ts -- do not edit.
-export const views = {
-`;
-for (const name of names) {
- const source = fs.readFileSync(path.join(viewsDir, name), "utf8");
- const body = eta.compileToString(source);
- out += ` ${JSON.stringify(name)}: function (it, options) {\n${body}\n },\n`;
-}
-out += "};\n";
-
-fs.writeFileSync(path.join(root, "src", "views.generated.ts"), out);
-console.log(`Compiled ${names.length} templates to src/views.generated.ts`);