Skip to content

Commit 9c9f372

Browse files
committed
Merge branch 'main' into move-pydantic,-sqlmodel,-alembic-to-optional-dependencies
2 parents 1f77175 + 41b1b1d commit 9c9f372

114 files changed

Lines changed: 2761 additions & 1747 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/setup_build_env/action.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ runs:
3434
prune-cache: false
3535
activate-environment: true
3636
cache-dependency-glob: "uv.lock"
37+
- name: Setup Node
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: 22
3741
- name: Install Dependencies
3842
if: inputs.run-uv-sync == 'true'
3943
run: uv sync

.github/workflows/check_node_latest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,5 @@ jobs:
3434
node-version: ${{ matrix.node-version }}
3535
- run: uv run playwright install --with-deps
3636
- run: |
37-
uv run pytest tests/test_node_version.py
38-
uv run pytest tests/integration --splits 2 --group ${{matrix.split_index}}
37+
uv run pytest tests/test_node_version.py -v
38+
uv run pytest tests/integration --splits 2 -v --group ${{matrix.split_index}}

.github/workflows/integration_app_harness.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ on:
1515
- "**/*.md"
1616
env:
1717
APP_HARNESS_HEADLESS: 1
18+
PYTHONUNBUFFERED: 1
1819

1920
permissions:
2021
contents: read
@@ -54,4 +55,4 @@ jobs:
5455
REDIS_URL: ${{ matrix.state_manager == 'redis' && 'redis://localhost:6379' || '' }}
5556
run: |
5657
uv run playwright install chromium
57-
uv run pytest tests/integration --retries 3 --maxfail=5 --splits 2 --group ${{matrix.split_index}}
58+
uv run pytest tests/integration --retries 3 -v --maxfail=5 --splits 2 --group ${{matrix.split_index}}

.github/workflows/performance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ jobs:
4040
uses: CodSpeedHQ/action@v3
4141
with:
4242
token: ${{ secrets.CODSPEED_TOKEN }}
43-
run: uv run pytest tests/benchmarks --codspeed
43+
run: uv run pytest -v tests/benchmarks --codspeed

