Skip to content

Pre-compress static assets (gzip) before S3 upload for faster page loads #4

@aynaash

Description

@aynaash

Summary

Static assets (.js, .css, .html, .json, .svg) should be gzip-compressed before uploading to S3, with Content-Encoding: gzip set. This reduces download sizes by 60-80% and speeds up page loads.

Current Behavior

Assets are uploaded raw to S3. CloudFront can compress on-the-fly, but pre-compression is more efficient and reduces Lambda/CloudFront compute.

Expected Behavior

  • Compress text-based assets with gzip before uploading
  • Set Content-Encoding: gzip on compressed S3 objects
  • Skip already-compressed formats (.png, .jpg, .woff2, .br)
  • Log compression savings (e.g., "main.js: 450KB → 120KB (73% smaller)")

Files to Modify

  • cli/internal/serverless/aws_s3.go — Add gzip compression step before PutObject

Compressible Extensions

.js, .css, .html, .json, .svg, .xml, .txt, .map, .mjs

Difficulty: Easy · Language: Go

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions