|  | @@ -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);
 | 
	
		
			
				|  |  | +});
 |