Ne pas surveiller tous les fichiers

Ce billet, un peu comme tous les autres d'ailleurs, est plus une note pour moi-même qu'une réelle explication. J'utilise webpack comme outil pour fabriquer les différents éléments de mon application javascript. Tout va bien dans le meilleur des mondes jusqu'à ce que je modifie un fichier. Et là comme dirait l'autre, c'est le drame !

Pour améliorer ma productivité et aussi parce que c'est nettement plus sympa, j'utilise une boucle de développement rapide et je fais du remplacement de module à chaud (que c'est moche comme traduction) aussi appelé en grand breton Hot Module Replacement. En clair, que je modifie une feuille de style (directement ou en modifiant un fichier sass), ou un fichier javascript seuls les éléments modifiés de ma page sont rechargés sans que je perde le contexte. Si j'ai cliqué sur 3 boutons, commencer à remplir un formulaire et ouvert une modale, je reste dans ce contexte !

Tout semblait marcher mais sans que je comprenne bien pourquoi le mécanisme de rechargement se mettait en place dès que je modifiais un fichier avant même de le sauvegarder. En y regardant de plus près, mon éditeur créé (dans sa configuration par défaut) un fichier .#my-file.js dès que je modifie le fichier my-file.js. C'est très pénible. J'ai mis longtemps à comprendre d'où cela venait. Je suis parti d'une mauvaise piste et je croyais que c'était un fichier de sauvegarde automatique.

En fait ce fichier est un fichier de lock qui permet de ne pas éditer le même fichier à partir de plusieurs sources. Je ne suis pas sûr d'être concerné et en attendant mieux pour désactiver cette fonctionnalité il suffit d'ajouter la ligne suivant au fichier de configuration .emacs :

(setq create-lockfiles nil)

Haut de page