require-json5
v1.3.0
Published
Require JSON5 files in node - a better JSON for ES5 era
Maintainers
Readme
require-json5 
Require JSON5 files in node - a better JSON for the JSNext era
JSON5 is more human friendly, can contain comments, trailing commas, unquoted keys and more!
Install
npm i -S require-json5Usage
Include the lib:
const requireJSON5 = require('require-json5');- Require a JSON5 file
let config = require("./config.json5");
// or w/o the extension, when "./config.json5" exists and there is no "./config.json", nor "./config.js"
let config = require("./config");- Explicitly load a
.jsonfile in JSON5 format
let config = requireJSON5("./config.json");- Load a .js file as JSON5 format.
This is useful if you don't like the
.json5file extension and prefer to keep JSON5 in.jsfiles.
let config = requireJSON5("./config.js");- Parse a JSON5 string
let config = requireJSON5.parse('{ name: /*a very important option*/ "value" }');- Use JSON5 for all
require(.json)calls
require('require-json5').replace();
let config = require("./config"); // can be config.json, config.json5 or config.js- Restore the original
require(.json)
require('require-json5').restore();Example of JSON5
The following is a contrived example, but it illustrates most of the features:
{
foo: 'bar',
while: true,
this: 'is a \
multi-line string',
// this is an inline comment
here: 'is another', // inline comment
/* this is a block comment
that continues on another line */
hex: 0xDEADbeef,
half: .5,
delta: +10,
to: Infinity, // and beyond!
finally: 'a trailing comma',
oh: [
"we shouldn't forget",
'arrays can have',
'trailing commas too',
],
}For more details on the JSON5 format see the json5 library.
