orgmode-to-gemini-blog/sources/cipherbliss_blog/lang_fr/20150617T085410__convertir-un-projet-javascript-en-coffeescript.org

86 lines
3.3 KiB
Org Mode
Raw Normal View History

2024-11-19 13:49:39 +01:00
:PROPERTIES:
:ID: d1a73392-289a-4a2c-8c73-c6590eb58181
:END:
#+title: convertir-un-projet-javascript-en-coffeescript
#+post_ID: 216
#+post_slug: convertir-un-projet-javascript-en-coffeescript
#+post_url: https://www.ciperbliss.com/2015/convertir-un-projet-javascript-en-coffeescript
#+post_title: convertir un projet javascript en coffeescript
2024-11-19 23:50:42 +01:00
#+post_tags:
2024-11-19 13:49:39 +01:00
#+post_type: post
#+post_mime_types:
#+post_guid: undefined
#+post_status: publish
#+post_date_published: <2015-06-17T08:54:10>
#+post_date_modified: <2015-11-16T14:58:04>
#+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9
#+retrieved_from_db_at: <2024-11-18 16:25:08>
* convertir un projet javascript en coffeescript
:PROPERTIES:
:CUSTOM_ID: convertir-un-projet-javascript-en-coffeescript
:END:
[[http://www.lucidbetty.com/images/house/E1425.jpg]]
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.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
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.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
basé sur le convertisseur
[[https://github.com/js2coffee/js2coffee][js2coffee (voir ce projet sur
github)]], voici mon script bash adapté de
[[https://stackoverflow.com/questions/14091818/converting-whole-project-to-coffeescript-with-js2coffee/14091820#14091820][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.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
#+begin_src brush
#!/bin/bash#text formattingneutre='\e[0;m'bleuclair='\e[1;34m'bold=$(tput bold)normal=$(tput sgr0)# get the name of the js scripts folderecho -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 itif [ ! -e coffee ]; thenecho "pas de dossier coffee, on le crée"mkdir coffeefiecho -e " copie du dossier ${bleuclair}${bold}${name}${normal} vers le dossier ${bold}coffee${normal} ${neutre}"cp -R ${name}/* coffeeecho "lire les fichiers du dossier coffee"# list files and exclude node modulesCOUNTER=0for FILE in `find coffee -name "*.js" -type f -o -path './node_modules' -prune -o -path './components' -prune`doif [ -e $FILE ] ; thenCOFFEE=${FILE//\.js/\.coffee}echo -e " converting ${FILE} to ${bleuclair}${COFFEE}${neutre}${normal}"js2coffee "$FILE" > "$COFFEE"rm $FILECOUNTER=$((COUNTER+1))elseecho "File: $1 does not exist!"fidoneecho -e "${bleuclair}${bold} $COUNTER ${normal}${neutre} fichiers convertis"cd ../
#+end_src
vous pouvez enregistrer ce script bash sous le nom de
alljs2coffee.shle copier dans votre répertoire
d'exécutables,
#+begin_src brush
cp alljs2coffee.sh /usr/local/bin
#+end_src
lui donner les droits pour être exécuté par tout le monde 
#+begin_src brush
chmod +x alljs2coffee.sh
#+end_src
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!
[[https://github.com/js2coffee/js2coffee/issues/379][voir l'issue sur
github]]. comme toujours, si vous avez des amélioratoins à proposez
faites donc!