Browse Source

Possibilité d'appeler les programmes sans argument

Loquicom 5 years ago
parent
commit
d7a63d5b6e
2 changed files with 23 additions and 8 deletions
  1. 14 2
      README.md
  2. 9 6
      main.js

+ 14 - 2
README.md

@@ -24,14 +24,26 @@ npm --silent run test
 
 ## Partie 0 - Paramétrage et Déploiement
 
-Le projet est composé de plusieurs programmes avec la même base. Pour exécuter les scripts propres à chaque programme il faut utiliser la commande suivante :
+Le projet est composé de plusieurs programmes avec la même base. Pour exécuter les scripts propres à chaque programme il faut utiliser la commande npm suivante :
 
 ```bash
-npm start <program> <script>
+npm start <program> [script]
 # Par exemple
+npm start extract
 npm start coauth test
 ```
 
+Ou directement avec Node Js : 
+
+```bash
+node main.js <program> [script]
+# Par exemple
+node main.js extract
+node main.js coauth test
+```
+
+Si aucun script n'est spécifié le programme est appelé directement sans argument.
+
 Pour séparer chaque programme en un ensemble de fichier indépendant il faut lancer la commande :
 
 ```bash

+ 9 - 6
main.js

@@ -1,4 +1,4 @@
-if (process.argv.length < 4) {
+if (process.argv.length < 3) {
     console.error('Not enough arguments');
     process.exit();
 }
@@ -22,12 +22,15 @@ if (program === null) {
     process.exit();
 }
 
-if (program.scripts[process.argv[3]] === undefined) {
-    console.error(process.argv[2], 'script not found');
-    process.exit();
+let cmd = ['node', program.main];
+if (process.argv.length !== 3) {
+    if (program.scripts[process.argv[3]] === undefined) {
+        console.error(process.argv[2], 'script not found');
+        process.exit();
+    }
+    cmd = program.scripts[process.argv[3]].split(' ');
 }
 
-const cmd = program.scripts[process.argv[3]].split(' ');
 let argv = [];
 argv.push(process.argv[0]);
 argv.push(process.argv[1].replace('main.js', cmd[1]));
@@ -50,4 +53,4 @@ for (let i = 2; i < cmd.length; i++) {
 }
 
 process.argv = argv;
-require('./' + cmd[1]);
+require('./' + cmd[1]);