You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
var fs = require ( 'fs' ) ;
var _ = require ( 'lodash' ) ;
var execSync = require ( 'child_process' ) . execSync ;
const updateLocalConfig = ( ) => {
var environment = 'production' ;
var configPath = ` config/local- ${ environment } .json ` ;
var localConfig ;
var hash = '' ;
try {
// this was tested on windows, linux and macOS builds through the CI and works fine, but might require to make git available in the PATH when building unofficial builds.
// this is used to udpate the hash of the commit in the UI at the bottom of the settings screen, and in the about view
var stdout = execSync ( 'git rev-parse HEAD' ) . toString ( ) ;
console . info ( '"git rev-parse HEAD" result: ' , stdout && stdout . trim ( ) ) ;
if ( ! _ . isEmpty ( stdout ) ) {
hash = stdout . trim ( ) ;
}
var rawdata = fs . readFileSync ( configPath ) ;
localConfig = JSON . parse ( rawdata ) ;
} catch ( e ) {
console . error ( 'updateLocalConfig failed with' , e . message ) ;
}
localConfig = {
... localConfig ,
commitHash : hash ,
} ;
var toWrite = ` ${ JSON . stringify ( localConfig ) } \n ` ;
fs . writeFileSync ( configPath , toWrite ) ;
} ;
updateLocalConfig ( ) ;