rechoir

Require any supported file as a node module.

rechoir

Require any supported file as a node module.

This module can find, require and register any file type the npm ecosystem has a module loader for.

Currently supported extensions:

.co, .coffee, .csv, .iced, .ini, .js, .json, .jsx, .litcoffee, .ls, .toml, .xml, .yaml, .yml

Note: If you'd like to add a new extension, please make a PR for interpret.

Look for a module loader associated with the provided file and attempt require it. If necessary, run any setup required to inject it into require.extensions. If calling this method is successful (aka: it doesn't throw), you can now require files of the type you requested natively.

filepath A file whose type you'd like to register a module loader for.

requireFrom An optional path to start searching for the module required to load the requested file. Defaults to the directory of filepath.

Note: While rechoir will automatically load and register transpilers like coffee-script, you must provide a local installation. The transpilers are not bundled with this module..

var rechoir = require('rechoir');
rechoir.registerFor('path/to/file.coffee');
// coffee-script is now loaded and registered with node 
require('file.coffee');

The underlying interpret module.