145 lines
4.6 KiB
Makefile
Executable file
145 lines
4.6 KiB
Makefile
Executable file
set shell := ["fish", "-c"]
|
|
set unstable := true
|
|
|
|
cacheFolder := ".cache"
|
|
eslintCacheFile := "eslintcache"
|
|
prettierCacheFile := "prettiercache"
|
|
stylelintCacheFile := "stylelintcache"
|
|
|
|
# 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:
|
|
@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.
|
|
[group('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.
|
|
[group('css')]
|
|
watch-css:
|
|
@just dev
|
|
@watchexec -w "web/app/themes/haiku-atelier-2024/src/sass" -- just build-css reload-tab
|
|
|
|
# Compile TypeScript en JavaScript.
|
|
[group('js')]
|
|
build-js:
|
|
@bunx 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:
|
|
bunx vite build --watch
|
|
|
|
# Vérifie le code TypeScript avec des analyseurs statiques.
|
|
[group('js')]
|
|
[group('qualité')]
|
|
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.
|
|
[group('css')]
|
|
[group('qualité')]
|
|
lint-css:
|
|
-bunx 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:
|
|
-bunx 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
|