litestar-vite 0.1.21__py3-none-any.whl → 0.2.0__py3-none-any.whl
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.
- litestar_vite/__init__.py +2 -1
- litestar_vite/cli.py +46 -1
- litestar_vite/commands.py +23 -19
- litestar_vite/config.py +27 -22
- litestar_vite/inertia/__init__.py +31 -0
- litestar_vite/inertia/_utils.py +62 -0
- litestar_vite/inertia/config.py +25 -0
- litestar_vite/inertia/exception_handler.py +91 -0
- litestar_vite/inertia/middleware.py +56 -0
- litestar_vite/inertia/plugin.py +64 -0
- litestar_vite/inertia/request.py +111 -0
- litestar_vite/inertia/response.py +345 -0
- litestar_vite/inertia/routes.py +54 -0
- litestar_vite/inertia/types.py +39 -0
- litestar_vite/loader.py +57 -46
- litestar_vite/plugin.py +31 -14
- litestar_vite/template_engine.py +24 -5
- litestar_vite/templates/index.html.j2 +12 -14
- litestar_vite/templates/main.ts.j2 +1 -0
- {litestar_vite-0.1.21.dist-info → litestar_vite-0.2.0.dist-info}/METADATA +2 -12
- litestar_vite-0.2.0.dist-info/RECORD +30 -0
- {litestar_vite-0.1.21.dist-info → litestar_vite-0.2.0.dist-info}/WHEEL +1 -1
- litestar_vite-0.1.21.dist-info/RECORD +0 -19
- /litestar_vite/templates/{main.css.j2 → styles.css.j2} +0 -0
- {litestar_vite-0.1.21.dist-info → litestar_vite-0.2.0.dist-info}/licenses/LICENSE +0 -0
litestar_vite/loader.py
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
|
+
from functools import cached_property
|
|
4
5
|
from pathlib import Path
|
|
5
|
-
from
|
|
6
|
+
from textwrap import dedent
|
|
7
|
+
from typing import TYPE_CHECKING, Any, ClassVar
|
|
6
8
|
from urllib.parse import urljoin
|
|
7
9
|
|
|
8
|
-
from litestar.cli._utils import console
|
|
9
|
-
from litestar.template import TemplateEngineProtocol
|
|
10
|
-
|
|
11
10
|
if TYPE_CHECKING:
|
|
12
11
|
from litestar_vite.config import ViteConfig
|
|
13
12
|
|
|
14
|
-
T = TypeVar("T", bound=TemplateEngineProtocol)
|
|
15
|
-
|
|
16
13
|
|
|
17
14
|
class ViteAssetLoader:
|
|
18
15
|
"""Vite manifest loader.
|
|
@@ -25,6 +22,7 @@ class ViteAssetLoader:
|
|
|
25
22
|
def __init__(self, config: ViteConfig) -> None:
|
|
26
23
|
self._config = config
|
|
27
24
|
self._manifest: dict[str, Any] = {}
|
|
25
|
+
self._manifest_content: str = ""
|
|
28
26
|
self._vite_base_path: str | None = None
|
|
29
27
|
|
|
30
28
|
@classmethod
|
|
@@ -35,6 +33,12 @@ class ViteAssetLoader:
|
|
|
35
33
|
cls._instance.parse_manifest()
|
|
36
34
|
return cls._instance
|
|
37
35
|
|
|
36
|
+
@cached_property
|
|
37
|
+
def version_id(self) -> str:
|
|
38
|
+
if self._manifest_content != "":
|
|
39
|
+
return str(hash(self.manifest_content))
|
|
40
|
+
return "1.0"
|
|
41
|
+
|
|
38
42
|
def parse_manifest(self) -> None:
|
|
39
43
|
"""Read and parse the Vite manifest file.
|
|
40
44
|
|
|
@@ -65,27 +69,27 @@ class ViteAssetLoader:
|
|
|
65
69
|
RuntimeError: if cannot load the file or JSON in file is malformed.
|
|
66
70
|
"""
|
|
67
71
|
if self._config.hot_reload and self._config.dev_mode:
|
|
68
|
-
|
|
72
|
+
hot_file_path = Path(
|
|
69
73
|
f"{self._config.bundle_dir}/{self._config.hot_file}",
|
|
70
|
-
)
|
|
71
|
-
|
|
74
|
+
)
|
|
75
|
+
if hot_file_path.exists():
|
|
76
|
+
with hot_file_path.open() as hot_file:
|
|
72
77
|
self._vite_base_path = hot_file.read()
|
|
73
78
|
|
|
74
79
|
else:
|
|
80
|
+
manifest_path = Path(f"{self._config.bundle_dir}/{self._config.manifest_name}")
|
|
75
81
|
try:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
self._manifest = {}
|
|
84
|
-
except Exception as exc: # noqa: BLE001
|
|
82
|
+
if manifest_path.exists():
|
|
83
|
+
with manifest_path.open() as manifest_file:
|
|
84
|
+
self.manifest_content = manifest_file.read()
|
|
85
|
+
self._manifest = json.loads(self.manifest_content)
|
|
86
|
+
else:
|
|
87
|
+
self._manifest = {}
|
|
88
|
+
except Exception as exc:
|
|
85
89
|
msg = "There was an issue reading the Vite manifest file at %s. Did you forget to build your assets?"
|
|
86
90
|
raise RuntimeError(
|
|
87
91
|
msg,
|
|
88
|
-
|
|
92
|
+
manifest_path,
|
|
89
93
|
) from exc
|
|
90
94
|
|
|
91
95
|
def generate_ws_client_tags(self) -> str:
|
|
@@ -112,7 +116,7 @@ class ViteAssetLoader:
|
|
|
112
116
|
str: The script tag or an empty string.
|
|
113
117
|
"""
|
|
114
118
|
if self._config.is_react and self._config.hot_reload and self._config.dev_mode:
|
|
115
|
-
return f"""
|
|
119
|
+
return dedent(f"""
|
|
116
120
|
<script type="module">
|
|
117
121
|
import RefreshRuntime from '{self._vite_server_url()}@react-refresh'
|
|
118
122
|
RefreshRuntime.injectIntoGlobalHook(window)
|
|
@@ -120,7 +124,7 @@ class ViteAssetLoader:
|
|
|
120
124
|
window.$RefreshSig$ = () => (type) => type
|
|
121
125
|
window.__vite_plugin_react_preamble_installed__=true
|
|
122
126
|
</script>
|
|
123
|
-
"""
|
|
127
|
+
""")
|
|
124
128
|
return ""
|
|
125
129
|
|
|
126
130
|
def generate_asset_tags(self, path: str | list[str], scripts_attrs: dict[str, str] | None = None) -> str:
|
|
@@ -134,7 +138,9 @@ class ViteAssetLoader:
|
|
|
134
138
|
if self._config.hot_reload and self._config.dev_mode:
|
|
135
139
|
return "".join(
|
|
136
140
|
[
|
|
137
|
-
self.
|
|
141
|
+
self._style_tag(self._vite_server_url(p))
|
|
142
|
+
if p.endswith(".css")
|
|
143
|
+
else self._script_tag(
|
|
138
144
|
self._vite_server_url(p),
|
|
139
145
|
{"type": "module", "async": "", "defer": ""},
|
|
140
146
|
)
|
|
@@ -143,7 +149,7 @@ class ViteAssetLoader:
|
|
|
143
149
|
)
|
|
144
150
|
|
|
145
151
|
if any(p for p in path if p not in self._manifest):
|
|
146
|
-
msg = "Cannot find %s in Vite manifest at %s. Did you forget to build your assets?"
|
|
152
|
+
msg = "Cannot find %s in Vite manifest at %s. Did you forget to build your assets after an update?"
|
|
147
153
|
raise RuntimeError(
|
|
148
154
|
msg,
|
|
149
155
|
path,
|
|
@@ -151,30 +157,33 @@ class ViteAssetLoader:
|
|
|
151
157
|
)
|
|
152
158
|
|
|
153
159
|
tags: list[str] = []
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
manifest_entry: dict[str, Any] = {}
|
|
161
|
+
manifest_entry.update({p: self._manifest[p] for p in path})
|
|
156
162
|
if not scripts_attrs:
|
|
157
163
|
scripts_attrs = {"type": "module", "async": "", "defer": ""}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
164
|
+
for manifest in manifest_entry.values():
|
|
165
|
+
if "css" in manifest:
|
|
166
|
+
tags.extend(
|
|
167
|
+
self._style_tag(urljoin(self._config.asset_url, css_path)) for css_path in manifest.get("css", {})
|
|
168
|
+
)
|
|
169
|
+
# Add dependent "vendor"
|
|
170
|
+
if "imports" in manifest:
|
|
171
|
+
tags.extend(
|
|
172
|
+
self.generate_asset_tags(vendor_path, scripts_attrs=scripts_attrs)
|
|
173
|
+
for vendor_path in manifest.get("imports", {})
|
|
174
|
+
)
|
|
175
|
+
# Add the script by itself
|
|
176
|
+
if manifest.get("file").endswith(".css"):
|
|
177
|
+
tags.append(
|
|
178
|
+
self._style_tag(urljoin(self._config.asset_url, manifest["file"])),
|
|
179
|
+
)
|
|
180
|
+
else:
|
|
181
|
+
tags.append(
|
|
182
|
+
self._script_tag(
|
|
183
|
+
urljoin(self._config.asset_url, manifest["file"]),
|
|
184
|
+
attrs=scripts_attrs,
|
|
185
|
+
),
|
|
186
|
+
)
|
|
178
187
|
return "".join(tags)
|
|
179
188
|
|
|
180
189
|
def _vite_server_url(self, path: str | None = None) -> str:
|
|
@@ -194,7 +203,9 @@ class ViteAssetLoader:
|
|
|
194
203
|
|
|
195
204
|
def _script_tag(self, src: str, attrs: dict[str, str] | None = None) -> str:
|
|
196
205
|
"""Generate an HTML script tag."""
|
|
197
|
-
|
|
206
|
+
if attrs is None:
|
|
207
|
+
attrs = {}
|
|
208
|
+
attrs_str = " ".join([f'{key}="{value}"' for key, value in attrs.items()])
|
|
198
209
|
return f'<script {attrs_str} src="{src}"></script>'
|
|
199
210
|
|
|
200
211
|
def _style_tag(self, href: str) -> str:
|
litestar_vite/plugin.py
CHANGED
|
@@ -6,14 +6,19 @@ from pathlib import Path
|
|
|
6
6
|
from typing import TYPE_CHECKING, Iterator, cast
|
|
7
7
|
|
|
8
8
|
from litestar.plugins import CLIPlugin, InitPluginProtocol
|
|
9
|
-
from litestar.static_files import
|
|
9
|
+
from litestar.static_files import (
|
|
10
|
+
create_static_files_router, # pyright: ignore[reportUnknownVariableType]
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from litestar_vite.config import ViteConfig
|
|
10
14
|
|
|
11
15
|
if TYPE_CHECKING:
|
|
12
16
|
from click import Group
|
|
13
17
|
from litestar import Litestar
|
|
14
18
|
from litestar.config.app import AppConfig
|
|
15
19
|
|
|
16
|
-
from litestar_vite.config import
|
|
20
|
+
from litestar_vite.config import ViteTemplateConfig
|
|
21
|
+
from litestar_vite.template_engine import ViteTemplateEngine
|
|
17
22
|
|
|
18
23
|
|
|
19
24
|
def set_environment(config: ViteConfig) -> None:
|
|
@@ -23,6 +28,7 @@ def set_environment(config: ViteConfig) -> None:
|
|
|
23
28
|
os.environ.setdefault("VITE_PORT", str(config.port))
|
|
24
29
|
os.environ.setdefault("VITE_HOST", config.host)
|
|
25
30
|
os.environ.setdefault("VITE_PROTOCOL", config.protocol)
|
|
31
|
+
os.environ.setdefault("APP_URL", "http://localhost:8000")
|
|
26
32
|
if config.dev_mode:
|
|
27
33
|
os.environ.setdefault("VITE_DEV_MODE", str(config.dev_mode))
|
|
28
34
|
|
|
@@ -32,23 +38,35 @@ class VitePlugin(InitPluginProtocol, CLIPlugin):
|
|
|
32
38
|
|
|
33
39
|
__slots__ = ("_config",)
|
|
34
40
|
|
|
35
|
-
def __init__(self, config: ViteConfig) -> None:
|
|
41
|
+
def __init__(self, config: ViteConfig | None = None) -> None:
|
|
36
42
|
"""Initialize ``Vite``.
|
|
37
43
|
|
|
38
44
|
Args:
|
|
39
|
-
config:
|
|
45
|
+
config: configuration to use for starting Vite. The default configuration will be used if it is not provided.
|
|
40
46
|
"""
|
|
47
|
+
if config is None:
|
|
48
|
+
config = ViteConfig()
|
|
41
49
|
self._config = config
|
|
42
50
|
|
|
43
51
|
@property
|
|
44
52
|
def config(self) -> ViteConfig:
|
|
45
53
|
return self._config
|
|
46
54
|
|
|
55
|
+
@property
|
|
56
|
+
def template_config(self) -> ViteTemplateConfig[ViteTemplateEngine]:
|
|
57
|
+
from litestar_vite.config import ViteTemplateConfig
|
|
58
|
+
from litestar_vite.template_engine import ViteTemplateEngine
|
|
59
|
+
|
|
60
|
+
return ViteTemplateConfig[ViteTemplateEngine](
|
|
61
|
+
engine=ViteTemplateEngine,
|
|
62
|
+
config=self._config,
|
|
63
|
+
directory=self._config.template_dir,
|
|
64
|
+
)
|
|
65
|
+
|
|
47
66
|
def on_cli_init(self, cli: Group) -> None:
|
|
48
67
|
from litestar_vite.cli import vite_group
|
|
49
68
|
|
|
50
69
|
cli.add_command(vite_group)
|
|
51
|
-
return super().on_cli_init(cli)
|
|
52
70
|
|
|
53
71
|
def on_app_init(self, app_config: AppConfig) -> AppConfig:
|
|
54
72
|
"""Configure application for use with Vite.
|
|
@@ -57,14 +75,8 @@ class VitePlugin(InitPluginProtocol, CLIPlugin):
|
|
|
57
75
|
app_config: The :class:`AppConfig <.config.app.AppConfig>` instance.
|
|
58
76
|
"""
|
|
59
77
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
app_config.template_config = ViteTemplateConfig( # type: ignore[assignment]
|
|
64
|
-
engine=ViteTemplateEngine,
|
|
65
|
-
config=self._config,
|
|
66
|
-
directory=self._config.template_dir,
|
|
67
|
-
)
|
|
78
|
+
if self._config.template_dir is not None:
|
|
79
|
+
app_config.template_config = self.template_config
|
|
68
80
|
|
|
69
81
|
if self._config.set_static_folders:
|
|
70
82
|
static_dirs = [Path(self._config.bundle_dir), Path(self._config.resource_dir)]
|
|
@@ -112,8 +124,13 @@ class VitePlugin(InitPluginProtocol, CLIPlugin):
|
|
|
112
124
|
yield
|
|
113
125
|
finally:
|
|
114
126
|
if vite_thread.is_alive():
|
|
115
|
-
vite_thread.join()
|
|
127
|
+
vite_thread.join(timeout=5)
|
|
116
128
|
console.print("[yellow]Vite process stopped.[/]")
|
|
117
129
|
|
|
118
130
|
else:
|
|
131
|
+
manifest_path = Path(f"{self._config.bundle_dir}/{self._config.manifest_name}")
|
|
132
|
+
if manifest_path.exists():
|
|
133
|
+
console.rule(f"[yellow]Serving assets using manifest at `{manifest_path!s}`.[/]", align="left")
|
|
134
|
+
else:
|
|
135
|
+
console.rule(f"[yellow]Serving assets without manifest at `{manifest_path!s}`.[/]", align="left")
|
|
119
136
|
yield
|
litestar_vite/template_engine.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import TYPE_CHECKING, TypeVar
|
|
3
|
+
from typing import TYPE_CHECKING, Any, Mapping, TypeVar
|
|
4
4
|
|
|
5
5
|
import markupsafe
|
|
6
6
|
from litestar.contrib.jinja import JinjaTemplateEngine
|
|
@@ -12,10 +12,11 @@ if TYPE_CHECKING:
|
|
|
12
12
|
from pathlib import Path
|
|
13
13
|
|
|
14
14
|
from jinja2 import Environment
|
|
15
|
+
from jinja2 import Template as JinjaTemplate
|
|
15
16
|
|
|
16
17
|
from litestar_vite.config import ViteConfig
|
|
17
18
|
|
|
18
|
-
T = TypeVar("T", bound=TemplateEngineProtocol)
|
|
19
|
+
T = TypeVar("T", bound=TemplateEngineProtocol["JinjaTemplate", Mapping[str, Any]])
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
class ViteTemplateEngine(JinjaTemplateEngine):
|
|
@@ -39,9 +40,8 @@ class ViteTemplateEngine(JinjaTemplateEngine):
|
|
|
39
40
|
msg = "Please configure the `ViteConfig` instance."
|
|
40
41
|
raise ValueError(msg)
|
|
41
42
|
self.config = config
|
|
42
|
-
|
|
43
43
|
self.asset_loader = ViteAssetLoader.initialize_loader(config=self.config)
|
|
44
|
-
self.engine.globals.update({"vite_hmr": self.get_hmr_client, "vite": self.get_asset_tag})
|
|
44
|
+
self.engine.globals.update({"vite_hmr": self.get_hmr_client, "vite": self.get_asset_tag}) # pyright: ignore[reportCallIssue,reportArgumentType]
|
|
45
45
|
|
|
46
46
|
def get_hmr_client(self) -> markupsafe.Markup:
|
|
47
47
|
"""Generate the script tag for the Vite WS client for HMR.
|
|
@@ -62,6 +62,7 @@ class ViteTemplateEngine(JinjaTemplateEngine):
|
|
|
62
62
|
self,
|
|
63
63
|
path: str | list[str],
|
|
64
64
|
scripts_attrs: dict[str, str] | None = None,
|
|
65
|
+
**_: Any,
|
|
65
66
|
) -> markupsafe.Markup:
|
|
66
67
|
"""Generate all assets include tags for the file in argument.
|
|
67
68
|
|
|
@@ -75,6 +76,7 @@ class ViteTemplateEngine(JinjaTemplateEngine):
|
|
|
75
76
|
context: The template context.
|
|
76
77
|
path: Path to a Vite asset to include.
|
|
77
78
|
scripts_attrs: script attributes
|
|
79
|
+
_: extra args to satisfy type checking
|
|
78
80
|
|
|
79
81
|
Keyword Arguments:
|
|
80
82
|
scripts_attrs {Optional[Dict[str, str]]}: Override attributes added to scripts tags. (default: {None})
|
|
@@ -82,4 +84,21 @@ class ViteTemplateEngine(JinjaTemplateEngine):
|
|
|
82
84
|
Returns:
|
|
83
85
|
str: All tags to import this asset in your HTML page.
|
|
84
86
|
"""
|
|
85
|
-
|
|
87
|
+
if isinstance(path, str):
|
|
88
|
+
path = [path]
|
|
89
|
+
return markupsafe.Markup(
|
|
90
|
+
"".join([self.asset_loader.generate_asset_tags(p, scripts_attrs=scripts_attrs) for p in path]),
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
@classmethod
|
|
94
|
+
def from_environment(cls, config: ViteConfig, jinja_environment: Environment) -> ViteTemplateEngine: # type: ignore[override]
|
|
95
|
+
"""Create a JinjaTemplateEngine from an existing jinja Environment instance.
|
|
96
|
+
|
|
97
|
+
Args:
|
|
98
|
+
config: Vite config
|
|
99
|
+
jinja_environment (jinja2.environment.Environment): A jinja Environment instance.
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
JinjaTemplateEngine instance
|
|
103
|
+
"""
|
|
104
|
+
return cls(directory=None, config=config, engine_instance=jinja_environment)
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<!--IE compatibility-->
|
|
6
|
-
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
7
|
-
<meta
|
|
8
|
-
name="viewport"
|
|
9
|
-
content="width=device-width, initial-scale=1.0, maximum-scale=1.0"
|
|
10
|
-
/>
|
|
11
|
-
</head>
|
|
12
3
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<!--IE compatibility-->
|
|
7
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
{{ vite_hmr() }}
|
|
13
|
+
{{ vite('resources/main.ts') }}
|
|
14
|
+
</body>
|
|
15
|
+
|
|
18
16
|
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./styles.css"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: litestar-vite
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
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
|
|
@@ -70,19 +70,9 @@ class WebController(Controller):
|
|
|
70
70
|
return Template(template_name="index.html.j2")
|
|
71
71
|
|
|
72
72
|
|
|
73
|
-
vite = VitePlugin(
|
|
74
|
-
config=ViteConfig(
|
|
75
|
-
bundle_dir=Path("./public"),
|
|
76
|
-
resource_dir=Path("./resources"),
|
|
77
|
-
template_dir=Path("./templates"),
|
|
78
|
-
# Should be False when in production
|
|
79
|
-
dev_mode=True,
|
|
80
|
-
hot_reload=True, # Websocket HMR asset reloading is enabled when true.
|
|
81
|
-
),
|
|
82
|
-
)
|
|
73
|
+
vite = VitePlugin(config=ViteConfig(template_dir='templates/'))
|
|
83
74
|
app = Litestar(plugins=[vite], route_handlers=[WebController])
|
|
84
75
|
|
|
85
|
-
|
|
86
76
|
```
|
|
87
77
|
|
|
88
78
|
Create a template to serve the application in `./templates/index.html.h2`:
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
litestar_vite/__init__.py,sha256=QEZzbM6LXuSm52rzpzcw3OihR7xxoPCZ6jhWtZH2dZc,402
|
|
2
|
+
litestar_vite/__metadata__.py,sha256=Eml1c9xezV-GSodmysksrT8jPWqE__x0ENO1wM5g6q0,319
|
|
3
|
+
litestar_vite/cli.py,sha256=foXJ-xW1bvUEsT7nPo1hbN0FLaDzHWPG4zpmqN__rY0,10976
|
|
4
|
+
litestar_vite/commands.py,sha256=sfTdFfMcDxnW3_tbmIIBjpHmNdQYKHjSguGxXNP8SVw,4440
|
|
5
|
+
litestar_vite/config.py,sha256=Mg86uVtqDG-uVZd2YUZoJYNRIlBBbyJLl8iI-fO1zKo,7527
|
|
6
|
+
litestar_vite/loader.py,sha256=USrzNDppXgXLvW5WCuIgKPuM6MlECNIssnkwb_p-E8s,8117
|
|
7
|
+
litestar_vite/plugin.py,sha256=2rwlumH3CFozb_7NGOFwn20BMZ_4JTNHiWh0oyaN-gc,5131
|
|
8
|
+
litestar_vite/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
litestar_vite/template_engine.py,sha256=ffC4KPtUUNkuC0tJ0bD1Bu7c8lE33vKP0US1fWUYnO8,3853
|
|
10
|
+
litestar_vite/inertia/__init__.py,sha256=PMOon8tag-20riAkHH3U4VLk7NBwt9lHsOHHSKMQHJQ,695
|
|
11
|
+
litestar_vite/inertia/_utils.py,sha256=IAsK4Nrjx2dr9z7rXBLHAu_FG8GvCpo_fpywY7RHwl0,1932
|
|
12
|
+
litestar_vite/inertia/config.py,sha256=6cYR4m5oGsJnL_rH6Dt8bQJ804Oq6knj6qDsCVUqNsI,942
|
|
13
|
+
litestar_vite/inertia/exception_handler.py,sha256=fXLfUtrooAORd7TWJGx8hDd6_0h_mI3w89CqJz5IMmE,4022
|
|
14
|
+
litestar_vite/inertia/middleware.py,sha256=9ADCoCNdQNLDYhQ6ctY4Lo92E_EtgBPqIo2SdOJz9zU,1766
|
|
15
|
+
litestar_vite/inertia/plugin.py,sha256=ebAG9XnDBahttuc7WIUgBd3o_Ys8MdPS273LPNs5H8A,2344
|
|
16
|
+
litestar_vite/inertia/request.py,sha256=UReg7_ks6MGa2HbIpDsD2DochckbLA-c-k8Er2mHkVA,3509
|
|
17
|
+
litestar_vite/inertia/response.py,sha256=31Hm838c7nJAkKe9joLj-c33UlZpWTFAgQefxLd5vn0,14379
|
|
18
|
+
litestar_vite/inertia/routes.py,sha256=QksJm2RUfL-WbuhOieYnPXXWO5GYnPtmsYEm6Ef8Yeo,1782
|
|
19
|
+
litestar_vite/inertia/types.py,sha256=tLp0pm1N__hcWC875khf6wH1nuFlKS9-VjDqgsRkXnw,702
|
|
20
|
+
litestar_vite/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
+
litestar_vite/templates/index.html.j2,sha256=Xue1cTl6piEOZkW3UG68SnW80NeL9PxaOp-Xr23kpr4,322
|
|
22
|
+
litestar_vite/templates/main.ts.j2,sha256=Nzr5m_hXMAjeDL_4yQNP3DMCf7Blh3dwg5m-67GJVbY,22
|
|
23
|
+
litestar_vite/templates/package.json.j2,sha256=0JWgdTuaSZ25EmCltF_zbqDdpxfvCLeYuzBjXrziXNw,299
|
|
24
|
+
litestar_vite/templates/styles.css.j2,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
litestar_vite/templates/tsconfig.json.j2,sha256=q1REIuVyXUHCy4Zi2kgTkmrhdT98vyY89k-WTrImOj8,843
|
|
26
|
+
litestar_vite/templates/vite.config.ts.j2,sha256=FZ4OJaB8Kjby_nlx4_LCP8eCe1LRi8kW2GspCiVMfDY,1115
|
|
27
|
+
litestar_vite-0.2.0.dist-info/METADATA,sha256=DGPtfcXb9Khk4EXmvwXCJAb2T992hzHkR3CLtIHAqG8,6180
|
|
28
|
+
litestar_vite-0.2.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
29
|
+
litestar_vite-0.2.0.dist-info/licenses/LICENSE,sha256=HeTiEfEgvroUXZe_xAmYHxtTBgw--mbXyZLsWDYabHc,1069
|
|
30
|
+
litestar_vite-0.2.0.dist-info/RECORD,,
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
litestar_vite/__init__.py,sha256=9X3i67Q8DJN2lQYAMa9NSPTZGzHASGn8X8yeWJqBvWg,357
|
|
2
|
-
litestar_vite/__metadata__.py,sha256=Eml1c9xezV-GSodmysksrT8jPWqE__x0ENO1wM5g6q0,319
|
|
3
|
-
litestar_vite/cli.py,sha256=6SmKu_wdduotTsx1xbmQFooQqG8SZyHwIDvZrr3KMJI,9527
|
|
4
|
-
litestar_vite/commands.py,sha256=_TrBJE12HbsdKFkjGLpu8b_WvkoDp5-VV0xvRkYjsjk,4107
|
|
5
|
-
litestar_vite/config.py,sha256=L93F0CrghlNrAHlmTPqYtZxtZoLPf5kOJebqFxAlVOE,6824
|
|
6
|
-
litestar_vite/loader.py,sha256=3BFvcsXdaTwyym6bHaGhTkNDFaAcdjQDUHRfuKHj2vM,7699
|
|
7
|
-
litestar_vite/plugin.py,sha256=nNB62gqRXv6x1nxJNxZZPd67zOaw9XvGQxP_AxDyPbk,4230
|
|
8
|
-
litestar_vite/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
litestar_vite/template_engine.py,sha256=UIxphAoAKrAcpAuV_CJmZgsN9GOFfqq0azQdId6yofg,2995
|
|
10
|
-
litestar_vite/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
litestar_vite/templates/index.html.j2,sha256=GobZbXgrlFRf3sCoS-416iWfV8lBP_v3AXPQX_QVzZA,381
|
|
12
|
-
litestar_vite/templates/main.css.j2,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
litestar_vite/templates/package.json.j2,sha256=0JWgdTuaSZ25EmCltF_zbqDdpxfvCLeYuzBjXrziXNw,299
|
|
14
|
-
litestar_vite/templates/tsconfig.json.j2,sha256=q1REIuVyXUHCy4Zi2kgTkmrhdT98vyY89k-WTrImOj8,843
|
|
15
|
-
litestar_vite/templates/vite.config.ts.j2,sha256=FZ4OJaB8Kjby_nlx4_LCP8eCe1LRi8kW2GspCiVMfDY,1115
|
|
16
|
-
litestar_vite-0.1.21.dist-info/METADATA,sha256=iWyAfdMchcgSKoDC-MX6Oq6zJ5a3TBQ-kO-7ELzpBO8,6437
|
|
17
|
-
litestar_vite-0.1.21.dist-info/WHEEL,sha256=bq9SyP5NxIRA9EpQgMCd-9RmPHWvbH-4lTDGwxgIR64,87
|
|
18
|
-
litestar_vite-0.1.21.dist-info/licenses/LICENSE,sha256=HeTiEfEgvroUXZe_xAmYHxtTBgw--mbXyZLsWDYabHc,1069
|
|
19
|
-
litestar_vite-0.1.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|