lib-loader

0.5.1 • Public • Published

lib-loader

This is a small module for making library and config loading 100x easier but mostly just less verbose.

Cache your libs

This is an example library structure

|_ index.js
|_ libRunning.js
|_ systemLib/
    |_ settings.json
    |_ awesome_system_module/
        |_ index.js

Place this statment where ever you want to first cache your library. You can only call this once per library otherwise you will recieve an error.

// index.js
require('lib-loader').load({
    // this is the directory your library files reside
    libDir: './systemLib', // defaults to process.cwd()+'/lib'
 
    // this is the key the library will be cached under
    libKey: 'system', // defaults to 'lib'
});

Use your libraries

You can access your cached libraries by using this statment. Notice I use the .system attribute. This is determined by the value we place in libKey. All files and folders are required and cached under require('lib-loader') for easy access.

// libRunning.js
var system = require('lib-loader').system;
system.settings // equivalent to the return of require('./systemLib/settings.json')
system.awesome_system_module // equivalent to the return of require('./systemLib/awesome_system_module/index.js');

Load many libraries

If you are like me you may have several libraries to load.

require('lib-loader').loadMany([
    { libDir: 'systemLib',  libKey: 'system' },
    { libDir: 'webLib',     libKey: 'web' },
    { libDir: 'systemLib2', libKey: 'system2' }
]);

Exluding files

Exclude files using globs checkout minimatch for what is possible.

require('lib-loader').load({
    libDir: './lib',
    libKey: 'lib',
    exclude: [
        '*.json',
        'iDontWantToLoadThis.js'
    ]
});

Checkout the tests directory for a real example.

Package Sidebar

Install

npm i lib-loader

Weekly Downloads

14

Version

0.5.1

License

ISC

Last publish

Collaborators

  • sourcec0de