require-json5
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

require-json5 Build Status

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-json5

Usage

Include the lib:

const requireJSON5 = require('require-json5');
  1. 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");
  1. Explicitly load a .json file in JSON5 format
let config = requireJSON5("./config.json");
  1. Load a .js file as JSON5 format. This is useful if you don't like the .json5 file extension and prefer to keep JSON5 in .js files.
let config = requireJSON5("./config.js");
  1. Parse a JSON5 string
let config = requireJSON5.parse('{ name: /*a very important option*/ "value" }');
  1. Use JSON5 for all require(.json) calls
require('require-json5').replace();
let config = require("./config"); // can be config.json, config.json5 or config.js
  1. 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.

Package Sidebar

Install

npm i require-json5

Weekly Downloads

8,181

Version

1.3.0

License

MIT

Unpacked Size

14.2 kB

Total Files

13

Last publish

Collaborators

  • duzun