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 # Démarre le conteneur ddev start: ddev start # Arrête le conteneur ddev stop: ddev stop # Met à jour les dépendances composer et npm update: composer update pnpm update --latest # Formatte avec Prettier et dprint format: @echo "Formatage de l'ensemble du code avec Prettier et dprint." pnpm prettier \ --cache \ --cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \ --ignore-unknown \ --write \ . dprint fmt # Compile, minifie et optimise Sass vers CSS build-css: pnpm sass \ --update \ "web/app/themes/haiku-atelier-2024/src/sass":"web/app/themes/haiku-atelier-2024/assets/css" pnpm 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" pnpm 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" pnpm 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" pnpm 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" pnpm 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" pnpm lightningcss \ --bundle \ --minify \ --output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-contact.min.css" \ -- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-contact.css" pnpm 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: pnpm sass \ --update \ --watch \ "web/app/themes/haiku-atelier-2024/src/sass":"web/app/themes/haiku-atelier-2024/assets/css" # Compile TypeScript en JavaScript build-js: pnpm vite build # Compile TypeScript à chaque changement de fichier watch-js: pnpm vite build --watch # Vérifie le code TypeScript avec des analyseurs statiques lint-js: -pnpm eslint "web/app/themes/haiku-atelier-2024/src/scripts" -pnpm biome check --reporter=summary "web/app/themes/haiku-atelier-2024/src/scripts" -pnpm oxlint "web/app/themes/haiku-atelier-2024/src/scripts" # Vérifie le code TypeScript mort avec knip lint-code-mort: -pnpm 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