Dear Django Community,
Following our previous discussion about improving ManifestStaticFilesStorage (original thread), I’ve formalized my GSoC 2025 proposal to address these key challenges:
- Problem Space:
- Regex limitations with modern JS/CSS (#35371 (False positive in JS module aggregation export regex when an export declaration precedes an import declaration) – Django), (#34497 (ManifestStaticFilesStorage skips import and export of javascript modules with absolute paths) – Django)
- Missing path aliases (
@/components) support - Source map breaking in production
- Proposed Solution:
# Opt-in modern engine
STATICFILES_ENGINE = "ast" # esbuild-based parsing
STATICFILES_ALIASES = {"@": "node_modules/"}
- Key Deliverables:
- AST parser (replacing regex)
- Configurable path resolution
- PostCSS integration (source maps)
- 100% backward compatibility
Full Proposal:
[GitHub Gist] (includes technical deep dive + timeline)
Why This Matters:
- Solves long-standing pain points for Django + modern frontends
- Complements (rather than replaces) current system
- Builds on my previous work on #32849 (PR19322)
Requesting Feedback On:
- Priority order: Should CSS source maps come before path aliases?
- Integration approach: Is
STATICFILES_ENGINEthe right opt-in mechanism? - Mentorship availability: Would core devs be available for weekly check-ins?
About Me:
Master’s student in Software Engineering with production Django experience (AWS/Heroku). Contributed to Django core via #32849 fix.