serde_json_merge 0.0.7

Merge, index, iterate, and sort a serde_json::Value (recursively)
version: "3"
tasks:
  default:
    cmds:
      - task: check

  build:
    desc: "build in debug mode"
    cmds:
      - cargo build --all-targets {{.CLI_ARGS}}

  build:release:
    desc: "build all targets in release mode"
    cmds:
      - cargo build --all-targets --release {{.CLI_ARGS}}

  typos:
    desc: "check repository for typos"
    aliases: [spellcheck]
    cmds:
      - typos

  check:
    desc: "check cargo workspace"
    dir: "{{.ROOT_DIR}}"
    cmds:
      - cargo check --workspace --all-targets {{.CLI_ARGS}}

  check:fc:
    desc: "check cargo workspace for all combinations of features"
    dir: "{{.ROOT_DIR}}"
    cmds:
      - cargo fc check --all-targets {{.CLI_ARGS}}

  clean:
    cmds:
      - cargo clean {{.CLI_ARGS}}

  bench:
    desc: "run benchmark suite"
    cmds:
      - cargo bench --bench benches --features full {{.CLI_ARGS}}

  docs:
    desc: "open documentation preview"
    env:
      RUSTDOCFLAGS: "--cfg docsrs"
    cmds:
      - cargo +nightly doc --all-features {{.CLI_ARGS}}

  unused:
    desc: "check for unused cargo workspace dependencies"
    aliases: [unused-dependencies]
    cmds:
      - cargo +nightly fc udeps --maximal-features --all-targets {{.CLI_ARGS}}

  outdated:
    desc: "list outdated deps (incl. new majors): adoptable now vs still in cooldown"
    cmds:
      - cooldown outdated --sync {{.CLI_ARGS}}

  outdated:minor:
    desc: "list outdated deps within the current major only"
    cmds:
      - cooldown outdated --no-major --sync {{.CLI_ARGS}}

  upgrade:
    desc: "upgrade all deps incl. cross-major bumps, within the cooldown"
    aliases: [update]
    cmds:
      - cooldown upgrade --major --sync {{.CLI_ARGS}}

  upgrade:minor:
    desc: "upgrade all deps within their current major, within the cooldown"
    cmds:
      - cooldown upgrade --no-major --sync {{.CLI_ARGS}}

  upgrade:latest:
    desc: "upgrade ignoring the cooldown window — use deliberately"
    prompt:
      - >-
        DANGER: this bypasses the supply-chain cooldown and adopts brand-new
        (possibly compromised) releases. Prefer 'task upgrade' / 'task
        upgrade:minor'. Continue?
    cmds:
      - cooldown upgrade --latest {{.CLI_ARGS}}

  audit:
    desc: "audit cargo workspace dependencies"
    cmds:
      - cargo audit {{.CLI_ARGS}}

  format:
    desc: "format cargo workspace"
    cmds:
      - cargo fmt --all {{.CLI_ARGS}}

  test:
    desc: "test cargo workspace"
    cmds:
      - cargo nextest run -P default --workspace --all-targets --no-tests warn {{.CLI_ARGS}}

  test:fc:
    desc: "test cargo workspace for all combinations of features"
    cmds:
      - cargo fc nextest run -P default --all-targets --no-tests warn {{.CLI_ARGS}}

  test:doc:
    desc: "test cargo workspace documentation"
    cmds:
      - cargo test --doc --workspace {{.CLI_ARGS}}

  lint:
    desc: "lint cargo workspace"
    cmds:
      - cargo lint --workspace --all-features {{.CLI_ARGS}}

  lint:fc:
    desc: "lint cargo workspace for all combinations of features"
    cmds:
      - cargo fc lint {{.CLI_ARGS}}

  lint:fix:
    desc: "lint and fix cargo workspace"
    aliases: [fix]
    cmds:
      - cargo fixit --workspace --all-features {{.CLI_ARGS}}

  lint:actions:
    desc: "lint github actions"
    aliases: ["actions:lint"]
    cmds:
      - actionlint