node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป



Javascript implementation of a TOML parser. Browser-compatible.

What is TOML?

TOML is the drunken brainchild of Tom Prestom-Werner, a INI-inspired minimal alternative to YAML for configuration files.

# This is a TOML document. Boom.

title = "TOML Example"

name = "Tom Preston-Werner"
organization = "GitHub"
bio = "GitHub Cofounder & CEO\nLikes tater tots and beer."
dob = 1979-05-27T07:32:00Z # First class dates? Why not?

This becomes the object:

    title: "TOML Example",
    owner: {
        name: "Tom Preston-Werner",
        bio: "Github Cofounder & CEO\nLikes tater tots and beer.",
        dob: [object Date]

Values are interpreted as String, Number, Date, Array and Object instances.


npm install tomljs


var fs   = require('fs')
  , toml = require('toml2')
  , file = fs.readFileSync('config.toml').toString()

var config = toml(file)


git clone
npm install
npm run-script watch

See Cakefile for the build/watch tasks.


Benchmark using test/test.toml:

TOMLjs: 5ms
toml: 8ms (fails to parse the key 'false')
toml-parser: 17ms (fails on deeply nested keys)


Run npm test or mocha on the root folder.