@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.

S
Description
No description provided
Readme
38 KiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 100%