Shared presets for the first-party Material Design 3 packages (`packages/m3-*`, `packages/m3-react`,
`packages/material-web`). Private; consumed as a `workspace:*` devDependency. Contract and status:
[`docs/design/M3-PLAN.md`](../../docs/plans/design/M3-PLAN.md), enforced by `bun run bun:check` (rule `m3`).
| Export | Use |
| --- | --- |
| `@aphrody/m3-config/tsconfig.json` | `"extends"` for `tsconfig.json`; the package keeps only `include` and its own overrides. |
| `@aphrody/m3-config/tsconfig.build.json` | Second entry of `"extends": ["./tsconfig.json", "@aphrody/m3-config/tsconfig.build.json"]` (declaration-only emit); the package sets `outDir`, `rootDir`, `include`. |
| `@aphrody/m3-config/bun-build` | The one build preset, on `Bun.build`: `m3Package({ entry, target, splitting, external, useClient })` types a package's `build.config.ts`; `scripts/build.ts` at the repository root runs every config (dependency order, content-hash cache, declarations through `tsc`). `m3BunBuild(...)` is the imperative form; `M3_EXTERNAL` and `prependUseClient` (`'use client';` through `Bun.file` / `Bun.write`) are defined once here. |
| `@aphrody/m3-config/cache-db` | `M3UiCache` / `getSharedUiCache()`: embedded SQLite cache on `bun:sqlite` (WAL mode) for themes, icons, tokens, sessions. |