Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Wire | 11,283 | 185 | 966 | 6 days ago | 12 | January 07, 2022 | 95 | apache-2.0 | Go | |
Compile-time Dependency Injection for Go | ||||||||||
Viperswift | 12 | 6 years ago | 1 | mit | Liquid | |||||
Generamba template with use DI Swinject | ||||||||||
Sting | 8 | 8 months ago | 13 | apache-2.0 | Java | |||||
Ray.compiler | 5 | 3 days ago | 1 | mit | PHP | |||||
A dependency injection compiler for Ray.Di | ||||||||||
Codegen2018 | 2 | 5 years ago | mit | JavaScript | ||||||
Repository contenente il materiale di CodeGen 2018 | ||||||||||
Digo | 2 | 4 months ago | mit | Go | ||||||
An annotation-based tool for compile-time dependency injection in Golang. |
Wire is a code generation tool that automates connecting components using dependency injection. Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables. Because Wire operates without runtime state or reflection, code written to be used with Wire is useful even for hand-written initialization.
For an overview, see the introductory blog post.
Install Wire by running:
go install github.com/google/wire/cmd/wire@latest
and ensuring that $GOPATH/bin
is added to your $PATH
.
As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.
We'll not be accepting new features at this time, but will gladly accept bug reports and fixes.
For questions, please use GitHub Discussions.
This project is covered by the Go Code of Conduct.