72 lines
2.0 KiB
TOML
72 lines
2.0 KiB
TOML
[env]
|
|
PORT = "8000"
|
|
|
|
[config]
|
|
skip_core_tasks = true
|
|
|
|
# ---- BASIC ----
|
|
|
|
[tasks.watch]
|
|
description = "Watch files and recompile the project on change"
|
|
run_task = [
|
|
{ name = "build" },
|
|
]
|
|
watch = true
|
|
|
|
[tasks.serve]
|
|
description = "Start server"
|
|
install_crate = { crate_name = "microserver", binary = "microserver", test_arg = "-h" }
|
|
command = "microserver"
|
|
args = ["--port", "${PORT}"]
|
|
|
|
[tasks.verify]
|
|
description = "Format, lint with Clippy and run tests"
|
|
dependencies = ["fmt", "clippy", "test_h_firefox"]
|
|
|
|
# ---- BUILD ----
|
|
|
|
[tasks.build]
|
|
description = "Build with wasm-pack"
|
|
install_crate = { crate_name = "wasm-pack", binary = "wasm-pack", test_arg = "-V" }
|
|
command = "wasm-pack"
|
|
args = ["build", "--target", "web", "--out-name", "package", "--dev"]
|
|
|
|
[tasks.build_release]
|
|
description = "Build with wasm-pack in release mode"
|
|
install_crate = { crate_name = "wasm-pack", binary = "wasm-pack", test_arg = "-V" }
|
|
command = "wasm-pack"
|
|
args = ["build", "--target", "web", "--out-name", "package"]
|
|
|
|
# ---- LINT ----
|
|
|
|
[tasks.clippy]
|
|
description = "Lint with Clippy"
|
|
install_crate = { rustup_component_name = "clippy", binary = "cargo-clippy", test_arg = "--help" }
|
|
command = "cargo"
|
|
args = ["clippy", "--all-features", "--", "--deny", "warnings", "--deny", "clippy::pedantic", "--deny", "clippy::nursery"]
|
|
|
|
[tasks.fmt]
|
|
description = "Format with rustfmt"
|
|
install_crate = { rustup_component_name = "rustfmt", binary = "rustfmt", test_arg = "-V" }
|
|
command = "cargo"
|
|
args = ["fmt"]
|
|
|
|
|
|
# ---- TEST ----
|
|
|
|
[tasks.test_h]
|
|
description = "Run headless tests. Ex: 'cargo make test_h firefox'. Test envs: [chrome, firefox, safari]"
|
|
extend = "test"
|
|
args = ["test", "--headless", "--${@}"]
|
|
|
|
[tasks.test_h_firefox]
|
|
description = "Run headless tests with Firefox."
|
|
extend = "test"
|
|
args = ["test", "--headless", "--firefox"]
|
|
|
|
[tasks.test]
|
|
description = "Run tests. Ex: 'cargo make test firefox'. Test envs: [chrome, firefox, safari]"
|
|
install_crate = { crate_name = "wasm-pack", binary = "wasm-pack", test_arg = "-V" }
|
|
command = "wasm-pack"
|
|
args = ["test", "--${@}"]
|