Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Do Not Merge] Our Forked changes to the repo #2

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
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
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ install:


check:
poetry run black --check fastapi_vite
poetry run isort --check fastapi_vite --skip .venv
poetry run flake8 fastapi_vite --exclude=node_modules,migrations
poetry run black --check fastapi_vite_dara
poetry run isort --check fastapi_vite_dara --skip .venv
poetry run flake8 fastapi_vite_dara --exclude=node_modules,migrations
poetry run pre-commit run

fix:
poetry run pycln fastapi_vite --all --exclude '/(\.direnv|\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|\.venv|node_modules)/'
poetry run isort fastapi_vite --skip .venv
poetry run black fastapi_vite --exclude '/(\.direnv|\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|\.venv|node_modules)/'
poetry run pycln fastapi_vite_dara --all --exclude '/(\.direnv|\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|\.venv|node_modules)/'
poetry run isort fastapi_vite_dara --skip .venv
poetry run black fastapi_vite_dara --exclude '/(\.direnv|\.eggs|\.git|\.hg|\.mypy_cache|\.nox|\.tox|\.venv|\.svn|_build|buck-out|build|dist|\.venv|node_modules)/'
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ pip install fastapi-vite
Configure Jinja templating for FastAPI

```python
import fastapi_vite
import fastapi_vite_dara

templates = Jinja2Templates(directory='templates')
templates.env.globals['vite_hmr_client'] = fastapi_vite.vite_hmr_client
templates.env.globals['vite_asset'] = fastapi_vite.vite_asset
templates.env.globals['vite_hmr_client'] = fastapi_vite_dara.vite_hmr_client
templates.env.globals['vite_asset'] = fastapi_vite_dara.vite_asset

```

Expand Down
File renamed without changes.
File renamed without changes.
10 changes: 8 additions & 2 deletions fastapi_vite/loader.py → fastapi_vite_dara/loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,16 @@
from typing import ClassVar, Dict, Optional
from urllib.parse import urljoin

from jinja2 import Markup

from .config import settings

# Third Party Libraries - Handle different Jinja versions
try:
# Third Party Libraries
from markupsafe import Markup
except ImportError:
# Third Party Libraries
from jinja2.utils.markupsafe import Markup


class ViteLoader(object):
"""Vite manifest loader"""
Expand Down
24 changes: 14 additions & 10 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
import fastapi_vite
import fastapi_vite_dara
from starlette.applications import Starlette
from starlette.routing import Route, Mount
from starlette.templating import Jinja2Templates
from starlette.routing import Mount, Route
from starlette.staticfiles import StaticFiles
from starlette.templating import Jinja2Templates

templates = Jinja2Templates(directory='assets/templates')
templates.env.globals['vite_hmr_client'] = fastapi_vite.vite_hmr_client
templates.env.globals['vite_asset'] = fastapi_vite.vite_asset
templates = Jinja2Templates(directory="assets/templates")
templates.env.globals["vite_hmr_client"] = fastapi_vite_dara.vite_hmr_client
templates.env.globals["vite_asset"] = fastapi_vite_dara.vite_asset


async def homepage(request):
return templates.TemplateResponse('index.html', {'request': request})
return templates.TemplateResponse("index.html", {"request": request})


routes = [
Route('/', endpoint=homepage),
Mount(fastapi_vite.settings.STATIC_URL, StaticFiles(
directory=fastapi_vite.settings.STATIC_PATH), name='static')
Route("/", endpoint=homepage),
Mount(
fastapi_vite_dara.settings.STATIC_URL,
StaticFiles(directory=fastapi_vite_dara.settings.STATIC_PATH),
name="static",
),
]

app = Starlette(debug=True, routes=routes)
15 changes: 8 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tool.poetry]
name = "fastapi_vite"
version = "0.3.1"
description = "Integration utilities for FastAPI and ViteJS."
name = "fastapi_vite_dara"
version = "0.3.1.0"
description = "Fork of fastapi-vite to support wider range of jinja2 version."
classifiers = [
"License :: OSI Approved :: MIT License",
"Framework :: AsyncIO",
Expand All @@ -11,12 +11,12 @@ classifiers = [
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3 :: Only",
]
authors = ["Cody Fincher <[email protected]>"]
keywords = ["fastapi","starlette","vite"]
authors = ["causaLens <[email protected]>", "Cody Fincher <[email protected]>"]
keywords = ["fastapi","starlette","vite","dara"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/cofin/fastapi-vite"
repository = "https://github.com/cofin/fastapi-vite"
homepage = "https://github.com/causalens/fastapi-vite"
repository = "https://github.com/causalens/fastapi-vite"

[tool.poetry.dependencies]
python = "^3.8"
Expand All @@ -38,6 +38,7 @@ isort = "^5.0"
pre-commit = "^2.8.2"
black = "^21.5b2"
uvicorn = "^0.14.0"
docutils = "0.18.1"


[tool.poetry.extras]
Expand Down
6 changes: 3 additions & 3 deletions tests/test_fastapi_webpack_loader.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
from fastapi_vite import __version__
from fastapi_vite_dara import __version__
from starlette.testclient import TestClient


def test_version():
assert __version__ == '0.1.0'
assert __version__ == "0.1.0"


def test_homepage():
client = TestClient(app)
response = client.get("/")
assert response.status_code == 200
assert response.template.name == 'index.html'
assert response.template.name == "index.html"
assert "request" in response.context