New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

convenient-di

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

convenient-di - npm Package Compare versions

Comparing version 1.1.0 to 2.0.0

35

lib/services/container.js

@@ -5,2 +5,3 @@ const {ContainerBuilder, Reference} = require('node-dependency-injection');

const _ = require('lodash');
const camelCase = require('camelcase');

@@ -48,3 +49,8 @@ class Container extends require('events').EventEmitter {

let serviceConfig = this.config.services[serviceName];
let registered = this.builder.register(serviceName, require(serviceConfig.path));
let toRegister = serviceConfig.className?
require(serviceConfig.path)[serviceConfig.className]:
require(serviceConfig.path);
var registered = this.builder.register(serviceName, toRegister);
serviceConfig.dependencies.forEach((dependencyName)=>{

@@ -98,9 +104,26 @@ registered.addArgument(new Reference(dependencyName));

setupImportedServices(config){
const decamelize = require('decamelize');
Object.keys(config.services).forEach((serviceConfigName) => {
if (serviceConfigName.indexOf('$') != 0) return;
let containerModuleName = decamelize(serviceConfigName.substring(1), '-');
//overwrite the path with the actual service path
config.services[serviceConfigName].path = require.resolve(containerModuleName);
config.services[serviceConfigName].dependencies = this.common.utils.getConstructorArgumentNamesFromPath(config.services[serviceConfigName].path);
var containerModuleName = serviceConfigName.substring(1);
let className;
if (serviceConfigName.indexOf('::') > -1){
containerModuleName = containerModuleName.split('::')[0];
className = serviceConfigName.split('::')[1];
}
let serviceConfig = config.services[serviceConfigName];
let containerModuleAliasName = camelCase(containerModuleName);
let moduleAbsolutePath = require.resolve(containerModuleName);
let containerModuleAliasConfig = {
path:moduleAbsolutePath,
className,
//overwrite the path with the actual service path
dependencies:this.common.utils.getConstructorArgumentNamesFromPath(moduleAbsolutePath, className),
config:serviceConfig.config
};
config.services[containerModuleAliasName] = containerModuleAliasConfig;
//remove the $ configuration
delete config.services[serviceConfigName];
});

@@ -107,0 +130,0 @@ return config;

3

lib/services/service-base.js

@@ -46,3 +46,3 @@ const finder = require('find-package-json');

}
let containerConfig = config.services['$' + camelCase(packageName)].config;
let containerConfig = config.services[camelCase(packageName)].config;
containerConfig.projectPath = `${modulePath}${path.sep}lib`;

@@ -66,3 +66,2 @@ return containerConfig;

this.container.merge(this);
this.hello = true;
}

@@ -69,0 +68,0 @@

{
"name": "convenient-di",
"version": "1.1.0",
"version": "2.0.0",
"description": "Dependency injection via a layout / folder structure convention for service modules.",

@@ -22,3 +22,3 @@ "main": "index.js",

"node-dependency-injection": "^2.3.3",
"plebs": "^1.0.1"
"plebs": "^1.1.0"
},

@@ -25,0 +25,0 @@ "pre-commit": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc