![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
NodeDI is a simple Dependency Injection framework loosley based on the AngularJS DI framework
##node-di
Please Share on Twitter if you like #NodeDI
###Description NodeDI is a simple Dependency Injection framework for NodeJS. It has been built with testing in mind and as as such allows you to return mocks for any type of element that can be injected.
###Installation
npm install node-di --save
###Modules Modules are named groups of injected items.
var server = DI.module('serverModule', ['dependency1', 'dependency2']);
###Values Values are the simplest items that can be injected and can be injected and are normally 3rd party modules, primitives or items that do not need to be new'ed up. Values can also have dependencies as described below.
DI.module('serverModule', [])
.value('config', { port:3001, host:'localhost' });
###Services Services are items that do need to be new'ed up but that should be shared between all instances that need the service within a module.
var Passport = require('passport').Passport;
DI.module('serverModule', [])
.service('passport', Passport);
###Factories Factories return a new instance every time one is needed from the dependency injector they are useful when you dynamically need to create items.
function Model(){
var name;
var age;
};
DI.module('serverModule', [])
.factory('model', Model);
###Dependencies. You set an objects dependencies by defining an $inject = []; on the object for example
//------- JobScheduler.js -----//
//Dependencies in the constructor.
function Job(scheduler, config) {
var interval = config.get('job').interval;
this.run = function(job){
scheduler.scheduleJob(interval, job);
}
}
//Set dependencies here.
Job.$inject = ['scheduler', 'config'];
return Job;
//------ Module.js -----//
//Simple config module for example
var config = {interval:new Date(Date.now() + 10000)};
//Use 3rd party library as dependency
var scheduler = require('node-scheduler');
DI.module('jobModule', [])
.value('jobScheduler', require('./JobScheduler')
.value('scheduler', scheduler)
.value('config', config);
###Usage Check the test suite for full usage. ####TODO Usage examples
##Change Log
###0.0.2 Updated Boyant logger to be able to change it's level on the CLI
###0.0.1 Initial Commit
Please Share on Twitter if you like #NodeDI
FAQs
NodeDI is a simple Dependency Injection framework loosley based on the AngularJS DI framework
We found that node-di demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.