Files
KArtSell.Aegis/docs/CURRENT/V13-FE-005_COMPONENT_DIRECT_VENDOR_RESTORE_SLICE_NOTE.md
T
kjh2064 d79edae546
deploy / deploy (push) Failing after 51s
deploy / notify (push) Successful in 1s
V13-FE-005: restore direct UI components and harden grid provider
2026-08-13 02:39:48 +09:00

2.4 KiB

V13-FE-005 — Existing Component Direct Vendor Restore

Source / Assumption / Unknown / Decision Required

  • Source: frontend/src/shared/ui/components/, existing PrimeVue/AG Grid adapters, and current component contract tests.
  • Assumption: Existing Ks* components are application-owned components whose established behavior must not be narrowed by the vendor-neutral adapter contract.
  • Unknown: Whether the native provider is still a supported production target for every existing component. This must not be inferred from the presence of VITE_UI_ADAPTER.
  • Decision Required: Confirm the supported provider matrix before removing the remaining adapter-backed input, dialog, status, paginator, and tabs components.

Scope

Behavior-preserving refactoring under V13-FE-005:

  • Existing components may use the selected vendor directly inside shared/ui/components.
  • Feature code remains vendor-import free.
  • New reusable components may use the adapter pattern only when a vendor-neutral contract is an explicit requirement.
  • No policy, API, database, migration, or production automation change.

Implemented

  • KsButton.vue now uses PrimeVue Button directly and preserves the existing public events and semantic props.
  • KsDataGrid.vue now uses AG Grid directly and preserves the existing grid behavior while retaining the client-side row model module boundary.
  • Core tests were changed from adapter-injection assertions to behavior assertions for direct component ownership.

Remaining

  • Existing shared/ui/components/*.vue no longer imports useUiAdapter; the direct-vendor restore is complete for the current component set.
  • Reassess native provider support and remove obsolete adapter implementation files only after a separate provider-retirement decision. The adapter remains available for new vendor-neutral components.

Evidence

  • Targeted tests: shared component tests — 25/25 PASS.
  • Full frontend tests: pnpm test -- --run — 63 files / 168 tests PASS.
  • Typecheck: pnpm typecheck — PASS.
  • Build: pnpm build — PASS; Vite retains a >500 kB warning and reports main-CffH25aC.js 587.58 kB / gzip 163.16 kB.
  • Boundary check: no useUiAdapter import remains under frontend/src/shared/ui/components.
  • Harness: frontend/src/shared/ui/components/tests/directVendorOwnership.contract.spec.ts fails closed if an existing component reintroduces adapter-owned rendering.