mirror of
https://github.com/aphrody-labs/aphrody-m3-config.git
synced 2026-10-13 19:54:16 +00:00
main
@aphrody/m3-config
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, 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. |
@aphrody/m3-config/test/dom |
bun test preload: happy-dom + ElementInternals polyfill. |
Workspace packages resolve to their sources under Bun (bun / import conditions); dist/ is built by
bun scripts/build.ts for consumers that need the default condition and the declarations. Bun resolves bare
package specifiers natively before any runtime plugin sees them, so a preload cannot redirect them to sources.
Languages
TypeScript
100%