Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,16 @@ repos:
args: ["--fix=lf"]
- id: "trailing-whitespace"

- repo: "https://github.com/psf/black"
rev: "23.3.0"
hooks:
- id: "black"

- repo: "https://github.com/commitizen-tools/commitizen"
rev: "v3.13.0"
hooks:
- id: "commitizen"
stages: ["commit-msg"]

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.2
hooks:
- id: ruff
args:
- --fix
- id: ruff-format
1 change: 0 additions & 1 deletion django_vite/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
from .core.asset_loader import DjangoViteConfig


__all__ = ["DjangoViteConfig"]
8 changes: 5 additions & 3 deletions django_vite/core/asset_loader.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import json
import warnings
from pathlib import Path
from typing import Dict, List, Callable, NamedTuple, Optional, Union, Set
from typing import Callable, Dict, List, NamedTuple, Optional, Set, Union
from urllib.parse import urljoin
import warnings

from django.apps import apps
from django.conf import settings
from django.core.checks import Warning
from django.utils.module_loading import import_string

from django_vite.core.exceptions import (
DjangoViteManifestError,
DjangoViteAssetNotFoundError,
DjangoViteConfigNotFoundError,
DjangoViteManifestError,
)
from django_vite.core.tag_generator import Tag, TagGenerator, attrs_to_str

Expand Down Expand Up @@ -758,6 +758,7 @@ def _apply_legacy_django_vite_settings(cls):
f"settings will be ignored since you have a {cls.DJANGO_VITE}"
" setting configured. Please remove those legacy django-vite settings.",
DeprecationWarning,
stacklevel=2,
)
return

Expand All @@ -767,6 +768,7 @@ def _apply_legacy_django_vite_settings(cls):
"in future releases of django-vite. Please switch to defining your "
f'settings as {cls.DJANGO_VITE} = {{"default": {{...}},}}.',
DeprecationWarning,
stacklevel=2,
)

legacy_config = {}
Expand Down
3 changes: 1 addition & 2 deletions django_vite/templatetags/django_vite.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
from django import template
from django.utils.safestring import mark_safe

from django_vite.core.asset_loader import DjangoViteAssetLoader, DEFAULT_APP_NAME

from django_vite.core.asset_loader import DEFAULT_APP_NAME, DjangoViteAssetLoader

register = template.Library()

Expand Down
10 changes: 8 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ addopts = '''
'''
filterwarnings = "ignore::DeprecationWarning:django_vite.*"

[tool.black]
[tool.ruff]
line-length = 88

[tool.ruff]
[tool.ruff.lint]
select = [
"E", # pycodestyle
"F", # pyflakes
Expand All @@ -25,6 +25,12 @@ select = [
"I", # isort
]

ignore = [
"E501", # line too long (taken care of by formatter)
"PT012", # multiple statements in `pytest.raises` (TODO: fix?)
"SIM105", # `contextlib.suppress` is slower than try-except, so do not suggest it
]

# do not autofix the following violations due to bad DX:
unfixable = [
"F401", # Module imported but unused
Expand Down
9 changes: 5 additions & 4 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import Dict, Any
from typing import Any, Dict

import pytest

from django_vite.core.asset_loader import DjangoViteAssetLoader
Expand All @@ -12,7 +13,7 @@ def reload_django_vite():
DjangoViteAssetLoader.instance()


@pytest.fixture()
@pytest.fixture
def patch_settings(request, settings):
"""
1. Patch new settings into django.conf.settings.
Expand Down Expand Up @@ -46,14 +47,14 @@ def _patch_settings(new_settings: Dict[str, Any]):
reload_django_vite()


@pytest.fixture()
@pytest.fixture
def delete_settings(patch_settings):
"""
Unset settings that are part of the default test settings.py
"""

def _delete_settings(*settings_to_delete: str):
new_settings = {key: __PYTEST_DELETE__ for key in settings_to_delete}
new_settings = dict.fromkeys(settings_to_delete, __PYTEST_DELETE__)
return patch_settings(new_settings)

return _delete_settings
Expand Down
6 changes: 4 additions & 2 deletions tests/tests/templatetags/test_vite_asset.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
from pathlib import Path

import pytest
from bs4 import BeautifulSoup
from pathlib import Path
from django.conf import settings
from django.template import Context, Template, TemplateSyntaxError

from django_vite.core.exceptions import (
DjangoViteAssetNotFoundError,
DjangoViteConfigNotFoundError,
Expand Down Expand Up @@ -257,7 +259,7 @@ def test_vite_asset_nonexistent_app(dev_mode_true):
assert "Cannot find bad_app in DJANGO_VITE settings" in str(error)


@pytest.fixture()
@pytest.fixture
def external_vue_app(patch_settings, settings):
def _wrapper(dev_mode: bool):
return patch_settings(
Expand Down
1 change: 1 addition & 0 deletions tests/tests/templatetags/test_vite_asset_url.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from bs4 import BeautifulSoup
from django.template import Context, Template

from django_vite.core.exceptions import DjangoViteAssetNotFoundError


Expand Down
1 change: 1 addition & 0 deletions tests/tests/templatetags/test_vite_legacy_asset.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from bs4 import BeautifulSoup
from django.template import Context, Template

from django_vite.core.exceptions import DjangoViteAssetNotFoundError


Expand Down
1 change: 1 addition & 0 deletions tests/tests/templatetags/test_vite_legacy_polyfills.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from bs4 import BeautifulSoup
from django.template import Context, Template

from django_vite.core.exceptions import DjangoViteAssetNotFoundError


Expand Down
1 change: 1 addition & 0 deletions tests/tests/templatetags/test_vite_preload_asset.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import pytest
from bs4 import BeautifulSoup
from django.template import Context, Template

from django_vite.core.exceptions import DjangoViteAssetNotFoundError


Expand Down
16 changes: 5 additions & 11 deletions tests/tests/test_asset_loader.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from pathlib import Path

import pytest
from django.conf import settings

from django_vite.apps import check_loader_instance
from django_vite.core.asset_loader import (
DjangoViteConfig,
DjangoViteAssetLoader,
DjangoViteConfig,
)
from pathlib import Path
from django.conf import settings
from django_vite.core.asset_loader import DjangoViteConfig
from django_vite.apps import check_loader_instance


def test_django_vite_asset_loader_cannot_be_instantiated():
Expand Down Expand Up @@ -127,12 +127,6 @@ def test_parse_manifest_during_dev_mode(dev_mode_true):
assert manifest_client._parse_manifest() == manifest_client.ParsedManifestOutput()


def test_parse_manifest_during_dev_mode(dev_mode_true):
default_app = DjangoViteAssetLoader.instance()._apps["default"]
manifest_client = default_app.manifest
assert manifest_client._parse_manifest() == manifest_client.ParsedManifestOutput()


@pytest.mark.parametrize(
"patch_settings",
[
Expand Down
7 changes: 3 additions & 4 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,15 @@ ignore_outcome =
django-latest: True

[testenv:codestyle]
basepython = python3
commands =
black --check --diff .
ruff format --check --diff .
deps =
black
ruff~=0.11.2
skip_install = true

[testenv:lint]
commands =
ruff check django_vite
deps =
ruff
ruff~=0.11.2
skip_install = true