diff --git a/lib/extension-wrapper.coffee b/lib/extension-wrapper.coffee index ac22510..29cd095 100644 --- a/lib/extension-wrapper.coffee +++ b/lib/extension-wrapper.coffee @@ -20,7 +20,7 @@ script = require("#{process.argv[2]}/#{process.argv[3]}") process.on('message', (message) -> - script[message[1]](message.slice(2), (err, res) -> + script[message[1][0]](message[1].slice(1), (err, res) -> throw err if err process.send([message[0], res]) ) diff --git a/lib/extensions.coffee b/lib/extensions.coffee index 8520f94..12db54d 100644 --- a/lib/extensions.coffee +++ b/lib/extensions.coffee @@ -36,7 +36,7 @@ messageHandler = (message) -> run = (args, callback) -> scriptName = args[0] if not processes[scriptName]? - cwd = path.resolve(config.get('CONFIG_DIR'), 'extensions') + cwd = path.resolve(config.get('CONFIG_DIR'), 'ext') p = childProcess.fork('lib/extension-wrapper', [cwd, scriptName]) p.on('message', messageHandler) processes[scriptName] = p diff --git a/lib/sandbox.coffee b/lib/sandbox.coffee index c2ecf63..43414a0 100644 --- a/lib/sandbox.coffee +++ b/lib/sandbox.coffee @@ -54,7 +54,7 @@ Object.defineProperty(sandbox.context, 'ext', {value: () -> extCall = (String(a) for a in arguments) key = JSON.stringify(extCall) - if not sandbox.extensionsCache[sandbox.revision]?[key]? + if not sandbox.extensionsCache[sandbox.revision]? or key not of sandbox.extensionsCache[sandbox.revision] sandbox.extensions = [extCall] throw new Exit()