mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-11 04:19:25 +00:00
Completely integrate wepack in django
* Migrate alpine * Migrate jquery and jquery-ui * Migrate shorten * Add babel for javascript * Introduce staticfiles django app * Only bundle -index.js files in static/webpack * Unify scss and webpack generated files * Convert scss calls to static * Add --clear-generated option to collectstatic * Fix docs warnings
This commit is contained in:
36
staticfiles/finders.py
Normal file
36
staticfiles/finders.py
Normal file
@ -0,0 +1,36 @@
|
||||
import os
|
||||
|
||||
from django.contrib.staticfiles import utils
|
||||
from django.contrib.staticfiles.finders import FileSystemFinder
|
||||
from django.core.files.storage import FileSystemStorage
|
||||
|
||||
from staticfiles.apps import GENERATED_ROOT, IGNORE_PATTERNS_WEBPACK
|
||||
|
||||
|
||||
class GeneratedFilesFinder(FileSystemFinder):
|
||||
"""Find generated and regular static files"""
|
||||
|
||||
def __init__(self, app_names=None, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
# Add GENERATED_ROOT after adding everything in settings.STATICFILES_DIRS
|
||||
self.locations.append(("", GENERATED_ROOT))
|
||||
generated_storage = FileSystemStorage(location=GENERATED_ROOT)
|
||||
generated_storage.prefix = ""
|
||||
self.storages[GENERATED_ROOT] = generated_storage
|
||||
|
||||
def list(self, ignore_patterns: list[str]):
|
||||
# List all files availables
|
||||
for _, root in self.locations:
|
||||
# Skip nonexistent directories.
|
||||
if not os.path.isdir(root):
|
||||
continue
|
||||
|
||||
ignored = ignore_patterns
|
||||
# We don't want to ignore webpack files in the generated folder
|
||||
if root == GENERATED_ROOT:
|
||||
ignored = list(set(ignored) - set(IGNORE_PATTERNS_WEBPACK))
|
||||
|
||||
storage = self.storages[root]
|
||||
for path in utils.get_files(storage, ignored):
|
||||
yield path, storage
|
Reference in New Issue
Block a user