Pārlūkot izejas kodu

WIP script de séparation des programmes

Loquicom 5 gadi atpakaļ
vecāks
revīzija
0caa784df6
1 mainītis faili ar 47 papildinājumiem un 0 dzēšanām
  1. 47 0
      deploy.js

+ 47 - 0
deploy.js

@@ -0,0 +1,47 @@
+const copydir = require('copy-dir');
+const file = require('./src/file');
+const deploy = require('./deploy.json');
+
+// Constante
+const OUT = './dist/';
+
+// Creation dossier destination
+file.makedir(OUT);
+
+// Séparation de chaque programme
+deploy.programs.forEach(program => {
+    // Création du dossier
+    const distPath = OUT + program.name;
+    file.makedir(distPath);
+    // Copie des fichiers commun
+    file.makedir(distPath + '/src');
+    file.fs.readdirSync('./src').forEach(f => {
+        if (!file.isDir('./src/' + f)) {
+            file.fs.copyFile('./src/' + f, distPath + '/src/' + f, (err) => {
+                if (err) throw err;
+            });
+        }
+    });
+    // Copie dossier propre à chaque programme
+    copydir('./src/' + program.name, distPath + '/src/' + program.name, {
+        utimes: true,
+        mode: true,
+        cover: true
+    }, (err) => {
+        if (err) throw err;
+    });
+    // Copie fichier main
+    file.fs.copyFile(program.main, distPath + '/main.js', (err) => {
+        if (err) throw err;
+    });
+    // Copie package.json
+    const pckg = require('./package.json');
+    pckg.scripts = program.scripts;
+    pckg.version = program.version;
+    program.rm_dependencies.forEach(elt => {
+        delete pckg.dependencies[elt];
+    });
+    let json = JSON.stringify(pckg, null, 4);
+    json = json.replace(new RegExp(program.main, 'g'), 'main.js');
+    file.put(distPath + '/package.json', json);
+});