README
get-module-file
This module is a utility for finding the path to a file within an installed module.
Example
Let's assume you have the following project structure:
-- my_module
|
|
-- node_modules
| |
| |
| -- style_mod
| |
| |
| -- style.css
|
|
-- lib
|
|
-- foo.js
For some reason your foo.js
needs to read the contents of style.css
. But
a module of assets usually cannot be require
d (e.g. concise.css).
On top of that, the node_modules
directory may not be where you think if your
module is installed in another module; with npm3 the style_mod
module could
be in the parent module's node_modules
.
Solution: use get-file-module
to find the file:
const gfm = require('get-file-module');
gfm.future(__dirname, 'style_mod', '/style.css')
.then(function(filePath) {
// read the file and do whatever is you need to do
});
API
async(startDir, moduleName, filePath, callback)
startDir
: the directory from which to start looking fornode_modules
moduleName
: the name of the module that contains the file you wantfilePath
: relative path to the file from the module directorycallback
: a function with parameterserror
andresolvedPath
.
sync(startDir, moduleName, filePath)
startDir
: the directory from which to start looking fornode_modules
moduleName
: the name of the module that contains the file you wantfilePath
: relative path to the file from the module directory- returns:
false
on error (i.e. can't find file) or the resolved file path
future(startDir, moduleName, filePath)
startDir
: the directory from which to start looking fornode_modules
moduleName
: the name of the module that contains the file you wantfilePath
: relative path to the file from the module directory- returns: a
Promise
that has the resolved file path on resolution and anError
on rejection (couldn't find the file)