Socket
Socket
Sign inDemoInstall

express-hooks

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-hooks - npm Package Compare versions

Comparing version 1.0.0 to 1.0.2

test/test_custom_hook.js

68

index.js

@@ -10,26 +10,41 @@ 'use strict';

let mainModulePath = path.join(path.dirname(module.parent.filename), 'package.json');
const HOOK_PREFIX = 'express-hook';
const MAIN_MODULE_FOLDER = path.dirname(module.parent.filename);
let mainModulePath = path.join(MAIN_MODULE_FOLDER, 'package.json');
let currentPackage = require(mainModulePath);
const HOOK_PREFIX = 'express-hook';
let hooks = {};
if ('dependencies' in currentPackage) {
let HOOKS = {};
for (let depName in currentPackage.dependencies) {
if (depName.indexOf(HOOK_PREFIX) === 0) {
function addHook(hookName, realHookInfo) {
let hookInfo = {
name : hookName,
hooks : {
let hookName = depName.replace(HOOK_PREFIX, '').replace(/^[-]+/, '');
let hookInfo = module.parent.require(depName);
}
};
if (utils.isFunction(hookInfo)) {
hookInfo = {
run : hookInfo
}
}
if (utils.isFunction(realHookInfo)) {
hookInfo.hooks.run = realHookInfo;
}
if (utils.isObject(hookInfo)) {
hookInfo = utils.extendSettings(realHookInfo, hookInfo);
HOOKS[hookName] = hookInfo;
}
}
if (utils.isObject(hookInfo)) hooks[hookName] = hookInfo;
if ('dependencies' in currentPackage) {
for (let depName in currentPackage.dependencies) {
if (depName.indexOf(HOOK_PREFIX) === 0) {
let hookName = depName.replace(HOOK_PREFIX, '').replace(/^[-]+/, '');
let hookInfo = module.parent.require(depName);
addHook(hookName, hookInfo);
}

@@ -41,2 +56,5 @@ }

/**

@@ -61,12 +79,16 @@ * Hooks

if (app) app.hooks = hooks;
if (app) app.hooks = HOOKS;
console.log(HOOKS);
let promiseStack = [];
for (let hookName in hooks) {
if('run' in hooks[hookName] && utils.isFunction(hooks[hookName].run)) {
let localHookSettings = {};
promiseStack.push(hooks[hookName].run(app, localHookSettings, globalSettings));
for (let hookName in HOOKS) {
if('hooks' in HOOKS[hookName] && 'run' in HOOKS[hookName].hooks && utils.isFunction(HOOKS[hookName].hooks.run)) {
let hookInfo = HOOKS[hookName];
promiseStack.push(HOOKS[hookName].hooks.run.apply(hookInfo, [app, globalSettings]));
}
}
Promise.all(promiseStack).then(result => AppEvents.trigger('ready'), error => AppEvents.trigger('error'));

@@ -91,2 +113,10 @@ }

});
}
module.exports.addCustomHook = function (hookPath) {
let hookInfo = module.parent.require(hookPath);
let hoookName = path.basename(hookPath);
addHook(hoookName, hookInfo);
}
{
"name": "express-hooks",
"version": "1.0.0",
"version": "1.0.2",
"description": "Hooks for Express defined in npm modlues",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -0,1 +1,3 @@

'use strict';
var express = require('express');

@@ -20,4 +22,3 @@ var path = require('path');

hookExpress.addCustomHook('./test_custom_hook');
hookExpress(app, {});

@@ -24,0 +25,0 @@

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