Avant de consulter ce document, il est conseillé d'avoir consulté les documentations sur :
Nous avions vu dans la documentation relative à l'organisation d'une installation wordpress de base que notre thème par défaut comportait un fichier package.json.
Ce fichier package.json comporte un champs scripts avec plusieurs scripts intéressants, entre autres build et watch.
build : compile les fichiers SASS pour générer le CSS finalwatch : surveille les fichiers SASS et relance build s'ils sont modifiésℹ️ → Rappel : une documentation vous est fournie sur le terminal
ℹ️ → Pour faire cette expérimentation, vous devez avoir une distribution serveur sur votre ordinateur et une instance de Wordpress installée.
onglet 1. Cet affichage servira de référence.mon-dossier-wordpress/wp-content/themes/twentynineteen/sass/variables-site/_colors.scss→ Observez la première variable SCSS :
;
→ Modifiez-la comme suit, et sauvegardez le fichier
_colors.scss:
;
onglet 1, un onglet 2. Chargez-y votre site Wordpress : on constate que rien n'a changé.mon-dossier-wordpress/wp-content/themes/twentynineteen/npm install pour installer les dépendancesnpm run buildonglet 2npm run watch_colors.scss comme suit :;
onglet 2ℹ️ → Les sourcemaps sont des fichiers qui font le lien entre le CSS et les fichiers sources SCSS. Ils permettent de savoir à quel endroit de la source SCSS une règle CSS a été définie.
Dans votre navigateur, sur votre site Wordpress, affichez les outils de développement.
Dans l'inspecteur, cliquez sur l'élément body.
Observez les règles CSS associées, et surtout, la source indiquée : par défaut, on nous indique la source comme étant le fichier style.css.
Problème, il ne s'agit pas de notre fichier source, de notre fichier de travail.
Savoir que la couleur de l'élément body est défini à la ligne 765 du style.css ne nous ait d'aucune utilité, car nous souhaiterions plutôt savoir à quel fichier SCSS et à quelle ligne cela correspond.
Pour cela, il faut générer des fichiers .map, dits « sourcemaps » qui vont faire le lien entre les fichiers CSS générés, et les sources SCSS.
🌁 ↓ figure 1 : sans sourcemaps 👎

🌁 ↓ figure 2 : avec sourcemaps 👍

En regardant notre fichier package.json, on observe, dans la partie scripts, que le module node-sass est utilisé pour compiler le SASS.
Regardons la documentation du paquet node-sass :
« The --source-map option accepts a boolean value, in which case it replaces destination extension with .css.map. (…)»
« L'option --source-map accepte une valeur booléenne, cas dans lequel l'extension de la destination est remplacée par .css.map »
Nous devons donc rajouter l'option --source-map true quelque part.
En l'occurence, nous allons modifier la ligne :
"build:style": "node-sass style.scss style.css --output-style expanded && postcss -r style.css"
De cette manière :
"build:style": "node-sass --source-map true style.scss style.css --output-style expanded && postcss -r style.css",
Si nous relançons npm run build ou npm run watch, et que nous rechargeons la page, nous observons qu'il nous ait maintenant possible de remonter à la source d'un règle CSS directement dans les outils de développement du navigateur.