2016-02-02 1 views

risposta

18

È possibile ottenere git revisione webpack in questo modo:

var childProcess = require('child_process'), 
VERSION = childProcess.execSync('git rev-parse HEAD').toString(); 
+1

Grazie! Rimuovi il ritorno a capo: aggiungi '.trim()'. –

3

È possibile combinare git-rev, arciverjs e plugin in-build-webpack per questi scopi

https://www.npmjs.com/package/git-rev

http://archiverjs.com/docs/

https://www.npmjs.com/package/on-build-webpack

var childProcess = require('child_process'), 
    VERSION = childProcess.execSync('git rev-parse HEAD').toString(); 

var WebpackOnBuildPlugin = require('on-build-webpack'); 

var plugins = [ 
    //... 
    new WebpackOnBuildPlugin(function(stats) { 
    var fs = require('fs'); 
    var archiver = require('archiver'); 

    var output = fs.createWriteStream(__dirname + '/' + VERSION + '-example.tar'); 
    var archive = archiver('tar'); 

    output.on('close', function() { 
     console.log(archive.pointer() + ' total bytes'); 
     console.log('archiver has been finalized and the output file descriptor has closed.'); 
    }); 

    archive.on('error', function(err) { 
     throw err; 
    }); 

    archive.pipe(output); 

    archive.bulk([ 
     { expand: true, cwd: 'source-dir/', src: ['*.*'] } 
    ]); 

    archive.finalize(); 
    }) 
]; 

Ecco il frammento di codice da file di configurazione webpack che creerà un archivio con revisione nel nome. Per ottenere git revisione è possibile utilizzare plug-git-rev o frammento di codice dalla risposta di @bolelamx

Problemi correlati