module-loader-installer
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

FEATURES

  • Load all functions of all your local modules at once just provide a folder path where your .js files located.
  • Auto install all missing dependencies/npm packages used by the .js files (by looking at requires at your code).
  • Auto check if its a local module or npm package module.
  • Can load all local module from multiple directory just provide an array of directory(string).
  • Will not load/import the module if theres an invalid module or error on the code.

New Feature (much faster)

  • Skip checks for local modules like ../../folder/file.js and native modules like fs assert `process' etc..
  • Checks custom modules that you add on node_modules folder that doesn't have package.json.

Installation

npm i module-loader-installer

SUPPORTS BOTH CJS (require) AND ESM (import)

//ECMASCRIPT MODULE
import requires from 'module-loader-installer';

//COMMON JS
const requires = require('module-loader-installer');

Simple Usage

//ECMASCRIPT MODULE
import requires from 'module-loader-installer';
//COMMON JS
const requires = require('module-loader-installer');

(async()=>{
/*
* @params {<array>|<string>} location of your local modules you want to import.
*/
//To load all modules from multiple directories
let modulesLoaded = await requires(__filename,['directory1','directory2','directory3',...])
console.log(modulesLoaded)

//To load all module from a single directory
let modulesLoaded = await requires(__filename,'directory1')
console.log(modulesLoaded)
/* THIS IS THE SAMPLE LOADED MODULES OBJECT STRUCTURE
//{ [fileName] : { [funcName] : [functionInside (anonymous/named)] } }
{
  test1: { a: [Function (anonymous)] },
  test2: { a: [Function (anonymous)], b: [Function (anonymous)] },
  test3: { a: [Function: a], b: [Function: b] },
  test5: [Function (anonymous)],
  test6: [Function (anonymous)],
  test7: [Function (anonymous)] { T: [Function (anonymous)] }
}

//To access these exported modules
console.log(modulesLoaded.test1.a())
console.log(modulesLoaded.test2.a()) or console.log(modulesLoaded.test2.b())
console.log(modulesLoaded.test3.a()) or console.log(modulesLoaded.test3.b())
console.log(modulesLoaded.test5())
console.log(modulesLoaded.test6()) //check test6.js file for more info.
console.log(modulesLoaded.test7()) or console.log(modulesLoaded.test7.T())
*/
})()

Readme

Keywords

none

Package Sidebar

Install

npm i module-loader-installer

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

72.7 kB

Total Files

19

Last publish

Collaborators

  • hackmesenpai