extend = [{ path = "./cargo-make/main.toml" }]

[env]
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = ""
CARGO_MAKE_WORKSPACE_EMULATION = true
CARGO_MAKE_CRATE_WORKSPACE_MEMBERS = [
  "action-form-error-handling",
  "animated_show",
  "counter",
  "counter_isomorphic",
  "counters",
  "counter_url_query",
  "counter_without_macros",
  "directives",
  "error_boundary",
  "errors_axum",
  "fetch",
  "hackernews",
  "hackernews_axum",
  "hackernews_islands_axum",
  "hackernews_js_fetch",
  "js-framework-benchmark",
  "login_with_token_csr_only",
  "parent_child",
  "portal",
  "router",
  "server_fns_axum",
  "session_auth_axum",
  "slots",
  "spread",
  "sso_auth_axum",
  "ssr_modes",
  "ssr_modes_axum",
  "suspense_tests",
  "tailwind_actix",
  "tailwind_axum",
  "tailwind_csr",
  "timer",
  "todo_app_sqlite",
  "todo_app_sqlite_axum",
  "todo_app_sqlite_csr",
  "todomvc",
]

[tasks.gen-members]
workspace = false
description = "Generate the list of workspace members"
script = '''
examples=$(ls |
grep -v .md |
grep -v Makefile.toml |
grep -v cargo-make |
grep -v gtk |
jq -R -s -c 'split("\n")[:-1]')
echo "CARGO_MAKE_CRATE_WORKSPACE_MEMBERS = $examples"
'''

[tasks.test-report]
workspace = false
description = "show the cargo-make configuration for web examples [web|all|help]"
script = { file = "./cargo-make/scripts/web-report.sh" }
