diff --git a/build-resources/embedded-development.provisionprofile b/build-resources/embedded-development.provisionprofile new file mode 100644 index 00000000..beae0259 Binary files /dev/null and b/build-resources/embedded-development.provisionprofile differ diff --git a/build-resources/extendedInfo.plist b/build-resources/extendedInfo.plist new file mode 100644 index 00000000..d2e498fd --- /dev/null +++ b/build-resources/extendedInfo.plist @@ -0,0 +1,8 @@ + + + + + LSMultipleInstancesProhibited + + + diff --git a/docs/support.html b/docs/support.html index eb62ad57..204cdc3b 100644 --- a/docs/support.html +++ b/docs/support.html @@ -48,7 +48,7 @@

Translatium Support

Frequently Asked Questions (FAQs)

How many languages does Translatim support?
You can find the list of supported languages here.

Does Translatium support PopClip?
Yes, it does. You can download the PopClip extension from here.

-

Why speech recognition and some other features are removed?
On November 7th, 2018, Translatium was removed from sale because the unofficial Google Translate APIs the app relies on was partially blocked by Google. In August 2019, we managed to bring the app back to life using legitimate APIs from other providers. While this decision allows the app to continue operating, it also forces us to remove certain features from the app. Still, we will try to add back the features in the future if possible.

+

Why speech recognition and some other features are removed?
On November 7th, 2018, Translatium was removed from sale because the unofficial Google Translate APIs the app relied on were partially blocked by Google. In August 2019, we managed to bring the app back to life using legitimate APIs from other providers. While this decision allows the app to continue operating, it also forces us to remove certain features from the app. Still, we will try to add these features back in the future if possible.

