1.4.1 • Published 2 years ago

superimport v1.4.1

Weekly downloads
259
License
MIT
Repository
github
Last release
2 years ago

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:
NameDefaultDescription
recursivefalseIncludes all subdirectories
silentfalseIgnore errors
importTypesfalseSet file extensions to be imported. Uses require.extensions to determine the types by default

Returns an array of all required modules

1.4.1

2 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.1

7 years ago

1.0.0

7 years ago

0.2.0

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago