yew/Makefile.toml

91 lines
2.0 KiB
Makefile
Raw Normal View History

######################
#
# public tasks:
# * checks-flow
# * lint
# * lint-release
# * format
# * test-flow
# * test
# * doc-test
# * website-test
#
# packages/yew also contains `clippy-feature-soundness` to ensure everything is fine
# Run `cargo make --list-all-steps` for more details.
#
######################
[config]
min_version = "0.32.4"
skip_core_tasks = true
default_to_workspace = false
[env]
CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
CARGO_MAKE_CLIPPY_ARGS = "-- --deny=warnings"
CARGO_MAKE_WORKSPACE_SKIP_MEMBERS = [
"examples/*",
"tools/*",
]
[config.modify_core_tasks]
private = true
namespace = "core"
# checks
[tasks.lint]
category = "Checks"
description = "Runs clippy"
command = "cargo"
args = ["clippy", "--", "--deny=warnings"]
# Needed, because we have some code differences between debug and release builds
[tasks.lint-release]
category = "Checks"
command = "cargo"
args = ["clippy", "--all-targets", "--release", "--", "--deny=warnings"]
[tasks.format]
category = "Checks"
toolchain = "nightly"
env = { CARGO_MAKE_RUST_CHANNEL = "nightly" }
[tasks.checks-flow]
category = "Checks"
description = "Runs clippy in debug and release mode and format all the code"
run_task = { name = ["lint", "lint-release", "format"], fork = true }
# Tests
[tasks.test]
command = "cargo"
Introduce explicit internal datastructures modeling dom state (#2330) * detach destructures now * add failing keyed-list issue * crude port to the new bundle infrastructure * port over the infrastructure the new bcomp is especially nice and lost a few unwraps owed to not having to reserve space for a scope before rendering. Note also that bsuspense has been slimmed a bit, storing the suspended flag implicitly in the state. some naming is not perfect yet and has to be adjusted still. * mass rename: apply -> reconcile * get rid of move_before in favor of shift * generate id directly when creating a new scope * bundle for text nodes * work on naming: ancestor -> bundle * slightly optimize list reconciler, add doccomments * address review * add internal documentation * address review comments rename fields in bsuspense convert to gloo::events * move even more stuff into dom_bundle to scope exports - app_handle and layout_tests are now in there - items are publically re-exported in crate::dom_bundle - dom_bundle itself is private - btag and bcomp get their own submodules - bcomp now contains the lifecycle and scope impls * move replace into Reconcilable * move lifecycle and scope back into html as per review * move back Value and InputFields into html * actually only type-check format args in production * fix documentation link * move btag_impl up into containing module * shift comps immediately shifting the rendered Nodes does not tie into the lifecycle, as such it can happen immediately * use list-bundle in tag-bundle * fix cargo make tests * improve 05_swap benchmark * fix a blunder where I swapped operands * fix naming of BNode variants
2022-03-06 11:37:07 +08:00
args = ["test", "--all-targets"]
workspace = true
[tasks.doc-test]
command = "cargo"
args = ["test", "--doc", "--all-features"]
workspace = true
[tasks.website-test]
command = "cargo"
args = ["test", "-p", "website-test"]
[tasks.test-flow]
category = "Testing"
description = "Run all tests"
run_task = { name = ["test", "doc-test", "website-test"], fork = true, parallel = true }
# misc
[tasks.generate-change-log]
category = "Maintainer processes"
toolchain = "stable"
command = "cargo"
args = ["run", "-p", "changelog", "--release", "${@}"]
[tasks.default]
#run_task = { name = ["checks-flow", "test-flow"], fork = true }
dependencies = ["checks-flow", "test-flow"]