{"_id":"injekt","_rev":"28-3b4d126dd613f288e88331b911706a72","name":"injekt","description":"A tiny dependency injection framework for NodeJS","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"injekt","version":"0.1.0","description":"λ -- Injekt-lambda. [κ.core]","private":false,"main":"injekt.js","dependencies":{},"author":{"name":"Sergio Segoloni","email":"<mks@klabo.org"},"repository":{"type":"git","url":"https://github.com/mks/injekt.git"},"readme":"\n\t·┌┐  │┌─┐│┌ ├─\n\t││││ ┤├─┘├┴┐│ \n\t┘ └┘└┘└─ │ └└┘ - v0.0.0","_id":"injekt@0.1.0","dist":{"shasum":"f7e182415ca3fc3527a0f091ea4ba5777b934c77","tarball":"https://registry.npmjs.org/injekt/-/injekt-0.1.0.tgz","integrity":"sha512-k2jXBXqwHwyXzCCDc2zQvD1eN8MPDn3mVy3kU+XGTGLQldo63/fLI7bleqRfnJa/eqmUw4cvA1VhjUTGSmSNyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1fawm7kNbN8a36q3ltDUKP9FYITsmcYaoFZeLG9YauwIhALuq0FRs7NvbfDy0G+RhAglgL5AUMkI2YSVCi5r2IROz"}]},"_npmVersion":"1.1.63","_npmUser":{"name":"mikrosystheme","email":"mks@klabo.org"},"maintainers":[{"name":"mikrosystheme","email":"mks@klabo.org"}],"directories":{}},"0.1.5":{"name":"injekt","version":"0.1.5","homepage":"https://github.com/aeberlin/injekt","author":{"name":"Adam Eberlin","email":"ae@adameberlin.com"},"description":"A tiny dependency injection framework for NodeJS","keywords":["dependency","injection","inheritance"],"license":"MIT","preferGlobal":false,"analyze":false,"scripts":{"test":"vows --spec --isolate"},"main":"./lib/injekt.js","repository":{"type":"git","url":"https://github.com/aeberlin/injekt.git"},"dependencies":{},"devDependencies":{"vows":"0.7.x"},"bundleDependencies":[],"engines":{"node":">=0.8"},"readme":"## injekt (stable - pending vows) ##\n\na tiny dependency injection framework for [NodeJS](http://nodejs.org/)\n\n### Example Usage ###\n\n    require('./lib/injekt.js')({\n      'globals' : {\n        /* pre-injected mocks */\n      },\n      /* all these interfaces are currently required (transitional) */\n      'interfaces' : {\n        'fs' : require('fs'),\n        'path' : require('path'),\n        'vm' : require('vm'),\n        'util' : require('util')\n      }\n    }, global);\n    \n    var my_module = injekt(module_path, mocks_hash, default_context);\n    \n* `module_path` is relative to the working directory, instead of the file location (as is with `require(..)`)\n    \n* see [example.js](https://github.com/aeberlin/injekt/blob/master/example.js) for the most up-to-date usage\n\n### Current Goals ###\n\n1. write vows + documentation\n2. isolate each injekt + require so we can self-embed into `current_context`\n3. continue work on the inheritance extensions\n\n### Future Thoughts ###\n\n* use itself to inject it's own dependencies\n* setup compatability with [RequireJS](http://www.requirejs.org) (replace `interfaces` with single interface)\n\n### Further Notes ###\n\n* released under the [MIT License](http://www.opensource.org/licenses/MIT)\n* documentation is still sparse and under construction\n* currently not concerned with backwards compatibility (still semi-experimental)","readmeFilename":"README.md","_id":"injekt@0.1.5","dist":{"shasum":"c33ba98b9601192b1f7e283e7e663e11cae4317b","tarball":"https://registry.npmjs.org/injekt/-/injekt-0.1.5.tgz","integrity":"sha512-hBIk8QL7Tzb6uDsUiyOaetTH3qoIasgjXIjV5w1sB1cNmO8OCArTEdQjlYW2ftPtGub+FOJtbeOtb2cQ1PLRRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgEgr8L7UAUB+/bXOsAbAqZ6DeW1VqC+yvSzgX2TgB+QIgAqvRhcP2HcrDz2E+DVA2gRlVVDBhOA5xefNcEOFp1bE="}]},"_npmVersion":"1.1.70","_npmUser":{"name":"aeberlin","email":"ae@adameberlin.com"},"maintainers":[{"name":"mikrosystheme","email":"mks@klabo.org"},{"name":"aeberlin","email":"ae@adameberlin.com"}],"directories":{}},"0.1.7":{"name":"injekt","version":"0.1.7","homepage":"https://github.com/aeberlin/injekt","author":{"name":"Adam Eberlin","email":"ae@adameberlin.com"},"description":"A tiny dependency injection framework for NodeJS","keywords":["dependency","injection","inheritance"],"license":"MIT","preferGlobal":false,"analyze":false,"scripts":{"test":"vows --spec --isolate test/*-vows.js"},"main":"./lib/injekt.js","repository":{"type":"git","url":"https://github.com/aeberlin/injekt.git"},"dependencies":{"contextify":"0.1.5"},"devDependencies":{"should":"1.2.x","vows":"0.7.x"},"bundleDependencies":[],"engines":{"node":">=0.8"},"readme":"## injekt (stable) ##\n\na tiny dependency injection framework for [NodeJS](http://nodejs.org/)\n\n### Installation ###\n\n    npm install injekt\n\n### Example Usage ###\n\n    // usage: require('injekt')(options, closure);\n    require('injekt')({\n      'embeds' : {\n        'EmptyObject' : Object.create({})\n      }\n    });\n    \n    // usage: injekt(module_path, options);\n    var my_module = injekt('./my_module.js', {\n      'mocks' : {\n        'MyMock' : require('./my_mock.js')\n      },\n      'context' : { \n        'foo' : bar\n      },\n      'embed' : true\n    });;\n    \n* more documentation under construction\n\n### Current Goals ###\n\n1. write vows (50% complete)\n2. write documentation\n\n### Future Thoughts ###\n\n* use factories for `params` parsing / `properties` building\n* use itself to inject it's own dependencies\n* setup compatability with [RequireJS](http://www.requirejs.org) (use `interface` option)\n\n### Further Notes ###\n\n* released under the [MIT License](http://www.opensource.org/licenses/MIT)\n* tested via the [`should`](https://npmjs.org/package/should) and [`vows`](https://npmjs.org/package/vows) packages\n* documentation is still sparse and under construction\n* currently not concerned with backwards compatibility (still semi-experimental)\n","readmeFilename":"README.md","_id":"injekt@0.1.7","dist":{"shasum":"3eec71c2dd7aab62d980f2c898282d5a3d2aeeb1","tarball":"https://registry.npmjs.org/injekt/-/injekt-0.1.7.tgz","integrity":"sha512-J5IrDEBznYRtN4Z5w75uGqPg8iBzea33pZcVzchLHmTTlNDKvYhTeup3dS9d40T+tFao+V8hI4xrwG4gbj4wLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSfBGQiAJuo3tcZRTyM9320liKNNz3q65UaJIMniAO5wIgb/b/buFDOK2PwLhhORYL8JxAZG2Sxh4ejVsEtzNEwAg="}]},"_npmVersion":"1.1.70","_npmUser":{"name":"aeberlin","email":"ae@adameberlin.com"},"maintainers":[{"name":"aeberlin","email":"ae@adameberlin.com"}],"directories":{}},"0.1.8":{"name":"injekt","version":"0.1.8","homepage":"https://github.com/aeberlin/injekt","author":{"name":"Adam Eberlin","email":"ae@adameberlin.com"},"description":"A tiny dependency injection framework for NodeJS","keywords":["dependency","injection","inheritance"],"license":"MIT","preferGlobal":false,"analyze":false,"scripts":{"test":"vows --spec --isolate test/*-vows.js"},"main":"./lib/injekt.js","repository":{"type":"git","url":"https://github.com/aeberlin/injekt.git"},"dependencies":{"contextify":"0.1.5"},"devDependencies":{"should":"1.2.x","vows":"0.7.x"},"bundleDependencies":[],"engines":{"node":">=0.8"},"readme":"## injekt (stable) ##\n\na tiny dependency injection framework for [NodeJS](http://nodejs.org/)\n\n### Installation ###\n\n    npm install injekt\n\n### Syntax + Usage ###\n\n###### Library Instantiation: `require('injekt')(default_options, closure);`\n\n    require('injekt')({\n      'context' : {\n        'inspect' : require('util').inspect\n      },\n      'mocks' : { \n        'EmptyObject' : Object.create({ })\n      }\n    });\n\n\n###### Module Injection: `injekt(module_path, options);`\n    \n    var my_module = injekt('./my_module.js', {\n      'context' : { \n        'fs' : require('fs')\n      },\n      'mocks' : {\n        'Foo' : Object.create({ bar: function () { return 'YIPPPEEEE!'; } })\n      }\n    });;\n\n\n* NOTE: `module_path` resolution is still a little wonky (confirmed bug).\n* more documentation under construction\n\n### Current Goals ###\n\n1. set up milestones on [GitHub](https://github.com/aeberlin/injekt/issues)\n2. transfer repository to the `arkbot` github account\n2. finish writing vows (~80% complete)\n3. write documentation\n\n### Future Thoughts ###\n\n* standardize the `module_path` resolution with that of `require()`\n* use factories for `params` parsing / `properties` building\n* use itself to inject it's own dependencies\n* setup compatability with [RequireJS](http://www.requirejs.org)\n\n### Bug Reports + Feature Requests ###\n\n* please submit an issue on [GitHub](https://github.com/aeberlin/injekt/issues) (contact me directly before sending a pull request)\n\n* please attach at least one of the following for bug reports:\n\n  * diagnostic procedure\n  * sample code\n  * assertion tests\n\n### Further Notes ###\n\n* released under the [MIT License](http://www.opensource.org/licenses/MIT)\n* tested via the [`should`](https://npmjs.org/package/should) and [`vows`](https://npmjs.org/package/vows) packages\n* recommended waiting until version 0.2.0 before using outside a risk-free environment.\n* documentation is still sparse and under construction","readmeFilename":"README.md","_id":"injekt@0.1.8","dist":{"shasum":"8aca72ddd97cabb9d840fca487e069794967f066","tarball":"https://registry.npmjs.org/injekt/-/injekt-0.1.8.tgz","integrity":"sha512-uBvd7Ew7UU7c8LBfQNDKTU28H0A47PkU7sICpR8QXappSGGcx79u1Ku5gZGlRJc3fyQe41+k1txuTLsRCvmoqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDY0/JPilA9n9dObDrJ544ycwPc7tEpp4IUA6uJDihzUAIhALgkzKaKm1anXe0I3Sy3UVUN2D7UsT4QZVI0yXH5HVRL"}]},"_npmVersion":"1.1.70","_npmUser":{"name":"aeberlin","email":"ae@adameberlin.com"},"maintainers":[{"name":"aeberlin","email":"ae@adameberlin.com"},{"name":"arkbot","email":"webmaster@arkbot.com"}],"directories":{}},"0.1.9":{"name":"injekt","version":"0.1.9","homepage":"https://github.com/arkbot/injekt","author":{"name":"Arkbot Industries","email":"webmaster@arkbot.com"},"description":"A tiny dependency injection framework for NodeJS","keywords":["dependency","injection","context","isolation","mock"],"licenses":[{"type":"MIT","url":"https://github.com/arkbot/injekt/blob/master/LICENSE.txt"}],"preferGlobal":false,"analyze":false,"contributors":[{"name":"Adam Eberlin","email":"adam@arkbot.com"}],"scripts":{"test":"vows --spec --isolate test/*-vows.js"},"main":"./lib/index.js","repository":{"type":"git","url":"https://github.com/arkbot/injekt.git"},"dependencies":{"contextify":"0.1.x"},"devDependencies":{"should":"2.0.x","vows":"0.7.x"},"bundleDependencies":[],"engines":{"node":">=0.8"},"readme":"[![INJEKT - Simple Dependency Injection](https://raw.github.com/arkbot/injekt/master/resources/images/logo-small.png)](https://github.com/arkbot/injekt)\n\nINJEKT is a tiny, integration-tested dependency injection framework for [NodeJS](http://nodejs.org/).\n\n* [Background Philosophy](#background-philosophy)\n* [Installation](#installation-options)\n* [Library Instantiation](#syntax-library-instantiation)\n* [Module Injection](#syntax-module-injection)\n* [Current Goals](#current-goals)\n* [Future Thoughts](#future-thoughts)\n* [Bug Reports + Other Requests](#bug-reports--other-requests)\n* [Further Notes](#further-notes)\n\nFeel free to [skip ahead](#installation-options) if you know what you're looking for.\n\n# Background Philosophy ##\n\n> **NOTE: This section is still under construction.**\n\n# Installation Options\n\nIn addition to the options below, you can download either the [raw export](https://raw.github.com/arkbot/injekt/master/lib/injekt.js) or [package tarball](https://github.com/arkbot/injekt/tarball/master).\n\n### Install via `npm`:\n\n    npm install injekt\n\n### Clone GIT repository:\n\n    git clone git@github.com:arkbot/injekt.git\n\n# Syntax: Library Instantiation\n\n> General Usage: `require('injekt')(` `default_options` `[, closure]` `);`\n\nThe following examples are all valid. Use them wisely.\n\n### Minimal Reference\n\n```javascript\nvar injekt = require('injekt')();\n```\n\n* NOTE: `closure` defaults to empty `{ }` when `default_options` are excluded.\n\n### Reference via `require(...)`: `injekt(...)`\n\n```javascript\nvar injekt = require('injekt')({\n  'context' : {\n    'inspect' : require('util').inspect\n  },\n  'mocks' : { \n    'assert' : require('should')\n  }\n}, { });\n```\n\n### Reference via `closure`: `closure.injekt(...)`\n\n```javascript\nvar closure = {};\n\nrequire('injekt')({\n  'context' : {\n    'inspect' : require('util').inspect\n  },\n  'mocks' : { \n    'assert' : require('should')\n  }\n}, closure);\n```\n\n### Reference via `global`: `global.injekt(...)`\n\n```javascript\nrequire('injekt')({\n  'context' : {\n    'inspect' : require('util').inspect\n  },\n  'mocks' : { \n    'assert' : require('should')\n  }\n});\n```\n\n* NOTE: `closure` defaults to `global` when excluded.\n\n# Syntax: Module Injection\n\n> General Usage: `injekt(` `module_path` `[, options]` `);`\n\nINJEKT gives you two different methods of injecting your dependencies:\n\n* `context`: embed directly into the `global` context of your product module.\n* `mock`: available as a mock to be retrieved via `require(...)` inside your product module.\n\n```javascript    \nvar my_module = injekt('./my_module.js', {\n  'context' : { \n    'EventEmitter' : require('events').EventEmitter\n  },\n  'mocks' : {\n    'Foo' : Object.create({ bar: function () { return 'YIPPPEEEE!'; } })\n  }\n});\n```\n\n* NOTE: `module_path` must be relative to the overall working directory.\n\n# Current Goals\n\n* Set up milestones on [GitHub's Issue Tracker](https://github.com/aeberlin/injekt/issues)\n* Create proper API + usage documentation\n\n# Future Thoughts\n\n* Use factories for `params` parsing / `properties` building\n* Integrate browser compatability:\n  * Setup individual interfaces for [RequireJS](http://www.requirejs.org) and [NodeJS](http://nodejs.org/docs/v0.4.7/api/modules.html#all_Together...).\n  * Investigate engine support for [Contextify](https://npmjs.org/package/contextify).\n\n# Bug Reports + Other Requests\n\n* Please submit an issue on the [GitHub Issue Tracker](https://github.com/aeberlin/injekt/issues).\n\n* Please attach at least one of the following for bug reports:\n  * diagnostic procedure\n  * sample code\n  * assertion tests\n\n* Please e-mail me before sending a pull request.\n\n# Further Notes\n\n* Released under the [MIT License](http://www.opensource.org/licenses/MIT) ([attached](https://github.com/arkbot/injekt/blob/master/LICENSE.txt)).\n* Accompanied by a full integration test suite, via [`should`](https://npmjs.org/package/should) and [`vows`](https://npmjs.org/package/vows).\n* DISCLAIMER: This project is still highly experimental - updates may break backwords-compatibility.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/arkbot/injekt/issues"},"_id":"injekt@0.1.9","dist":{"shasum":"c810c1273d5b27331744d51354b4dee057a65740","tarball":"https://registry.npmjs.org/injekt/-/injekt-0.1.9.tgz","integrity":"sha512-FGHi0zaoLkNRKdu0qmr3BfxHtXqgOx/0oiKomlODL53cjuFsOgZm8WVESXRmidX55+R6si7QmZC1/srymGE2fw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRHK4HUsuVR6GcG0nEPBTze4U8YEgHhKVr2JOY0x96UQIhAI6LsBD4AxUcroF+Ll2CxTZjaUOq0Z/5RagXofUzlHSi"}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"aeberlin","email":"ae@adameberlin.com"},"maintainers":[{"name":"aeberlin","email":"ae@adameberlin.com"},{"name":"arkbot","email":"webmaster@arkbot.com"}]}},"readme":"\n\t·┌┐  │┌─┐│┌ ├─\n\t││││ ┤├─┘├┴┐│ \n\t┘ └┘└┘└─ │ └└┘ - v0.0.0","maintainers":[{"name":"aeberlin","email":"ae@adameberlin.com"},{"name":"arkbot","email":"webmaster@arkbot.com"}],"time":{"modified":"2022-06-19T01:20:30.516Z","created":"2012-10-18T01:01:41.817Z","0.1.0":"2012-10-18T01:01:43.735Z","0.1.5":"2013-03-27T18:07:02.271Z","0.1.7":"2013-03-29T03:03:17.724Z","0.1.8":"2013-03-30T19:08:22.403Z","0.1.9":"2013-11-06T19:07:57.731Z"},"author":{"name":"Arkbot Industries","email":"webmaster@arkbot.com"},"repository":{"type":"git","url":"https://github.com/arkbot/injekt.git"}}