Solitaire - Remplacer AjaxMin, etc...

2019-04-25 #javascript

Ce billet fait partie d'une série consacrée au travail en cours sur mon site de solitaires et aux évolutions que je souhaite y apporter :

  1. Introduction
  2. Passer de jQuery à Vanilla JS
  3. Améliorer FreeCell
  4. Ajouter des animations CSS
  5. Drag and drop sans jQuery UI
  6. Remplacer AjaxMin, etc...

Lorsque j'aurai réussi à réaliser tout ce que j'ai en vue dans les billets précédents, cela sera déjà pas mal. Mais j'aimerais aussi parvenir à moderniser un peu le fonctionnement du projet.

Par exemple, j'utilise actuellement AjaxMin pour compresser les fichiers JavaScript et CSS. C'est une vieille application console sous Windows qui fait pile ce dont j'ai besoin (et que j'ai dû utiliser pour la première fois il y a fort longtemps sur je ne sais plus quoi...).

Rien que le nom complet, Microsoft Ajax Minifier, donne une idée de quand ça date. Ce n'est plus tout jeune et plus maintenu non plus. Même si c'est quand même un assez bon outil d'après Charles O'Dale qui avait effectué un comparatif par rapport à YUICompressor et UglifyJS il y a quelque temps dans son billet Selecting a JavaScript Minifier.

Et en effet, AjaxMin présente malgré tout quelques avantages (au moins dans mon cas) :

  • C'est un petit exécutable que je trimbale d'un PC à l'autre
  • Il est facile à utiliser sans avoir rien à installer
  • Ce me sert aussi à "obfuscater" le code JavaScript et à rendre sa réutilisation un peu plus compliqué en cas de décompression

L'idéal serait évidemment de passer à quelque chose de plus utilisé, dans le genre de UglifyJS. Mais pour y arriver, il faudrait aussi :

  • Moderniser et formaliser un peu mieux les sources du projet (style npm et package.json)
  • Voir si je peux plus ou moins réussir à protéger les sources comme avec AjaxMin

C'est pour cela que dans l'immédiat, je vais éviter de passer trop de temps sur ce genre de truc, puisque ça marche très bien en l'état avec un simple batche. Donc standby pour l'instant. Ou à la rigueur un petit ménage de printemps en commençant par passer à npm et package.json afin d'avoir un projet plus "standard" et être prêt à d'autres évolutions pour l'avenir...