Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 1.79 KB

readme.md

File metadata and controls

59 lines (38 loc) · 1.79 KB

filing-cabinet npm npm

Look up a filename based on a partial path

npm install filing-cabinet

Usage

var cabinet = require('filing-cabinet');

var result = cabinet({
  partial: 'somePartialPath',
  directory: 'path/to/all/files',
  filename: 'path/to/parent/file',
  config: 'path/to/requirejs/config'
});

console.log(result);
  • partial: the dependency path
  • This could be in any of the registered languages

Registered languages

By default, filing-cabinet provides support for the following languages:

  • JavaScript (all files with the .js extension)
  • Sass (.scss and .sass)
  • Stylus (.styl)

You can register resolvers for new languages via cabinet.register(extension, resolver).

  • extension: the extension of the file that should use the custom resolver (ex: '.py', '.php')
  • resolver: a function that accepts the following (ordered) arguments that were given to cabinet:
    • partial
    • filename
    • directory
    • config

For examples of resolver implementations, take a look at the default language resolvers:

If a given extension does not have a registered resolver, cabinet will use a generic file resolver which is basically require('path').join with a bit of extension defaulting logic.

Shell script

  • Requires a global install npm install -g filing-cabinet

filing-cabinet [options] <dependencyPath>

  • See filing-cabinet --help for details on the options