haiku-atelier-2024/justfile
gcch d30b83d093 2025-07-03
- étoffe le fichier `JOURNAL` avec les nouveaux changements majeurs.
- propose une tâche _Justfile_ pour un rechargement à chaud primitif lors de changements
  CSS.
- ne précompresse pas et ne propose plus de versions « legacy » des scripts JS en methodes
  développement.
- appose correctement `aria-current` sur le lien de la page courante dans les deux menus
  de navigation.
- remplace une image statique « Scroll down » avec une animation SVG reposant sur du texte
  et des chemins.
- renomme moultes choses.
2025-07-03 20:28:03 +02:00

118 lines
4.1 KiB
Makefile
Executable file

set shell := ["fish", "-c"]
cacheFolder := ".cache"
eslintCacheFile := "eslintcache"
prettierCacheFile := "prettiercache"
stylelintCacheFile := "stylelintcache"
# Liste toutes les recettes
list:
@just --list --list-heading 'Recettes disponibles :'\n'' --unsorted
# Met à jour les dépendances composer et npm
update:
composer update
bun update
# Formatte avec Prettier et dprint
format:
@echo "Formatage de l'ensemble du code avec Prettier et dprint."
bunx prettier \
--cache \
--cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \
--ignore-unknown \
--write \
.
dprint fmt
# Compile, minifie et optimise Sass vers CSS
build-css:
bunx sass \
--update \
"web/app/themes/haiku-atelier-2024/src/sass":"web/app/themes/haiku-atelier-2024/assets/css"
bunx 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"
bunx 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"
bunx 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"
bunx 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"
bunx 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"
bunx 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"
bunx 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
watch-css:
@just dev
@watchexec -w "web/app/themes/haiku-atelier-2024/src/sass" -- just build-css reload-tab
# Compile TypeScript en JavaScript
build-js:
bunx vite build
# Compile tout
build-all:
just build-css
just build-js
# Compile TypeScript à chaque changement de fichier
watch-js:
bunx vite build --watch
# Vérifie le code TypeScript avec des analyseurs statiques
lint-js:
-bunx eslint "web/app/themes/haiku-atelier-2024/src/scripts"
-bunx biome check --reporter=summary "web/app/themes/haiku-atelier-2024/src/scripts"
-bunx oxlint "web/app/themes/haiku-atelier-2024/src/scripts"
# Vérifie le code Sass avec Stylelint
lint-css:
-bunx stylelint "web/app/themes/haiku-atelier-2024/src/sass/" --fix
# Vérifie le code TypeScript mort avec knip
lint-code-mort:
-bunx knip
# Avec Jujetsu, fusionne tous les changements actuels dans le commit précédent et pousse sur le répertoire distant
squash-and-push:
-jj squash --ignore-immutable && jj bookmark set principale -r @- --allow-backwards && jj git push
# Analyse statiquement, compile et formate le CSS
lint-build-format-css:
-just lint-css
-just build-css
-just format
dev:
@/opt/cromite/chrome --remote-debugging-address=127.0.0.1 --remote-debugging-port=9222 --profile-directory=Guest "https://haikuatelier.gcch.local" &
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