Rationale
Only "." is exported today; the root barrel re-exports the entire framework (HTTP, brokers, persistence, …) into every consumer bundle, and granular imports are impossible. dist/ mirrors src/ 1:1 (tsc rootDir/outDir), so subpath maps are mechanical.
import { ActorSystem, Props } from 'actor-ts';
import { Cluster } from 'actor-ts/cluster';
import { TestProbe } from 'actor-ts/testkit';
Scope
- Add ~20 subpaths, each
{ types, import, default }: ./cluster, ./persistence, ./crdt, ./http, ./io, ./cache, ./testkit, ./typed, ./metrics, ./tracing, ./config, ./discovery, ./coordination, ./management, ./delivery, ./fsm, ./worker, ./mailbox, ./serialization, ./pattern.
"." keeps re-exporting everything (purely additive).
- Verify each subdirectory has an index barrel before mapping it.
- Future modules (
./agents, ./jobs, ./client) plug into this map.
Documentation
- Install/usage docs (EN + DE) with subpath examples.
- CHANGELOG note: deep
actor-ts/dist/... imports are now blocked by the exports map (intended).
Acceptance
publint + arethetypeswrong clean.
- Smoke test imports every subpath on Bun, Node, and Deno;
"." surface unchanged.
Relates
Improvement program M3. sideEffects flag issue, package-health CI issue.
Rationale
Only
"."is exported today; the root barrel re-exports the entire framework (HTTP, brokers, persistence, …) into every consumer bundle, and granular imports are impossible.dist/mirrorssrc/1:1 (tsc rootDir/outDir), so subpath maps are mechanical.Scope
{ types, import, default }:./cluster,./persistence,./crdt,./http,./io,./cache,./testkit,./typed,./metrics,./tracing,./config,./discovery,./coordination,./management,./delivery,./fsm,./worker,./mailbox,./serialization,./pattern."."keeps re-exporting everything (purely additive)../agents,./jobs,./client) plug into this map.Documentation
actor-ts/dist/...imports are now blocked by the exports map (intended).Acceptance
publint+arethetypeswrongclean."."surface unchanged.Relates
Improvement program M3. sideEffects flag issue, package-health CI issue.