Browse Source

Build configurations

Added packager and builder libraries.
pull/3/head
Ramiro Saenz 9 years ago
parent
commit
37cb39cbc6
  1. 4
      app.json
  2. 27
      app/package.json
  3. 12
      electron/main.js
  4. 7
      electron/tray.js
  5. 79
      package.json

4
app.json

@ -277,9 +277,7 @@
* Extra resources to be copied along when build * Extra resources to be copied along when build
*/ */
"resources": [ "resources": [
"electron", "electron"
"electron_main.js",
"package.json"
], ],
/** /**

27
app/package.json

@ -0,0 +1,27 @@
{
"name": "Rambox",
"productName": "Rambox",
"version": "0.2.0",
"description": "Free and Open Source messaging and emailing app that combines common web applications into one.",
"main": "electron/main.js",
"private": true,
"repository": {
"type": "git",
"url": "git+https://github.com/saenzramiro/rambox.git"
},
"keywords": [
"Rambox",
"messaging",
"app",
"slack",
"whatsapp",
"facebook",
"messenger",
"telegram",
"google",
"hangouts",
"skype"
],
"author": "Ramiro Saenz",
"license": "MIT"
}

12
electron_main.js → electron/main.js

@ -5,14 +5,12 @@ const electron = require('electron');
const app = electron.app; const app = electron.app;
// Module to create native browser window. // Module to create native browser window.
const BrowserWindow = electron.BrowserWindow; const BrowserWindow = electron.BrowserWindow;
// Module to create tray icon
const Tray = electron.Tray;
// Module for shell // Module for shell
const shell = require('electron').shell; const shell = require('electron').shell;
// Require for menu file // Require for menu file
const appMenu = require('./electron/menu'); const appMenu = require('./menu');
// Require for tray file // Require for tray file
const tray = require('./electron/tray'); const tray = require('./tray');
const MenuItem = electron.MenuItem; const MenuItem = electron.MenuItem;
@ -25,8 +23,8 @@ function createWindow () {
// Create the browser window. // Create the browser window.
mainWindow = new BrowserWindow({ mainWindow = new BrowserWindow({
title: 'Rambox' title: 'Rambox'
,skipTaskbar: false ,skipTaskbar: true
,icon: __dirname + '/resources/Icon.png' ,icon: __dirname + '/../resources/Icon.png'
,webPreferences: { ,webPreferences: {
webSecurity: false webSecurity: false
,nodeIntegration: true ,nodeIntegration: true
@ -39,7 +37,7 @@ function createWindow () {
mainWindow.maximize(); mainWindow.maximize();
// and load the index.html of the app. // and load the index.html of the app.
mainWindow.loadURL('file://' + __dirname + '/index.html'); mainWindow.loadURL('file://' + __dirname + '/../index.html');
electron.Menu.setApplicationMenu(appMenu); electron.Menu.setApplicationMenu(appMenu);

7
electron/tray.js

@ -1,6 +1,9 @@
const path = require('path'); const path = require('path');
const electron = require('electron'); const electron = require('electron');
const app = electron.app; const app = electron.app;
// Module to create tray icon
const Tray = electron.Tray;
const MenuItem = electron.MenuItem; const MenuItem = electron.MenuItem;
let tray = null; let tray = null;
@ -9,7 +12,7 @@ exports.create = win => {
return; return;
} }
const icon = process.platform === 'linux' ? 'IconTray.png' : 'Icon.ico'; const icon = process.platform === 'linux' || process.platform === 'darwin' ? 'IconTray.png' : 'Icon.ico';
const iconPath = path.join(__dirname, `../resources/${icon}`); const iconPath = path.join(__dirname, `../resources/${icon}`);
let showMB = new MenuItem({ let showMB = new MenuItem({
@ -50,7 +53,7 @@ exports.create = win => {
} }
]); ]);
tray = new electron.Tray(iconPath); tray = new Tray('../resources/IconTray.png');
tray.setToolTip('Rambox'); tray.setToolTip('Rambox');
tray.setContextMenu(contextMenu); tray.setContextMenu(contextMenu);
tray.on('click', function() { tray.on('click', function() {

79
package.json

@ -1,35 +1,60 @@
{ {
"name": "Rambox", "private": true,
"version": "0.2.0",
"description": "Free and Open Source messaging and emailing app that combines common web applications into one.",
"main": "electron_main.js",
"scripts": { "scripts": {
"start": "electron electron_main.js" "start": "electron electron/main.js",
"start:dev": "electron electron/main.js --enable-logging",
"sencha:clean": "rm -rf ./build/production",
"sencha:compile": "sencha app build && cp app/package.json build/production/Rambox/",
"clean": "rm -rf ./dist",
"clean:osx": "rm -rf ./dist/Rambox-darwin-*",
"clean:win": "rm -rf ./dist/Rambox-win32-*",
"pack": "npm run pack:osx && npm run pack:win",
"pack:osx": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=darwin --arch=x64 --icon=resources/installer/Icon.icns --app-version=0.2.0 --build-version=64-bit --overwrite",
"pack:win": "electron-packager \"./build/production/Rambox/\" \"Rambox\" --out=dist --platform=win32 --arch=ia32 --icon=resources/installer/Icon.ico --app-version=0.2.0 --build-version=64-bit --overwrite",
"build": "npm run build:osx && npm run build:win",
"build:osx": "build \"dist/Rambox-darwin-x64/Rambox.app\" --platform=osx",
"build:win": "build \"dist/Rambox-win32-ia32\" --platform=win",
"all:osx": "npm run sencha:clean && npm run sencha:compile && npm run clean:osx && npm run pack:osx && npm run build:osx"
}, },
"repository": { "build": {
"type": "git", "productName": "Rambox",
"url": "git+https://github.com/saenzramiro/rambox.git" "asar": true,
"osx" : {
"title": "Rambox",
"icon-size": 128,
"contents": [
{ "x": 355, "y": 125, "type": "link", "path": "/Applications" },
{ "x": 155, "y": 125, "type": "file" }
]
},
"win" : {
"title": "Rambox",
"icon": "resources/installer/Icon.ico"
}
}, },
"keywords": [ "directories": {
"Rambox", "buildResources": "resources/installer/",
"messaging", "output": "dist/",
"app", "app": "build/production/Rambox/"
"slack",
"whatsapp",
"facebook",
"messenger",
"telegram",
"google",
"hangouts",
"skype"
],
"author": "Ramiro Saenz",
"license": "MIT",
"bugs": {
"url": "https://github.com/saenzramiro/rambox/issues"
}, },
"homepage": "https://github.com/saenzramiro/rambox#readme",
"devDependencies": { "devDependencies": {
"electron-prebuilt": "^0.37.8" "electron-prebuilt": "^1.1.0",
"electron-builder": "3.25.0",
"electron-packager": "7.0.1"
},
"config": {
"pre-git": {
"commit-msg": "",
"pre-commit": [],
"post-commit": "",
"pre-push": [],
"post-checkout": "",
"post-merge": ""
}
} }
} }

Loading…
Cancel
Save