mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-12 08:54:00 +02:00
207d433fb3
* show git branch and hash in About dialog This additional info will only be shown, if the code is not an official release. An official release is calculated as follows: - current commit has a tag - the tag contains the version number of the package However, the information will always be printed to the console. * info will now always be shown in About dialog (if available) ElectronClient/app/compile-package-info.js: added warning ElectronClient/app/app.js: push info conditionally to the message array * use sprintf syntax
37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
const fs = require('fs-extra');
|
|
const execSync = require('child_process').execSync;
|
|
|
|
// Electron Builder strip off certain important keys from package.json, which we need, in particular build.appId
|
|
// so this script is used to preserve the keys that we need.
|
|
|
|
const packageInfo = require(__dirname + '/package.json');
|
|
|
|
let removeKeys = ['scripts', 'devDependencies', 'optionalDependencies', 'dependencies'];
|
|
|
|
for (let i = 0; i < removeKeys.length; i++) {
|
|
delete packageInfo[removeKeys[i]];
|
|
}
|
|
|
|
const appId = packageInfo.build.appId;
|
|
|
|
delete packageInfo.build;
|
|
packageInfo.build = { appId: appId };
|
|
|
|
let branch;
|
|
let hash;
|
|
try {
|
|
branch = execSync('git branch --show-current').toString().trim();
|
|
hash = execSync('git log --pretty="%h" -1').toString().trim();
|
|
}
|
|
catch(err) {
|
|
console.warn("Could not get git info", err);
|
|
}
|
|
if (typeof branch !== 'undefined' && typeof hash !== 'undefined') {
|
|
packageInfo.git = { branch: branch, hash: hash };
|
|
}
|
|
|
|
let fileContent = "// Auto-generated by compile-package-info.js\n// Do not change directly\nconst packageInfo = " + JSON.stringify(packageInfo, null, 4) + ';';
|
|
fileContent += "\n";
|
|
fileContent += "module.exports = packageInfo;";
|
|
|
|
fs.writeFileSync(__dirname + '/packageInfo.js', fileContent); |