gueschla.com/2007/03/09/jsjuicer-yet-another-js-packer

post 02 of 32 · 9 March 2007 · written in French

JSJuicer, yet another JS packer

JSJuicer, yet another JS packer

A review of JSJuicer, a new C++ command-line JavaScript packer in the spirit of Douglas Crockford's JSMin. It strips comments, debug lines starting with ;;; and whitespace, and can obfuscate, though in testing the obfuscation broke the code. Smoothbox shrank from 11K to 7.1K and MooTools with all its plugins from 140K to 60K. The post also launches a web edition in the Labs.

jsjuicer-yet-another-js-packer.fr9 March 2007

Adrian Johnston viens de nous concocter JSJuicer, un nouveau packer javascript à l’image du (presque) célèbre Jsmin de Douglas Crockford. C’est un soft permettant de réduire significativement la taille de vos fichiers javascript, donc de gagner en temps de chargement et en bande passante. Le procédé permet en outre de rendre le code relativement illisible, et donc de se protéger contre un plagiat éventuel. Ce soft est codé en C++, et est à utiliser en ligne de commande.

Les fonctionnalités de ce packer sont les suivantes :

  • Suppression des commentaires
  • Suppression des lignes de debug commençant par ;;;
  • Suppression des espaces et des retours chariot
  • Obfuscation du code

Malheureusement, après quelques tests, on s’aperçoit que l’obfuscation rend le JS inutilisable. On devra donc se contenter des autres options.
Après avoir “essoré” un de mes scripts perso, on passe d’une taille de 11K à une taille de 7.1K, soit un gain de 26%.
Autre essai avec un fichier plus gros, mootools v1, avec tous les plugins : on passe de 140K à 60K, soit un gain appréciable de 57%.
Dans les deux cas, si on active pas l’obfuscation, les scripts restent totalement fonctionnels, aucun bug de créé.

Si vous en voulez plus, vous pouvez ajouter une petite compression gzip.

Pour ceux que cela intéresse j’ai réalisé une édition web de JSJuicer ;-)
Elle est dispo dans la section Labs de mon site.
Cela permet d’utiliser le script sans rien avoir à downloader ou à compiler.

Tester JSJuicer Web Edition

Original French text from Internet Archive captures of gueschla.com. Light typo fixes only. Links to outside sites are shown as plain text, because most of those 2007 addresses no longer lead where they did. The post had 1 comment when it was captured; they are not reproduced here.

relatedLabs: JSJuicer Web Edition