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.
		
		
		
		
		
			
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
| var fs = require('fs');
 | |
| var _ = require('lodash');
 | |
| var execSync = require('child_process').execSync;
 | |
| 
 | |
| const updateLocalConfig = () => {
 | |
|   var environment = process.env.SIGNAL_ENV || '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();
 |