Setu-TS
    Preparing search index...

    Interface FullStackStarterOptions

    Options for createFullStackApp. Extends MicroserviceStarterOptions with full-stack arms (always-on + gated). Omitted plugins use their defaults.

    Hierarchy (View Summary)

    Index

    Always-on arm: AuditPlugin. Omitted → memory storage default.

    Optional arm: AuthPlugin. Provided only when the caller supplies auth configuration; omitted → auth not registered. Configure at least one passive strategy (jwt, apiKey, session, or strategies). The plugin registers its authentication middleware globally unless disabled.

    Always-on arm: CachePlugin. Omitted → memory store default.

    Options for ConfigPlugin. Omitted → defaults.

    Always-on arm: CqrsPlugin. Omitted → no built-in behaviors.

    Optional arm: DatabasePlugin. Provided only when the caller supplies database credentials; omitted → database not registered.

    Options for DecoratorPlugin. Omitted → defaults.

    Optional arm: DiPlugin. Omitted → decorated services are constructed directly and registered in the kernel's ServiceRegistry, which is the default and needs no container.

    Supplying this arm changes how every decorated service in the application is constructed: DecoratorPlugin branches on the presence of a container, so with this arm each @Injectable class becomes a container provider that honors its scope. That is why it is gated rather than always-on — the default composition stays identical to a starter app without it.

    Always-on arm: EventsPlugin. Omitted → in-memory bus default.

    Optional arm: FeatureFlagsPlugin. Gated — requires a provider to be useful.

    Optional arm: GraphqlPlugin. Gated because the plugin cannot boot without an application-supplied schema — the rule that made session gated.

    0.3.0

    Options for HealthPlugin. Omitted → defaults.

    Options for HttpSecurityPlugin. Omitted → defaults.

    Options for LoggerPlugin. Omitted → defaults.

    Always-on arm: MailPlugin. Omitted → log provider default.

    Configuration for MessagingPlugin, which this tier ALWAYS registers — unlike the gated arms inherited from RestStarterOptions, omitting this does not skip the plugin. Omitted → the memory broker default.

    Options for MetricsPlugin. Omitted → defaults.

    Optional arm: MultiTenancyPlugin. Gated — requires resolvers to be useful.

    Optional arm: NotificationPlugin. Gated — requires channels to be useful.

    Options for OpenApiPlugin. Omitted → defaults.

    Configuration for QueuePlugin, always registered. Omitted → the memory adapter default.

    Optional arm: ReactRouterPlugin. Gated — requires serverBuildPath for SSR.

    realtime?: RealtimeArm

    Optional arm: the real-time plugins, one per sub-arm. Omitted → none of the three is registered.

    Configuration for ResiliencePlugin, always registered. Omitted → plugin defaults.

    Always-on arm: SchedulerPlugin. Omitted → defaults. On Cloudflare Workers the scheduler is left out unless this arm is given, because the plugin refuses that platform; schedule there with Cron Triggers (cloudflare-plugin's WorkersCron).

    Always-on arm: SecretsPlugin. Omitted → env provider default.

    Optional arm: ServiceDiscoveryPlugin. Provided → service discovery is registered; omitted → no discovery capability is added.

    Optional arm: SessionPlugin. Omitted → the application has no cookie session and no session-backed form CSRF.

    Gated because a session needs a secret nobody can default: the plugin throws during register() without one, so an always-on arm would make every starter application fail to boot until it supplied one. It is also genuinely optional — a token-authenticated API has no use for cookies, which is what auth covers.

    Setting csrf additionally registers the synchronizer-token middleware at priority 325, which is the check a progressive-enhancement <Form> post can satisfy — unlike the stateless Origin/Referer check that httpSecurity performs, which a form structurally cannot. Running both is intended.

    const app = createRestApp({
    session: { secret: mySecret, csrf: {} },
    });

    Optional arm: StaticPlugin. Gated — requires root to serve from; absent registers nothing, leaving the composition byte-identical.

    Always-on arm: StoragePlugin. Omitted → memory provider default.

    Configuration for TelemetryPlugin, always registered. Omitted → a NoopTelemetryService, since no exporter is configured.

    Options for ValidationPlugin. Omitted → defaults.