Add notarization (#7)

This commit is contained in:
Quang Lam 2019-10-02 20:18:49 -05:00 committed by GitHub
parent ed2eea4a4b
commit b74afd09a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 530 additions and 369 deletions

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
</dict>
</plist>

24
dist.js
View file

@ -1,5 +1,6 @@
/* eslint-disable no-console */ /* eslint-disable no-console */
const builder = require('electron-builder'); const builder = require('electron-builder');
const { notarize } = require('electron-notarize');
const { Platform } = builder; const { Platform } = builder;
@ -22,6 +23,29 @@ const opts = {
}, },
mac: { mac: {
category: 'public.app-category.productivity', category: 'public.app-category.productivity',
hardenedRuntime: true,
gatekeeperAssess: false,
entitlements: 'build-resources/entitlements.mac.plist',
entitlementsInherit: 'build-resources/entitlements.mac.plist',
},
afterSign: (context) => {
const shouldNotarize = context.electronPlatformName === 'darwin' && (
process.env.TRAVIS_PULL_REQUEST === 'false'
|| process.env.CSC_FOR_PULL_REQUEST === 'true');
if (!shouldNotarize) return null;
console.log('Notarizing app...');
// https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/
const { appOutDir } = context;
const appName = context.packager.appInfo.productFilename;
return notarize({
appBundleId: 'com.singlebox.app',
appPath: `${appOutDir}/${appName}.app`,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_ID_PASSWORD,
});
}, },
}, },
}; };

View file

@ -45,15 +45,16 @@
"devDependencies": { "devDependencies": {
"@material-ui/core": "3.9.3", "@material-ui/core": "3.9.3",
"@material-ui/icons": "3.0.2", "@material-ui/icons": "3.0.2",
"algoliasearch": "3.34.0", "algoliasearch": "3.35.0",
"babel-preset-env": "1.7.0", "babel-preset-env": "1.7.0",
"babel-preset-react": "6.24.1", "babel-preset-react": "6.24.1",
"blueimp-md5": "2.12.0", "blueimp-md5": "2.12.0",
"classnames": "2.2.6", "classnames": "2.2.6",
"concurrently": "4.1.2", "concurrently": "4.1.2",
"cross-env": "6.0.0", "cross-env": "6.0.3",
"electron": "6.0.9", "electron": "6.0.11",
"electron-builder": "21.2.0", "electron-builder": "21.2.0",
"electron-notarize": "0.1.1",
"eslint": "6.1.0", "eslint": "6.1.0",
"eslint-config-airbnb": "18.0.1", "eslint-config-airbnb": "18.0.1",
"eslint-plugin-import": "2.18.2", "eslint-plugin-import": "2.18.2",
@ -61,10 +62,10 @@
"eslint-plugin-react": "7.14.3", "eslint-plugin-react": "7.14.3",
"lodash.camelcase": "4.3.0", "lodash.camelcase": "4.3.0",
"prop-types": "15.7.2", "prop-types": "15.7.2",
"react": "16.9.0", "react": "16.10.1",
"react-dom": "16.9.0", "react-dom": "16.10.1",
"react-redux": "6.0.1", "react-redux": "6.0.1",
"react-scripts": "3.1.1", "react-scripts": "3.1.2",
"redux": "4.0.4", "redux": "4.0.4",
"redux-thunk": "2.3.0", "redux-thunk": "2.3.0",
"typeface-roboto": "0.0.75", "typeface-roboto": "0.0.75",

854
yarn.lock

File diff suppressed because it is too large Load diff