Opened 2 years ago

Last modified 2 weeks ago

#34563 assigned New feature

ManifestStaticFilesStorage support for CSS module scripts in Javascript files.

Reported by: Michael Owned by: blighj
Component: contrib.staticfiles Version: 4.2
Severity: Normal Keywords: Manifest Static Files Storage, javascript css html module scripts
Cc: Adam Johnson Triage Stage: Someday/Maybe
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

CSS modules scripts are becomming a thing, see https://web.dev/css-module-scripts/#:~:text=CSS%20module%20scripts%20are%20available,Safari%20is%20not%20yet%20available.

Current we only support JavaScript modules and not CSS modules with the ManifestStaticFilesStorage.

The following import paths in JS files files will need to be converted when collecting static with ManifestStaticFilesStorage:

import sheet from './styles.css' assert { type: 'css' };

Additionally WHATWG is firming up HTML modules, so we could proactively handle this too while we are at it:

import content from './template.html' assert { type: 'html };

Change History (4)

comment:1 by Mariusz Felisiak, 2 years ago

Cc: Adam Johnson added
Triage Stage: UnreviewedSomeday/Maybe

I think it's too early for this as Firefox and Safari still don't support it, and there doesn't seem to be any ongoing work on supporting it in the last 2 years.

comment:2 by Adam Johnson, 2 years ago

I agree, let’s get multiple browser support before modifying Django. You can implement support in your project or a third party package beforehand.

comment:3 by blighj, 5 weeks ago

This package I've been working on, and hoping to get feedback on, handles the assert syntax and will change the path of css/html files in an import statement, https://github.com/blighj/django-manifeststaticfiles-enhanced

comment:4 by blighj, 2 weeks ago

Owner: changed from nobody to blighj
Status: newassigned

https://github.com/django/django/pull/19561 Will solve this ticket too. This ticket can be closed if that is approved

Note: See TracTickets for help on using tickets.
Back to Top