forked from cofin/fastapi-vite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
54 lines (39 loc) · 1.31 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from typing import Any, Dict, Optional
from pydantic import BaseSettings, validator
class Settings(BaseSettings):
# Application settings
STATIC_URL: str = "/static"
STATIC_PATH: str = "static/"
VITE_SERVE_MODE: Optional[bool]
@validator("VITE_SERVE_MODE", pre=True)
def detect_serve_mode(cls, v: Optional[bool], values: Dict[str, Any]) -> str:
url: str
if v:
return v
if values.get("DEBUG"):
return True
else:
return False
VITE_ASSETS_PATH: str = "static/"
VITE_MANIFEST_PATH: Optional[str] = "static/manifest.json"
@validator("VITE_MANIFEST_PATH", pre=True)
def assemble_manifest_path(cls, v: Optional[str], values: Dict[str, Any]) -> str:
path: str
if v:
return v
if values.get("VITE_SERVE_MODE"):
path = values.get("VITE_ASSETS_PATH")
else:
path = values.get("STATIC_PATH")
return path
VITE_WS_CLIENT: str = "@vite/client"
VITE_SERVER_HOST: str = "localhost"
VITE_SERVER_PROTOCOL: str = "http"
VITE_SERVER_PORT: int = 3000
VITE_REACTJS_HMR: bool = False
VITE_ASSETS_URL: Optional[str]
class Config:
case_sensitive = True
env_file = ".env"
env_file_encoding = "utf-8"
settings = Settings()