[tasks.install]
run = "pnpm install --filter @immich/cli --frozen-lockfile"

[tasks.build]
env._.path = "./node_modules/.bin"
run = "vite build"

[tasks.test]
env._.path = "./node_modules/.bin"
run = "vitest"

[tasks.lint]
env._.path = "./node_modules/.bin"
run = "eslint \"src/**/*.ts\" --max-warnings 0"

[tasks."lint-fix"]
run = { task = "lint --fix" }

[tasks.format]
env._.path = "./node_modules/.bin"
run = "prettier --check ."

[tasks."format-fix"]
env._.path = "./node_modules/.bin"
run = "prettier --write ."

[tasks.check]
env._.path = "./node_modules/.bin"
run = "tsc --noEmit"

[tasks.ci-publish]
depends = ["//:sdk:install", "//:sdk:build"]
run = [
  { task = ":install" },
  { task = ":build" },
  "pnpm publish --provenance --no-git-checks",
]

[tasks.ci-unit]
depends = ["//:sdk:install", "//:sdk:build"]
run = [
  { task = ":install" },
  { task = ":format" },
  { task = ":lint" },
  { task = ":check" },
  { task = ":test --run" },
]

[tasks.checklist]
run = [
 { task = ":ci-unit" },
]
