Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including confortable with all npm packages installed. Try it out:

var confortable = require("confortable")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

confortable v1.0.0

Finds the right recursively placed config file


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.


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free