#32383: ManifestStaticFilesStorage doesn't update JavaScript source map
references
-----------------------------------------------+------------------------
Reporter: Adam Johnson | Owner: nobody
Type: New feature | Status: new
Component: contrib.staticfiles | Version: master
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------------+------------------------
ManifestStaticFilesStorage replaces URL's in CSS files with the hashed
equivalents, but doesn't have any other out-of-the-box rules. One common
use case for cross-static-file-references is a
[https://developer.mozilla.org/en-
US/docs/Tools/Debugger/How_to/Use_a_source_map JavaScript source map], a
structured comment in a JS file.
I think it would be a reasonable inclusion that Django modifies these too.
I got it working (with Whitenoise's subclass of
`ManifestStaticFilesStorage`) with this extra regex pattern:
{{{
from whitenoise.storage import CompressedManifestStaticFilesStorage
class SuperStaticFilesStorage(CompressedManifestStaticFilesStorage):
patterns = CompressedManifestStaticFilesStorage.patterns + (
(
"*.js",
(
(
r"(//# sourceMappingURL=(.*?\.js\.map))$",
"//# sourceMappingURL=%s",
),
),
),
)
}}}
Ideally the regex would start with a ^", which requires the regex
mulitline flag, and would NOT be compiled in case-insenstive mode. The
current storage implementation forces compiling regexes with only the case
insensitive flag.
--
Ticket URL: <https://code.djangoproject.com/ticket/32383>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/053.fbab595ec20749d9b125ac194f5098d2%40djangoproject.com.