mirror of https://github.com/mifi/lossless-cut
				
				
				
			
			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
		
	
const GitHub = require('github-api');
 | 
						|
// eslint-disable-next-line import/no-extraneous-dependencies
 | 
						|
const electron = require('electron');
 | 
						|
const semver = require('semver');
 | 
						|
 | 
						|
 | 
						|
const { app } = electron;
 | 
						|
 | 
						|
const gh = new GitHub();
 | 
						|
const repo = gh.getRepo('mifi', 'lossless-cut');
 | 
						|
 | 
						|
async function checkNewVersion() {
 | 
						|
  try {
 | 
						|
    // From API: https://developer.github.com/v3/repos/releases/#get-the-latest-release
 | 
						|
    // View the latest published full release for the repository.
 | 
						|
    // Draft releases and prereleases are not returned by this endpoint.
 | 
						|
    const res = (await repo.getRelease('latest')).data;
 | 
						|
    const newestVersion = res.tag_name.replace(/^v?/, '');
 | 
						|
 | 
						|
    const currentVersion = app.getVersion();
 | 
						|
    // const currentVersion = '3.17.2';
 | 
						|
 | 
						|
    console.log('Current version', currentVersion);
 | 
						|
    console.log('Newest version', newestVersion);
 | 
						|
 | 
						|
    if (semver.lt(currentVersion, newestVersion)) return newestVersion;
 | 
						|
    return undefined;
 | 
						|
  } catch (e) {
 | 
						|
    console.error('Failed to check github version');
 | 
						|
    return undefined;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
module.exports = { checkNewVersion };
 |