Skip to content

Changelog - 2025-12-17

Inversion of Control Refactor

The Dependency Injection (DI) system has been extracted from packages/helpers into a standalone package @venizia/ignis-inversion.

Overview

  • New Package: @venizia/ignis-inversion created.
  • Separation of Concerns: inversion package has zero dependencies on the rest of the framework (except lodash, reflect-metadata, zod).
  • Refactor: packages/core now imports DI primitives from @venizia/ignis-inversion.

Breaking Changes

WARNING

This section contains changes that require migration or manual updates to existing code.

1. Deep Imports

Before:

typescript
import { inject } from '@venizia/ignis-helpers/src/helpers/inversion';

After:

typescript
import { inject } from '@venizia/ignis-inversion';
// OR via re-exports (if available)
import { inject } from '@venizia/ignis';

Deep imports to helpers/inversion within @venizia/ignis-helpers will no longer work as the directory has been removed.

Files Changed

Core Package (packages/core)

FileChanges
src/helpers/inversion/Refactored to re-export from @venizia/ignis-inversion and add core extensions
src/mixins/server-config.mixin.tsRemoved

Helpers Package (packages/helpers)

FileChanges
src/helpers/inversion/Deleted (Moved to new package)

Inversion Package (packages/inversion)

FileChanges
package.jsonCreated
src/Created (Content moved from helpers)

Examples (examples/vert)

FileChanges
package.jsonAdded @venizia/ignis-inversion dependency

Migration Guide

NOTE

Follow these steps if you're upgrading from a previous version.

Step 1: Update Imports

Check for any deep imports to packages/helpers/src/helpers/inversion and update them to point to @venizia/ignis-inversion.

typescript
// Find
from '@venizia/ignis-helpers/src/helpers/inversion'

// Replace with
from '@venizia/ignis-inversion'

Step 2: Install New Package

If you are using the DI system directly, add the new package to your dependencies.

bash
npm install @venizia/ignis-inversion