-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmise.toml
More file actions
100 lines (80 loc) · 3.36 KB
/
Copy pathmise.toml
File metadata and controls
100 lines (80 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# mise configuration — https://mise.jdx.dev
#
# Run `mise install` to install every tool listed below at the pinned version.
# Tasks defined here are runnable with `mise run <task>` (or `mise <task>`).
#
# `mise.local.toml` (gitignored) can be used for personal overrides.
[tools]
node = "24.9.0"
# Fast Node.js package manager that reads pnpm-lock.yaml — https://github.com/endevco/aube
# This repo uses aube exclusively; pnpm is no longer installed.
aube = "1.2.0"
# PHP runtime + dependency manager for apps/sabredav
# TODO Need to figure out if there is a reasonable php distribution that does not need compilation
# This would be a good approach, but the releases are broken
# "ubi:adwinying/php" = "8.4.20"
# composer = "2"
# Git hook manager and project linter — https://hk.jdx.dev
hk = "1.9.2"
# Pkl CLI is required by hk to evaluate `hk.pkl`.
# Set HK_PKL_BACKEND=pklr (in mise.local.toml or your shell) to use hk's
# built-in evaluator and skip installing pkl entirely.
pkl = "0.29"
[env]
# Wrap git hooks with `mise x` so the right tool versions are on PATH even
# for contributors who don't auto-activate mise in their shell.
HK_MISE = "1"
[hooks]
# After `mise install`, install hk's git hooks for this repo.
postinstall = "hk install --mise"
# ---------------------------------------------------------------------------
# Tasks — runnable with `mise run <task>` (or `mise <task>`).
# Only composite/orchestration tasks live here. For 1:1 script wrappers,
# call `aube <script>` directly (e.g. `aube dev`, `aube test`).
# ---------------------------------------------------------------------------
[tasks.setup]
description = "First-time setup: install JS + PHP deps and register git hooks"
depends = ["install", "composer:install", "hooks:install"]
[tasks.install]
description = "Install JS dependencies (aube)"
run = "aube install"
[tasks."composer:install"]
description = "Install PHP dependencies for apps/sabredav"
dir = "{{config_root}}/apps/sabredav"
run = "composer install --no-interaction --prefer-dist"
[tasks.clean]
description = "Remove build outputs and TS build info from every workspace"
run = """
rm -rf apps/*/dist apps/*/build apps/*/.svelte-kit packages/*/dist
find . -name '*.tsbuildinfo' -not -path '*/node_modules/*' -delete
"""
[tasks."db:psql"]
description = "Open a psql shell on the dev database"
run = "docker exec -it freundebuch-postgres psql -U freundebuch -d freundebuch_dev"
[tasks."db:reset"]
description = "Drop and recreate the dev database, then re-run migrations + seed"
depends = ["docker:down", "docker:up", "migrate", "seed"]
[tasks."docker:up"]
description = "Start Docker services"
run = "docker-compose up -d"
[tasks."docker:down"]
description = "Stop Docker services"
run = "docker-compose down"
[tasks."docker:logs"]
description = "Tail logs from all Docker services"
run = "docker-compose logs -f"
[tasks."docker:reset"]
description = "Recreate Docker services from scratch"
run = "docker-compose down -v && docker-compose up -d"
[tasks.migrate]
description = "Run pending database migrations"
run = "aube migrate"
[tasks.seed]
description = "Seed the database with test data"
run = "aube seed"
[tasks."hooks:install"]
description = "(Re)install hk git hooks for this repo"
run = "hk install --mise"
[tasks.ci]
description = "Run the same checks CI runs (lint, types, tests, build)"
run = "aube check && aube type-check && aube test && aube build"