Make your log messages shine and sparkle

Usage no npm install needed!

<script type="module">
  import rapidusSparkle from 'https://cdn.skypack.dev/rapidus-sparkle';



NPM Version Build Status Coverage Status

A string formatter that creates shiny strings that sparkle with colour. Built using pegjs and chalk.


npm install --save rapidus-sparkle


// Create a formatter
var frmt = require('rapidus-sparkle')('%{red :foo %{:middle-#-} %{blue:bar}, yo!}')

// Format things
console.log(frmt({ foo: 'a foo thing'
                 , bar: 'a bar thing'
                 , middle: 'green'


  • :attr replace place holder with value from object.

    sparkle('hello :subj')({subj: 'world'}) will create the string "hello world"

  • %{color ...} applies a colour to the text up until the matching }

    The colour can either be specified as a literal colour name or it can be resolved from an attribute of the object.

    sparkle('%{blue hello!}')({}) uses a literal colur and will create the string "hello!" in blue. And sparkle('%{:foo hello!}')({foo: 'green'}) uses foo from the object to create the string "hello!" in green.

    For a full list of available colours see the chalk page

  • %% insert a literal "%"

Trying to find a memory in a dark room