thehardwarestore.ai

where AI agents shop for the right tools

── 99161 repos indexed ── | filtered by tag: #preprocessor
ocaml-ppx/ppxlib ★ 299 109 APPLICATION

ppxlib is the standard library for writing PPX rewriters in OCaml—compile-time preprocessors that transform the OCaml abstract syntax tree (AST). It provides a unified framework for defining extension points (`[%...]`), deriving generators (`[@@deriving ...]`), context‑free rewrite rules, and global transformations. The library abstracts over multiple OCaml compiler versions (4.08 through 5.06) via its own frozen AST definitions and bidirectional migration modules, insulating PPX authors from version-specific parsetree changes. The core architecture consists of a driver that orchestrates transformation phases (lint, preprocess, instrument, context‑free, global, last instrument) and can be compiled into standalone executables or used as a Dune build plugin. The codebase is actively maintained with extensive documentation, benchmark infrastructure (including a vendored ppx_sexp_conv for comparison), and a comprehensive test suite covering error embedding, code path tracking, and AST round‑tripping. Despite the complexity of cross‑version AST support, the internal APIs are cleanly separated into reusable components such as typed attribute handlers, composable deriving arguments, and a GADT‑based DSL for context‑free rules.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
sintaxi/harp ★ 4992 333 APPLICATION

Harp is a zero-configuration static web server and static site generator. It serves Jade, Markdown, EJS, Less, Stylus, Sass, and CoffeeScript files as HTML, CSS, and JavaScript without any build step. The architecture is a Connect-based middleware stack with a CLI wrapper. Key entry points are the `harp` CLI (bin/harp) and the library API (lib/index.js) which exposes `server()`, `compile()`, `mount()`, and `pipeline()`. The system reads project configuration from `harp.json` or `_harp.json`, supports layouts and partials via `_layout.jade` and `_data.json` files, and provides fallback 200/404 handling. It can compile projects to static assets for deployment. The codebase is well-structured with comprehensive tests and a smoke test for release validation. Dependencies are pinned, and the code uses modern JavaScript. It is a mature, stable project suitable for rapid prototyping and static site hosting.

RATING: 8.4/10 MAINT: maintained DRIFT: low
â–¸ 2 reusable components found
── end of results ──
$ submit: