Skip to content
Hocon parser for JavaScript and NodeJS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Add grunt tasks and working examples (#9) Mar 25, 2017
src
tests
.gitignore
.travis.yml Remove slack, it's spam Mar 17, 2017
Gruntfile.js
LICENSE.md
README.md
hocon.min.js
hocon.min.js.map
index.js
package.json

README.md

Travis Build Status

HoconJS

This is a very basic Hocon parser written in JavaScript.

It does almost no validation whatsoever but can create an object from most hocon files.

Please feel free to contribute with PRs.

This module is intended to work in the browser and nodejs.

Browser usage :

<script type="text/javascript" src="/node_modules/hocon-parser/hocon.min.js"></script>
<script type="text/javascript">
    var obj = parseHocon(someHoconText);
</script>

NodeJS :

var parseHocon = require('hocon-parser');
var obj = parseHocon(someHoconText);

Scripts

  • Installing : npm install hocon-parser
  • Running tests : npm test
  • Building source : npm run release

Example Output

Input Hocon string:

  myConfig.cool.numb: 5
  myConfig.cool.stuff: {
     x : quotesarebadmmkay
     z : {
       yes: 'no not really'
     }
  }
  myConfig.cool.stuff { z { no='yes yes really' } }
  myConfig.dupe: ${myConfig.cool.stuff.x}
  meinarr [2,3, {x:haha}]
  meinobj {hocon: issoweirdman}
  notherobj : ${meinobj.hocon}

Output object:

{
  "myConfig": {
    "cool": {
      "numb": 5,
      "stuff": {
        "x": "quotesarebadmmkay",
        "z": {
          "yes": "no not really",
          "no": "yes yes really"
        }
      }
    },
    "dupe": "quotesarebadmmkay"
  },
  "meinarr": [2, 3, {
    "x": "haha"
  }],
  "meinobj": {
    "hocon": "issoweirdman"
  },
  "notherobj": "issoweirdman"
}

Features

Feature Completion Example
Objects myKey { myOtherKey: 'myValue' }
Arrays myKey [1,2,3,4]
Comments // some comment # some comment
= and : Separators myKey='myValue'
Unquoted Strings myKey: myString
Multiline Strings (""") myKey: """what's happening"""
Path Expressions myRoot.myKey.someKey : 4
Substitutions myKey: $(myRoot.myKey)
String Concatenation in Arrays myArr: [hello there]
Objects Merging
Value Concatenation
include
You can’t perform that action at this time.