UNPKG

floss

Version:

Unit-testing for those hard to reach places

63 lines 4.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fs_1 = require("fs"); const path = require("path"); const electron_1 = require("electron"); const chalk = require("chalk"); // Get the configuration path const configPath = path.join(electron_1.app.getPath('userData'), 'config.json'); /** * Restore the bounds of the window. */ const restoreBounds = () => { try { return JSON.parse(fs_1.readFileSync(configPath, 'utf8')); } catch (e) { return { width: 1024, height: 768 }; } }; const createWindow = () => { const args = JSON.parse(process.argv.slice(2)[0]); // Get the window bounds const options = Object.assign(Object.assign({}, restoreBounds()), { show: args.debug, background: '#fff', webPreferences: { nodeIntegration: true, enableRemoteModule: true, contextIsolation: false, } }); // Create the browser window. const mainWindow = new electron_1.BrowserWindow(options); electron_1.ipcMain .on("floss-done" /* Done */, () => process.exit(0)) .on("floss-error" /* Error */, (_event, message) => { if (message) { console.error(chalk.red(`\n[floss] Error: ${message}\n`)); } process.exit(1); }); // and load the index.html of the app. mainWindow.loadFile(path.join(__dirname, 'index.html')); const { webContents } = mainWindow; // don't show the dev tools if you're not in headless mode. this is to // avoid having breakpoints and "pause on caught / uncaught exceptions" halting // the runtime. plus, if you're in headless mode, having the devtools open is probably // not very useful anyway if (args.debug) { webContents.openDevTools({ mode: 'bottom' }); } webContents.on('did-finish-load', () => { webContents.send("floss-start" /* Start */, JSON.stringify(args)); }); mainWindow.on('close', () => { fs_1.writeFileSync(configPath, JSON.stringify(mainWindow.getBounds())); }); }; // This method will be called when Electron has finished // initialization and is ready to create browser windows. electron_1.app.whenReady().then(createWindow); // Quit when all windows are closed. electron_1.app.on('window-all-closed', () => electron_1.app.quit()); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQWlEO0FBQ2pELDZCQUE2QjtBQUM3Qix1Q0FBdUQ7QUFFdkQsK0JBQStCO0FBRS9CLDZCQUE2QjtBQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFckU7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxHQUFnQyxFQUFFO0lBRXBELElBQ0E7UUFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQVksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztLQUN2RDtJQUNELE9BQU8sQ0FBQyxFQUNSO1FBQ0ksT0FBTztZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLEdBQUc7U0FDZCxDQUFDO0tBQ0w7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFFdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxELHdCQUF3QjtJQUN4QixNQUFNLE9BQU8sbUNBQ04sYUFBYSxFQUFFLEtBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUNoQixVQUFVLEVBQUUsTUFBTSxFQUNsQixjQUFjLEVBQUU7WUFDWixlQUFlLEVBQUUsSUFBSTtZQUNyQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGdCQUFnQixFQUFFLEtBQUs7U0FDMUIsR0FDSixDQUFDO0lBRUYsNkJBQTZCO0lBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksd0JBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5QyxrQkFBTztTQUNGLEVBQUUsMEJBQWtCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUMsRUFBRSw0QkFBbUIsQ0FBQyxNQUFXLEVBQUUsT0FBZSxFQUFFLEVBQUU7UUFFbkQsSUFBSSxPQUFPLEVBQ1g7WUFDSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsb0JBQW9CLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztTQUM3RDtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFUCxzQ0FBc0M7SUFDdEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRXhELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFFbkMsc0VBQXNFO0lBQ3RFLCtFQUErRTtJQUMvRSx1RkFBdUY7SUFDdkYseUJBQXlCO0lBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssRUFDZDtRQUNJLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUNoRDtJQUVELFdBQVcsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFO1FBRW5DLFdBQVcsQ0FBQyxJQUFJLDRCQUFtQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFFeEIsa0JBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsd0RBQXdEO0FBQ3hELHlEQUF5RDtBQUN6RCxjQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRW5DLG9DQUFvQztBQUNwQyxjQUFHLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDIn0=