litestar-vite 0.2.5__tar.gz → 0.2.7__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.

Potentially problematic release.


This version of litestar-vite might be problematic. Click here for more details.

Files changed (121) hide show
  1. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/PKG-INFO +1 -1
  2. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/exception_handler.py +4 -6
  3. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/response.py +12 -10
  4. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/pyproject.toml +1 -1
  5. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/CODEOWNERS +0 -0
  6. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/dependabot.yaml +0 -0
  7. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/workflows/cd.yaml +0 -0
  8. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/workflows/ci.yaml +0 -0
  9. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/workflows/docs-preview.yaml +0 -0
  10. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/workflows/docs.yaml +0 -0
  11. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/workflows/pr-title.yaml +0 -0
  12. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.github/workflows/publish.yaml +0 -0
  13. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.gitignore +0 -0
  14. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.pre-commit-config.yaml +0 -0
  15. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/.python-version +0 -0
  16. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/CONTRIBUTING.rst +0 -0
  17. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/LICENSE +0 -0
  18. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/Makefile +0 -0
  19. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/README.md +0 -0
  20. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/Makefile +0 -0
  21. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/conf.py +0 -0
  22. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/contribution-guide.rst +0 -0
  23. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/fix_missing_references.py +0 -0
  24. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/index.rst +0 -0
  25. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/reference/config.rst +0 -0
  26. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/reference/plugin.rst +0 -0
  27. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/usage/index.rst +0 -0
  28. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/docs/usage/placeholder.rst +0 -0
  29. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/__init__.py +0 -0
  30. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/app.py +0 -0
  31. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/package-lock.json +0 -0
  32. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/package.json +0 -0
  33. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/public/assets/main-l0sNRNKZ.js +0 -0
  34. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/public/assets/styles-l0sNRNKZ.js +0 -0
  35. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/public/manifest.json +0 -0
  36. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/resources/main.ts +0 -0
  37. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/resources/styles.css +0 -0
  38. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/templates/index.html.j2 +0 -0
  39. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/tsconfig.json +0 -0
  40. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/basic/vite.config.ts +0 -0
  41. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/app.py +0 -0
  42. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/package-lock.json +0 -0
  43. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/package.json +0 -0
  44. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/public/assets/main-l0sNRNKZ.js +0 -0
  45. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/public/assets/styles-l0sNRNKZ.js +0 -0
  46. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/public/manifest.json +0 -0
  47. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/resources/main.ts +0 -0
  48. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/resources/styles.css +0 -0
  49. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/templates/index.html.j2 +0 -0
  50. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/tsconfig.json +0 -0
  51. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/flash/vite.config.ts +0 -0
  52. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/app.py +0 -0
  53. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/package-lock.json +0 -0
  54. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/package.json +0 -0
  55. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/postcss.config.cjs +0 -0
  56. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/public/assets/main-BIhkjqcE.js +0 -0
  57. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/public/assets/styles-B8hX6ha2.css +0 -0
  58. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/public/manifest.json +0 -0
  59. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/Layout.vue +0 -0
  60. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/main.js +0 -0
  61. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/pages/Dashboard.vue +0 -0
  62. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/pages/Home.vue +0 -0
  63. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/styles.css +0 -0
  64. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/templates/index.html +0 -0
  65. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/resources/vite-env.d.ts +0 -0
  66. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/tailwind.config.cjs +0 -0
  67. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/tsconfig.json +0 -0
  68. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/examples/inertia/vite.config.ts +0 -0
  69. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/__init__.py +0 -0
  70. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/__metadata__.py +0 -0
  71. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/cli.py +0 -0
  72. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/commands.py +0 -0
  73. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/config.py +0 -0
  74. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/__init__.py +0 -0
  75. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/_utils.py +0 -0
  76. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/config.py +0 -0
  77. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/middleware.py +0 -0
  78. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/plugin.py +0 -0
  79. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/request.py +0 -0
  80. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/routes.py +0 -0
  81. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/inertia/types.py +0 -0
  82. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/loader.py +0 -0
  83. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/plugin.py +0 -0
  84. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/py.typed +0 -0
  85. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/template_engine.py +0 -0
  86. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/__init__.py +0 -0
  87. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/index.html.j2 +0 -0
  88. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/main.ts.j2 +0 -0
  89. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/package.json.j2 +0 -0
  90. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/styles.css.j2 +0 -0
  91. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/tsconfig.json.j2 +0 -0
  92. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/litestar_vite/templates/vite.config.ts.j2 +0 -0
  93. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/pdm.lock +0 -0
  94. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/__init__.py +0 -0
  95. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/conftest.py +0 -0
  96. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/templates/__init__.py +0 -0
  97. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/templates/index.html.j2 +0 -0
  98. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/__init__.py +0 -0
  99. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/app.py +0 -0
  100. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/__init__.py +0 -0
  101. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/public/.gitkeep +0 -0
  102. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/public/assets/main-l0sNRNKZ.js +0 -0
  103. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/public/assets/styles-l0sNRNKZ.js +0 -0
  104. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/public/manifest.json +0 -0
  105. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/resources/.gitkeep +0 -0
  106. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/resources/main.ts +0 -0
  107. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/resources/styles.css +0 -0
  108. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/templates/.gitkeep +0 -0
  109. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_app/web/templates/index.html +0 -0
  110. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_cli/__init__.py +0 -0
  111. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_cli/conftest.py +0 -0
  112. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_cli/test_init.py +0 -0
  113. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_commands.py +0 -0
  114. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_config.py +0 -0
  115. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_inertia/__init__.py +0 -0
  116. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_inertia/conftest.py +0 -0
  117. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_inertia/templates/index.html.j2 +0 -0
  118. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_inertia/test_inertia_request.py +0 -0
  119. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_inertia/test_inertia_response.py +0 -0
  120. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_inertia/test_routes.py +0 -0
  121. {litestar_vite-0.2.5 → litestar_vite-0.2.7}/tests/test_template_engine.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: litestar-vite
