Teamwork Wrap+ for Mac
MIT License
Simple Electron wrapper for https://teamwork.gtomato.com/.
Also bring in some interesting UI enhancements.
This project has spent extra efforts on achieving with the following electron settings that
mitigated the risk of malicious code injection when teamwork.gtomato.com
is compromised
new BrowserWindow({
width: 1024,
height: 1024,
webPreferences: {
// security reason on running remote website
nodeIntegration: false,
// security reason on running remote website
allowRunningInsecureContent: false,
// security reason on running remote website
enableRemoteModule: false,
// Create a browser window with a sandboxed renderer.
// With this option enabled, the renderer must communicate via IPC to the main process in order to access node APIs.
// https://www.electronjs.org/docs/api/sandbox-option
sandbox: true,
contextIsolation: true,
preload: path.join(app.getAppPath(), '../main/preload.js'),
},
})
A bare minimum project structure to get started developing with
electron-webpack
.
# Install
yarn install
# run application in development mode
yarn dev
# create production build.
# You need a developer certificate and apple id account(check sample.env)
yarn dist:dir
Code signing is hard.
To build a smooth experience of a electron app to the end-user, developers need to do Notarize in order to pass through the Mac GateKeeper.
This project use electron-notarize
. Details tutorial: https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/