Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests
.eslintrc
.gitignore
.gitlab-ci.yml
.travis.yml
LICENSE.md
README.md
index.js
package-lock.json
package.json

README.md

superimport

Build Status

Tries to import a node module from the parent module dir or current working dir. This was build for the logtopus logger. We need a way to load optional modules from the $PROJECT_DIR/node_modules/ dir which is using logtopus, to load optional dependencies.

For example:

The logtopus module should load logtopus-redis-logger, but not from its own node_modules directory. It should be load from $PROJECT_DIR/node_modules folder. This gives developers the opportunity to load optional dependencies from the $PROJECT folder.

The logtopus module loads an optional module with superimport

// logtopus/index.js
const superimport = require('superimport');
const redisLogger = superimport('logtopus-redis-logger');

A third part module uses logtopus and contains the optional module as a dependency

// mymodule/example.js
const logtopus = require('logtopus');

In this example tries logtopus to require logtopus-redis-logger in this order:

  1. mymodule/node_modules/logtopus-redis-logger
  2. <cwd>/node_modules/logtopus-redis-logger
  3. ../node_modules/logtopus-redis-logger (goes up until /node_modules)
  4. return null

And optional second argument overrides the directories which may contain an optional module

const dirs = ['../foo/node_modules', '../bar/libs/'];
const mod = superimport('somemodule', dirs);

Methods

superimport(str moduleName [, arr importDirs])

See description above

superimport.importAll(arr dir [, obj options])

Imports all .js or .node files from dir. The second options argument is optional and changes the behaviour. Prior version 1.3.0, the second argument was a boolean and enabled recursive search. This is deprecated now.

Options:
Name Default Description
recursive false Includes all subdirectories
silent false Ignore errors

Returns an array of all required modules

You can’t perform that action at this time.