> angular-dependency-injection

Best practices for DI, inject() usage, and providers. Use when configuring Angular dependency injection, using inject(), or defining providers. (triggers: **/*.service.ts, **/*.ts, angular inject, providedIn, injection token)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/angular-dependency-injection?format=md"
SKILL.mdangular-dependency-injection

Dependency Injection

Priority: P0 (CRITICAL)

Principles

  • inject() over Constructor: Use the inject() function for cleaner injection updates and type inference.
  • Tree Shaking: Always use providedIn: 'root' for services unless specific scoping is required.
  • Tokens: Use InjectionToken<T> for configuration, primitives, or interface abstraction.

Guidelines

  • Providers: Prefer provide* functions (e.g., provideHttpClient()) in app.config.ts over importing modules.
  • Factories: Use useFactory strictly when dependencies need runtime configuration.

Anti-Patterns

  • Global State: Avoid providedIn: 'platform' unless absolutely necessary (share between Micro Frontends).
  • Circular Deps: Use forwardRef only as a last resort; refactor architecture instead.

References

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────