3
- Version: 0.2.5
3
+ Version: 0.2.7
4
4
  Summary: Vite plugin for Litestar
5
5
  Project-URL: Changelog, https://cofin.github.io/litestar-vite/latest/changelog
6
6
  Project-URL: Discord, https://discord.gg/X3FJqy8d2j
@@ -6,6 +6,7 @@ from litestar.connection import Request
6
6
  from litestar.connection.base import AuthT, StateT, UserT
7
7
  from litestar.exceptions import (
8
8
  HTTPException,
9
+ ImproperlyConfiguredException,
9
10
  InternalServerException,
10
11
  NotAuthorizedException,
11
12
  NotFoundException,
@@ -72,7 +73,7 @@ def create_inertia_exception_response(request: Request[UserT, AuthT, StateT], ex
72
73
  content.update({"extra": extras})
73
74
  try:
74
75
  flash(request, detail, category="error")
75
- except AttributeError:
76
+ except (AttributeError, ImproperlyConfiguredException):
76
77
  msg = "Unable to set `flash` session state. A valid session was not found for this request."
77
78
  request.logger.warning(msg)
78
79
  if extras and len(extras) >= 1:
@@ -82,11 +83,8 @@ def create_inertia_exception_response(request: Request[UserT, AuthT, StateT], ex
82
83
  match = FIELD_ERR_RE.search(error_detail)
83
84
  field = match.group(1) if match else default_field
84
85
  if isinstance(message, dict):
85
- error(request, field, error_detail)
86
- if status_code in {HTTP_422_UNPROCESSABLE_ENTITY, HTTP_400_BAD_REQUEST} or isinstance(
87
- exc,
88
- PermissionDeniedException,
89
- ):
86
+ error(request, field, error_detail if error_detail else detail)
87
+ if status_code in {HTTP_422_UNPROCESSABLE_ENTITY, HTTP_400_BAD_REQUEST}:
90
88
  return InertiaBack(request)
91
89
  if isinstance(exc, PermissionDeniedException):
92
90
  return InertiaBack(request)
@@ -7,7 +7,7 @@ from mimetypes import guess_type
7
7
  from pathlib import PurePath
8
8
  from textwrap import dedent
9
9
  from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Mapping, TypeVar, cast
10
- from urllib.parse import quote, urlparse
10
+ from urllib.parse import quote, urlparse, urlunparse
11
11
 
12
12
  from litestar import Litestar, MediaType, Request, Response
13
13
  from litestar.datastructures.cookie import Cookie
@@ -48,7 +48,7 @@ def share(
48
48
  ) -> None:
49
49
  try:
50
50
  connection.session.setdefault("_shared", {}).update({key: value})
51
- except AttributeError:
51
+ except (AttributeError, ImproperlyConfiguredException):
52
52
  msg = "Unable to set `share` session state. A valid session was not found for this request."
53
53
  connection.logger.warning(msg)
54
54
 
@@ -60,7 +60,7 @@ def error(
60
60
  ) -> None:
61
61
  try:
62
62
  connection.session.setdefault("_errors", {}).update({key: message})
63
- except AttributeError:
63
+ except (AttributeError, ImproperlyConfiguredException):
64
64
  msg = "Unable to set `error` session state. A valid session was not found for this request."
65
65
  connection.logger.warning(msg)
66
66
 
@@ -72,11 +72,12 @@ def get_shared_props(request: ASGIConnection[Any, Any, Any, Any]) -> Dict[str, A
72
72
  Be sure to call this before `self.create_template_context` if you would like to include the `flash` message details.
73
73
  """
74
74
  props: dict[str, Any] = {}
75
+ flash: dict[str, list[str]] = defaultdict(list)
76
+ errors: dict[str, Any] = {}
77
+ error_bag = request.headers.get("X-Inertia-Error-Bag", None)
75
78
  try:
76
- error_bag = request.headers.get("X-Inertia-Error-Bag", None)
77
- errors: dict[str, Any] = request.session.pop("_errors", {})
79
+ errors = request.session.pop("_errors", {})
78
80
  props.update(cast("Dict[str,Any]", request.session.pop("_shared", {})))
79
- flash: dict[str, list[str]] = defaultdict(list)
80
81
  for message in cast("List[Dict[str,Any]]", request.session.pop("_messages", [])):
81
82
  flash[message["category"]].append(message["message"])
82
83
 
@@ -85,11 +86,12 @@ def get_shared_props(request: ASGIConnection[Any, Any, Any, Any]) -> Dict[str, A
85
86
  for session_prop in inertia_plugin.config.extra_session_page_props:
86
87
  if session_prop not in props and session_prop in request.session:
87
88
  props[session_prop] = request.session.get(session_prop)
88
- props["flash"] = flash
89
- props["errors"] = {error_bag: errors} if error_bag is not None else errors
90
- except AttributeError:
89
+
90
+ except (AttributeError, ImproperlyConfiguredException):
91
91
  msg = "Unable to generate all shared props. A valid session was not found for this request."
92
92
  request.logger.warning(msg)
93
+ props["flash"] = flash
94
+ props["errors"] = {error_bag: errors} if error_bag is not None else errors
93
95
  props["csrf_token"] = value_or_default(ScopeState.from_scope(request.scope).csrf_token, "")
94
96
  return props
95
97
 
@@ -336,7 +338,7 @@ class InertiaRedirect(Redirect):
336
338
  and pass redirect url.
337
339
  """
338
340
  referer = urlparse(request.headers.get("referer", str(request.base_url)))
339
- redirect_to = str(urlparse(redirect_to)._replace(scheme=referer.scheme))
341
+ redirect_to = urlunparse(urlparse(redirect_to)._replace(scheme=referer.scheme))
340
342
  super().__init__(
341
343
  path=redirect_to,
342
344
  status_code=HTTP_307_TEMPORARY_REDIRECT if request.method == "GET" else HTTP_303_SEE_OTHER,
@@ -26,7 +26,7 @@ license = { text = "MIT" }
26
26
  name = "litestar-vite"
27
27
  readme = "README.md"
28
28
  requires-python = ">=3.8"
29
- version = "0.2.5"
29
+ version = "0.2.7"
30
30
 
31
31
  [project.urls]
32
32
  Changelog = "https://cofin.github.io/litestar-vite/latest/changelog"
File without changes
File without changes
File without changes
File without changes
File without changes