83 lines
3.3 KiB
Org Mode
83 lines
3.3 KiB
Org Mode
|
|
|||
|
: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
|
|||
|
#+post_tags: null
|
|||
|
#+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.
|
|||
|
|
|||
|
|
|||
|
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
|
|||
|
[[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.
|
|||
|
|
|||
|
|
|||
|
#+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!
|
|||
|
|
|||
|
|