Code Monkey home page Code Monkey logo

nodemoduleloader's Introduction

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())
*/
})()

nodemoduleloader's People

Contributors

lester51 avatar

Stargazers

Mr. RySes avatar John Paul Caigas  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.