django-tailwind-cli 4.2.0__tar.gz → 4.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/CHANGELOG.md +9 -1
  2. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/PKG-INFO +1 -1
  3. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/config.py +6 -3
  4. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/management/commands/tailwind.py +1 -1
  5. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/test_config.py +12 -0
  6. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/.github/dependabot.yml +0 -0
  7. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/.github/workflows/release.yml +0 -0
  8. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/.github/workflows/test.yml +0 -0
  9. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/.gitignore +0 -0
  10. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/.pre-commit-config.yaml +0 -0
  11. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/.readthedocs.yml +0 -0
  12. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/CODE_OF_CONDUCT.md +0 -0
  13. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/LICENSE +0 -0
  14. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/README.md +0 -0
  15. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/base_template.md +0 -0
  16. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/changelog.md +0 -0
  17. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/index.md +0 -0
  18. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/installation.md +0 -0
  19. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/requirements.txt +0 -0
  20. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/settings.md +0 -0
  21. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/template_tags.md +0 -0
  22. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/docs/usage.md +0 -0
  23. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/justfile +0 -0
  24. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/mkdocs.yml +0 -0
  25. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/pyproject.toml +0 -0
  26. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/__init__.py +0 -0
  27. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/apps.py +0 -0
  28. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/management/__init__.py +0 -0
  29. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/management/commands/__init__.py +0 -0
  30. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/py.typed +0 -0
  31. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/templates/tailwind_cli/base.html +0 -0
  32. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/templates/tailwind_cli/tailwind_css.html +0 -0
  33. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/templatetags/__init__.py +0 -0
  34. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/src/django_tailwind_cli/templatetags/tailwind_cli.py +0 -0
  35. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/.gitignore +0 -0
  36. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/__init__.py +0 -0
  37. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/assets/css/.gitkeep +0 -0
  38. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/assets/css/tailwind.css +0 -0
  39. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/conftest.py +0 -0
  40. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/settings.py +0 -0
  41. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/templates/tests/base.html +0 -0
  42. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/templates/tests/dummy.email +0 -0
  43. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/test_get_runserver_options.py +0 -0
  44. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/test_management_commands.py +0 -0
  45. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tests/test_tailwind_css_tag.py +0 -0
  46. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/tox.ini +0 -0
  47. {django_tailwind_cli-4.2.0 → django_tailwind_cli-4.2.2}/uv.lock +0 -0
@@ -1,6 +1,14 @@
1
1
  # Changelog
2
2
 
3
- ## 4.2.0 (Unreleased)
3
+ ## 4.2.2
4
+
5
+ - Default configuration stored in the user cache directory is overwritten on every start of the debug server or other management command.
6
+
7
+ ## 4.2.1
8
+
9
+ - Bugfix for determining the latest release of the used version of Tailwind CSS.
10
+
11
+ ## 4.2.0
4
12
 
5
13
  > [!CAUTION]
6
14
  > Version 4.2.x and onward only support Tailwind CSS 4.x. If you are using Tailwind CSS 3.x,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-tailwind-cli
3
- Version: 4.2.0
3
+ Version: 4.2.2
4
4
  Summary: Django and Tailwind integration based on the prebuilt Tailwind CSS CLI.
5
5
  Project-URL: Home, https://django-tailwind-cli.rtfd.io/
6
6
  Project-URL: Documentation, https://django-tailwind-cli.rtfd.io/
@@ -2,7 +2,6 @@ import os
2
2
  import platform
3
3
  from dataclasses import dataclass
4
4
  from pathlib import Path
5
- from typing import Optional
6
5
 
7
6
  import platformdirs
8
7
  import requests
@@ -20,7 +19,8 @@ class Config:
20
19
  download_url: str
21
20
  dist_css: Path
22
21
  dist_css_base: str
23
- src_css: Optional[Path]
22
+ src_css: Path
23
+ overwrite_default_config: bool = True
24
24
  automatic_download: bool = True
25
25
  use_daisy_ui: bool = False
26
26
 
@@ -74,7 +74,7 @@ def get_version() -> tuple[str, Version]:
74
74
  raise ValueError("TAILWIND_CLI_SRC_REPO must not be None.")
75
75
 
76
76
  if version_str == "latest":
77
- r = requests.get(f"https://github.com/{repo_url}/releases/latest/", timeout=2)
77
+ r = requests.get(f"https://github.com/{repo_url}/releases/latest/", timeout=2, allow_redirects=False)
78
78
  if r.ok and "location" in r.headers:
79
79
  version_str = r.headers["location"].rstrip("/").split("/")[-1].replace("v", "")
80
80
  return version_str, Version.parse(version_str)
@@ -152,10 +152,12 @@ def get_config() -> Config:
152
152
  if not src_css:
153
153
  user_cache_dir = platformdirs.user_cache_dir("django-tailwind-cli", "django-commons")
154
154
  src_css = Path(user_cache_dir) / "source.css"
155
+ overwrite_default_config = True
155
156
  else:
156
157
  src_css = Path(src_css)
157
158
  if not src_css.is_absolute():
158
159
  src_css = Path(settings.BASE_DIR) / src_css
160
+ overwrite_default_config = False
159
161
 
160
162
  # Determine if the CLI should be downloaded automatically
161
163
  automatic_download = getattr(settings, "TAILWIND_CLI_AUTOMATIC_DOWNLOAD", True)
@@ -169,6 +171,7 @@ def get_config() -> Config:
169
171
  dist_css=dist_css,
170
172
  dist_css_base=dist_css_base,
171
173
  src_css=src_css,
174
+ overwrite_default_config=overwrite_default_config,
172
175
  automatic_download=automatic_download,
173
176
  use_daisy_ui=use_daisy_ui,
174
177
  )
@@ -286,7 +286,7 @@ def _create_standard_config() -> None:
286
286
  """Create a standard Tailwind CSS config file."""
287
287
  c = get_config()
288
288
 
289
- if c.src_css and not c.src_css.exists():
289
+ if c.src_css and (c.overwrite_default_config or not c.src_css.exists()):
290
290
  c.src_css.parent.mkdir(parents=True, exist_ok=True)
291
291
  if c.use_daisy_ui:
292
292
  c.src_css.write_text(DAISY_UI_SOURCE_CSS)
@@ -86,6 +86,18 @@ def test_default_config():
86
86
  assert str(c.dist_css) == "/home/user/project/assets/css/tailwind.css"
87
87
  assert c.src_css is not None
88
88
  assert str(c.src_css).endswith("django-tailwind-cli/source.css")
89
+ assert c.overwrite_default_config
90
+
91
+
92
+ @pytest.mark.parametrize(
93
+ "src_path",
94
+ ["relative/source.css", "/absolute/src.css"],
95
+ )
96
+ def test_overwrite_src_css(settings: SettingsWrapper, src_path: str):
97
+ settings.TAILWIND_CLI_SRC_CSS = src_path
98
+ c = get_config()
99
+ assert not c.overwrite_default_config
100
+ assert str(c.src_css).endswith(src_path)
89
101
 
90
102
 
91
103
  def test_invalid_settings_for_staticfiles_dirs(settings: SettingsWrapper):