From fe4a4ee81b01f7833666b34c0ec36131b72ab573 Mon Sep 17 00:00:00 2001 From: Masen Furer Date: Tue, 30 Apr 2024 14:58:38 -0700 Subject: [PATCH] Fixup deduped package names in collapse() --- reflex/utils/imports.py | 5 ++++- tests/components/core/test_banner.py | 12 ++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/reflex/utils/imports.py b/reflex/utils/imports.py index d894c7c2c..1b4c61f09 100644 --- a/reflex/utils/imports.py +++ b/reflex/utils/imports.py @@ -284,7 +284,10 @@ class ImportList(List[ImportVar]): f"Imports from {lib} have conflicting version specifiers: " f"{packages} {imps}" ) - deduped[list(packages)[0] or ""] = list(imps.values()) + package = lib + if packages: + package = packages.pop() or "" + deduped[package] = list(imps.values()) return deduped diff --git a/tests/components/core/test_banner.py b/tests/components/core/test_banner.py index ac01a825c..27b4b3645 100644 --- a/tests/components/core/test_banner.py +++ b/tests/components/core/test_banner.py @@ -15,12 +15,12 @@ def test_websocket_target_url(): def test_connection_banner(): banner = ConnectionBanner.create() - _imports = banner._get_all_imports() - assert [i.library for i in _imports] == [ + _imports = banner._get_all_imports().collapse() + assert list(_imports) == [ "react", "/utils/context", "/utils/state", - "@radix-ui/themes", + "@radix-ui/themes@^3.0.0", "/env.json", ] @@ -31,12 +31,12 @@ def test_connection_banner(): def test_connection_modal(): modal = ConnectionModal.create() - _imports = modal._get_all_imports() - assert [i.library for i in _imports] == [ + _imports = modal._get_all_imports().collapse() + assert list(_imports) == [ "react", "/utils/context", "/utils/state", - "@radix-ui/themes", + "@radix-ui/themes@^3.0.0", "/env.json", ]