vue_ssr.settings

 1from dataclasses import dataclass
 2from typing import NotRequired, TypedDict
 3
 4
 5class VueSSRConfig(TypedDict):
 6    """
 7    Helper type to configure Vue SSR in settings.py.
 8
 9    Example:
10        VUE_SSR: VueSSRConfig = {
11            "host": "localhost",
12            "port": 3123,
13        }
14    """
15
16    host: NotRequired[str]
17    """ Host for Vue SSR server. Defaults to `localhost`. """
18    port: NotRequired[str | int]
19    """ Port for Vue SSR server. Defaults to `3123`. """
20    socket: NotRequired[str | None]
21    """ Unix socket path for Vue SSR server. """
22    protocol: NotRequired[str]
23    """ Protocol for Vue SSR server. Defaults to `http`. """
24    vite_host: NotRequired[str]
25    """ Host for Vite server during development. Defaults to `localhost`. """
26    vite_port: NotRequired[str]
27    """ Port for Vite server during development. Defaults to `5173`. """
28    vite_protocol: NotRequired[str]
29    """ Protocol for Vite server during development. Defaults to `http`. """
30    timeout: NotRequired[int | None]
31    """ Timeout for Vue SSR requests in milliseconds (default: 10). Set to None to disable timeout. """
32    debug: NotRequired[bool]
33    """Enable debug mode for Vue SSR. In debug mode, Vite will be used to render components. Defaults to `settings.DEBUG`."""
34
35
36@dataclass(frozen=True)
37class VueSSRSettings:
38    """
39    @private
40    """
41
42    host: str
43    port: str | int
44    socket: str | None
45    protocol: str
46    vite_host: str
47    vite_port: str
48    vite_protocol: str
49    timeout: int
50    debug: bool
51
52
53def get_vue_ssr_settings() -> VueSSRSettings:
54    """
55    @private
56    Get the Vue SSR settings.
57    :return: VueSSRSettings
58    """
59    from django.conf import settings
60
61    config: VueSSRConfig = getattr(settings, "VUE_SSR", VueSSRConfig())
62
63    return VueSSRSettings(
64        host=config.get("host", "127.0.0.1"),
65        port=config.get("port", "3123"),
66        socket=config.get("socket"),
67        protocol=config.get("protocol", "http"),
68        vite_host=config.get("vite_host", ""),
69        vite_port=config.get("vite_port", ""),
70        vite_protocol=config.get("vite_protocol", "http"),
71        timeout=config.get("timeout") or 10,
72        debug=config.get("debug", settings.DEBUG),
73    )
class VueSSRConfig(typing.TypedDict):
 6class VueSSRConfig(TypedDict):
 7    """
 8    Helper type to configure Vue SSR in settings.py.
 9
10    Example:
11        VUE_SSR: VueSSRConfig = {
12            "host": "localhost",
13            "port": 3123,
14        }
15    """
16
17    host: NotRequired[str]
18    """ Host for Vue SSR server. Defaults to `localhost`. """
19    port: NotRequired[str | int]
20    """ Port for Vue SSR server. Defaults to `3123`. """
21    socket: NotRequired[str | None]
22    """ Unix socket path for Vue SSR server. """
23    protocol: NotRequired[str]
24    """ Protocol for Vue SSR server. Defaults to `http`. """
25    vite_host: NotRequired[str]
26    """ Host for Vite server during development. Defaults to `localhost`. """
27    vite_port: NotRequired[str]
28    """ Port for Vite server during development. Defaults to `5173`. """
29    vite_protocol: NotRequired[str]
30    """ Protocol for Vite server during development. Defaults to `http`. """
31    timeout: NotRequired[int | None]
32    """ Timeout for Vue SSR requests in milliseconds (default: 10). Set to None to disable timeout. """
33    debug: NotRequired[bool]
34    """Enable debug mode for Vue SSR. In debug mode, Vite will be used to render components. Defaults to `settings.DEBUG`."""

Helper type to configure Vue SSR in settings.py.

Example: VUE_SSR: VueSSRConfig = { "host": "localhost", "port": 3123, }

host: NotRequired[str]

Host for Vue SSR server. Defaults to localhost.

port: NotRequired[str | int]

Port for Vue SSR server. Defaults to 3123.

socket: NotRequired[str | None]

Unix socket path for Vue SSR server.

protocol: NotRequired[str]

Protocol for Vue SSR server. Defaults to http.

vite_host: NotRequired[str]

Host for Vite server during development. Defaults to localhost.

vite_port: NotRequired[str]

Port for Vite server during development. Defaults to 5173.

vite_protocol: NotRequired[str]

Protocol for Vite server during development. Defaults to http.

timeout: NotRequired[int | None]

Timeout for Vue SSR requests in milliseconds (default: 10). Set to None to disable timeout.

debug: NotRequired[bool]

Enable debug mode for Vue SSR. In debug mode, Vite will be used to render components. Defaults to settings.DEBUG.