diff --git a/app/assets/icon.icns b/app/assets/icon.icns index add8c5f..e7fc26a 100644 Binary files a/app/assets/icon.icns and b/app/assets/icon.icns differ diff --git a/index.html b/index.html index 5ec2cd0..82613a3 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - Select the mockup theme + Screeener diff --git a/lib/checkPNG.js b/lib/checkPNG.js index ae86299..dc9aa44 100644 --- a/lib/checkPNG.js +++ b/lib/checkPNG.js @@ -1,77 +1,86 @@ -const _ = require('lodash') -const Jimp = require('jimp') -const path = require('path') -const { thumbsPath } = require('./getTemplates.js') - - +const _ = require("lodash"); +const Jimp = require("jimp"); +const path = require("path"); +const { thumbsPath } = require("./getTemplates.js"); function getAlphaInfos(filePath) { return new Promise((resolve, reject) => { - var areaAlpha = [] - var countRow = 0 - var countCol = 0 - var lastY, lastIndex, lastX - var imageIndex = 0 - - Jimp.read(filePath, function (err, image) { - image.scan(0, 0, image.bitmap.width, image.bitmap.height, function (x, y, idx) { - - var alpha = this.bitmap.data[idx + 3] + var areaAlpha = []; + var countRow = 0; + var countCol = 0; + var lastY, lastIndex, lastX; + var imageIndex = 0; + + Jimp.read(filePath, function(err, image) { + image.scan(0, 0, image.bitmap.width, image.bitmap.height, function( + x, + y, + idx + ) { + var alpha = this.bitmap.data[idx + 3]; if (alpha === 0) { // Perform checks if (distanceTo({ x: x, y: y }, { x: lastX, y: lastY }) > 2) { - if (distanceTo({ x: x, y: y }, { x: areaAlpha[imageIndex][countRow][0].x, y: areaAlpha[imageIndex][countRow][0].y }) > 2) { - imageIndex = findIndexArray(x, y, areaAlpha) + if ( + distanceTo( + { x: x, y: y }, + { + x: areaAlpha[imageIndex][countRow][0].x, + y: areaAlpha[imageIndex][countRow][0].y + } + ) > 2 + ) { + imageIndex = findIndexArray(x, y, areaAlpha); } } - if ((lastIndex !== imageIndex)) { - if (typeof areaAlpha[imageIndex] === 'undefined') { - lastY = undefined - countCol = 0 - countRow = 0 - areaAlpha[imageIndex] = new Array() - areaAlpha[imageIndex][countRow] = new Array() + if (lastIndex !== imageIndex) { + if (typeof areaAlpha[imageIndex] === "undefined") { + lastY = undefined; + countCol = 0; + countRow = 0; + areaAlpha[imageIndex] = new Array(); + areaAlpha[imageIndex][countRow] = new Array(); } else { - countRow = areaAlpha[imageIndex].length - 1 - countCol = areaAlpha[imageIndex][countRow].length - 1 + countRow = areaAlpha[imageIndex].length - 1; + countCol = areaAlpha[imageIndex][countRow].length - 1; - lastY = areaAlpha[imageIndex][countRow][countCol].y + lastY = areaAlpha[imageIndex][countRow][countCol].y; } } - if ((lastY !== y) && (lastY !== undefined)) { - countRow = countRow + 1 - countCol = 0 - areaAlpha[imageIndex][countRow] = new Array() + if (lastY !== y && lastY !== undefined) { + countRow = countRow + 1; + countCol = 0; + areaAlpha[imageIndex][countRow] = new Array(); } - areaAlpha[imageIndex][countRow][countCol] = { x: x, y: y } - countCol = countCol + 1 + areaAlpha[imageIndex][countRow][countCol] = { x: x, y: y }; + countCol = countCol + 1; - lastY = y - lastX = x - lastIndex = imageIndex + lastY = y; + lastX = x; + lastIndex = imageIndex; } - }) + }); - resolve(areaAlpha) - }) - }) + resolve(areaAlpha); + }); + }); } function getMockupInfos(filePath) { return new Promise((resolve, reject) => { - Jimp.read(filePath, function (err, image) { + Jimp.read(filePath, function(err, image) { resolve({ width: image.bitmap.width, height: image.bitmap.height, x: 0, - y: 0, - }) - }) - }) + y: 0 + }); + }); + }); } function extractData(data) { @@ -79,44 +88,49 @@ function extractData(data) { width: data[0].length, height: data.length, x: data[0][0].x, - y: data[0][0].y, - } + y: data[0][0].y + }; } function generatePreviewImages(data, filePath, name) { return new Promise((resolve, reject) => { let color = Jimp.rgbaToInt(80, 227, 194, 255); - Jimp.read(filePath, function (err, image) { - image.brightness(-0.8) + Jimp.read(filePath, function(err, image) { + image.brightness(-0.8); for (let i = 0; i < data.length; i++) { for (let a = 0; a < data[i].length; a++) { - image.setPixelColor(color, parseInt(data[i][a].x), parseInt(data[i][a].y)) + image.setPixelColor( + color, + parseInt(data[i][a].x), + parseInt(data[i][a].y) + ); } } - image.write(`${thumbsPath}/${name}.png`) + image.write(`${thumbsPath}/${name}.png`); - const objData = Object.assign(extractData(data), { path: `${thumbsPath}/${name}.png` }) - resolve(objData) - }) - }) + const objData = Object.assign(extractData(data), { + path: `${thumbsPath}/${name}.png` + }); + resolve(objData); + }); + }); } function getImageData(alphaInfo, filePath) { return new Promise((resolve, reject) => { - let pathFile = [] + let pathFile = []; for (let i = 0; i < alphaInfo.length; i++) { - const name = `${path.basename(filePath).slice(0, -4)}-${i}` - pathFile.push( generatePreviewImages(alphaInfo[i], filePath, name) ) + const name = `${path.basename(filePath).slice(0, -4)}-${i}`; + pathFile.push(generatePreviewImages(alphaInfo[i], filePath, name)); } - Promise.all(pathFile).then((imagesData) => { - resolve(imagesData) - }) - - }) + Promise.all(pathFile).then(imagesData => { + resolve(imagesData); + }); + }); } /* ----------- @@ -125,53 +139,61 @@ function getImageData(alphaInfo, filePath) { function constructData(filePath) { return new Promise((resolve, reject) => { - getAlphaInfos(filePath).then((alphaInfo) => { - - let promises = [getMockupInfos(filePath), getImageData(alphaInfo, filePath)] - Promise.all(promises).then((values) => { - const mockupObj = values[0] - const imageObj = values[1] + getAlphaInfos(filePath).then(alphaInfo => { + let promises = [ + getMockupInfos(filePath), + getImageData(alphaInfo, filePath) + ]; + Promise.all(promises).then(values => { + const mockupObj = values[0]; + const imageObj = values[1]; resolve({ mockup: mockupObj, - images: imageObj, - }) - }) - }) - }) + images: imageObj + }); + }); + }); + }); } module.exports = { getImageInfo: constructData -} +}; /* ----------- Helpers --------- */ function distanceTo(from, to) { - var distance = Math.sqrt((Math.pow(from.x - to.x, 2)) + (Math.pow(from.y - to.y, 2))) - return distance + var distance = Math.sqrt( + Math.pow(from.x - to.x, 2) + Math.pow(from.y - to.y, 2) + ); + return distance; } function findIndexArray(x, y, areaAlpha) { - let imageIndex = areaAlpha.length + let imageIndex = areaAlpha.length; areaAlpha.forEach((obj, i) => { - let arrCheck = _.flatten(obj[[obj.length - 1]]) + let arrCheck = _.flatten(obj[[obj.length - 1]]); - let maxY = _.maxBy(arrCheck, function (o) { return o.y }) - let maxX = _.maxBy(arrCheck, function (o) { return o.x }) + let maxY = _.maxBy(arrCheck, function(o) { + return o.y; + }); + let maxX = _.maxBy(arrCheck, function(o) { + return o.x; + }); let arrDist = [ distanceTo(maxY, { x: x, y: y }), - distanceTo(maxX, { x: x, y: y }), - ] + distanceTo(maxX, { x: x, y: y }) + ]; if (Math.min(...arrDist) < 2) { - imageIndex = i + imageIndex = i; } - }) + }); - return imageIndex + return imageIndex; } diff --git a/lib/getTemplates.js b/lib/getTemplates.js index cc0c884..c51263a 100644 --- a/lib/getTemplates.js +++ b/lib/getTemplates.js @@ -1,44 +1,48 @@ -const path = require('path') -const fs = require('fs') -const electron = require('electron') -const decache = require('decache') +const path = require("path"); +const fs = require("fs"); +const electron = require("electron"); +const decache = require("decache"); -const userDataPath = (electron.app || electron.remote.app) - .getPath('userData') -const thumbsPath = `${userDataPath}/templates/thumbs` -const mockupsPath = `${userDataPath}/templates/mockups` +const userDataPath = (electron.app || electron.remote.app).getPath("userData"); +const thumbsPath = `${userDataPath}/templates/thumbs`; +const mockupsPath = `${userDataPath}/templates/mockups`; -if (!fs.existsSync(`${userDataPath}/templates`)) fs.mkdir(`${userDataPath}/templates`) -if (!fs.existsSync(`${mockupsPath}`)) fs.mkdir(mockupsPath) -if (!fs.existsSync(`${thumbsPath}`)) fs.mkdir(thumbsPath) +if (!fs.existsSync(`${userDataPath}`)) fs.mkdir(`${userDataPath}`); +if (!fs.existsSync(`${userDataPath}/templates`)) + fs.mkdir(`${userDataPath}/templates`); +if (!fs.existsSync(`${mockupsPath}`)) fs.mkdir(mockupsPath); +if (!fs.existsSync(`${thumbsPath}`)) fs.mkdir(thumbsPath); function getAllTemplatesFiles() { return fs .readdirSync(`${userDataPath}/templates`) - .filter(fileName => /\.(json)/.test(fileName)) + .filter(fileName => /\.(json)/.test(fileName)); } function createTemplateDirectory() { - fs.mkdirSync(`${userDataPath}/templates`) - fs.mkdirSync(thumbsPath) - fs.mkdirSync(mockupsPath) + fs.mkdirSync(`${userDataPath}/templates`); + fs.mkdirSync(thumbsPath); + fs.mkdirSync(mockupsPath); } function getLoadTemplateObj() { return new Promise((resolve, reject) => { - const templates = getAllTemplatesFiles() - const obj = templates.map((filePath) => { - decache(`${userDataPath}/templates/${filePath}`) - let content = require(`${userDataPath}/templates/${filePath}`) - content.fileName = filePath + const templates = getAllTemplatesFiles(); + const obj = templates.map(filePath => { + decache(`${userDataPath}/templates/${filePath}`); + let content = require(`${userDataPath}/templates/${filePath}`); + content.fileName = filePath; if (!path.isAbsolute(content.mockup.path)) { - content.mockup.path = path.join(`${userDataPath}/templates/`, content.mockup.path) + content.mockup.path = path.join( + `${userDataPath}/templates/`, + content.mockup.path + ); } - return content - }) + return content; + }); - resolve({ 'yourMockups': obj }) - }) + resolve({ yourMockups: obj }); + }); } module.exports = { @@ -46,5 +50,5 @@ module.exports = { userDataPath, thumbsPath, mockupsPath, - getLoadTemplateObj, -} + getLoadTemplateObj +}; diff --git a/main.js b/main.js index dd8fca1..475d878 100644 --- a/main.js +++ b/main.js @@ -1,134 +1,136 @@ -const electron = require('electron') -const { BrowserWindow, ipcMain, dialog, shell, Menu } = require('electron') -const app = electron.app +const electron = require("electron"); +const { BrowserWindow, ipcMain, dialog, shell, Menu } = require("electron"); +const app = electron.app; -const path = require('path') -const url = require('url') -const decache = require('decache'); +const path = require("path"); +const url = require("url"); +const decache = require("decache"); // const autoUpdater = require('./lib/autoUpdate.js') -const autoUpdater = require('./lib/notifyUpdate.js') -const { userDataPath, getLoadTemplateObj } = require('./lib/getTemplates.js') -const { jxaBridge } = require('./lib/jxaBridge.js') -const { applicationMenu } = require('./lib/menu.js') -const { saveMockup, renderPNG, cleanTempFiles, copyMockupFile, deleteTempJson } = require('./lib/mockupData.js') +const autoUpdater = require("./lib/notifyUpdate.js"); +const { userDataPath, getLoadTemplateObj } = require("./lib/getTemplates.js"); +const { jxaBridge } = require("./lib/jxaBridge.js"); +const { applicationMenu } = require("./lib/menu.js"); +const { + saveMockup, + renderPNG, + cleanTempFiles, + copyMockupFile, + deleteTempJson +} = require("./lib/mockupData.js"); // Keep a global reference of the window object, if you don't, the window will -let mainWindow -let addWindow +let mainWindow; +let addWindow; -app.on('ready', function () { +app.on("ready", function() { // Pass those values in to the BrowserWindow options mainWindow = new BrowserWindow({ width: 950, height: 610, resizable: false, - title: 'Select your theme', - icon: path.join(__dirname, '/app/assets/ic.png.icns'), - preloadWindow: true, - }) + title: "Select your theme", + icon: path.join(__dirname, "/app/assets/ic.png.icns"), + preloadWindow: true + }); - mainWindow.loadURL('file://' + path.join(__dirname, 'index.html')) + mainWindow.loadURL("file://" + path.join(__dirname, "index.html")); //mainWindow.openDevTools() // Get the default mockups - const templatesPath = path.join(__dirname, '/app/assets/templates.json') - const defaultTemplates = require(templatesPath) + const templatesPath = path.join(__dirname, "/app/assets/templates.json"); + const defaultTemplates = require(templatesPath); defaultTemplates.defaults = defaultTemplates.defaults.map(obj => { - obj.mockup.path = `${__dirname}/app/assets/${obj.mockup.path}` - return obj - }) + obj.mockup.path = `${__dirname}/app/assets/${obj.mockup.path}`; + return obj; + }); /* Keynotes */ - ipcMain.on('load-templates', event => { - console.log("Load Templates") - getLoadTemplateObj().then((loadTemplates) => { - const templates = Object.assign(defaultTemplates, loadTemplates) - event.sender.send('template-list', templates) - }) - }) - - ipcMain.on('run-keynote', (event, templateData) => { - console.log('click') + ipcMain.on("load-templates", event => { + console.log("Load Templates"); + getLoadTemplateObj().then(loadTemplates => { + const templates = Object.assign(defaultTemplates, loadTemplates); + event.sender.send("template-list", templates); + }); + }); + + ipcMain.on("run-keynote", (event, templateData) => { + console.log("click"); dialog.showOpenDialog( mainWindow, { - title: 'Select the folder or the image files', - properties: ['openFile', 'openDirectory', 'multiSelections'], - filters: [{ name: 'Images', extensions: ['jpg', 'png', 'gif'] }], + title: "Select the folder or the image files", + properties: ["openFile", "openDirectory", "multiSelections"], + filters: [{ name: "Images", extensions: ["jpg", "png", "gif"] }] }, - function (filesPath) { + function(filesPath) { if (filesPath !== undefined) { - jxaBridge(templateData, filesPath) + jxaBridge(templateData, filesPath); } } - ) - }) + ); + }); /* Save Mockups */ - ipcMain.on('add-mockup', (event, data) => { + ipcMain.on("add-mockup", (event, data) => { dialog.showOpenDialog( mainWindow, { - title: 'Select your mockup image', - properties: ['openFile'], - filters: [{ name: 'Images', extensions: ['png'] }], + title: "Select your mockup image", + properties: ["openFile"], + filters: [{ name: "Images", extensions: ["png"] }] }, - function (filesPath) { + function(filesPath) { if (filesPath !== undefined) { - copyMockupFile(filesPath[0]).then((newFilePath) => { - renderPNG(newFilePath).then(() => event.sender.send('change-page')) - }) + copyMockupFile(filesPath[0]).then(newFilePath => { + renderPNG(newFilePath).then(() => event.sender.send("change-page")); + }); } } - ) - }) - - ipcMain.on('load-mockup', (event, data) => { - const tempPath = path.join(`${userDataPath}/templates/`, data) - decache(tempPath) - const tempData = require(tempPath) - event.sender.send('result-mockup', tempData) - }) - - ipcMain.on('save-mockup', (event, data) => { - let fileName = data.name - saveMockup(fileName, data) - deleteTempJson() - }) - - ipcMain.on('clear-mockup', (event, data) => { - cleanTempFiles(data) - }) - + ); + }); + + ipcMain.on("load-mockup", (event, data) => { + const tempPath = path.join(`${userDataPath}/templates/`, data); + decache(tempPath); + const tempData = require(tempPath); + event.sender.send("result-mockup", tempData); + }); + + ipcMain.on("save-mockup", (event, data) => { + let fileName = data.name; + saveMockup(fileName, data); + deleteTempJson(); + }); + + ipcMain.on("clear-mockup", (event, data) => { + cleanTempFiles(data); + }); /* Others */ - ipcMain.on('open-docs', () => { + ipcMain.on("open-docs", () => { shell.openExternal( - 'https://github.com/zehfernandes/screeener#how-to-create-a-mockup' - ) - }) + "https://github.com/zehfernandes/screeener#how-to-create-a-mockup" + ); + }); - ipcMain.on('install-update', event => { - shell.openExternal('https://github.com/zehfernandes/screeener/releases') - }) - - Menu.setApplicationMenu(applicationMenu) - autoUpdater.init(mainWindow) - - - mainWindow.on('window-all-closed', function () { - cleanTempFiles('_temp.json') - }) -}) + ipcMain.on("install-update", event => { + shell.openExternal("https://github.com/zehfernandes/screeener/releases"); + }); + Menu.setApplicationMenu(applicationMenu); + autoUpdater.init(mainWindow); + mainWindow.on("window-all-closed", function() { + cleanTempFiles("_temp.json"); + }); +}); /* app.on('activate', function () { diff --git a/package-lock.json b/package-lock.json index 478a4fa..f31c3dd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,13 @@ { "name": "screeener", - "version": "1.0.1", + "version": "2.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { - "@types/node": { - "version": "7.0.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.43.tgz", - "integrity": "sha512-7scYwwfHNppXvH/9JzakbVxk0o0QUILVk1Lv64GRaxwPuGpnF1QBiwdvhDpLcymb8BpomQL3KYoWKq3wUdDMhQ==", - "dev": true - }, "7zip-bin": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.2.3.tgz", - "integrity": "sha512-S2f7InK2SwceVFly0tx/+1xakOWhSZQeY5hOXFl/sZ9orfRE4i4Z9edsWonT5lyYTowBN73RwBbLqZaVrtSEuw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.4.1.tgz", + "integrity": "sha512-QU3oR1dLLVrYGRkb7LU17jMCpIkWtXXW7q71ECXWXkR9vOv37VjykqpvFgs29HgSCNLZHnNKJzdG6RwAW0LwIA==", "dev": true, "requires": { "7zip-bin-mac": "1.0.1" @@ -26,6 +20,12 @@ "dev": true, "optional": true }, + "@types/node": { + "version": "7.0.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.43.tgz", + "integrity": "sha512-7scYwwfHNppXvH/9JzakbVxk0o0QUILVk1Lv64GRaxwPuGpnF1QBiwdvhDpLcymb8BpomQL3KYoWKq3wUdDMhQ==", + "dev": true + }, "abbrev": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", @@ -265,13 +265,13 @@ } }, "asar-integrity": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/asar-integrity/-/asar-integrity-0.1.2.tgz", - "integrity": "sha512-I5ZfmdG03WnC141nVuyHvbNO55kSS+uxEbC11p54YFXE1fBFlC5XV0KHGjCX3y1+KSnr53JHJf22ev4qi4LHXQ==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asar-integrity/-/asar-integrity-0.2.4.tgz", + "integrity": "sha512-6UDOmyl4RUo8i/0Sem/UKFJ70XZrXLCDQcILTbjTjAKZrSA3JbXVnWRFi2ZFEbeZxQ2LVCc3CWHnDlqj2AyVXg==", "dev": true, "requires": { - "bluebird-lst": "1.0.3", - "fs-extra-p": "4.4.0" + "bluebird-lst": "1.0.5", + "fs-extra-p": "4.5.0" } }, "asn1": { @@ -987,12 +987,20 @@ "dev": true }, "bluebird-lst": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.3.tgz", - "integrity": "sha512-NKk/GQk5fXcLKt4USI1htGuMwXHhKLa2a32FCNBFAOcpL0k8U5yFpusr3+NKc6RjytL8umW5pSQmtJCWWhiLrQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.5.tgz", + "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==", "dev": true, "requires": { - "bluebird": "3.5.0" + "bluebird": "3.5.1" + }, + "dependencies": { + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true + } } }, "bmp-js": { @@ -1014,9 +1022,9 @@ } }, "boxen": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.1.tgz", - "integrity": "sha1-DxHn/jRO25OXl3/BPt5/ZNlWSB0=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { "ansi-align": "2.0.0", @@ -1025,7 +1033,7 @@ "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", - "widest-line": "1.0.0" + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -1182,34 +1190,103 @@ "dev": true }, "builder-util": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-1.0.2.tgz", - "integrity": "sha512-aOp8NT3EmfhqG5Hv4hH+s/4y0ODuu5TqSSxfE6mhyZwyFMqMRhs5X7EHpOoY5ohcL8ARVmIrX0qCz2QkfVUX4Q==", - "dev": true, - "requires": { - "7zip-bin": "2.2.3", - "bluebird-lst": "1.0.3", - "chalk": "2.1.0", - "debug": "3.0.1", - "electron-builder-http": "19.27.5", - "fcopy-pre-bundled": "0.3.4", - "fs-extra-p": "4.4.0", - "ini": "1.3.4", - "is-ci": "1.0.10", - "js-yaml": "3.9.1", - "lazy-val": "1.0.2", - "node-emoji": "1.8.1", - "semver": "5.4.1", - "source-map-support": "0.4.17", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-4.1.7.tgz", + "integrity": "sha512-jObkpxMLUAG6iaTfXTWhx1iRY5e/4wFCJ2s1g9kIpWkBQZA41BTpRuzL1JGzl64wBNZIFJZG5rP2TQkAFl1AAA==", + "dev": true, + "requires": { + "7zip-bin": "2.4.1", + "bluebird-lst": "1.0.5", + "builder-util-runtime": "4.0.2", + "chalk": "2.3.0", + "debug": "3.1.0", + "fs-extra-p": "4.5.0", + "ini": "1.3.5", + "is-ci": "1.1.0", + "js-yaml": "3.10.0", + "lazy-val": "1.0.3", + "semver": "5.5.0", + "source-map-support": "0.5.1", "stat-mode": "0.2.2", - "temp-file": "2.0.3", + "temp-file": "3.1.1", "tunnel-agent": "0.6.0" }, "dependencies": { + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.4.0" + } + }, "debug": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.1.tgz", - "integrity": "sha512-6nVc6S36qbt/mutyt+UGMnawAMrPDZUPQjRZI3FS9tCtDRhvxJbK79unYBLPi+z5SLXQ3ftoVBFCblQtNSls8w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.1.tgz", + "integrity": "sha512-EZNecLNrsdRk9fcdOcjjy+Z/id7cr68sdmsYtR1gA45oQ81Ccea0UvM7DdSRblO0Ie5zWX31bvJTC7Y3QZVujg==", + "dev": true, + "requires": { + "source-map": "0.6.1" + } + } + } + }, + "builder-util-runtime": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.2.tgz", + "integrity": "sha512-ccVDjvLIxXQHRczxX6ea68rCjkI1PQLjR7E3o48kW0t/OQl+Uwu89BXpJIhc0ea6FihkyM72litniJBoZ3UfKQ==", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "debug": "3.1.0", + "fs-extra-p": "4.5.0", + "sax": "1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -1332,9 +1409,9 @@ "dev": true }, "ci-info": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", - "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", + "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", "dev": true }, "cipher-base": { @@ -1466,7 +1543,7 @@ "requires": { "dot-prop": "4.2.0", "graceful-fs": "4.1.11", - "make-dir": "1.0.0", + "make-dir": "1.1.0", "unique-string": "1.0.0", "write-file-atomic": "2.3.0", "xdg-basedir": "3.0.0" @@ -1772,15 +1849,35 @@ } }, "dmg-builder": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-1.0.2.tgz", - "integrity": "sha512-QOQ9GrGvVj2Mkb3qs0cT29Y5KhSp4nxMctPkTlAANKAN/JI1KEbTnCVy13s4JScZ3xVxuXec2vo7QMTh3+sMmg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-3.1.1.tgz", + "integrity": "sha512-NdZS3ErgoGwnxzF74nemZlQaYqZZTrErLxspB+nQNU8iwwQLl6Xclkb0y5w0BLcmCwcd9bToxX3ghvolrqx3OQ==", "dev": true, "requires": { - "bluebird-lst": "1.0.3", - "builder-util": "1.0.2", - "fs-extra-p": "4.4.0", + "bluebird-lst": "1.0.5", + "builder-util": "4.1.7", + "fs-extra-p": "4.5.0", + "iconv-lite": "0.4.19", + "js-yaml": "3.10.0", "parse-color": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + } } }, "doctrine": { @@ -1906,43 +2003,24 @@ } }, "electron-builder": { - "version": "19.27.7", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-19.27.7.tgz", - "integrity": "sha512-/kf1FmpDTS2EFFk2kAWAM19wZzjfoFdDUFKmUsk+HAeTzEJZ5c0hGHi6aUHlV+j5O6X5vtPjN/HkNVhMbCFEgQ==", + "version": "19.54.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-19.54.0.tgz", + "integrity": "sha512-tsSz9s8lFysasNK2wwKEP7ILthz++RVDAQ+D7LxtzOfQbekf91AXfYmjLIhxcgj9wavTAuHJ7QU24G4KmISn3Q==", "dev": true, "requires": { - "7zip-bin": "2.2.3", - "asar-integrity": "0.1.2", - "bluebird-lst": "1.0.3", - "builder-util": "1.0.2", - "chalk": "2.1.0", - "chromium-pickle-js": "0.2.0", - "cuint": "0.2.2", - "debug": "3.0.1", - "dmg-builder": "1.0.2", - "dotenv": "4.0.0", - "dotenv-expand": "4.0.1", - "ejs": "2.5.7", - "electron-builder-http": "19.27.5", + "bluebird-lst": "1.0.5", + "builder-util": "4.1.7", + "builder-util-runtime": "4.0.2", + "chalk": "2.3.0", + "electron-builder-lib": "19.54.0", "electron-download-tf": "4.3.4", - "electron-osx-sign": "0.4.7", - "electron-publish": "19.27.4", - "fs-extra-p": "4.4.0", - "hosted-git-info": "2.5.0", - "is-ci": "1.0.10", - "isbinaryfile": "3.0.2", - "js-yaml": "3.9.1", - "lazy-val": "1.0.2", - "minimatch": "3.0.4", - "normalize-package-data": "2.4.0", - "plist": "2.1.0", - "read-config-file": "1.1.0", + "fs-extra-p": "4.5.0", + "is-ci": "1.1.0", + "lazy-val": "1.0.3", + "read-config-file": "2.1.1", "sanitize-filename": "1.6.1", - "semver": "5.4.1", - "temp-file": "2.0.3", - "update-notifier": "2.2.0", - "uuid-1345": "0.99.6", - "yargs": "8.0.2" + "update-notifier": "2.3.0", + "yargs": "10.1.1" }, "dependencies": { "ansi-regex": { @@ -1957,34 +2035,32 @@ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.4.0" + } + }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", + "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } } }, "debug": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.1.tgz", - "integrity": "sha512-6nVc6S36qbt/mutyt+UGMnawAMrPDZUPQjRZI3FS9tCtDRhvxJbK79unYBLPi+z5SLXQ3ftoVBFCblQtNSls8w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -1996,9 +2072,9 @@ "integrity": "sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg==", "dev": true, "requires": { - "debug": "3.0.1", + "debug": "3.1.0", "env-paths": "1.0.0", - "fs-extra": "4.0.1", + "fs-extra": "4.0.3", "minimist": "1.2.0", "nugget": "2.0.1", "path-exists": "3.0.0", @@ -2017,37 +2093,31 @@ } }, "fs-extra": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.1.tgz", - "integrity": "sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", + "jsonfile": "4.0.0", "universalify": "0.1.1" } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { "graceful-fs": "4.1.11" } }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", @@ -2065,36 +2135,6 @@ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -2103,30 +2143,16 @@ "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } }, "sumchecker": { "version": "2.0.2", @@ -2134,13 +2160,13 @@ "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", "dev": true, "requires": { - "debug": "2.6.8" + "debug": "2.6.9" }, "dependencies": { "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -2155,30 +2181,29 @@ "dev": true }, "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.1.tgz", + "integrity": "sha512-7uRL1HZdCbc1QTP+X8mehOPuCYKC/XTaqAPj7gABLfTt6pgLyVRn3QVte4qhtilZouWCvqd1kipgMKl5tKsFiw==", "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", + "cliui": "4.0.0", "decamelize": "1.2.0", + "find-up": "2.1.0", "get-caller-file": "1.0.2", "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", "require-directory": "2.1.1", "require-main-filename": "1.0.1", "set-blocking": "2.0.0", "string-width": "2.1.1", "which-module": "2.0.0", "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "yargs-parser": "8.1.0" } }, "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", + "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", "dev": true, "requires": { "camelcase": "4.1.0" @@ -2186,25 +2211,88 @@ } } }, - "electron-builder-http": { - "version": "19.27.5", - "resolved": "https://registry.npmjs.org/electron-builder-http/-/electron-builder-http-19.27.5.tgz", - "integrity": "sha512-irxaEueAp+5GP8n2dLCh6scR4aE9+7IzEwAQ/R++U1rg1ADgsmhTOAx+Glt/u3tMzz7X8cM60P+tMtXyz1VfiQ==", + "electron-builder-lib": { + "version": "19.54.0", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-19.54.0.tgz", + "integrity": "sha512-lu5uPJEcpqmFbXUSDpdT4WP6Njl3Ohxw2xfGaKr/TJ+sasB44Xo3yNanpfg6Up0oN5SXq4fQYXUL/Y6cn8d9ww==", "dev": true, "requires": { - "bluebird-lst": "1.0.3", - "debug": "3.0.1", - "fs-extra-p": "4.4.0" + "7zip-bin": "2.4.1", + "asar-integrity": "0.2.4", + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", + "builder-util": "4.1.7", + "builder-util-runtime": "4.0.2", + "chromium-pickle-js": "0.2.0", + "debug": "3.1.0", + "dmg-builder": "3.1.1", + "ejs": "2.5.7", + "electron-osx-sign": "0.4.8", + "electron-publish": "19.54.0", + "fs-extra-p": "4.5.0", + "hosted-git-info": "2.5.0", + "is-ci": "1.1.0", + "isbinaryfile": "3.0.2", + "js-yaml": "3.10.0", + "lazy-val": "1.0.3", + "minimatch": "3.0.4", + "normalize-package-data": "2.4.0", + "plist": "2.1.0", + "read-config-file": "2.1.1", + "sanitize-filename": "1.6.1", + "semver": "5.5.0", + "temp-file": "3.1.1" }, "dependencies": { "debug": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.0.1.tgz", - "integrity": "sha512-6nVc6S36qbt/mutyt+UGMnawAMrPDZUPQjRZI3FS9tCtDRhvxJbK79unYBLPi+z5SLXQ3ftoVBFCblQtNSls8w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" } + }, + "electron-osx-sign": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz", + "integrity": "sha1-8Ln63e2eHlTsNfqJh3tcbDTHvEA=", + "dev": true, + "requires": { + "bluebird": "3.5.0", + "compare-version": "0.1.2", + "debug": "2.6.9", + "isbinaryfile": "3.0.2", + "minimist": "1.2.0", + "plist": "2.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true } } }, @@ -2343,17 +2431,36 @@ } }, "electron-publish": { - "version": "19.27.4", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-19.27.4.tgz", - "integrity": "sha512-FS7EphihVKJ18IOVijHMxjy6s10UWtsFTkiogWehKEeJgwslxo5C++kU7QRTzVmGZ/lgZcQ6nT4cfdms+HqIqQ==", + "version": "19.54.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-19.54.0.tgz", + "integrity": "sha512-xCckDDlbcyfGVPxqenARVo+2ms+BogUsMb923IQyOJgMAk5/tdcGyYBJfbIWqsQETnfKGnk0uCdJ/mLI33wmNA==", "dev": true, "requires": { - "bluebird-lst": "1.0.3", - "builder-util": "1.0.2", - "chalk": "2.1.0", - "electron-builder-http": "19.27.5", - "fs-extra-p": "4.4.0", - "mime": "1.4.0" + "bluebird-lst": "1.0.5", + "builder-util": "4.1.7", + "builder-util-runtime": "4.0.2", + "chalk": "2.3.0", + "fs-extra-p": "4.5.0", + "mime": "2.2.0" + }, + "dependencies": { + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.4.0" + } + }, + "mime": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", + "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==", + "dev": true + } } }, "elliptic": { @@ -2776,6 +2883,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -2796,12 +2909,6 @@ "ua-parser-js": "0.7.14" } }, - "fcopy-pre-bundled": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/fcopy-pre-bundled/-/fcopy-pre-bundled-0.3.4.tgz", - "integrity": "sha512-fRjxOMNl5wv94LaYvsozGcRBMDo+EvrC4hx3WN8HURCJUFw0NbGDfIsIw+bT97sSvnAljjdprTcxnQT62AM18w==", - "dev": true - }, "fd-slicer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", @@ -2935,30 +3042,30 @@ } }, "fs-extra-p": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.4.0.tgz", - "integrity": "sha512-SDAF7Ma08/ERKmbNHBvoaxxox33/xiomZGhJlxoSaGYGn7jHCwLTFRnJ82wxrylZa+h0TtkBrrtXzRO79p3AHQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.5.0.tgz", + "integrity": "sha512-V/sdZmV+Yx3+nfXmjRTdBP4mVWCt7hZ0+ZOv+IZo+6fdkBxafaGsI7mYeNv/J3rWyz+mIToCFQORFSwt1bZw8Q==", "dev": true, "requires": { - "bluebird-lst": "1.0.3", - "fs-extra": "4.0.1" + "bluebird-lst": "1.0.5", + "fs-extra": "5.0.0" }, "dependencies": { "fs-extra": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.1.tgz", - "integrity": "sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", "dev": true, "requires": { "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", + "jsonfile": "4.0.0", "universalify": "0.1.1" } }, "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { "graceful-fs": "4.1.11" @@ -3643,13 +3750,6 @@ } } }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, "string-width": { "version": "1.0.2", "bundled": true, @@ -3659,6 +3759,13 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, "stringstream": { "version": "0.0.5", "bundled": true, @@ -3922,6 +4029,15 @@ } } }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "dev": true, + "requires": { + "ini": "1.3.4" + } + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -4327,12 +4443,12 @@ } }, "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", - "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.1" + "ci-info": "1.1.2" } }, "is-directory": { @@ -4393,6 +4509,16 @@ "is-extglob": "1.0.0" } }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "dev": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.0" + } + }, "is-my-json-valid": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", @@ -4739,9 +4865,9 @@ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, "lazy-val": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.2.tgz", - "integrity": "sha512-2BaSu6qVnicKdWQPysrffZVFAKcPcZQ/q2YyeSjAxWaJlvCvKSrkcvsSHlleeIfA//fW2goTcYDTy2cBLN7+PQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz", + "integrity": "sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg==", "dev": true }, "lcid": { @@ -4832,12 +4958,6 @@ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "dev": true }, - "lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", - "dev": true - }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -4876,19 +4996,21 @@ "yallist": "2.1.2" } }, - "macaddress": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true - }, "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "map-obj": { @@ -5107,15 +5229,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node-emoji": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", - "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", - "dev": true, - "requires": { - "lodash.toarray": "4.4.0" - } - }, "node-fetch": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", @@ -5841,25 +5954,49 @@ "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=" }, "read-config-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-1.1.0.tgz", - "integrity": "sha512-bpbZZcd/hk/f5849CnsF82UrvVJNFktduQZxvgGX+hU7VSGD+FBv2JeV9z+PyIutDFjabRu7ic/5jJ+5S/ktfw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-2.1.1.tgz", + "integrity": "sha512-tzV5MRYA1OIbjy0ZC3cKlQZMLyRYMJ7k37Inff0CH0fQGXFP9p0s0eJ3bQxnnvQDhPSspnW9fw9v2K0b+6TODg==", "dev": true, "requires": { - "ajv": "5.2.2", - "ajv-keywords": "2.1.0", - "bluebird-lst": "1.0.3", - "fs-extra-p": "4.4.0", - "js-yaml": "3.9.1", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "bluebird-lst": "1.0.5", + "dotenv": "4.0.0", + "dotenv-expand": "4.0.1", + "fs-extra-p": "4.5.0", + "js-yaml": "3.10.0", "json5": "0.5.1", - "lazy-val": "1.0.2" + "lazy-val": "1.0.3" }, "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } } } }, @@ -6360,14 +6497,6 @@ "stream-to": "0.2.2" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -6378,6 +6507,14 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -6533,15 +6670,15 @@ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" }, "temp-file": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-2.0.3.tgz", - "integrity": "sha512-qN0iNW0DFNmog1BFS8J3rQK4sZRIqqUZJ/zFlFo+0PwE7adUTEpPrQ3toWxwTcDjtGL9HjsQWe8CqMKq1kM7Gw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.1.tgz", + "integrity": "sha512-W/6SJgtg2SE/5rxgwUwoDhdSXrvUWQBpgKJglaAe6S7mk1kLkI+LUbY/jPZBu3UhydDJZstNNd7AJhnZ0UZHtw==", "dev": true, "requires": { "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.3", - "fs-extra-p": "4.4.0", - "lazy-val": "1.0.2" + "bluebird-lst": "1.0.5", + "fs-extra-p": "4.5.0", + "lazy-val": "1.0.3" } }, "term-size": { @@ -6811,46 +6948,20 @@ "dev": true }, "update-notifier": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.2.0.tgz", - "integrity": "sha1-G1g3z5DAc22IYncytmHBOPht5y8=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", + "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "dev": true, "requires": { - "boxen": "1.2.1", - "chalk": "1.1.3", + "boxen": "1.3.0", + "chalk": "2.1.0", "configstore": "3.1.1", "import-lazy": "2.1.0", + "is-installed-globally": "0.1.0", "is-npm": "1.0.0", "latest-version": "3.1.0", "semver-diff": "2.1.0", "xdg-basedir": "3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } } }, "url": { @@ -6926,15 +7037,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" }, - "uuid-1345": { - "version": "0.99.6", - "resolved": "https://registry.npmjs.org/uuid-1345/-/uuid-1345-0.99.6.tgz", - "integrity": "sha1-sScK4BWnchx63sbEbsFpxgmK7UA=", - "dev": true, - "requires": { - "macaddress": "0.2.8" - } - }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", @@ -7070,12 +7172,45 @@ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "widest-line": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", - "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } } }, "window-size": { diff --git a/package.json b/package.json index 05392e5..c42f1bf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "screeener", "productName": "Screeener", - "version": "2.0.0", + "version": "2.0.1", "description": "", "main": "main.js", "scripts": { @@ -10,32 +10,20 @@ "pack": "webpack && build --dir", "dist": "webpack && build", "postinstall": "electron-builder install-app-deps", - "package-mac": "webpack && electron-packager . --overwrite --platform=darwin --arch=x64 --icon=app/assets/icon.icns --prune=true --out=release-builds" + "package-mac": + "webpack && electron-packager . --overwrite --platform=darwin --arch=x64 --icon=app/assets/icon.icns --prune=true --out=release-builds" }, "repository": "https://github.com/zehfernandes/screeener", - "keywords": [ - "Keynote", - "jxa", - "mockups" - ], + "keywords": ["Keynote", "jxa", "mockups"], "author": "Zeh Fernandes", "build": { "asar": false, - "files": [ - "**/*", - "!media${/*}" - ], + "files": ["**/*", "!media${/*}"], "appId": "com.zehfernandes.screenstokeynote", "mac": { "category": "public.app-category.productivity", - "target": [ - "dmg", - "zip", - "mas" - ], - "publish": [ - "github" - ] + "target": ["dmg", "zip", "mas"], + "publish": ["github"] }, "dmg": { "iconSize": 160, @@ -61,7 +49,7 @@ "babel-preset-react": "^6.22.0", "babel-preset-stage-1": "^6.22.0", "electron": "^1.4.1", - "electron-builder": "^19.8.0", + "electron-builder": "^19.54.0", "electron-packager": "^8.7.2", "eslint": "^3.7.1", "jshint": "^2.9.5"