Server packages
The browser package defines transport contracts; @wts-data-table/server supplies backend handlers and adapters without coupling the UI to a database.
Supported server surfaces
#Use Express, Fetch, or GraphQL handlers and inject your own database client. Set maximum page sizes, timeouts, and allowlists at the server boundary.
Security responsibilities
#Authentication, authorization, tenant isolation, field allowlists, rate limits, and mutation validation always remain server responsibilities.
Express handler
#This recipe focuses on the integration pattern. Replace application-specific values and callbacks with your own data and services.
app.post('/api/data-table', createDataTableExpressHandler({
adapter: database,
maxPageSize: 100,
authorize: ({ principal }) => principal.can('people:read')
}));Need a complete starting point?
The framework quick start includes install commands, a typed data file, and the component that renders it.
Go to the quick start →Ready to try it with real data?
Explore configurable examples ↗