Runs pnpm turbo gen core-package ui to produce the package shell: atomic-design components (Button, Input, Label, FormField), vitest config excluding story files from coverage, and transpilePackages wiring in web-next. Adds @vitest/coverage-v8 devDep and label.stories.tsx to satisfy lint/coverage gates. Also fixes scripts/library-decisions/check.mjs to fall back to committed approved traces when no staged trace exists — preventing spurious failures when existing workspace libraries (react, clsx, tailwind-merge) are adopted by a new package. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
package, version, tier, decision, date, deciders, adr, filter-results, verification-commands, accepted-cves
| package | version | tier | decision | date | deciders | adr | filter-results | verification-commands | accepted-cves | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| tailwind-merge | ^3.0.0 | core | approved | 2026-05-14 |
|
null |
|
|
Filter: license
MIT — on the workspace allowlist.
Filter: types
Ships first-party TypeScript types in its distribution.
Filter: maintenance
Active. Maintained by dcastil; v3 is the current stable major.
Filter: boundary-fit
Core UI package. tailwind-merge deduplicates conflicting Tailwind classes; appropriate for core-ui. No boundary rule violation.
Filter: shadow-check
No competing Tailwind class-merging utility in the workspace. No shadow.
Filter: eu-residency
Pure compute; no network calls or vendor data transmission. n/a.
Filter: cve-scan
No advisories at adoption time.
Filter: named-consumer
core-ui uses tailwind-merge in the cn() utility (combined with clsx) to resolve conflicting Tailwind class names at runtime.
Prompt: replaces
Nothing — this is the initial UI scaffold.
Prompt: migration-cost-out
Mechanical: replace twMerge() calls in the cn() utility; update any call sites. Narrow API surface.
Prompt: alternatives-considered
- Custom deduplication — error-prone; Tailwind has hundreds of class groups that change each version.
- tw-join — does not merge conflicts; only concatenates.
tailwind-mergeis the de-facto standard for conflict-free Tailwind class composition.