import-file

1.4.0 • Public • Published

import-file

Build Status

Import the closest file as a node module with loader.

What is it

Say you're writing a CLI tool. You may want the following features:

  • Get the closest configure file
  • Automatically register module loader according to extension name

import-file manages these for you.

Example

/project/my_config.babel.js
export default {
    name: 'awesome',
};
/project/src/index.js
const importFile = require('import-file');
const config = importFile('my_config.babel.js');
console.log(config.name);
cd /project/src && node index
# => `awesome` 

Usage

importFile(filepath[, options])

Import a file as a node module. Return a node module if the file exists, otherwise throw an error.

Arguments
  1. filepath (String): Target file path. If not provide a extension name, it will automatically add extension and register module loader. For more detail of extensions and modules, please read interpret.
  2. options (Object): These are all the available options.
    • cwd (String): The directory resolves from. Defaults to process.cwd()
    • useLoader (Boolean): Enable automatically register module loader according to the adding extension name. Defaults to true
    • useFindUp (Boolean): Find by walking up parent directories. Defaults to true
    • useCache (Boolean): Cache imported file. The same behaviour with node.js require. Default to true.
    • useESDefault (Boolean): Export default in ES module. Default to true.
    • resolvers ([String]): Tell importFile what directories should be searched when resolving files
    • exts ([String]): Extensions white list for loader. Only work if useLoader is true. Defaults to all interpret extensions

importFile.resolve(filepath[, options])

The same with importFile(), but just return the resolved filename. Throw an error if the file is not exists.

Installing

$ npm install import-file

License

MIT

Package Sidebar

Install

npm i import-file

Weekly Downloads

7

Version

1.4.0

License

MIT

Unpacked Size

146 kB

Total Files

9

Last publish

Collaborators

  • cap32