Update docs url to env var (#38772)

* Update Supabase docs URLs to use env variable

Co-authored-by: a <a@alaisteryoung.com>

* Refactor: Use DOCS_URL constant for documentation links

This change centralizes documentation links using a new DOCS_URL constant, improving maintainability and consistency.

Co-authored-by: a <a@alaisteryoung.com>

* Refactor: Use DOCS_URL constant for all documentation links

This change replaces hardcoded documentation URLs with a centralized constant, improving maintainability and consistency.

Co-authored-by: a <a@alaisteryoung.com>

* replace more instances

* ci: Autofix updates from GitHub workflow

* remaining instances

* fix duplicate useRouter

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: alaister <10985857+alaister@users.noreply.github.com>
This commit is contained in:
authored and GitHub committed 2025-09-26 10:16:33 +00:00
1 parent 2e9b6d63ed
commit 5f533247e1
182 files changed
+744 -686

No files matched your search

@@ -14,6 +14,7 @@ import Link from 'next/link'
import { LINTER_LEVELS, LintInfo } from 'components/interfaces/Linter/Linter.constants'
import { LINT_TYPES, Lint } from 'data/lint/lint-query'
import { DOCS_URL } from 'lib/constants'
import { Badge, Button } from 'ui'
export const lintInfoMap: LintInfo[] = [
@@ -24,8 +25,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/database/indexes?schema=${metadata?.schema}`,
linkText: 'Create an index',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0001_unindexed_foreign_keys',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0001_unindexed_foreign_keys`,
category: 'performance',
},
{
@@ -34,8 +34,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Lock className="text-foreground-muted" size={15} strokeWidth={1.5} />,
link: ({ projectRef }) => `/project/${projectRef}/editor`,
linkText: 'View table',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0002_auth_users_exposed',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0002_auth_users_exposed`,
category: 'security',
},
{
@@ -44,8 +43,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/policies`,
linkText: 'View policies',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0003_auth_rls_initplan',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0003_auth_rls_initplan`,
category: 'performance',
},
{
@@ -54,8 +52,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/editor`,
linkText: 'View table',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0004_no_primary_key',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0004_no_primary_key`,
category: 'performance',
},
{
@@ -65,8 +62,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/database/indexes?schema=${metadata?.schema}&table=${metadata?.name}`,
linkText: 'View index',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0005_unused_index',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0005_unused_index`,
category: 'performance',
},
{
@@ -76,8 +72,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
linkText: 'View policies',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0006_multiple_permissive_policies',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0006_multiple_permissive_policies`,
category: 'performance',
},
{
@@ -87,8 +82,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
linkText: 'View policies',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0007_policy_exists_rls_disabled',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0007_policy_exists_rls_disabled`,
category: 'security',
},
{
@@ -98,8 +92,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
linkText: 'View table',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0008_rls_enabled_no_policy',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0008_rls_enabled_no_policy`,
category: 'security',
},
{
@@ -109,8 +102,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/database/indexes?schema=${metadata?.schema}&table=${metadata?.name}`,
linkText: 'View index',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0009_duplicate_index',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0009_duplicate_index`,
category: 'performance',
},
{
@@ -118,10 +110,9 @@ export const lintInfoMap: LintInfo[] = [
title: 'Security Definer View',
icon: <Eye className="text-foreground-muted" size={15} strokeWidth={1.5} />,
link: () =>
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view',
`${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view`,
linkText: 'View docs',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0010_security_definer_view`,
category: 'security',
},
{
@@ -131,8 +122,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/database/functions?schema=${metadata?.schema}&search=${metadata?.name}`,
linkText: 'View functions',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0011_function_search_path_mutable',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0011_function_search_path_mutable`,
category: 'security',
},
{
@@ -142,8 +132,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/auth/policies?schema=${metadata?.schema}&search=${metadata?.name}`,
linkText: 'View policies',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0013_rls_disabled_in_public',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0013_rls_disabled_in_public`,
category: 'security',
},
{
@@ -153,8 +142,7 @@ export const lintInfoMap: LintInfo[] = [
link: ({ projectRef, metadata }) =>
`/project/${projectRef}/database/extensions?filter=${metadata?.name}`,
linkText: 'View extension',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0014_extension_in_public',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0014_extension_in_public`,
category: 'security',
},
{
@@ -163,7 +151,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Clock className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/providers`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/going-into-prod#security',
docsLink: `${DOCS_URL}/guides/platform/going-into-prod#security`,
category: 'security',
},
{
@@ -172,7 +160,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/providers`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/going-into-prod#security',
docsLink: `${DOCS_URL}/guides/platform/going-into-prod#security`,
category: 'security',
},
{
@@ -181,30 +169,25 @@ export const lintInfoMap: LintInfo[] = [
icon: <User className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/policies`,
linkText: 'View policies',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?queryGroups=lint&lint=0015_rls_references_user_metadata',
docsLink: `${DOCS_URL}/guides/database/database-linter?queryGroups=lint&lint=0015_rls_references_user_metadata`,
category: 'security',
},
{
name: 'materialized_view_in_api',
title: 'Materialized View in API',
icon: <Eye className="text-foreground-muted" size={15} strokeWidth={1.5} />,
link: () =>
`https://supabase.com/docs/guides/database/database-advisors?lint=0016_materialized_view_in_api`,
link: () => `${DOCS_URL}/guides/database/database-advisors?lint=0016_materialized_view_in_api`,
linkText: 'View docs',
docsLink:
'https://supabase.com/docs/guides/database/database-advisors?lint=0016_materialized_view_in_api',
docsLink: `${DOCS_URL}/guides/database/database-advisors?lint=0016_materialized_view_in_api`,
category: 'security',
},
{
name: 'foreign_table_in_api',
title: 'Foreign Table in API',
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1.5} />,
link: () =>
`https://supabase.com/docs/guides/database/database-linter?lint=0017_foreign_table_in_api`,
link: () => `${DOCS_URL}/guides/database/database-linter?lint=0017_foreign_table_in_api`,
linkText: 'View docs',
docsLink:
'https://supabase.com/docs/guides/database/database-linter?lint=0017_foreign_table_in_api',
docsLink: `${DOCS_URL}/guides/database/database-linter?lint=0017_foreign_table_in_api`,
category: 'security',
},
{
@@ -212,10 +195,9 @@ export const lintInfoMap: LintInfo[] = [
title: 'Unsupported reg types',
icon: <Table2 className="text-foreground-muted" size={15} strokeWidth={1.5} />,
link: () =>
`https://supabase.com/docs/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint`,
`${DOCS_URL}/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint`,
linkText: 'View docs',
docsLink:
'https://supabase.com/docs/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint',
docsLink: `${DOCS_URL}/guides/database/database-advisors?lint=0018_unsupported_reg_types&queryGroups=lint`,
category: 'security',
},
{
@@ -224,7 +206,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/database/settings`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/ssl-enforcement',
docsLink: `${DOCS_URL}/guides/platform/ssl-enforcement`,
category: 'security',
},
{
@@ -233,7 +215,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/database/settings`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/network-restrictions',
docsLink: `${DOCS_URL}/guides/platform/network-restrictions`,
category: 'security',
},
{
@@ -242,7 +224,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/providers?provider=Email`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/going-into-prod#security',
docsLink: `${DOCS_URL}/guides/platform/going-into-prod#security`,
category: 'security',
},
{
@@ -251,7 +233,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <Ruler className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/database/backups/pitr`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/backups#point-in-time-recovery',
docsLink: `${DOCS_URL}/guides/platform/backups#point-in-time-recovery`,
category: 'security',
},
{
@@ -260,8 +242,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/providers?provider=Email`,
linkText: 'View settings',
docsLink:
'https://supabase.com/docs/guides/auth/password-security#password-strength-and-leaked-password-protection',
docsLink: `${DOCS_URL}/guides/auth/password-security#password-strength-and-leaked-password-protection`,
category: 'security',
},
{
@@ -270,7 +251,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/mfa`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/auth/auth-mfa',
docsLink: `${DOCS_URL}/guides/auth/auth-mfa`,
category: 'security',
},
{
@@ -279,7 +260,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/providers?provider=Email`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/auth/password-security',
docsLink: `${DOCS_URL}/guides/auth/password-security`,
category: 'security',
},
{
@@ -288,7 +269,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/settings/api`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/api/api-keys#the-servicerole-key',
docsLink: `${DOCS_URL}/guides/api/api-keys#the-servicerole-key`,
category: 'security',
},
{
@@ -297,7 +278,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/auth/mfa`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/auth/auth-mfa',
docsLink: `${DOCS_URL}/guides/auth/auth-mfa`,
category: 'security',
},
{
@@ -306,7 +287,7 @@ export const lintInfoMap: LintInfo[] = [
icon: <LockIcon className="text-foreground-muted" size={15} strokeWidth={1} />,
link: ({ projectRef }) => `/project/${projectRef}/settings/infrastructure`,
linkText: 'View settings',
docsLink: 'https://supabase.com/docs/guides/platform/upgrading',
docsLink: `${DOCS_URL}/guides/platform/upgrading`,
category: 'security',
},
]