haiku-atelier-2024/justfile
gcch 6daa0c44e1 corvée: nettoie et formate
- ajoute les fichiers de langage et les scripts JS aux exclusions Git
- met à jour les dépendances et retire celles pour Vite inutilisées
- formate les YAML et TOML avec la commande du justfile
- nettoie la configuration Vite
2025-12-15 23:40:57 +01:00

172 lines
5.2 KiB
Makefile
Executable file

set shell := ["fish", "-c"]
set unstable := true
cacheFolder := ".cache"
prettierCacheFile := "prettiercache"
# Recette par défaut.
default: dev
# Liste toutes les recettes
list:
@just --list --list-heading 'Recettes disponibles :'\n'' --unsorted
# Met à jour les dépendances composer et npm.
[group('js')]
[group('php')]
update:
composer update
bun update
# Formatte avec Prettier et dprint.
[group('qualité')]
format:
bun prettier \
--cache \
--cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \
--ignore-unknown \
--parallel-workers 8 \
--write \
.
dprint fmt
# TwigCsFixher
-vendor/bin/twig-cs-fixer fix web/app/themes/haiku-atelier-2024/
# Mago
mago fmt
fish scripts/format-sort-files.fish
# Compile, minifie et optimise Sass vers CSS.
[group('css')]
build-css:
@bun sass \
--update \
"web/app/themes/haiku-atelier-2024/src/sass":"web/app/themes/haiku-atelier-2024/assets/css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/main.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/main.css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-panier.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-panier.css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-boutique.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-boutique.css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-modele-simple.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-modele-simple.css"
@bun lightningcss \
--bundle \
--minify \
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-succes-commande.min.css" \
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-succes-commande.css"
# Compile le CSS à chaque changement de fichier.
[group('css')]
watch-css:
@watchexec -w "web/app/themes/haiku-atelier-2024/src/sass" -- just build-css
# Compile TypeScript en JavaScript.
[group('js')]
build-js:
@bun vite build
# Compile tout.
[group('css')]
[group('js')]
build-all:
@just build-css
@just build-js
@just format
# Compile TypeScript à chaque changement de fichier.
[group('js')]
watch-js:
bun vite build --watch
# Vérifie le code TypeScript avec des analyseurs statiques.
[group('js')]
[group('qualité')]
lint-js:
-bun eslint "web/app/themes/haiku-atelier-2024/src/scripts"
-bun biome check --reporter=summary "web/app/themes/haiku-atelier-2024/src/scripts"
-bun oxlint "web/app/themes/haiku-atelier-2024/src/scripts"
# Vérifie le code Sass avec Stylelint.
[group('css')]
[group('qualité')]
lint-css:
-bun stylelint "web/app/themes/haiku-atelier-2024/src/sass/" --fix
# Vérifie le code TypeScript mort avec knip
[group('js')]
[group('qualité')]
lint-code-mort:
-bun knip
# Fusionne tous les changements actuels dans le commit précédent et pousse sur le répertoire distant avec Jujetsu.
[group('vcs')]
squash-and-push:
-jj squash --ignore-immutable && jj bookmark set principale -r @- --allow-backwards && jj git push
# Analyse statiquement, compile et formate le CSS
[group('css')]
[group('qualité')]
lint-build-format-css:
-just lint-css
-just build-css
-just format
# Lance un navigateur de développement.
[group('développement')]
dev:
@/opt/cromite/chrome --remote-debugging-address=127.0.0.1 --remote-debugging-port=9222 --profile-directory=Guest "https://haikuatelier.gcch.local" &
# Recharge le premier onglet du navigateur de développement.
[group('développement')]
reload-tab:
#!/usr/bin/fish
set -f WSURL (curl -s http://127.1:9222/json | fx '.[0].webSocketDebuggerUrl')
set -f REQUEST '{ "id": 2, "method": "Page.reload", "params": { "ignoreCache": true, "scriptToEvaluateOnLoad": "" } }'
echo $REQUEST | websocat $WSURL
# Créé l'image OCI.
[group('container')]
build-wordpress-container:
@podman build -t wordpress-haiku-atelier:latest --progress=plain --file "containers/Dockerfile" .
# Lance les services.
[group('container')]
up-services:
@podman compose up -d
# Arrête les services.
[group('container')]
down-services:
@podman compose down
# Redémarre les services.
[group('container')]
restart-services:
@podman compose restart
# Met à jour les conteneurs images des conteneurs.
[group('container')]
pull-images:
bun "scripts/pull-container-images.ts"