diff --git a/reflex/__init__.py b/reflex/__init__.py index f850f221f..1b1d834c4 100644 --- a/reflex/__init__.py +++ b/reflex/__init__.py @@ -1,7 +1,7 @@ """Import all classes and functions the end user will need to make an app. Anything imported here will be available in the default Reflex import as `rx.*`. -To signal to typecheckers that something should be reexported, +To signal to typecheckers that something should be reexported, we use the Flask "import name as name" syntax. """ diff --git a/reflex/utils/prerequisites.py b/reflex/utils/prerequisites.py index a869b5139..4865a3071 100644 --- a/reflex/utils/prerequisites.py +++ b/reflex/utils/prerequisites.py @@ -438,7 +438,8 @@ def is_latest_template() -> bool: def initialize_frontend_dependencies(): """Initialize all the frontend dependencies.""" # Create the reflex directory. - path_ops.mkdir(constants.REFLEX_DIR) + if not IS_WINDOWS: + path_ops.mkdir(constants.REFLEX_DIR) # Install the frontend dependencies. processes.run_concurrently(install_node, install_bun) diff --git a/tests/test_utils.py b/tests/test_utils.py index d018f2b30..adf2cc30d 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -558,3 +558,28 @@ def test_bun_install_without_unzip(mocker): with pytest.raises(FileNotFoundError): prerequisites.install_bun() + + +# from +@pytest.mark.parametrize("is_windows", [True, False]) +def test_create_reflex_dir(mocker, is_windows): + """Test that a reflex directory is created on initializing frontend + dependencies. + + Args: + mocker: Pytest mocker object. + is_windows: Whether platform is windows. + """ + mocker.patch("reflex.utils.prerequisites.IS_WINDOWS", is_windows) + mocker.patch("reflex.utils.prerequisites.processes.run_concurrently", mocker.Mock()) + mocker.patch("reflex.utils.prerequisites.initialize_web_directory", mocker.Mock()) + create_cmd = mocker.patch( + "reflex.utils.prerequisites.path_ops.mkdir", mocker.Mock() + ) + + prerequisites.initialize_frontend_dependencies() + + if is_windows: + assert not create_cmd.called + else: + assert create_cmd.called