# bgub/eta

Embedded JS template engine for Node, Deno, and the browser. Lighweight, fast, and pluggable. Written in TypeScript

Repository: https://github.com/bgub/eta
Canonical: https://ross.abutalabs.com/products/bgub-eta
Homepage: https://eta.js.org
Language: TypeScript
License: MIT
License Family: permissive
Topics: nodejs, deno, deno-module, typescript, template-engine, expressjs-templating-engine, ejs-alternative, javascript, template-engine-html
Last push: 2026-04-25T18:35:44+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 79, release rhythm 81, longevity 100
- inputs: {"age_days": 2352, "days_push": 130, "days_rel": 130, "gap_med": 0.0, "n_releases_24m": 11}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1754, forks 85 (observed 2026-08-28T04:05:32.038553+00:00)

## What it is
Eta is a lightweight, fast embedded JavaScript templating engine written in TypeScript that runs in Node, Deno, and the browser. It supports layouts, partials, plugins, custom delimiters, caching, and precompilation, positioning itself as a more configurable EJS alternative with only ~3.5 KB minzipped and zero dependencies.

## Use cases
- render html templates in node.js
- ejs alternative for javascript templating
- template engine that works in deno and the browser
- express or fastify view engine for server-side html
- html templates with layouts and partials
- small lightweight templating library for bundling in the frontend

## When to choose
- You want an EJS-like syntax but need Deno support, layouts, or custom delimiters out of the box
- Bundle size and render speed matter - it is ~3.5 KB minzipped with zero dependencies
- You need TypeScript types, ESM exports, informative syntax errors, and plugin/custom-tag extensibility

## When to avoid
- You need component-based or JSX-style templates rather than embedded-tag templates
- You rely on CommonJS require - Eta v4 is ESM-only
- You need a large ecosystem of prebuilt helpers (e.g. Handlebars) or logic-less templating like Mustache

## Facets
- artifact type: library
- maturity: active
- function: templating
- domain: web-development, frontend, backend, developer-tools
- platform: browser
- tags: template-engine, ejs-alternative, html-templates, layouts, partials, express-view-engine, fastify, typescript, esm, zero-dependencies, lightweight, nodejs, deno

## Member repositories
- bgub/eta (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:32.038553+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:28:02.667397+00:00, confidence not recorded.
  - readme: https://github.com/bgub/eta (fetched 2026-08-28T04:05:32.038553+00:00, sha 6ab08681c808)
  - homepage: https://eta.js.org (fetched 2026-08-29T11:06:24.764241+00:00, sha 5a9f2911d33c)
  - site_page: https://eta.js.org/docs (fetched 2026-08-29T11:06:24.773602+00:00, sha e0bf031eb21b)
  - registry_npm: https://registry.npmjs.org/eta (fetched 2026-08-29T11:06:24.775446+00:00, sha 1e2911b42e57)
- Data as of 2026-08-30T08:39:29.467469+00:00.
