暫無描述

Fined Build Status Build Status Coverage

Find a file given a declaration of locations

NPM

Usage

var fined = require('fined');

fined({ path: 'path/to/file', extensions: ['.js', '.json'] });
// => { path: '/absolute/path/to/file.js', extension: '.js' }  (if file exists)
// => null  (if file does not exist)

var opts = {
  name: '.app',
  cwd: '.',
  extensions: {
    'rc': 'default-rc-loader', 
    '.yml': 'default-yml-loader',
  },
};

fined({ path: '.' }, opts);
// => { path: '/absolute/of/cwd/.app.yml', extension: { '.yml': 'default-yml-loader' } }

fined({ path: '~', extensions: { 'rc': 'some-special-rc-loader' } }, opts);
// => { path: '/User/home/.apprc', extension: { 'rc': 'some-special-rc-loader' } }

API

fined(pathObj, opts) => object | null

Arguments:

  • pathObj [string | object] : a path setting for finding a file.
  • opts [object] : a plain object supplements pathObj.

pathObj and opts can have same properties:

  • path [string] : a path string.
  • name [string] : a basename.
  • extensions: [string | array | object] : extensions.
  • cwd: a base directory of path and for finding up.
  • findUp: [boolean] : a flag to find up.

Return:

This function returns a plain object which consists of following properties if a file exists otherwise null.

  • path : an absolute path
  • extension : a string or a plain object of extension.

License

MIT