[config]
default_to_workspace = false
min_version = "0.32.4"

[env]
CARGO_MAKE_CLIPPY_ARGS = "-- --deny=warnings"
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true

[config.modify_core_tasks]
namespace = "core"
private = true

[tasks.tests-setup]
private = true
script = [
  """
    test_flags = array --headless --firefox
    dioxus_test_features = set wasm_test
    dioxus_test_flags = array_join ${test_flags} " "
    echo "running tests with flags: ${dioxus_test_flags} and features: ${dioxus_test_features}"
    set_env DIOXUS_TEST_FLAGS ${dioxus_test_flags}
    set_env DIOXUS_TEST_FEATURES ${dioxus_test_features}
    """,
]
script_runner = "@duckscript"

[tasks.tests]
category = "Testing"
dependencies = ["tests-setup"]
description = "Run all tests"
env = {CARGO_MAKE_WORKSPACE_SKIP_MEMBERS = ["**/examples/*"]}
run_task = {name = ["test-flow", "test-with-browser"], fork = true}

[tasks.build]
command = "cargo"
args = ["build"]

[tasks.test-flow]
dependencies = ["test"]
private = true

[tasks.test]
dependencies = ["build"]
command = "cargo"
args = ["test", "--lib", "--bins", "--tests", "--examples", "--workspace", "--exclude", "dioxus-router", "--exclude", "dioxus-desktop"]
private = true

[tasks.test-with-browser]
env = { CARGO_MAKE_WORKSPACE_INCLUDE_MEMBERS = ["**/packages/router", "**/packages/desktop"] }
private = true
workspace = true
