TL;DR: JSON/CSON/YAML with ${variables}. Everything's better with variables. And macros.
$16 macros is yet another template engine for Javascript. But unlike most other template engines it expands any kinds of objects, not just strings.
While being designed to be used on top of YAML as a primary input format, the engine itself is format-agnostic: it transforms generic Javascript objects, no matter where they come from.
Install the sixteen-dollar-macros package as a dependence:
$ npm install sixteen-dollar-macros --save
Nothing special here:
$16Macros = require 'sixteen-dollar-macros'
result = $16Macros.expand {hey: '$hi!'},
variables:
hi: 'Hello World'
# {hey: 'Hello World!'}