Compare commits

...

4 Commits
main ... v0.4.9

Author SHA1 Message Date
Masen Furer
1e6d31aeea
bump to 0.4.9 (#3142) 2024-04-23 09:54:35 -07:00
Masen Furer
0484719f2d
[REF-2620] Fallback to npm (not bun) (#3138)
get_package_manager() will always resolve to npm
2024-04-22 18:35:08 -07:00
Masen Furer
0494877565
pin react-focus-lock to 2.11.3 (#3123) 2024-04-22 10:54:39 -07:00
Masen Furer
d4f002cbed
[REF-2587] Ignore top-level theme appearance (#3119)
* pyi_generator: ignore `app.py` and single files

When running pyi_generator in pre-commit, it passes individual changed files on
the command line as targets, and these were not being properly excluded
according to the EXCLUDED_FILES list.

Add app.py to the EXCLUDED_FILES list so it does not get regenerated
automatically.

* [REF-2587] Ignore top-level theme appearance

From the Radix docs, it is not recommended to actually set `appearance`, but
instead use next-themes to set and switch the appearance dynamically.

Because Reflex already compiles the top-level theme into the next-themes
ThemeProvider, we can blank out the appearance prop after compiling contexts.js
to avoid a mismatch between the selected app appearance and the appearance in
the rx.theme when displaying overlay components.

Fix #2992
2024-04-22 10:54:38 -07:00
5 changed files with 12 additions and 3 deletions

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "reflex"
version = "0.4.8"
version = "0.4.9"
description = "Web apps in pure Python."
license = "Apache-2.0"
authors = [

View File

@ -839,6 +839,9 @@ class App(Base):
compile_results.append(
compiler.compile_contexts(self.state, self.theme),
)
# Fix #2992 by removing the top-level appearance prop
if self.theme is not None:
self.theme.appearance = None
app_root = self._app_root(app_wrappers=app_wrappers)

View File

@ -112,6 +112,7 @@ class PackageJson(SimpleNamespace):
"next-themes": "0.2.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-focus-lock": "2.11.3",
"socket.io-client": "4.6.1",
"universal-cookie": "4.0.4",
}

View File

@ -823,7 +823,7 @@ def install_frontend_packages(packages: set[str], config: Config):
"""
# unsupported archs(arm and 32bit machines) will use npm anyway. so we dont have to run npm twice
fallback_command = (
get_install_package_manager()
get_package_manager()
if not constants.IS_WINDOWS
or constants.IS_WINDOWS
and constants.IS_WINDOWS_BUN_SUPPORTED_MACHINE

View File

@ -34,6 +34,7 @@ PWD = Path(".").resolve()
EXCLUDED_FILES = [
"__init__.py",
"app.py",
"component.py",
"bare.py",
"foreach.py",
@ -795,7 +796,11 @@ class PyiGenerator:
file_targets = []
for target in targets:
target_path = Path(target)
if target_path.is_file() and target_path.suffix == ".py":
if (
target_path.is_file()
and target_path.suffix == ".py"
and target_path.name not in EXCLUDED_FILES
):
file_targets.append(target_path)
continue
if not target_path.is_dir():