diff --git a/package.json b/package.json index b5b03804..f436d5e5 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "cross-env": "5.2.0", "del": "5.0.0", "electron": "5.0.9", - "electron-builder": "21.2.0", + "electron-builder": "20.44.4", "eslint": "5.16.0", "eslint-config-airbnb": "17.1.1", "eslint-plugin-import": "2.18.2", diff --git a/packager.js b/packager.js index 09731db9..f159f073 100644 --- a/packager.js +++ b/packager.js @@ -24,6 +24,7 @@ const appVersion = fs.readJSONSync(path.join(__dirname, 'package.json')).version let targets; switch (process.platform) { case 'darwin': { + // targets = Platform.MAC.createTarget(['mas-dev']); targets = Platform.MAC.createTarget(['mas']); break; } @@ -65,7 +66,9 @@ const opts = { category: 'public.app-category.productivity', entitlements: 'build-resources/entitlements.mas.plist', entitlementsInherit: 'build-resources/entitlements.mas.inherit.plist', + // provisioningProfile: 'build-resources/embedded-development.provisionprofile', provisioningProfile: 'build-resources/embedded.provisionprofile', + extendInfo: 'build-resources/Info.plist', }, linux: { category: 'Utility', diff --git a/public/electron.js b/public/electron.js index ce84a2d5..9d98d7e2 100644 --- a/public/electron.js +++ b/public/electron.js @@ -29,143 +29,124 @@ app.setAsDefaultProtocolClient('translatium'); let mb; let mainWindow; -const gotTheLock = app.requestSingleInstanceLock(); +// Load listeners +loadListeners(); -app.on('second-instance', () => { +const REACT_PATH = isDev ? 'http://localhost:3000' : `file://${path.resolve(__dirname, 'index.html')}`; + +const createWindow = () => { const attachToMenubar = getPreference('attachToMenubar'); if (attachToMenubar) { - if (mb && mb.window) { - if (mb.window.isMinimized()) mb.window.restore(); - mb.window.focus(); - } - } else if (mainWindow) { - if (mainWindow.isMinimized()) mainWindow.restore(); - mainWindow.focus(); + mb = menubar({ + index: REACT_PATH, + icon: path.resolve(__dirname, 'images', 'menubar-icon.png'), + preloadWindow: true, + browserWindow: { + webPreferences: { + nodeIntegration: true, + }, + }, + }); + + const contextMenu = Menu.buildFromTemplate([ + { role: 'about' }, + { type: 'separator' }, + { + label: 'Preferences...', + click: () => ipcMain.emit('go-to-preferences'), + }, + { type: 'separator' }, + { + label: 'Quit', + click: () => { + mb.app.quit(); + }, + }, + ]); + + mb.on('ready', () => { + mb.tray.on('right-click', () => { + mb.tray.popUpContextMenu(contextMenu); + }); + }); + } else { + // Create the browser window. + mainWindow = new BrowserWindow({ + width: 500, + height: 600, + minWidth: 320, + minHeight: 500, + titleBarStyle: 'hidden', + autoHideMenuBar: true, + webPreferences: { + nodeIntegration: true, + webSecurity: false, + }, + }); + + // and load the index.html of the app. + mainWindow.loadURL(REACT_PATH); + + // Emitted when the window is closed. + mainWindow.on('closed', () => { + // Dereference the window object, usually you would store windows + // in an array if your app supports multi windows, this is the time + // when you should delete the corresponding element. + mainWindow = null; + createMenu(); + }); } +}; + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.on('ready', () => { + createWindow(); + createMenu(); }); -if (!gotTheLock) { +// Quit when all windows are closed. +app.on('window-all-closed', () => { app.quit(); -} else { - // Load listeners - loadListeners(); - - const REACT_PATH = isDev ? 'http://localhost:3000' : `file://${path.resolve(__dirname, 'index.html')}`; - - const createWindow = () => { - const attachToMenubar = getPreference('attachToMenubar'); - if (attachToMenubar) { - mb = menubar({ - index: REACT_PATH, - icon: path.resolve(__dirname, 'images', 'menubar-icon.png'), - preloadWindow: true, - browserWindow: { - webPreferences: { - nodeIntegration: true, - }, - }, - }); +}); - const contextMenu = Menu.buildFromTemplate([ - { role: 'about' }, - { type: 'separator' }, - { - label: 'Preferences...', - click: () => ipcMain.emit('go-to-preferences'), - }, - { type: 'separator' }, - { - label: 'Quit', - click: () => { - mb.app.quit(); - }, - }, - ]); +app.on('activate', () => { + // On OS X it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + const attachToMenubar = getPreference('attachToMenubar'); - mb.on('ready', () => { - mb.tray.on('right-click', () => { - mb.tray.popUpContextMenu(contextMenu); - }); - }); + if (attachToMenubar) { + if (mb == null) { + createWindow(); } else { - // Create the browser window. - mainWindow = new BrowserWindow({ - width: 500, - height: 600, - minWidth: 320, - minHeight: 500, - titleBarStyle: 'hidden', - autoHideMenuBar: true, - webPreferences: { - nodeIntegration: true, - webSecurity: false, - }, - }); - - // and load the index.html of the app. - mainWindow.loadURL(REACT_PATH); - - // Emitted when the window is closed. - mainWindow.on('closed', () => { - // Dereference the window object, usually you would store windows - // in an array if your app supports multi windows, this is the time - // when you should delete the corresponding element. - mainWindow = null; - createMenu(); + mb.on('ready', () => { + mb.showWindow(); }); } - }; - - // This method will be called when Electron has finished - // initialization and is ready to create browser windows. - // Some APIs can only be used after this event occurs. - app.on('ready', () => { + } else if (mainWindow == null) { createWindow(); - createMenu(); - }); + } else { + mainWindow.show(); + } +}); - // Quit when all windows are closed. - app.on('window-all-closed', () => { - app.quit(); - }); +app.on('open-url', (e, urlStr) => { + e.preventDefault(); - app.on('activate', () => { - // On OS X it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - const attachToMenubar = getPreference('attachToMenubar'); + if (urlStr.startsWith('translatium://')) { + const urlObj = url.parse(urlStr, true); + const text = decodeURIComponent(urlObj.query.text || ''); + const attachToMenubar = getPreference('attachToMenubar'); if (attachToMenubar) { - if (mb == null) { - createWindow(); - } else { - mb.on('ready', () => { - mb.showWindow(); - }); - } - } else if (mainWindow == null) { - createWindow(); - } else { - mainWindow.show(); - } - }); - - app.on('open-url', (e, urlStr) => { - e.preventDefault(); - - if (urlStr.startsWith('translatium://')) { - const urlObj = url.parse(urlStr, true); - const text = decodeURIComponent(urlObj.query.text || ''); - - const attachToMenubar = getPreference('attachToMenubar'); - if (attachToMenubar) { - if (mb && mb.window) { - mb.window.send('set-input-lang', 'auto'); - mb.window.send('set-input-text', text); - } - } else if (mainWindow) { - mainWindow.send('set-input-lang', 'auto'); - mainWindow.send('set-input-text', text); + if (mb && mb.window) { + mb.window.send('set-input-lang', 'auto'); + mb.window.send('set-input-text', text); } + } else if (mainWindow) { + mainWindow.send('set-input-lang', 'auto'); + mainWindow.send('set-input-text', text); } - }); -} + } +}); diff --git a/src/components/pages/preferences/index.js b/src/components/pages/preferences/index.js index 9cfd540e..b7aefc89 100644 --- a/src/components/pages/preferences/index.js +++ b/src/components/pages/preferences/index.js @@ -240,6 +240,7 @@ const Preferences = (props) => { {window.process.platform === 'darwin' && ( + remote.shell.openExternal('https://translatiumapp.com/popclip')} diff --git a/yarn.lock b/yarn.lock index 2f642576..9e78eb46 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"7zip-bin@~5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" - integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== +"7zip-bin@~4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-4.1.0.tgz#33eff662a5c39c0c2061170cc003c5120743fff0" + integrity sha512-AsnBZN3a8/JcNt+KPkGGODaA4c7l3W5+WpeKgGSbstSLxqWtTXqd1ieJGBQ8IFCtRg8DmmKUcSkIkUc0A4p3YA== "@babel/code-frame@7.0.0": version "7.0.0" @@ -944,14 +944,6 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== -"@develar/schema-utils@~2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.1.0.tgz#eceb1695bfbed6f6bb84666d5d3abe5e1fd54e17" - integrity sha512-qjCqB4ctMig9Gz5bd6lkdFr3bO6arOdQqptdBSpF1ZpCnjofieCciEzkoS9ujY9cMGyllYSCSmBJ3x9OKHXzoA== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - "@hapi/address@2.x.x": version "2.0.0" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" @@ -1723,12 +1715,12 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0: +ajv-keywords@^3.1.0, ajv-keywords@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1, ajv@^6.9.2: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== @@ -1808,38 +1800,40 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -app-builder-bin@3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.4.3.tgz#58a74193eb882f029be6b7f0cd3f0c6805927a6b" - integrity sha512-qMhayIwi3juerQEVJMQ76trObEbfQT0nhUdxZz9a26/3NLT3pE6awmQ8S1cEnrGugaaM5gYqR8OElcDezfmEsg== +app-builder-bin@2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-2.7.1.tgz#9f690af65093821b8a6149aa29ce9f8c81fc554c" + integrity sha512-ubIBeiL9XysjMW4HETBKxj3DC8ika6dGyC0vftPc0kZwGh1iXQ5bycsjoAqY/3t3BBEEIg0VruicvBaUl1pOSQ== -app-builder-lib@21.2.0, app-builder-lib@~21.2.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-21.2.0.tgz#fa1d1604601431e2c3476857e9b9b61d33ad26cc" - integrity sha512-aOX/nv77/Bti6NymJDg7p9T067xD8m1ipIEJR7B4Mm1GsJWpMm9PZdXtCRiMNRjHtQS5KIljT0g17781y6qn5A== +app-builder-lib@20.44.4, app-builder-lib@~20.44.4: + version "20.44.4" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-20.44.4.tgz#39ac20b3155e1b0c2499862bcdea879b50389573" + integrity sha512-1K1xfrhyqDgnibwyuYMgvfwGilGLMF31YwOUJ8IXreyjRef9lUjWW+BZuBXqk4Uqd0C0EYPjhofgpuN0WoAQ+A== dependencies: - "7zip-bin" "~5.0.3" - "@develar/schema-utils" "~2.1.0" + "7zip-bin" "~4.1.0" + app-builder-bin "2.7.1" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "21.2.0" - builder-util-runtime "8.3.0" + builder-util "10.1.2" + builder-util-runtime "8.2.5" chromium-pickle-js "^0.2.0" debug "^4.1.1" ejs "^2.6.2" - electron-publish "21.2.0" - fs-extra "^8.1.0" + electron-osx-sign "0.4.11" + electron-publish "20.44.4" + fs-extra-p "^8.0.2" hosted-git-info "^2.7.1" is-ci "^2.0.0" - isbinaryfile "^4.0.2" + isbinaryfile "^4.0.1" js-yaml "^3.13.1" lazy-val "^1.0.4" minimatch "^3.0.4" normalize-package-data "^2.5.0" - read-config-file "5.0.0" - sanitize-filename "^1.6.2" - semver "^6.3.0" - temp-file "^3.3.4" + plist "^3.0.1" + read-config-file "3.2.2" + sanitize-filename "^1.6.1" + semver "^6.1.1" + temp-file "^3.3.3" aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" @@ -2775,6 +2769,11 @@ base64-js@^1.0.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== +base64-js@^1.2.3: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -2810,14 +2809,14 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bluebird-lst@^1.0.9: +bluebird-lst@^1.0.7, bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== dependencies: bluebird "^3.5.5" -bluebird@^3.5.5: +bluebird@^3.5.0, bluebird@^3.5.5: version "3.5.5" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== @@ -3028,6 +3027,24 @@ bser@^2.0.0: dependencies: node-int64 "^0.4.0" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -3052,7 +3069,17 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builder-util-runtime@8.3.0: +builder-util-runtime@8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.2.5.tgz#6f19330178345f8ce2c65842b0a9cf6a187d5946" + integrity sha512-YILT+YUlxrE3yNB6mDC1tF+Q24mr1LSYdjP5U861jbBeDZfvy1/VPDzW3boMVrDtzYnDnvkYrzLJnoh6TXA75w== + dependencies: + bluebird-lst "^1.0.9" + debug "^4.1.1" + fs-extra-p "^8.0.2" + sax "^1.2.4" + +builder-util-runtime@^8.2.5: version "8.3.0" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz#f5fac9139af6facf42a21fbe4d3aebed88fda33e" integrity sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw== @@ -3060,24 +3087,24 @@ builder-util-runtime@8.3.0: debug "^4.1.1" sax "^1.2.4" -builder-util@21.2.0, builder-util@~21.2.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-21.2.0.tgz#aba721190e4e841009d9fb4b88f1130ed616522f" - integrity sha512-Nd6CUb6YgDY8EXAXEIegx+1kzKqyFQ5ZM5BoYkeunAlwz/zDJoH1UCyULjoS5wQe5czNClFQy07zz2bzYD0Z4A== +builder-util@10.1.2, builder-util@~10.1.2: + version "10.1.2" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-10.1.2.tgz#29e631025aa4c837411d5e4ef425d14e320eb2d0" + integrity sha512-LQMh36Cg0r4ZfKqNlaUclndS/IXxZ3OdCgmXvw1vdP3QwYT2NkyE7LfMikAFIHpXOs6zsVH+iW+Fe/AX1jfFag== dependencies: - "7zip-bin" "~5.0.3" + "7zip-bin" "~4.1.0" "@types/debug" "^4.1.4" - app-builder-bin "3.4.3" + app-builder-bin "2.7.1" bluebird-lst "^1.0.9" - builder-util-runtime "8.3.0" + builder-util-runtime "^8.2.5" chalk "^2.4.2" debug "^4.1.1" - fs-extra "^8.1.0" + fs-extra-p "^8.0.2" is-ci "^2.0.0" js-yaml "^3.13.1" - source-map-support "^0.5.13" + source-map-support "^0.5.12" stat-mode "^0.3.0" - temp-file "^3.3.4" + temp-file "^3.3.3" builtin-status-codes@^3.0.0: version "3.0.0" @@ -3453,6 +3480,11 @@ color-convert@^1.9.0, color-convert@^1.9.1: dependencies: color-name "1.1.3" +color-convert@~0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + integrity sha1-vbbGnOZg+t/+CwAHzER+G59ygr0= + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -3511,6 +3543,11 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= +compare-version@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" + integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA= + component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -4272,18 +4309,19 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@21.2.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-21.2.0.tgz#a9c883557cacb9abdb66c7133b30fe921c1a3ba7" - integrity sha512-9cJEclnGy7EyKFCoHDYDf54pub/t92CQapyiUxU0w9Bj2vUvfoDagP1PMiX4XD5rPp96141h9A+QN0OB4VgvQg== +dmg-builder@6.7.2: + version "6.7.2" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-6.7.2.tgz#4ba4955e7f35f159ce53c68d74d3ea74875f9afd" + integrity sha512-xfYOwhHjOSOIqkk8A0h8zcaio/WyzrAWpMTu9hzV3Z5PI4tOG0Pq6a9Lh/mHr1r3bydif8R21qGvKU1Re9CpUg== dependencies: - app-builder-lib "~21.2.0" + app-builder-lib "~20.44.4" bluebird-lst "^1.0.9" - builder-util "~21.2.0" - fs-extra "^8.1.0" - iconv-lite "^0.5.0" + builder-util "~10.1.2" + fs-extra-p "^8.0.2" + iconv-lite "^0.4.24" js-yaml "^3.13.1" - sanitize-filename "^1.6.2" + parse-color "^1.0.0" + sanitize-filename "^1.6.1" dns-equal@^1.0.0: version "1.0.0" @@ -4396,26 +4434,16 @@ dot-prop@^4.1.0, dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" -dotenv-expand@4.2.0: +dotenv-expand@4.2.0, dotenv-expand@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@6.2.0: +dotenv@6.2.0, dotenv@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w== -dotenv@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.0.0.tgz#ed310c165b4e8a97bb745b0a9d99c31bda566440" - integrity sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg== - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -4454,24 +4482,24 @@ ejs@^2.6.2: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.2.tgz#3a32c63d1cd16d11266cd4703b14fec4e74ab4f6" integrity sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q== -electron-builder@21.2.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-21.2.0.tgz#b68ec4def713fc0b8602654ce842f972432f50c5" - integrity sha512-x8EXrqFbAb2L3N22YlGar3dGh8vwptbB3ovo3OF6K7NTpcsmM2zEoJv7GhFyX73rNzSG2HaWpXwGAtOp2JWiEw== +electron-builder@20.44.4: + version "20.44.4" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-20.44.4.tgz#c47981ddf486d582c0ae0f4d530c831010aacad7" + integrity sha512-H8zzP01albkKh2Ec1zc0A7RGriUkHb5M99NJskaYtgKtGATTAGH+r9OIWVk5Hk9c1dLMVudbqEeaSlygMF2asw== dependencies: - app-builder-lib "21.2.0" + app-builder-lib "20.44.4" bluebird-lst "^1.0.9" - builder-util "21.2.0" - builder-util-runtime "8.3.0" + builder-util "10.1.2" + builder-util-runtime "8.2.5" chalk "^2.4.2" - dmg-builder "21.2.0" - fs-extra "^8.1.0" + dmg-builder "6.7.2" + fs-extra-p "^8.0.2" is-ci "^2.0.0" lazy-val "^1.0.4" - read-config-file "5.0.0" - sanitize-filename "^1.6.2" - update-notifier "^3.0.1" - yargs "^13.3.0" + read-config-file "3.2.2" + sanitize-filename "^1.6.1" + update-notifier "^3.0.0" + yargs "^13.2.4" electron-download@^4.1.0: version "4.1.1" @@ -4493,21 +4521,33 @@ electron-is-dev@1.1.0: resolved "https://registry.yarnpkg.com/electron-is-dev/-/electron-is-dev-1.1.0.tgz#b15a2a600bdc48a51a857d460e05f15b19a2522c" integrity sha512-Z1qA/1oHNowGtSBIcWk0pcLEqYT/j+13xUw/MYOrBUOL4X7VN0i0KCTf5SqyvMPmW5pSPKbo28wkxMxzZ20YnQ== +electron-osx-sign@0.4.11: + version "0.4.11" + resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz#8377732fe7b207969f264b67582ee47029ce092f" + integrity sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ== + dependencies: + bluebird "^3.5.0" + compare-version "^0.1.2" + debug "^2.6.8" + isbinaryfile "^3.0.2" + minimist "^1.2.0" + plist "^3.0.1" + electron-positioner@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/electron-positioner/-/electron-positioner-4.1.0.tgz#e158f8f6aabd6725a8a9b4f2279b9504bcbea1b0" integrity sha512-726DfbI9ZNoCg+Fcu6XLuTKTnzf+6nFqv7h+K/V6Ug7IbaPMI7s9S8URnGtWFCy5N5PL4HSzRFF2mXuinftDdg== -electron-publish@21.2.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-21.2.0.tgz#cc225cb46aa62e74b899f2f7299b396c9802387d" - integrity sha512-mWavuoWJe87iaeKd0I24dNWIaR+0yRzshjNVqGyK019H766fsPWl3caQJnVKFaEyrZRP397v4JZVG0e7s16AxA== +electron-publish@20.44.4: + version "20.44.4" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-20.44.4.tgz#f826de3788c4e3848b7f6ebd2c3acb910a1d66cc" + integrity sha512-50NzsKOnNqOpGJzPl04vMyitdguUvp15FWKWtu4KISsHfgdLMWGgxHGZwfMphc/vf364zXvPHsYQza3MASgaEQ== dependencies: bluebird-lst "^1.0.9" - builder-util "~21.2.0" - builder-util-runtime "8.3.0" + builder-util "~10.1.2" + builder-util-runtime "^8.2.5" chalk "^2.4.2" - fs-extra "^8.1.0" + fs-extra-p "^8.0.2" lazy-val "^1.0.4" mime "^2.4.4" @@ -5453,7 +5493,23 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-extra@7.0.1, fs-extra@^7.0.0: +fs-extra-p@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-7.0.1.tgz#4eec0b6dfa150fa90f6ddd773b4fb1d55cad54e3" + integrity sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw== + dependencies: + bluebird-lst "^1.0.7" + fs-extra "^7.0.1" + +fs-extra-p@^8.0.2: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra-p/-/fs-extra-p-8.1.0.tgz#781b7105e96cf3c1d3c8a88a83215c8a31c52bae" + integrity sha512-sCLpU5kk5CvrWZvFM9dUlqPgHrE02AEt6XYzF7kDscr5COc7DHfhNfODTXt0bkVNmt5DkvU2uJSYjorxY3bRKA== + dependencies: + bluebird-lst "^1.0.9" + fs-extra "^8.1.0" + +fs-extra@7.0.1, fs-extra@^7.0.0, fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -6104,13 +6160,6 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.0.tgz#59cdde0a2a297cc2aeb0c6445a195ee89f127550" - integrity sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw== - dependencies: - safer-buffer ">= 2.1.2 < 3" - icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -6719,7 +6768,14 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isbinaryfile@^4.0.2: +isbinaryfile@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" + integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== + dependencies: + buffer-alloc "^1.2.0" + +isbinaryfile@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.2.tgz#bfc45642da645681c610cca831022e30af426488" integrity sha512-C3FSxJdNrEr2F4z6uFtNzECDM5hXk+46fxaa+cwBe5/XrWSmzdG8DDgyjfX6/NRdBB21q2JXuRAzPCUs+fclnQ== @@ -7203,7 +7259,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.0, js-yaml@^3.13.1: +js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -8726,6 +8782,13 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-color@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" + integrity sha1-e3SLlag/A/FqlPU15S1/PZRlhhk= + dependencies: + color-convert "~0.5.0" + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -8934,6 +8997,15 @@ pkg-up@2.0.0: dependencies: find-up "^2.1.0" +plist@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" + integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ== + dependencies: + base64-js "^1.2.3" + xmlbuilder "^9.0.7" + xmldom "0.1.x" + pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" @@ -10095,15 +10167,18 @@ react@16.8.6: prop-types "^15.6.2" scheduler "^0.13.6" -read-config-file@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-5.0.0.tgz#1487c983fae9c1b672d3acda5cac899a2d451f02" - integrity sha512-jIKUu+C84bfnKxyJ5j30CxCqgXWYjZLXuVE/NYlMEpeni+dhESgAeZOZd0JZbg1xTkMmnCdxksDoarkOyfEsOg== - dependencies: - dotenv "^8.0.0" - dotenv-expand "^5.1.0" - fs-extra "^8.1.0" - js-yaml "^3.13.1" +read-config-file@3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-3.2.2.tgz#57bbff7dd97caf237d0d625bd541c6d0efb4d067" + integrity sha512-PuFpMgZF01VB0ydH1dfitAxCP/fh+qnfbA9cYNIPoxPbz0SMngsrafCtaHDWfER7MwlDz4fmrNBhPkakxxFpTg== + dependencies: + ajv "^6.9.2" + ajv-keywords "^3.4.0" + bluebird-lst "^1.0.7" + dotenv "^6.2.0" + dotenv-expand "^4.2.0" + fs-extra-p "^7.0.1" + js-yaml "^3.12.1" json5 "^2.1.0" lazy-val "^1.0.4" @@ -10678,7 +10753,7 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sanitize-filename@^1.6.2: +sanitize-filename@^1.6.1: version "1.6.2" resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.2.tgz#01b4fc8809f14e9d22761fe70380fe7f3f902185" integrity sha512-cmTzND7RMxUB+f7gI+4+KAVHWEg0lfXvQJdko+FXDP5bNbGIdx4KMP5pX6lv5jfT9jSf6OBbjyxjFtZQwYA/ig== @@ -10765,11 +10840,6 @@ semver@^6.0.0, semver@^6.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -11031,7 +11101,7 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.13: +source-map-support@^0.5.12: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== @@ -11462,7 +11532,7 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.3" -temp-file@^3.3.4: +temp-file@^3.3.3: version "3.3.4" resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.4.tgz#73af868cd7cb7400a44e4bb03e653b2280ce2878" integrity sha512-qSZ5W5q54iyGnP8cNl49RE0jTJc5CrzNocux5APD5yIxcgonoMuMSbsZfaZy8rTGCYo0Xz6ySVv3adagZ8gffg== @@ -11928,7 +11998,7 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== -update-notifier@^3.0.1: +update-notifier@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" integrity sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ== @@ -12581,11 +12651,21 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== +xmlbuilder@^9.0.7: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + xmlchars@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93" integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w== +xmldom@0.1.x: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= + xregexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" @@ -12677,7 +12757,7 @@ yargs@^12.0.1, yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@^13.2.4, yargs@^13.3.0: +yargs@^13.2.4: version "13.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==