mirror of
https://github.com/ae-utbm/sith.git
synced 2024-12-25 01:01:16 +00:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
from pathlib import Path
|
|
|
|
from django.contrib.staticfiles.apps import StaticFilesConfig
|
|
|
|
GENERATED_ROOT = Path(__file__).parent.resolve() / "generated"
|
|
BUNDLED_FOLDER_NAME = "bundled"
|
|
BUNDLED_ROOT = GENERATED_ROOT / BUNDLED_FOLDER_NAME
|
|
IGNORE_PATTERNS_BUNDLED = [f"{BUNDLED_FOLDER_NAME}/*"]
|
|
IGNORE_PATTERNS_SCSS = ["*.scss"]
|
|
IGNORE_PATTERNS_TYPESCRIPT = ["*.ts"]
|
|
IGNORE_PATTERNS = [
|
|
*StaticFilesConfig.ignore_patterns,
|
|
*IGNORE_PATTERNS_TYPESCRIPT,
|
|
*IGNORE_PATTERNS_BUNDLED,
|
|
*IGNORE_PATTERNS_SCSS,
|
|
]
|
|
|
|
|
|
# We override the original staticfiles app according to
|
|
# https://docs.djangoproject.com/en/4.2/ref/contrib/staticfiles/#customizing-the-ignored-pattern-list
|
|
# However, this is buggy and requires us
|
|
# to have an exact naming of the class like this to be detected
|
|
# Also, it requires to create all commands in management/commands again
|
|
# or they don't get detected by django
|
|
# Workaround originates from https://stackoverflow.com/a/78724835/12640533
|
|
class StaticFilesConfig(StaticFilesConfig):
|
|
"""
|
|
Application in charge of processing statics files.
|
|
It replaces the original django staticfiles
|
|
It integrates scss files and javascript bundling.
|
|
It makes sure that statics are properly collected and that they are automatically
|
|
when using the development server.
|
|
"""
|
|
|
|
ignore_patterns = IGNORE_PATTERNS
|
|
name = "staticfiles"
|