text: 'use strict'
  
  import { app, BrowserWindow } from 'electron'
  
  const isDevelopment = process.env.NODE_ENV !== 'production'
  
  // Global reference to mainWindow
  // Necessary to prevent win from being garbage collected
  let mainWindow
  
  function createMainWindow() {
    // Construct new BrowserWindow
    const window = new BrowserWindow()
  
    // Set url for `win`
      // points to `webpack-dev-server` in development
      // points to `index.html` in production
    const url = isDevelopment
      ? `http://localhost:${process.env.ELECTRON_WEBPACK_WDS_PORT}`
      : `file://${__dirname}/index.html`
  
    if (isDevelopment) {
      window.webContents.openDevTools()
    }
  
    window.loadURL(url)
  
    window.on('closed', () => {
      mainWindow = null
    })
  
    window.webContents.on('devtools-opened', () => {
      window.focus()
      setImmediate(() => {
        window.focus()
      })
    })
  
    return window
  }
  
  // Quit application when all windows are closed
  app.on('window-all-closed', () => {
    // On macOS it is common for applications to stay open
    // until the user explicitly quits
    if (process.platform !== 'darwin') app.quit()
  })
  
  app.on('activate', () => {
    // On macOS it is common to re-create a window
    // even after all windows have been closed
    if (mainWindow === null) mainWindow = createMainWindow()
  })
  
  // Create main BrowserWindow when electron is ready
  app.on('ready', () => {
    mainWindow = createMainWindow()
  })
  