A small, well-tested IOC framework for TypeScript and JavaScript with a focus on type safety and forward compatibility.
Support for TC39 standard decorators for use with both TypeScript and JavaScript as well as TypeScript's experimental decorators for projects who still use them.
Read more about our goals here.
npm i --save @mscharley/dot
This library should work out of the box with any TypeScript configuration if you are using TypeScript 5.0 or later. Read below for other versions.
This library is designed to work with either setting of the experimentalDecorators
option in TypeScript 5.x or later. emitDecoratorMetadata
is not required, and is not used if enabled.
JavaScript should work out of the box with any JavaScript transpiler that supports TC39 decorators. For now you will need a transpiler until the standard gets implemented more widely.
Known implementations:
For usage examples, please see the documentation.
The API design of this project is heavily inspired by InversifyJS.