Skip to content

feat(supabase): add image provider#2027

Merged
danielroe merged 8 commits into
nuxt:mainfrom
Patrity:main
Nov 16, 2025
Merged

feat(supabase): add image provider#2027
danielroe merged 8 commits into
nuxt:mainfrom
Patrity:main

Conversation

@Patrity
Copy link
Copy Markdown
Contributor

@Patrity Patrity commented Nov 16, 2025

🔗 Linked issue

Resolves #685
closes #686 (draft PR from 2022 that stalled without test coverage)

❓ Type of change

  • 📖 Documentation (updates to the documentation or readme)
  • 🐞 Bug fix (a non-breaking change that fixes an issue)
  • 👌 Enhancement (improving an existing functionality)
  • ✨ New feature (a non-breaking change that adds functionality)
  • 🧹 Chore (updates to the build process or auxiliary tools and libraries)
  • ⚠️ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

Adds Supabase Storage as a built-in image provider for automatic image transformations powered by imgproxy.

Features:

  • Supports width, height, quality, format, and resize modifiers
  • Maps standard Nuxt Image fit modifier to Supabase's resize parameter
  • Automatic WebP conversion (or use format=origin to preserve original)
  • Works with public buckets via Supabase's render endpoint

Implementation:

  • Provider: src/runtime/providers/supabase.ts
  • Tests: Full test coverage including all modifier combinations
  • Docs: docs/content/3.providers/supabase.md with configuration examples and limitations
  • Playground: Added configuration and samples for testing

Limitations:

  • Public buckets only (signed URLs not supported)
  • Requires Supabase Pro tier or above
  • Max image size: 25MB, max resolution: 50MP

@Patrity Patrity requested a review from danielroe as a code owner November 16, 2025 04:19
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Nov 16, 2025

Open in StackBlitz

npm i https://pkg.pr.new/@nuxt/image@2027

commit: d514e4c

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Nov 16, 2025

Codecov Report

❌ Patch coverage is 0% with 34 lines in your changes missing coverage. Please review.
✅ Project coverage is 7.00%. Comparing base (29de14a) to head (d514e4c).

Files with missing lines Patch % Lines
src/runtime/providers/supabase.ts 0.00% 32 Missing and 1 partial ⚠️
src/provider.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##            main   #2027      +/-   ##
========================================
- Coverage   7.07%   7.00%   -0.07%     
========================================
  Files         77      78       +1     
  Lines       3590    3624      +34     
  Branches     139     140       +1     
========================================
  Hits         254     254              
- Misses      3288    3321      +33     
- Partials      48      49       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Member

@danielroe danielroe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you so much! ❤️

@danielroe danielroe changed the title feat: add supabase image provider feat(supabase): add image provider Nov 16, 2025
@danielroe danielroe merged commit f012214 into nuxt:main Nov 16, 2025
8 of 9 checks passed
@github-actions github-actions Bot mentioned this pull request Nov 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add Supabase storage v2 as provider

3 participants