Skip to content

feat(fs): support Deno.copyFile for S3-backed file systems - #724

Open
da1suk8 wants to merge 2 commits into
supabase:mainfrom
da1suk8:feat/s3-copy-file
Open

feat(fs): support Deno.copyFile for S3-backed file systems#724
da1suk8 wants to merge 2 commits into
supabase:mainfrom
da1suk8:feat/s3-copy-file

Conversation

@da1suk8

@da1suk8 da1suk8 commented Aug 27, 2026

Copy link
Copy Markdown

Summary

Adds Deno.copyFile and Deno.copyFileSync support for S3-backed file systems.

  • Copies objects with S3's CopyObject API without downloading data locally
  • Maps missing source objects/buckets to NotFound
  • URL-encodes copy-source object keys correctly
  • Adds unit and integration test coverage for async and sync copies

Limitation

This implementation relies on S3 CopyObject, which supports source objects up to 5 GiB.
Copying larger objects will require multipart copy support in a follow-up change.

Validation

  • cargo fmt --all -- --check
  • cargo metadata --no-deps --format-version=1 --locked --offline
  • cargo test -p fs --lib copy_

@da1suk8 da1suk8 changed the title feat(fs): support copying S3 objects feat(fs): support Deno.copyFile for S3-backed file systems Aug 27, 2026
@da1suk8
da1suk8 marked this pull request as ready for review August 27, 2026 13:16
Comment thread crates/fs/impl/s3_fs.rs Outdated
@da1suk8
da1suk8 requested a review from kallebysantos August 29, 2026 11:59
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.

2 participants