diff --git a/Gruntfile.js b/Gruntfile.js index 419e7ba7..e84b09f4 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,7 +1,8 @@ /* eslint-env node */ -const fs = require('fs'); +const fs = require('fs-extra'); const path = require('path'); +const debug = require('debug'); const webpackConfig = require('./build/webpack.config'); const pkg = require('./package.json'); @@ -9,6 +10,7 @@ const hookRcedit = require('./build/util/hook-rcedit'); const codeSignConfig = require('../keys/codesign'); hookRcedit.setup(); +debug.enable('electron-notarize'); module.exports = function(grunt) { require('time-grunt')(grunt); @@ -126,21 +128,6 @@ module.exports = function(grunt) { dest: 'tmp/desktop/KeeWeb-win32-x64/Resources/', nonull: true }, - 'desktop-darwin-helper-x64': { - src: 'helper/darwin/KeeWebHelper', - dest: 'tmp/desktop/KeeWeb-darwin-x64/KeeWeb.app/Contents/Resources/', - nonull: true, - options: { mode: '0755' } - }, - 'desktop-darwin-installer': { - cwd: 'package/osx/KeeWeb Installer.app', - dest: - 'tmp/desktop/KeeWeb-darwin-x64/KeeWeb.app/Contents/Installer/KeeWeb Installer.app', - src: '**', - expand: true, - nonull: true, - options: { mode: true } - }, 'desktop-win32-dist-x64': { src: 'tmp/desktop/KeeWeb.win.x64.exe', dest: `dist/desktop/KeeWeb-${pkg.version}.win.x64.exe`, @@ -289,7 +276,43 @@ module.exports = function(grunt) { appleId: codeSignConfig.appleId, appleIdPassword: '@keychain:AC_PASSWORD', ascProvider: codeSignConfig.teamId - } + }, + afterCopy: [ + (buildPath, electronVersion, platform, arch, callback) => { + if (path.basename(buildPath) !== 'app') { + throw new Error('Bad build path: ' + buildPath); + } + const resPath = path.dirname(buildPath); + if (path.basename(resPath) !== 'Resources') { + throw new Error('Bad Resources path: ' + resPath); + } + const helperTargetPath = path.join( + resPath, + 'helper/darwin/KeeWebHelper' + ); + const helperSourcePath = path.join( + __dirname, + 'helper/darwin/KeeWebHelper' + ); + fs.copySync(helperSourcePath, helperTargetPath); + + const contentsPath = path.dirname(resPath); + if (path.basename(contentsPath) !== 'Contents') { + throw new Error('Bad Contents path: ' + contentsPath); + } + const installerSourcePath = path.join( + __dirname, + 'package/osx/KeeWeb Installer.app' + ); + const installerTargetPath = path.join( + contentsPath, + 'Installer/KeeWeb Installer.app' + ); + fs.copySync(installerSourcePath, installerTargetPath); + + callback(); + } + ] } }, win32: { diff --git a/app/index.html b/app/index.html index 0dcb0c90..669a2cce 100644 --- a/app/index.html +++ b/app/index.html @@ -11,7 +11,6 @@ content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> - diff --git a/desktop/package-lock.json b/desktop/package-lock.json index 1b8752b8..ddcdfcf5 100644 --- a/desktop/package-lock.json +++ b/desktop/package-lock.json @@ -1,6 +1,6 @@ { "name": "KeeWeb", - "version": "1.11.7", + "version": "1.11.8", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/desktop/package.json b/desktop/package.json index f840846b..a4546624 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,6 +1,6 @@ { "name": "KeeWeb", - "version": "1.11.7", + "version": "1.11.8", "description": "Free cross-platform password manager compatible with KeePass", "main": "main.js", "homepage": "https://keeweb.info", diff --git a/grunt.tasks.js b/grunt.tasks.js index 10185910..acccbe3e 100644 --- a/grunt.tasks.js +++ b/grunt.tasks.js @@ -36,8 +36,6 @@ module.exports = function(grunt) { 'electron', 'sign-exe:win32-build-x64', 'sign-exe:win32-build-ia32', - 'copy:desktop-darwin-helper-x64', - 'copy:desktop-darwin-installer', 'copy:desktop-windows-helper-ia32', 'copy:desktop-windows-helper-x64', 'chmod:linux-desktop-x64' diff --git a/package-lock.json b/package-lock.json index 12a89f85..57ea4d9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "keeweb", - "version": "1.11.7", + "version": "1.11.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3894,6 +3894,16 @@ "ms": "^2.1.1" } }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "sumchecker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", @@ -5298,11 +5308,11 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } @@ -5870,6 +5880,16 @@ "requires": { "ms": "^2.1.1" } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } } } }, diff --git a/package.json b/package.json index 6ac2b397..81e35692 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keeweb", - "version": "1.11.7", + "version": "1.11.8", "description": "Free cross-platform password manager compatible with KeePass", "main": "Gruntfile.js", "private": true, @@ -34,6 +34,7 @@ "eslint-plugin-standard": "4.0.1", "exports-loader": "0.7.0", "font-awesome": "4.7.0", + "fs-extra": "^8.1.0", "grunt": "1.0.4", "grunt-chmod": "^1.1.1", "grunt-contrib-clean": "2.0.0", diff --git a/package/docker/entrypoint.sh b/package/docker/entrypoint.sh index 95f0332a..1991cd94 100644 --- a/package/docker/entrypoint.sh +++ b/package/docker/entrypoint.sh @@ -31,6 +31,11 @@ then -days 3650 -nodes -sha256 fi +if [ ${KEEWEB_CONFIG_URL} ] +then + sed -i "s,(no-config),${KEEWEB_CONFIG_URL}," /keeweb/index.html +fi + # exec CMD echo ">> exec docker CMD" echo "$@"