Skip to main content

⭐️ Features

·205 words

Data Transformation
#

Filtering
#

$filter supports structured conditions with field, op, and value.

Supported operators:

  • eq, neq
  • gt, gte, lt, lte
  • contains
  • exists
  • regeq, regneq

Child $filter overrides parent $filter when both are present.

Sanitization
#

  • $pick: keep only selected fields.
  • $omit: remove selected fields.

Visibility Control
#

$private: true suppresses generation of the target endpoint and all descendants.

$emit controls endpoint emission at that node.

  • $emit: ["list"] emits only collection endpoints.
  • $emit: ["ids"] emits only per-item endpoints.
  • $emit: ["list", "ids"] emits both.
  • $emit: [] emits neither (allowed).

Legacy $emit_list, $emit_id, and $emit_items are still accepted for backward compatibility.

Aggregation
#

$aggregate bundles multiple endpoints or collections into one endpoint payload.

Template Expansion
#

Template keys such as ${year} can be expanded by:

  • $values for static lists.
  • $derive for values extracted from loaded source data.

Build and Runtime Experience
#

  • Incremental builds via file hash cache.
  • Automatic TypeScript .d.ts generation.
  • Automatic media asset copy and path rewrite for referenced local files.

Platform Integration
#

  • Automatic _headers generation for Cloudflare Pages and Netlify.
  • Automatic vercel.json generation for Vercel CORS/header behavior.

Serializer Flexibility
#

  • JSON output for static API endpoints.
  • TypeScript/JavaScript module output for frontend build pipelines.
  • SQLite output for offline/local query scenarios.
  • Per-serializer minify option.