diff --git a/apps/studio/.github/eslint-rule-baselines.json b/apps/studio/.github/eslint-rule-baselines.json index 7074c1000f7..9f8f48cc8f3 100644 --- a/apps/studio/.github/eslint-rule-baselines.json +++ b/apps/studio/.github/eslint-rule-baselines.json @@ -1,12 +1,12 @@ { "rules": { - "react-hooks/exhaustive-deps": 172, + "react-hooks/exhaustive-deps": 162, "import/no-anonymous-default-export": 57, "@tanstack/query/exhaustive-deps": 9, - "@typescript-eslint/no-explicit-any": 952, + "@typescript-eslint/no-explicit-any": 901, "no-restricted-imports": 0, - "no-restricted-exports": 235, - "react/no-unstable-nested-components": 41 + "no-restricted-exports": 221, + "react/no-unstable-nested-components": 39 }, "ruleFiles": { "react-hooks/exhaustive-deps": { @@ -22,7 +22,7 @@ "components/interfaces/Auth/PerformanceSettingsForm.tsx": 1, "components/interfaces/Auth/Policies/PolicyEditor/PolicyDefinition.tsx": 1, "components/interfaces/Auth/Policies/PolicyEditorPanel/PolicyDetailsV2.tsx": 1, - "components/interfaces/Auth/Policies/PolicyEditorPanel/RLSCodeEditor.tsx": 2, + "components/interfaces/Auth/Policies/PolicyEditorPanel/RLSCodeEditor.tsx": 1, "components/interfaces/Auth/ProtectionAuthSettingsForm/ProtectionAuthSettingsForm.tsx": 1, "components/interfaces/Auth/RedirectUrls/AddNewURLModal.tsx": 1, "components/interfaces/Auth/SessionsAuthSettingsForm/SessionsAuthSettingsForm.tsx": 1, @@ -57,14 +57,12 @@ "components/interfaces/Reports/ReportBlock/ChartBlock.tsx": 1, "components/interfaces/Reports/ReportFilterBar.tsx": 1, "components/interfaces/Reports/Reports.tsx": 1, - "components/interfaces/Reports/useReportFilters.ts": 4, "components/interfaces/SQLEditor/AskAIWidget.tsx": 1, "components/interfaces/SQLEditor/InlineWidget.tsx": 2, "components/interfaces/SQLEditor/MonacoEditor.tsx": 1, "components/interfaces/SQLEditor/MoveQueryModal.tsx": 1, "components/interfaces/SQLEditor/OngoingQueriesPanel.tsx": 1, "components/interfaces/SQLEditor/SQLEditor.tsx": 2, - "components/interfaces/SQLEditor/UtilityPanel/SavingIndicator.tsx": 1, "components/interfaces/Settings/Addons/CustomDomainSidePanel.tsx": 1, "components/interfaces/Settings/Addons/IPv4SidePanel.tsx": 1, "components/interfaces/Settings/Addons/PITRSidePanel.tsx": 1, @@ -97,17 +95,13 @@ "components/ui/CodeEditor/CodeEditor.tsx": 1, "components/ui/DataTable/DataTableFilters/DataTableFilterInput.tsx": 2, "components/ui/DataTable/DataTableFilters/DataTableFilterSlider.tsx": 2, - "components/ui/DataTable/DataTableHeaderLayout.tsx": 1, "components/ui/DataTable/DataTableSideBarLayout.tsx": 4, - "components/ui/DataTable/DataTableToolbar.tsx": 1, "components/ui/DataTable/DataTableViewOptions.tsx": 1, "components/ui/DataTable/LiveButton.tsx": 1, "components/ui/DataTable/TimelineChart.tsx": 1, "components/ui/DatePicker/TimeSplitInput.tsx": 1, "components/ui/DateRangePicker.tsx": 1, - "components/ui/Error.tsx": 1, "components/ui/FilterPopover.tsx": 1, - "components/ui/ScrollGradient.tsx": 1, "data/__templates/resource-query.ts": 1, "data/__templates/resources-query.ts": 1, "data/reports/api-report-query.ts": 2, @@ -209,7 +203,6 @@ "@typescript-eslint/no-explicit-any": { "components/grid/SupabaseGrid.tsx": 1, "components/grid/SupabaseGrid.utils.ts": 2, - "components/grid/components/common/MonacoEditor.tsx": 3, "components/grid/components/editor/JsonEditor.tsx": 2, "components/grid/components/editor/SelectEditor.tsx": 1, "components/grid/components/editor/TextEditor.tsx": 1, @@ -239,7 +232,6 @@ "components/interfaces/Auth/Policies/PolicyEditor/PolicyRoles.tsx": 1, "components/interfaces/Auth/Policies/PolicyEditor/index.tsx": 2, "components/interfaces/Auth/Policies/PolicyEditorPanel/PolicyTemplates.tsx": 1, - "components/interfaces/Auth/Policies/PolicyEditorPanel/RLSCodeEditor.tsx": 1, "components/interfaces/Auth/Policies/PolicyEditorPanel/index.tsx": 2, "components/interfaces/Auth/ProtectionAuthSettingsForm/ProtectionAuthSettingsForm.tsx": 1, "components/interfaces/Auth/RedirectUrls/RedirectUrlList.tsx": 1, @@ -265,7 +257,7 @@ "components/interfaces/Database/Privileges/PrivilegesTable.tsx": 1, "components/interfaces/Database/Publications/PublicationsList.tsx": 5, "components/interfaces/Database/Publications/PublicationsTableItem.tsx": 5, - "components/interfaces/Database/Replication/DisableExternalReplicationDialog.tsx": 1, + "components/interfaces/Database/Replication/DisablePipelinesDialog.tsx": 1, "components/interfaces/Database/Replication/ReplicationPipelineStatus/ReplicationPipelineStatus.utils.tsx": 1, "components/interfaces/Database/RestoreToNewProject/RestoreToNewProject.tsx": 1, "components/interfaces/Docs/Description.tsx": 2, @@ -278,9 +270,7 @@ "components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx": 1, "components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.utils.tsx": 3, "components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionTesterSheet.tsx": 1, - "components/interfaces/Functions/FunctionsNav.tsx": 1, "components/interfaces/Home/ProjectList/ProjectList.tsx": 1, - "components/interfaces/Home/ServiceStatus.tsx": 1, "components/interfaces/Integrations/CronJobs/CreateCronJobSheet/CreateCronJobSheet.tsx": 1, "components/interfaces/Integrations/CronJobs/CronJobTableCell.tsx": 2, "components/interfaces/Integrations/CronJobs/PreviousRunsTab.tsx": 2, @@ -301,7 +291,6 @@ "components/interfaces/Linter/LinterDataGrid.tsx": 4, "components/interfaces/LogDrains/LogDrainDestinationSheetForm.tsx": 3, "components/interfaces/Observability/ObservabilityOverview.tsx": 1, - "components/interfaces/Observability/ServiceHealthCard.tsx": 1, "components/interfaces/Organization/BillingSettings/BillingCustomerData/BillingCustomerData.tsx": 3, "components/interfaces/Organization/BillingSettings/BillingCustomerData/TaxID.utils.ts": 2, "components/interfaces/Organization/BillingSettings/CostControl/SpendCapSidePanel.tsx": 2, @@ -329,7 +318,6 @@ "components/interfaces/QueryPerformance/IndexAdvisor/EnableIndexAdvisorButton.tsx": 1, "components/interfaces/QueryPerformance/IndexAdvisor/IndexAdvisorDisabledState.tsx": 1, "components/interfaces/QueryPerformance/IndexAdvisor/index-advisor.utils.ts": 2, - "components/interfaces/QueryPerformance/QueryPerformanceChart.tsx": 3, "components/interfaces/QueryPerformance/QueryPerformanceGrid.tsx": 3, "components/interfaces/QueryPerformance/WithStatements/WithStatements.tsx": 1, "components/interfaces/Realtime/Inspector/Messages.types.ts": 1, @@ -347,7 +335,6 @@ "components/interfaces/Reports/v2/ReportChartUpsell.tsx": 1, "components/interfaces/Reports/v2/ReportChartV2.tsx": 1, "components/interfaces/RoleImpersonationSelector/UserImpersonationSelector.tsx": 1, - "components/interfaces/SQLEditor/MonacoEditor.tsx": 2, "components/interfaces/SQLEditor/MoveQueryModal.tsx": 2, "components/interfaces/SQLEditor/RenameQueryModal.tsx": 2, "components/interfaces/SQLEditor/SQLEditor.tsx": 4, @@ -368,9 +355,9 @@ "components/interfaces/Settings/Logs/LogTable.tsx": 1, "components/interfaces/Settings/Logs/Logs.constants.ts": 1, "components/interfaces/Settings/Logs/Logs.types.ts": 1, + "components/interfaces/Settings/Logs/Logs.utils.otel.ts": 1, "components/interfaces/Settings/Logs/Logs.utils.ts": 12, "components/interfaces/Settings/Logs/PreviewFilterPanel.tsx": 1, - "components/interfaces/Settings/Logs/PreviewFilterPanelWithUniversal.tsx": 2, "components/interfaces/SignIn/SignInForm.tsx": 1, "components/interfaces/SignIn/SignInWithCustom.tsx": 1, "components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/CreateTable/CreateTableSheet.tsx": 2, @@ -422,18 +409,13 @@ "components/interfaces/TableGridEditor/SidePanelEditor/SpreadsheetImport/SpreadsheetImportPreview.tsx": 2, "components/interfaces/TableGridEditor/SidePanelEditor/SpreadsheetImport/SpreadsheetPreviewGrid.tsx": 2, "components/interfaces/TableGridEditor/SidePanelEditor/TableEditor/ForeignKeysManagement/ForeignKeyRow.tsx": 1, - "components/interfaces/TableGridEditor/TableDefinition.tsx": 3, "components/interfaces/TableGridEditor/TableEntity.utils.ts": 1, "components/interfaces/UnifiedLogs/ServiceFlow/components/PostgresFlowDetail.tsx": 2, - "components/interfaces/UnifiedLogs/ServiceFlow/components/shared/FieldWithSeeMore.tsx": 4, - "components/interfaces/UnifiedLogs/ServiceFlow/config/fieldHelpers.ts": 3, "components/interfaces/UnifiedLogs/ServiceFlow/types.ts": 10, "components/interfaces/UnifiedLogs/ServiceFlow/utils/storageUtils.ts": 3, - "components/layouts/DocsLayout/DocsLayout.tsx": 2, "components/layouts/IntegrationsLayout/Integrations.utils.ts": 2, "components/layouts/Navigation/LayoutHeader/BreadcrumbsView.tsx": 2, "components/layouts/Navigation/LayoutHeader/FeedbackDropdown/FeedbackWidget.tsx": 3, - "components/layouts/Navigation/NavigationBar/NavigationIconLink.tsx": 1, "components/layouts/ProjectLayout/BuildingState.tsx": 1, "components/layouts/ProjectLayout/LayoutHeader/MobileMenuContent/mobileOrgMenuRegistry.tsx": 2, "components/layouts/SQLEditorLayout/SQLEditorMenu.tsx": 2, @@ -443,7 +425,6 @@ "components/layouts/SQLEditorLayout/SQLEditorNavV2/SearchList.tsx": 1, "components/layouts/TableEditorLayout/EntityListItem.tsx": 1, "components/layouts/TableEditorLayout/TableEditorMenu.tsx": 1, - "components/to-be-cleaned/KeyMap.tsx": 3, "components/ui/AIAssistantPanel/AIAssistant.utils.ts": 1, "components/ui/AIAssistantPanel/DisplayBlockRenderer.tsx": 1, "components/ui/AIAssistantPanel/MessageMarkdown.tsx": 1, @@ -451,14 +432,13 @@ "components/ui/CardButton.tsx": 2, "components/ui/Charts/AreaChart.tsx": 1, "components/ui/Charts/BarChart.tsx": 1, - "components/ui/Charts/ChartHandler.tsx": 4, "components/ui/Charts/ChartHeader.tsx": 5, "components/ui/Charts/Charts.utils.tsx": 3, "components/ui/Charts/ComposedChart.tsx": 8, "components/ui/Charts/ComposedChart.utils.tsx": 14, "components/ui/Charts/ComposedChartHandler.tsx": 9, "components/ui/Charts/StackedBarChart.tsx": 3, - "components/ui/CodeEditor/CodeEditor.tsx": 7, + "components/ui/CodeEditor/CodeEditor.tsx": 2, "components/ui/CodeEditor/CodeEditor.utils.ts": 2, "components/ui/CodeEditor/Providers/BackwardIterator.ts": 1, "components/ui/CodeEditor/Providers/PgSQLCompletionProvider.ts": 21, @@ -471,20 +451,15 @@ "components/ui/DatePicker/DatePicker.types.ts": 2, "components/ui/DatePicker/index.tsx": 2, "components/ui/DateRangePicker.tsx": 1, - "components/ui/DebouncedComponent.tsx": 1, "components/ui/DownloadResultsButton.tsx": 1, - "components/ui/Error.tsx": 1, "components/ui/ErrorBoundary/ErrorBoundary.tsx": 2, "components/ui/ErrorBoundary/GlobalErrorBoundaryState.tsx": 1, "components/ui/FilterPopover.tsx": 1, - "components/ui/Forms/Form.constants.ts": 1, "components/ui/ProductMenu/ProductMenu.types.ts": 1, "components/ui/ProjectSettings/DisplayApiSettings.tsx": 1, "components/ui/QueryBlock/QueryBlock.tsx": 4, "components/ui/QueryBlock/QueryBlock.utils.ts": 1, - "components/ui/SchemaComboBox.tsx": 1, "components/ui/SchemaSelector.tsx": 1, - "components/ui/SqlEditor.tsx": 6, "components/ui/ui.types.ts": 1, "data/ai/check-api-key-query.ts": 1, "data/ai/rate-message-mutation.ts": 1, @@ -492,8 +467,6 @@ "data/ai/sql-policy-mutation.ts": 1, "data/ai/sql-title-mutation.ts": 1, "data/analytics/functions-combined-stats-query.ts": 1, - "data/analytics/functions-req-stats-query.ts": 1, - "data/analytics/functions-resource-usage-query.ts": 1, "data/analytics/infra-monitoring-query.ts": 1, "data/analytics/project-daily-stats-queries.ts": 1, "data/auth/auth-overview-query.ts": 1, @@ -605,7 +578,7 @@ "pages/project/[ref]/settings/log-drains.tsx": 1, "state/ai-assistant-state.tsx": 4, "state/role-impersonation-state.tsx": 1, - "state/sql-editor-v2.ts": 5, + "state/sql-editor/sql-editor-state.ts": 4, "state/storage-explorer.tsx": 15, "state/table-editor-table.tsx": 15, "state/table-editor.tsx": 5, @@ -640,7 +613,6 @@ "components/interfaces/Billing/Payment/AddPaymentMethodForm.tsx": 1, "components/interfaces/Billing/Payment/PaymentMethods/ChangePaymentMethodModal.tsx": 1, "components/interfaces/Billing/Payment/PaymentMethods/CreditCard.tsx": 1, - "components/interfaces/Billing/Payment/PaymentMethods/CurrentPaymentMethod.tsx": 1, "components/interfaces/Billing/Payment/PaymentMethods/DeletePaymentMethodModal.tsx": 1, "components/interfaces/Billing/Payment/PaymentMethods/PaymentMethods.tsx": 1, "components/interfaces/Billing/SpendCapModal.tsx": 1, @@ -652,7 +624,6 @@ "components/interfaces/Database/EnumeratedTypes/CreateEnumeratedTypeSidePanel.tsx": 1, "components/interfaces/Database/EnumeratedTypes/EditEnumeratedTypeSidePanel.tsx": 1, "components/interfaces/Database/EnumeratedTypes/EnumeratedTypeValueRow.tsx": 1, - "components/interfaces/Database/Extensions/ExtensionCardSkeleton.tsx": 1, "components/interfaces/Database/Migrations/Migrations.tsx": 1, "components/interfaces/Database/Privileges/PrivilegesHead.tsx": 1, "components/interfaces/Database/Privileges/PrivilegesTable.tsx": 1, @@ -670,7 +641,6 @@ "components/interfaces/Functions/CommandRender.tsx": 1, "components/interfaces/Functions/EdgeFunctionOverview/EdgeFunctionOverview.tsx": 1, "components/interfaces/Functions/EdgeFunctionSecrets/EdgeFunctionSecret.tsx": 1, - "components/interfaces/Functions/FunctionsNav.tsx": 1, "components/interfaces/Integrations/CronJobs/CronJobsEmptyState.tsx": 1, "components/interfaces/Integrations/CronJobs/CronSyntaxChart.tsx": 1, "components/interfaces/Integrations/Integration/LegacyIntegrationPage.tsx": 1, @@ -718,7 +688,6 @@ "components/interfaces/Reports/ReportWidget.tsx": 1, "components/interfaces/Reports/Reports.tsx": 1, "components/interfaces/SQLEditor/InlineWidget.tsx": 1, - "components/interfaces/SQLEditor/MonacoEditor.tsx": 1, "components/interfaces/SQLEditor/SQLTemplates/SQLExamples.tsx": 1, "components/interfaces/SQLEditor/SQLTemplates/SQLTemplates.tsx": 1, "components/interfaces/SQLEditor/UtilityPanel/ReadOnlyBadge.tsx": 1, @@ -750,7 +719,6 @@ "components/interfaces/Settings/Logs/LogColumnRenderers/MultigresColumnRender.tsx": 1, "components/interfaces/Settings/Logs/LogSelection.tsx": 1, "components/interfaces/Settings/Logs/LogSelectionRenderers/DefaultPreviewSelectionRenderer.tsx": 1, - "components/interfaces/Settings/Logs/Logs.Divider.tsx": 1, "components/interfaces/Settings/Logs/Logs.SavedQueriesItem.tsx": 1, "components/interfaces/Settings/Logs/Logs.SqlSnippetCode.tsx": 1, "components/interfaces/Settings/Logs/LogsErrorRenderers/ResourcesExceededErrorRenderer.tsx": 1, @@ -783,7 +751,6 @@ "components/layouts/BranchLayout/BranchLayout.tsx": 1, "components/layouts/DatabaseLayout/DatabaseLayout.tsx": 1, "components/layouts/DefaultLayout.tsx": 1, - "components/layouts/DocsLayout/DocsLayout.tsx": 1, "components/layouts/EdgeFunctionsLayout/EdgeFunctionDetailsLayout.tsx": 1, "components/layouts/EdgeFunctionsLayout/EdgeFunctionsLayout.tsx": 1, "components/layouts/IntegrationsLayout/IntegrationWindowLayout.tsx": 1, @@ -791,8 +758,6 @@ "components/layouts/JWTKeys/JWTKeysLayout.tsx": 1, "components/layouts/LogsLayout/LogsLayout.tsx": 1, "components/layouts/Navigation/NavigationBar/MobileNavigationBar.tsx": 1, - "components/layouts/Navigation/NavigationBar/MobileViewNav.tsx": 1, - "components/layouts/Navigation/NavigationBar/NavigationIconLink.tsx": 1, "components/layouts/Navigation/ProductMenuBar.tsx": 1, "components/layouts/ObservabilityLayout/ObservabilityLayout.tsx": 1, "components/layouts/ObservabilityLayout/ObservabilityMenu.tsx": 1, @@ -805,7 +770,6 @@ "components/layouts/SQLEditorLayout/SQLEditorLayout.tsx": 1, "components/layouts/StorageLayout/StorageLayout.tsx": 1, "components/layouts/WizardLayout.tsx": 1, - "components/to-be-cleaned/KeyMap.tsx": 1, "components/to-be-cleaned/ProductEmptyState.tsx": 1, "components/to-be-cleaned/Table.tsx": 1, "components/ui/AIEditor/ResizableAIWidget.tsx": 1, @@ -813,10 +777,8 @@ "components/ui/CardButton.tsx": 1, "components/ui/Charts/AreaChart.tsx": 1, "components/ui/Charts/BarChart.tsx": 1, - "components/ui/Charts/ChartHandler.tsx": 1, "components/ui/Charts/NoDataPlaceholder.tsx": 1, "components/ui/Charts/StackedBarChart.tsx": 1, - "components/ui/CodeEditor/CodeEditor.tsx": 1, "components/ui/CodeEditor/Providers/BackwardIterator.ts": 1, "components/ui/CodeEditor/Providers/PgSQLCompletionProvider.ts": 1, "components/ui/CodeEditor/Providers/PgSQLSignatureHelpProvider.ts": 1, @@ -825,10 +787,8 @@ "components/ui/CountdownTimer/CountdownTimerSpan.tsx": 1, "components/ui/DateRangePicker.tsx": 1, "components/ui/EditorPanel/EditorPanel.tsx": 1, - "components/ui/Error.tsx": 1, "components/ui/FormBoxEmpty.tsx": 1, "components/ui/FunctionSelector.tsx": 1, - "components/ui/GrafanaPromoBanner.tsx": 1, "components/ui/InformationBox.tsx": 1, "components/ui/LoadingOpacity.tsx": 1, "components/ui/Logs/LogsExplorerHeader.tsx": 1, @@ -839,7 +799,6 @@ "components/ui/SchemaSelector.tsx": 1, "components/ui/ShimmerLine.tsx": 1, "components/ui/SparkBar.tsx": 1, - "components/ui/SqlEditor.tsx": 1, "data/prefetchers/PrefetchableLink.tsx": 1, "hooks/analytics/useDbQuery.tsx": 1, "hooks/analytics/useLogsPreview.tsx": 1, @@ -869,9 +828,7 @@ "components/interfaces/ProjectAPIDocs/FirstLevelNav.tsx": 1, "components/interfaces/Settings/Logs/LogSelection.tsx": 1, "components/interfaces/Settings/Logs/LogsFormatters.tsx": 2, - "components/interfaces/Settings/Logs/PreviewFilterPanelWithUniversal.tsx": 1, "components/layouts/Navigation/LayoutHeader/FeedbackDropdown/FeedbackWidget.tsx": 1, - "components/layouts/Navigation/NavigationBar/NavigationIconLink.tsx": 1, "components/layouts/SQLEditorLayout/SQLEditorNavV2/SQLEditorNav.tsx": 3, "components/layouts/SQLEditorLayout/SQLEditorNavV2/SearchList.tsx": 1, "components/ui/AIAssistantPanel/MessageMarkdown.tsx": 1,