mirror of
https://github.com/supabase/supabase.git
synced 2026-05-06 22:18:00 +08:00
## What kind of change does this PR introduce? Component update. ## What is the current behaviour? TanStack tables in the repo are split between the shared `TableHeadSort` primitive and the older Studio-local `DataTableColumnHeader` helper, which makes the sorting UI and integration path inconsistent. If you were to just use `DataTableColumnHeader` in `ui-patterns/Table`, you’d get a very different visual result to the `TableHeadSort` UI you see in most other tables. ## What is the new behaviour? Adds a shared `TanStackTableHeadSort` adapter in `ui-patterns/Table`, backed by the existing `TableHeadSort` primitive, and switches the webhook table plus the design-system TanStack demo to that canonical path. `DataTableColumnHeader` stays as a deprecated wrapper for now, Studio gets a lint guard to block new imports of it, and the table docs now point TanStack tables at the shared adapter explicitly. ## To test Check out column sorting on the Platform Webhook endpoint deliveries table.
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
const { defineConfig } = require('eslint/config')
|
|
const barrelFiles = require('eslint-plugin-barrel-files')
|
|
const jsxA11y = require('eslint-plugin-jsx-a11y')
|
|
const supabaseConfig = require('eslint-config-supabase/next')
|
|
|
|
module.exports = defineConfig([
|
|
{ files: ['**/*.ts', '**/*.tsx'] },
|
|
supabaseConfig,
|
|
{
|
|
plugins: {
|
|
'barrel-files': barrelFiles,
|
|
'jsx-a11y': jsxA11y,
|
|
},
|
|
rules: {
|
|
'@next/next/no-img-element': 'off',
|
|
'react/no-unescaped-entities': 'off',
|
|
'react/display-name': 'warn',
|
|
'react/no-unstable-nested-components': 'warn',
|
|
'react/jsx-key': 'error',
|
|
'no-restricted-imports': [
|
|
'error',
|
|
{
|
|
paths: [
|
|
{
|
|
name: 'components/ui/DataTable/DataTableColumn/DataTableColumnHeader',
|
|
message: 'Use TanStackTableHeadSort from ui-patterns/Table instead.',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
'barrel-files/avoid-re-export-all': 'error',
|
|
'jsx-a11y/alt-text': 'warn',
|
|
'jsx-a11y/role-has-required-aria-props': 'error',
|
|
},
|
|
},
|
|
])
|