From caf29c368068616f4e899c7d5dca8e80cb20d774 Mon Sep 17 00:00:00 2001 From: Khaleel Al-Adhami <khaleel.aladhami@gmail.com> Date: Wed, 15 Jan 2025 14:17:58 -0800 Subject: [PATCH] put import at the top of dynamic component evaluation (#4632) --- reflex/components/dynamic.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/reflex/components/dynamic.py b/reflex/components/dynamic.py index fbfc55f97..806d610df 100644 --- a/reflex/components/dynamic.py +++ b/reflex/components/dynamic.py @@ -136,6 +136,23 @@ def load_dynamic_serializer(): module_code_lines.insert(0, "const React = window.__reflex.react;") + function_line = next( + index + for index, line in enumerate(module_code_lines) + if line.startswith("export default function") + ) + + module_code_lines = [ + line + for _, line in sorted( + enumerate(module_code_lines), + key=lambda x: ( + not (x[1].startswith("import ") and x[0] < function_line), + x[0], + ), + ) + ] + return "\n".join( [ "//__reflex_evaluate",