jeffijoe

jeffijoe/awilix

Extremely powerful Inversion of Control (IoC) container for Node.JS

TypeScript
4119
146
MIT License

e the scope. If a registration is resolved from a scope that has a cached version of the registration, it will be returned. This is useful for things like request-scoped singletons - i.e. a database transaction, a request cache, a request-specific logger, etc. Scopes are created from a container, and have the same API as the container. **Important:** Scopes are containers too, and can therefore create their own scopes! **Important:** If you use `loadModules` on a scope, it will also load modules from the parent container, but the lifetime of those modules will be determined by the container they were loaded from. ```js const scopedContainer = container.createScope() scopedContainer.cradle.userService.getUser(123) ``` **Important:** if a singleton is resolved, and it depends on a scoped or transient registration, those will remain in the singleton for its lifetime! Similarly, if a scoped module is resolved, and it depends on a transient registration, that remains in the scoped module for its lifetime. In the example above, if `messageService` was a singleton, it would be cached in the root container, and would always have the `currentUser` from the first request. Modules should generally not have a

Total donated
Undistributed
Share with your subscribers:

Recipients

How the donated funds are distributed

Support the dependencies of jeffijoe/awilix

Account's avatar
Babel compiler core.
Account's avatar
Externalise references to helpers and builtins, automatically polyfilling your code without polluting globals
Account's avatar
A Babel preset for each environment.
Account's avatar
babel's modular runtime helpers
Account's avatar
TypeScript definitions for jest
Account's avatar
TypeScript definitions for node
Account's avatar
Jest plugin to use babel for transformation.
Account's avatar
Modern native Git hooks
Account's avatar
Delightful JavaScript Testing.
Account's avatar
Lint files staged by git
Account's avatar
A deep deletion module for node (like `rm -rf`)
Account's avatar
Next-generation ES module bundler
Account's avatar
Seamless integration between Rollup and TypeScript. Now with errors.
Account's avatar
Catch errors and returns them. Supports sync and async (Promises)
Account's avatar
A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript
Account's avatar
Runtime library for TypeScript helper functions
Account's avatar
TypeScript is a language for application scale JavaScript development
Account's avatar
Tooling which enables you to use TypeScript with ESLint

Support the repos that depend on jeffijoe/awilix

Top contributors

jeffijoe's profile
jeffijoe
513 contributions
fnimick's profile
fnimick
17 contributions
blove's profile
blove
12 contributions
andersonleite's profile
andersonleite
9 contributions
dependabot[bot]'s profile
dependabot[bot]
9 contributions
richardsimko's profile
richardsimko
8 contributions
leitea-google's profile
leitea-google
5 contributions
kibertoad's profile
kibertoad
4 contributions
andyfleming's profile
andyfleming
3 contributions
cjhoward92's profile
cjhoward92
3 contributions

Recent events

Kivach works on the Obyte network, and therefore you can track all donations.

No events yet