Augments require() with support for multiple file formats.
... which return a JSON object:
... which return a Javascript module:
- coffeescript (.coffeescript, .coffee)
- livescript (.ls)
- six
- clojurescript (.cljs) - not bundled
- dart - not bundled
- typescript (.ts) - not bundled
... work in progress:
- dynamic libraries
- ruby
- python
Behind the scenes, this module adds handlers to require.extensions.
npm install better-require
/**
* @param {String} optional - formats is a white space separated list of formats you would like require() to support.
*/
// support all available extensions
require('better-require')();
// support a subset of extensions
require('better-require')(formats);
Enable support for all file types:
require('better-require')();
var config = require('./config.json');
console.log(config);
Enable support for only a subset of file types:
require('better-require')('json yaml xml');
// we can now require .xml, .yaml and .xml files!
var config = require('./config.yaml');
console.log(config);
- require-json
- require-yaml
- require-csv
- require-xml
- require-ini
- see package.json