Aller au contenu

Recettes par framework

$debug est une globale. L'appel est identique dans tous les frameworks : pas d'adaptateur, pas d'import, pas d'API spécifique. Seul l'endroit où vous enregistrez le plugin change :

Pile techniqueOù placer mtDebug()
Vue / React / Svelteplugins: [] dans vite.config.ts
Nuxt 4vite: { plugins: [] } dans nuxt.config.ts (voir ci-dessous)
Angular via Analogplugins: [] dans vite.config.ts, à côté de analog()
SvelteKitplugins: [] dans vite.config.ts, à côté de sveltekit()
ts
// nuxt.config.ts — la seule config qui n'est pas vite.config.ts
import mtDebug from "@mars-tech/vite-debug-plugin";

export default defineNuxtConfig({
  vite: { plugins: [mtDebug()] },
});

Quelle que soit la pile technique, enregistrez-le sans condition dans cette liste de premier niveau : pendant vite build, c'est le plugin qui supprime les appels à $debug. Voir Installer et enregistrer le plugin.

Un site d'appel idiomatique

Partout où un framework offre un point d'accroche sans bon endroit pour un console.log, $debug trouve sa place. Voici un validateur de propriétés de composant Vue, qui s'exécute avant le rendu du composant :

vue
<script setup lang="ts">
defineProps({
  variant: {
    type: String,
    required: true,
    validator(value: string) {
      const ok = ["primary", "secondary", "ghost"].includes(value);
      if (!ok) {
        $debug("warning", new Error(`Variante invalide "${value}"`), {
          tag: "PropsValidator",
          showSource: true,
        });
      }
      return ok;
    },
  },
});
</script>

Actions de store, gardes de route, reducers et middlewares prennent exactement le même appel. Voir Espaces de noms et filtrage à l'exécution pour les garder séparables quand ils se multiplient, et Rendu côté serveur (SSR) pour les appels exécutés côté serveur.