finds.dev← search

// the find

harttle/liquidjs

★ 1,877 · TypeScript · MIT · updated Oct 2026

A simple, expressive, safe and Shopify compatible template engine in pure JavaScript.

LiquidJS is a pure JavaScript implementation of Liquid, the template language behind Shopify themes and Jekyll sites. It runs in Node, in the browser through a UMD bundle, and from the CLI, with TypeScript types included. It suits anyone who needs Liquid templates in a JS stack and wants existing Shopify or Jekyll templates to keep working.

- Actively maintained: the last push was 2026-10-01, and the repo runs build, test, coverage and performance workflows in CI rather than a single smoke test.

- Extension points get their own docs pages (register filters and tags, plugins, drops, and the sync versus async split), so custom behavior doesn't have to be reverse-engineered from the source.

- The README lists Eleventy, GitHub Docs, Shopify CLI and Kibana as users, which is a decent signal the engine has been exercised outside its own test suite.

- The default API is async. The quickstart uses `await engine.parseAndRender`, so synchronous callers such as build scripts and some server paths need the separate sync API, and the sync-and-async page is worth reading before mixing the two.

- Compatible means the common path, not the whole language. Edge cases in filters and whitespace control are where any port drifts from the Ruby original, so check the differences page against the templates you actually have.

- Safe is asserted but not explained. The README doesn't say what the safety covers, so read the security model page before letting end users author templates, and review which drops and filters you expose.

- It looks like a one-maintainer project. The contributor table marks only harttle for maintenance, so the bus factor is one. The recent push is reassuring, but check the commit history before depending on it for anything critical.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →