Helper functions for creating ApplicationBuilder instances with sensible defaults.

These helpers reduce boilerplate when setting up applications, especially for development and testing scenarios.

import { createContainer } from '@stratix/runtime';
import { ApplicationBuilderHelpers } from '@stratix/runtime';

const container = createContainer();
const app = await ApplicationBuilderHelpers.createWithDefaults(container)
.usePlugin(new PostgresPlugin())
.build();

Constructors

Methods

  • Creates an ApplicationBuilder with in-memory defaults for development.

    Automatically registers:

    • InMemoryCommandBus
    • InMemoryQueryBus
    • InMemoryEventBus
    • ConsoleLogger

    Parameters

    • container: AwilixContainer

      The Awilix DI container to use

    Returns ApplicationBuilder

    ApplicationBuilder with defaults configured

    import { createContainer, ApplicationBuilderHelpers } from '@stratix/runtime';

    const container = createContainer();
    const app = await ApplicationBuilderHelpers.createWithDefaults(container)
    .usePlugin(new MyPlugin())
    .build();
  • Creates an ApplicationBuilder optimized for testing.

    Similar to createWithDefaults but with test-specific configuration:

    • Reduced log level
    • In-memory implementations for all infrastructure

    Parameters

    • container: AwilixContainer

      The Awilix DI container to use

    Returns ApplicationBuilder

    ApplicationBuilder configured for testing

    import { createContainer, ApplicationBuilderHelpers } from '@stratix/runtime';

    describe('My Integration Tests', () => {
    let app: Application;

    beforeEach(async () => {
    const container = createContainer();
    app = await ApplicationBuilderHelpers.createForTesting(container)
    .useContext(new MyModule())
    .build();
    await app.start();
    });

    afterEach(async () => {
    await app.stop();
    });
    });