pyi_hashes.json

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
{
2-
"reflex/__init__.pyi": "3afc0049639ae1663f916dd91e653dfe",
3-
"reflex/components/__init__.pyi": "f3a4ccd8979222bdad1b8649f6734a6d",
4-
"reflex/components/base/__init__.pyi": "e9aaf47be1e1977eacee97b880c8f7de",
2+
"reflex/__init__.pyi": "0ca4974ab0fc44525e061ad39dd338fa",
3+
"reflex/components/__init__.pyi": "f424d22ce0caa9375180195c273eb59c",
4+
"reflex/components/base/__init__.pyi": "74d7764e03837231ea40a06dff08f44a",
55
"reflex/components/base/app_wrap.pyi": "5c2daf49c552c40d1247d998e200d01c",
66
"reflex/components/base/body.pyi": "b1df93ecdea60baf1495ef52aa742f31",
7-
"reflex/components/base/document.pyi": "018f0207324a9cd4bac6d209fe3ae324",
7+
"reflex/components/base/document.pyi": "f6e2dc26993b5481008da554356c6009",
88
"reflex/components/base/error_boundary.pyi": "42779d76ea6bc2847a33533cdac23f21",
99
"reflex/components/base/fragment.pyi": "b77ee8f55c73f45abf515ddbeb29c594",
10-
"reflex/components/base/head.pyi": "31debbe85c37c40d8166504de121f905",
1110
"reflex/components/base/link.pyi": "1cdc04cf0fbb2e2ed73feeb67aa55729",
1211
"reflex/components/base/meta.pyi": "cdfb479b6140d5768285dfa7713774da",
13-
"reflex/components/base/script.pyi": "29fcfe9d4655bdc020362eb780d0fa46",
12+
"reflex/components/base/script.pyi": "eff80f98522bb4629bac5b55546bbeb2",
1413
"reflex/components/base/strict_mode.pyi": "1d05089b3f201d3fcccde3a62a854d34",
15-
"reflex/components/core/__init__.pyi": "44bcee7bc4e27e2f4f4707b843acf291",
14+
"reflex/components/core/__init__.pyi": "d99fbfd4207d8a3f7013221f428e0ed8",
1615
"reflex/components/core/auto_scroll.pyi": "fd6e78c419cd4b5ce77512f95603f9c9",
1716
"reflex/components/core/banner.pyi": "75f64f49f7f1157f01f1e003737d2eda",
18-
"reflex/components/core/client_side_routing.pyi": "c961a842715a99468110784224140c2c",
17+
"reflex/components/core/client_side_routing.pyi": "df659032437ba52bbb94303fa54e1a46",
1918
"reflex/components/core/clipboard.pyi": "e009ca6d0be9127d8acafbe959334ada",
2019
"reflex/components/core/debounce.pyi": "72852ec7c60742122689b3c90740d276",
20+
"reflex/components/core/helmet.pyi": "499a351957d7ef03c6b29bbbff699dce",
2121
"reflex/components/core/html.pyi": "41c22b41433ec50ba9e07de813b764e6",
2222
"reflex/components/core/sticky.pyi": "66c4ce29e7f9419bbb2101278973c0e0",
2323
"reflex/components/core/upload.pyi": "90039579d573a7aa887d40889ced6154",
2424
"reflex/components/datadisplay/__init__.pyi": "cf087efa8b3960decc6b231cc986cfa9",
25-
"reflex/components/datadisplay/code.pyi": "735a3bc0693e5c9bcb52af072aa10bd7",
25+
"reflex/components/datadisplay/code.pyi": "05646d39c7c328b8ac5cf5983e5467d1",
2626
"reflex/components/datadisplay/dataeditor.pyi": "f70efd06b2e460a32d8783b657549253",
2727
"reflex/components/datadisplay/shiki_code_block.pyi": "ecbb5e9d66023204ae2c23cc3f6a640c",
2828
"reflex/components/el/__init__.pyi": "f07f5957ca4dc3d95ffdc2ddb75fe2f8",
@@ -38,13 +38,10 @@
3838
"reflex/components/el/elements/sectioning.pyi": "029b957c3da82d747a297811e9d71a43",
3939
"reflex/components/el/elements/tables.pyi": "60ce25fd601003dfadd78d3081b86795",
4040
"reflex/components/el/elements/typography.pyi": "3c4d82d4c61c84af85023d180631b081",
41-
"reflex/components/gridjs/datatable.pyi": "963021af448b5f22960d521107194a87",
42-
"reflex/components/lucide/icon.pyi": "b544769b37f1155ce97a170a21d1bcad",
41+
"reflex/components/gridjs/datatable.pyi": "1b8232fd3e839c6ae772db3d211cd632",
42+
"reflex/components/lucide/icon.pyi": "ebc4cf89627f0ac001b695bffb11d43d",
4343
"reflex/components/markdown/markdown.pyi": "3c818ed8f3a99edcba66ff00ec313f13",
4444
"reflex/components/moment/moment.pyi": "77e40c9afd511fb046134e2581d8a3bd",
45-
"reflex/components/next/base.pyi": "d445d407bf74ef571712632f1fc24c31",
46-
"reflex/components/next/image.pyi": "bca53a266ce8159cf0e8ff30c65cf913",
47-
"reflex/components/next/link.pyi": "dfb53816a637fb81955b529e7824be47",
4845
"reflex/components/plotly/plotly.pyi": "8362d4dd3d5c57af79a8bc8d2dbe82c9",
4946
"reflex/components/radix/__init__.pyi": "8d586cbff1d7130d09476ac72ee73400",
5047
"reflex/components/radix/primitives/__init__.pyi": "fe8715decf3e9ae471b56bba14e42cb3",
@@ -108,7 +105,7 @@
108105
"reflex/components/radix/themes/typography/blockquote.pyi": "5ac7c554663caed708e1a41a183a9bcb",
109106
"reflex/components/radix/themes/typography/code.pyi": "5cbff824db591c92bc207066f2c0004e",
110107
"reflex/components/radix/themes/typography/heading.pyi": "bb34ff7af2491bd7c424d378940a58c5",
111-
"reflex/components/radix/themes/typography/link.pyi": "330158527b84c9e72ee7abf95d1217d3",
108+
"reflex/components/radix/themes/typography/link.pyi": "97073a20f49b809a2713f0496fd9225c",
112109
"reflex/components/radix/themes/typography/text.pyi": "cf2896cf1503d8196c5ca5b06914245f",
113110
"reflex/components/react_player/audio.pyi": "c6cadf0f3db3892a7cda64e5672f4465",
114111
"reflex/components/react_player/react_player.pyi": "4f1fbff94bbe714e56697a1d0b462bef",

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ fail_fast = true
235235

236236
[[tool.pre-commit.repos]]
237237
repo = "https://github.com/astral-sh/ruff-pre-commit"
238-
rev = "v0.11.12"
238+
rev = "v0.11.13"
239239
hooks = [
240240
{ id = "ruff-format", args = [
241241
"reflex",
@@ -267,7 +267,7 @@ hooks = [
267267

268268
[[tool.pre-commit.repos]]
269269
repo = "https://github.com/RobertCraigie/pyright-python"
270-
rev = "v1.1.401"
270+
rev = "v1.1.402"
271271
hooks = [{ id = "pyright", args = ["reflex", "tests"], language = "system" }]
272272

273273
[[tool.pre-commit.repos]]

reflex/.templates/jinja/app/rxconfig.py.jinja2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import reflex as rx
33
config = rx.Config(
44
app_name="{{ app_name }}",
55
plugins=[
6+
rx.plugins.SitemapPlugin(),
67
rx.plugins.TailwindV4Plugin(),
78
],
89
)

reflex/.templates/jinja/web/package.json.jinja2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "reflex",
3+
"type": "module",
34
"scripts": {
45
"dev": "{{ scripts.dev }}",
56
"export": "{{ scripts.export }}",
6-
"export-sitemap": "{{ scripts.export_sitemap }}",
77
"prod": "{{ scripts.prod }}"
88
},
99
"dependencies": {

reflex/.templates/jinja/web/pages/_app.js.jinja2

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ import '$/styles/__reflex_global_styles.css'
66
{% endblock %}
77

88
{% block declaration %}
9-
import { EventLoopProvider, StateProvider, defaultColorMode } from "$/utils/context.js";
10-
import { ThemeProvider } from 'next-themes'
9+
import { EventLoopProvider, StateProvider, defaultColorMode } from "$/utils/context";
10+
import { ThemeProvider } from '$/utils/react-theme';
11+
import { Layout as AppLayout } from './_document';
12+
import { Outlet } from 'react-router';
1113
{% for library_alias, library_path in window_libraries %}
1214
import * as {{library_alias}} from "{{library_path}}";
1315
{% endfor %}
@@ -26,8 +28,9 @@ function AppWrap({children}) {
2628
)
2729
}
2830

29-
export default function MyApp({ Component, pageProps }) {
30-
React.useEffect(() => {
31+
32+
export function Layout({children}) {
33+
React.useEffect(() => {
3134
// Make contexts and state objects available globally for dynamic eval'd components
3235
let windowImports = {
3336
{% for library_alias, library_path in window_libraries %}
@@ -36,17 +39,20 @@ export default function MyApp({ Component, pageProps }) {
3639
};
3740
window["__reflex"] = windowImports;
3841
}, []);
39-
return (
40-
jsx(ThemeProvider, {defaultTheme:defaultColorMode,attribute:"class"},
42+
43+
return jsx(AppLayout, {},
44+
jsx(ThemeProvider, {defaultTheme: defaultColorMode, attribute: "class"},
4145
jsx(StateProvider, {},
42-
jsx(EventLoopProvider, {},
43-
jsx(AppWrap, {},
44-
jsx(Component, pageProps)
45-
)
46+
jsx(EventLoopProvider, {},
47+
jsx(AppWrap, {}, children)
4648
)
4749
)
4850
)
4951
);
5052
}
5153

54+
export default function App() {
55+
return jsx(Outlet, {});
56+
}
57+
5258
{% endblock %}

reflex/.templates/jinja/web/pages/_document.js.jinja2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{% extends "web/pages/base_page.js.jinja2" %}
22

33
{% block export %}
4-
export default function Document() {
4+
export function Layout({children}) {
55
return (
66
{{utils.render(document)}}
77
)

0 commit comments

Comments
 (0)