diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 7f1122fd..f573941b 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -24,4 +24,6 @@ > Arch: x64 or ia32 +> BuildVersion: + > Does this happen upstream: yes, no, unknown, or N/A diff --git a/app/view/main/About.js b/app/view/main/About.js index 1ce6493a..0148cbda 100644 --- a/app/view/main/About.js +++ b/app/view/main/About.js @@ -9,6 +9,11 @@ Ext.define('Rambox.view.main.About', { ,width: 300 ,height: 450 ,bodyPadding: 10 + ,initComponent: function() { + var me = this; + me.callParent(arguments); + me.data.buildversion = require('fs').readFileSync( __dirname + '/BUILDVERSION', 'utf8'); + } ,data: { version: require('electron').remote.app.getVersion() ,platform: process.platform @@ -25,6 +30,7 @@ Ext.define('Rambox.view.main.About', { ,'
Electron: {electron}
' ,'
Chromium: {chromium}
' ,'
Node: {node}
' + ,'
BuildVersion: {buildversion}
' ,'
' ,'
GitHub
' ,'
' diff --git a/electron/menu.js b/electron/menu.js index 79ef6031..119b87db 100644 --- a/electron/menu.js +++ b/electron/menu.js @@ -40,6 +40,7 @@ module.exports = function(config) { { label: '&'+locale['menu.help[1]'], click() { + const buildversion = require('fs').readFileSync( __dirname + '/../BUILDVERSION', 'utf8'); const body = ` @@ -49,7 +50,8 @@ module.exports = function(config) { - > ${app.getName()} ${app.getVersion()} > Electron ${process.versions.electron} - > ${process.platform} ${process.arch} ${os.release()}`; + > ${process.platform} ${process.arch} ${os.release()} + > ${buildversion}`; shell.openExternal(`https://github.com/TheGoddessInari/rambox/issues/new?body=${encodeURIComponent(body)}`); } diff --git a/package-lock.json b/package-lock.json index 94bade41..bf9a3e07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2192,6 +2192,12 @@ "is-arrayish": "^0.2.1" } }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -2994,6 +3000,12 @@ } } }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", @@ -4128,6 +4140,12 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", @@ -4321,6 +4339,15 @@ "string_decoder": "~0.10.x" } }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -4456,6 +4483,15 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "^1.0.5" + } + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -4628,6 +4664,44 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "dependencies": { + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "shx": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.2.tgz", + "integrity": "sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA==", + "dev": true, + "requires": { + "es6-object-assign": "^1.0.3", + "minimist": "^1.2.0", + "shelljs": "^0.8.1" + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", diff --git a/package.json b/package.json index db12fa11..ac7fc8ad 100644 --- a/package.json +++ b/package.json @@ -3,14 +3,15 @@ "scripts": { "start": "npm run compile && electron-builder install-app-deps && electron build/production/Rambox", "start:debug": "npm run compile && electron build/production/Rambox --enable-logging", - "test": "./node_modules/.bin/mocha test/tests/**/*.spec.js", - "clean": "rimraf ./build/production", - "compile": "sencha app build && cpy app/package.json app/package-lock.json build/production/Rambox/", + "test": "mocha test/tests/**/*.spec.js", + "buildversion": "git show --pretty=\"%h %d %cD\" -s > build/production/Rambox/BUILDVERSION || node -p -e \"require('./build/production/Rambox/package.json').version\" > build/production/Rambox/BUILDVERSION", + "clean": "shx rm -rf ./build/production", + "compile": "sencha app build && cpy app/package.json app/package-lock.json build/production/Rambox/ && npm run buildversion", "recompile": "npm run distclean && npm run compile", - "distclean": "rimraf ./dist", - "distclean:win": "rimraf ./dist/win-{ia32-,}unpacked", - "distclean:linux": "rimraf ./dist/linux-{ia32-,}unpacked", - "distclean:osx": "rimraf ./dist/macos-unpacked", + "distclean": "shx rm -rf ./dist", + "distclean:win": "shx rm -rf ./dist/win-{ia32-,}unpacked", + "distclean:linux": "shx rm -rf ./dist/linux-{ia32-,}unpacked", + "distclean:osx": "shx rm -rf ./dist/macos-unpacked", "pack": "electron-builder --dir", "pack:osx": "electron-builder --macos --dir", "pack:win": "electron-builder --win --ia32 --x64 --dir", @@ -110,7 +111,7 @@ "electron": "^3.0.10", "electron-builder": "^20.38.0", "mocha": "^5.2.0", - "rimraf": "^2.6.2", + "shx": "^0.3.2", "spectron": "^5.0.0" } }