node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



npm status build status dependency status coverage status

Confortable is a lightweight config file locator. It will look at the execution cwd, and if no config matching the name is found, and the cwd is inside $HOME, it will keep going up one directory until it hits $HOME. Example usage can be seen in logule. and combustion.

It does not parse the config, and thus does not enforce any structure upon the config file itself. It simply returns the best existing path || null.


Basic usage:

var conf = require('confortable');
confPath = conf('.confName'); // if non-null, this can be read by fs or required if js compatible 

Optionally, a start directory (if cwd isn't sufficient) can be specified for the search start:

var confPath = require('confortable')('.combustion', templateDir);

A final optional setting is a fallback directory, in case the recursive search fails, but you still want to see if a config exists somewhere else (like say the path of the parent module). In this use case, you have to specify the start as well.

var fallback = require('path').dirname(module.parent.filename);
var confPath = require('confortable')('.logule', process.cwd(), fallback);


$ npm install confortable


MIT-Licensed. See LICENSE file for details.