convertir un projet javascript en coffeescript

le jS ça fait aussi le café.
Si vous voulez reprendre d’anciens projets en javascript pour envoyer promener toutes ces accolades et autres points virgules, réjouissez vous, car voici de quoi convertir un dossier et ses sous dossiers en fichiers coffeescript.

il faut donc copier votre dossier de scripts js dans un dossier nommé coffee, obtenir la liste des fichiers à convertir et exécuter la conversion sur chacun d’eux.

basé sur le convertisseur js2coffee (voir ce projet sur github), voici mon script bash adapté de ce merveilleux script bash trouvé sur stack overflow:
pour plus de clarté je lui ai rajouté un côté explicite des actions menées et quelques couleurs.

#!/bin/bash
#text formatting
neutre='\e[0;m'
bleuclair='\e[1;34m'
bold=$(tput bold)
normal=$(tput sgr0)
# get the name of the js scripts folder
echo -e "${bleuclair} ${bold} conversion de projet ${normal} vers coffeescript "
read -p "nommez le dossier où se trouvent vos scripts .js [js]: " -e -i "js" name
# if the coffee folder doesnt exist, create it
if [ ! -e coffee ]; then
echo "pas de dossier coffee, on le crée"
mkdir coffee
fi
echo -e " copie du dossier ${bleuclair}${bold}${name}${normal} vers le dossier ${bold}coffee${normal} ${neutre}"
cp -R ${name}/* coffee
echo "lire les fichiers du dossier coffee"
# list files and exclude node modules
COUNTER=0
for FILE in `find coffee -name "*.js" -type f -o -path './node_modules' -prune -o -path './components' -prune`
do
if [ -e $FILE ] ; then
COFFEE=${FILE//\.js/\.coffee}
echo -e "    converting ${FILE} to ${bleuclair}${COFFEE}${neutre}${normal}"
js2coffee "$FILE" > "$COFFEE"
rm $FILE
COUNTER=$((COUNTER+1))
else
echo "File: $1 does not exist!"
fi
done
echo -e "${bleuclair}${bold} $COUNTER ${normal}${neutre} fichiers convertis"
cd ../

vous pouvez enregistrer ce script bash sous le nom de alljs2coffee.sh
le copier dans votre répertoire d’exécutables,

cp alljs2coffee.sh /usr/local/bin

lui donner les droits pour être exécuté par tout le monde 

chmod +x alljs2coffee.sh

et voilà vous pourrez l’exécuter dans n’importe quel dossier contenant un de vos projets avec la commande alljs2coffee

go go gadgetto modernisation du JS!

voir l’issue sur github. comme toujours, si vous avez des amélioratoins à proposez faites donc!

CatégoriesNon classé