removed dist

This commit is contained in:
Arne
2023-09-28 15:38:09 +02:00
parent 128d4da9d9
commit c891fdad45
32 changed files with 0 additions and 1061 deletions

View File

@@ -1,46 +0,0 @@
import { app, shell } from 'electron';
import { Window } from './window';
export class App {
static launch() {
app.on('window-all-closed', App.quit);
app.on('activate', App.start);
app.on('ready', App.start);
// Limit navigation and open external links in default browser
app.on('web-contents-created', App.openExternalLinksInDefaultBrowser);
}
static get electronWindow() {
return this._wrapper ? this._wrapper.electronWindow : undefined;
}
static start() {
// On MacOS it is common to re-create a window from app even after all windows have been closed
if (!App.electronWindow) {
App._wrapper = new Window();
}
}
static quit() {
// On MacOS it is common for applications to stay open until the user explicitly quits
// But WebDriverIO Test Runner does handle that behaviour yet
if (process.platform !== 'darwin' ||
global.appConfig.configId === 'e2e-test') {
app.quit();
}
}
}
App.openExternalLinksInDefaultBrowser = (event, contents) => {
// Disabling creation of new windows
contents.setWindowOpenHandler((handler) => {
// Telling the user platform to open this event's url in the default browser
shell.openExternal(handler.url);
// Blocking this event from loading in current app
return { action: 'deny' };
});
// Limiting navigation
contents.on('will-navigate', (event, navigationUrl) => {
const parsedUrl = new URL(navigationUrl);
// Allowing local navigation only
if (parsedUrl.origin !== 'http://localhost:4200') {
event.preventDefault();
}
});
};
//# sourceMappingURL=app.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/components/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAiB,KAAK,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,MAAM,OAAO,GAAG;IAGR,MAAM,CAAC,MAAM;QACnB,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAE3B,8DAA8D;QAC9D,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACvE,CAAC;IAEM,MAAM,KAAK,cAAc;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,KAAK;QACnB,+FAA+F;QAC/F,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;YACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,MAAM,EAAE,CAAC;SAC5B;IACF,CAAC;IAEO,MAAM,CAAC,IAAI;QAClB,sFAAsF;QACtF,6DAA6D;QAC7D,IACC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU,EACvC;YACD,GAAG,CAAC,IAAI,EAAE,CAAC;SACX;IACF,CAAC;;AAEc,qCAAiC,GAAG,CAClD,KAAqB,EACrB,QAA8B,EAC7B,EAAE;IACH,oCAAoC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,OAAgC,EAAE,EAAE;QAClE,4EAA4E;QAC5E,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEhC,kDAAkD;QAClD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CACV,eAAe,EACf,CAAC,KAAqB,EAAE,aAAqB,EAAE,EAAE;QAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QACzC,iCAAiC;QACjC,IAAI,SAAS,CAAC,MAAM,KAAK,uBAAuB,EAAE;YACjD,KAAK,CAAC,cAAc,EAAE,CAAC;SACvB;IACF,CAAC,CACD,CAAC;AACH,CAAC,CAAC"}

View File

@@ -1,126 +0,0 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import * as remoteMain from '@electron/remote/main';
import { app, BrowserWindow, ipcMain, nativeImage } from 'electron';
import * as path from 'node:path';
import { FileListService } from '../services/file-list-service';
import { PrintService } from './../services/print-service';
import { Logger } from '../utils/logger';
import { DoorService } from '../services/door-service';
import { readFile } from 'node:fs';
export class Window {
constructor() {
this.createWindow();
this.loadRenderer();
const fileListService = new FileListService();
this.registerService(fileListService);
this.registerService(new DoorService());
readFile('./config.json', 'utf8', (error, data) => {
if (error) {
console.log(error);
return;
}
const config = JSON.parse(data);
fileListService.setPaths(config.filePaths);
});
}
createWindow() {
this._electronWindow = new BrowserWindow({
fullscreen: false,
backgroundColor: '#FFFFFF',
icon: this.loadIcon(),
webPreferences: {
// Default behavior in Electron since 5, that
// limits the powers granted to remote content
// except in e2e test when those powers are required
nodeIntegration: global.appConfig.isNodeIntegration,
// Isolate window context to protect against prototype pollution
// except in e2e test when that access is required
contextIsolation: global.appConfig.isContextIsolation,
// Introduced in Electron 20 and enabled by default
// Among others security constraints, it prevents from required
// CommonJS modules imports into preload script
// which is not bundled yet in dev mode
sandbox: global.appConfig.isSandbox,
// Use a preload script to enhance security
preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY,
},
});
this._printService = new PrintService();
this._printService.setWindow(this._electronWindow);
this.registerService(this._printService);
// Disable the remote module to enhance security
// except in e2e test when that access is required
if (global.appConfig.isEnableRemoteModule) {
remoteMain.enable(this._electronWindow.webContents);
}
}
loadIcon() {
let iconObject;
if (global.appConfig.isIconAvailable) {
const iconPath = path.join(__dirname, 'icons/icon.png');
Logger.debug('Icon Path', iconPath);
iconObject = nativeImage.createFromPath(iconPath);
// Change dock icon on MacOS
if (iconObject && process.platform === 'darwin') {
app.dock.setIcon(iconObject);
}
}
return iconObject;
}
loadRenderer() {
if (global.appConfig.configId === 'development') {
// Dev mode, take advantage of the live reload by loading local URL
this.electronWindow.loadURL(`http://localhost:4200`);
}
else {
// Else mode, we simply load angular bundle
const indexPath = path.join(__dirname, '../renderer/angular_window/index.html');
this.electronWindow.loadURL(`file://${indexPath}`);
}
if (global.appConfig.isOpenDevTools) {
this.openDevTools();
}
// When the window is closed`
this._electronWindow.on('closed', () => {
// Remove IPC Main listeners
ipcMain.removeAllListeners();
// Delete current reference
delete this._electronWindow;
});
}
openDevTools() {
this._electronWindow.webContents.openDevTools();
this._electronWindow.webContents.on('devtools-opened', () => {
this._electronWindow.focus();
setImmediate(() => {
this._electronWindow.focus();
});
});
}
registerService(service) {
ipcMain.on(service.receptionChannel(), (event, ...parameters) => __awaiter(this, void 0, void 0, function* () {
// Handling input
const input = parameters[0];
Logger.debug(`[${service.receptionChannel()}] =====> `, input);
service.process(input).then((output) => {
// Handling output
if (service.sendingChannel()) {
Logger.debug(`[${service.sendingChannel()}] =====> `, output);
this._electronWindow.webContents.send(service.sendingChannel(), output);
}
});
}));
}
get electronWindow() {
return this._electronWindow;
}
}
//# sourceMappingURL=window.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/components/window.ts"],"names":[],"mappings":"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"}

View File

@@ -1,16 +0,0 @@
import * as fs from 'fs-extra';
import _ from 'lodash';
import * as path from 'node:path';
import { App } from './components/app';
// Load config
const currentEnvironment = process.env.X_NODE_ENV || process.env.NODE_ENV;
const appConfigs = fs.readJsonSync(path.join(__dirname, 'config.json'));
const defaultConfig = appConfigs.development;
const currentConfig = appConfigs[currentEnvironment];
global.appConfig =
currentEnvironment === 'development'
? defaultConfig
: _.merge(defaultConfig, currentConfig);
// Launch app
App.launch();
//# sourceMappingURL=index.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../workspaces/electron-app/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAWvC,cAAc;AACd,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC1E,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;AACxE,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC;AAC7C,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACrD,MAAM,CAAC,SAAS;IACf,kBAAkB,KAAK,aAAa;QACnC,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAE1C,aAAa;AACb,GAAG,CAAC,MAAM,EAAE,CAAC"}

View File

@@ -1,13 +0,0 @@
const NOT_IMPEMENTED_YET = 'Method not implemented yet.';
export class AbstractService {
receptionChannel() {
throw new Error(NOT_IMPEMENTED_YET);
}
sendingChannel() {
throw new Error(NOT_IMPEMENTED_YET);
}
process(_input) {
throw new Error(NOT_IMPEMENTED_YET);
}
}
//# sourceMappingURL=abstract-service.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"abstract-service.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/services/abstract-service.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,OAAO,eAAe;IAC3B,gBAAgB;QACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAED,cAAc;QACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,MAAU;QACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;CACD"}

View File

@@ -1,65 +0,0 @@
import { WindowApiConst } from 'shared-lib';
import { AbstractService } from './abstract-service';
import { readFile, set_fs } from 'xlsx';
import * as fs from 'node:fs';
set_fs(fs);
export class DoorService extends AbstractService {
receptionChannel() {
return WindowApiConst.PROJECT_INPUT;
}
sendingChannel() {
return WindowApiConst.PROJECT_OUTPUT;
}
process(input) {
return new Promise((resolve) => {
var _a, _b, _c, _d, _e, _f, _g, _h;
const workbook = readFile(`${input.path}/${input.name}`);
const workingSheet = workbook.Sheets['DEURLIJST'];
const doorList = [];
// remove 2 top rows
const headers = {};
// get header values
for (let index = 65; index <= 90; index++) {
const currentValue = (_a = workingSheet[`${index}3`]) === null || _a === void 0 ? void 0 : _a.v;
switch (currentValue) {
case 'L/R':
headers['lr'] = index;
break;
case 'KRUK/SLOT':
headers['krukSlot'] = index;
break;
case 'SCHARNIER':
headers['pivot'] = index;
break;
case 'SOORT DEUR':
headers['type'] = index;
break;
case 'MODEL KRUK':
headers['modelKruk'] = index;
break;
case 'OPMERKING':
headers['remark'] = index;
break;
default: break;
}
}
console.log(headers);
// stop at 19
for (let index = 4; index < 19; index++) {
const door = {};
door.nr = (_b = workingSheet[`A${index}`]) === null || _b === void 0 ? void 0 : _b.v;
if (door.nr) {
door.lr = (_c = workingSheet[`${headers['lr']}${index}`]) === null || _c === void 0 ? void 0 : _c.v;
door.krukSlot = (_d = workingSheet[`${headers['krukSlot']}${index}`]) === null || _d === void 0 ? void 0 : _d.v;
door.pivot = (_e = workingSheet[`${headers['pivot']}${index}`]) === null || _e === void 0 ? void 0 : _e.v;
door.type = (_f = workingSheet[`${headers['type']}${index}`]) === null || _f === void 0 ? void 0 : _f.v;
door.modelKruk = (_g = workingSheet[`${headers['modelKruk']}${index}`]) === null || _g === void 0 ? void 0 : _g.v;
door.remark = (_h = workingSheet[`${headers['remark']}${index}`]) === null || _h === void 0 ? void 0 : _h.v;
doorList.push(door);
}
}
resolve(doorList);
});
}
}
//# sourceMappingURL=door-service.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"door-service.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/services/door-service.ts"],"names":[],"mappings":"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"}

View File

@@ -1,52 +0,0 @@
import { readdir } from 'node:fs';
import { WindowApiConst } from 'shared-lib';
import { AbstractService } from './abstract-service';
export class FileListService extends AbstractService {
constructor() {
super(...arguments);
this._paths = ['./assets'];
}
receptionChannel() {
return WindowApiConst.FILELIST_INPUT;
}
sendingChannel() {
return WindowApiConst.FILELIST_OUTPUT;
}
process() {
return new Promise((resolve) => {
const projects = [];
Promise.all(this._paths.map((path) => this.readPath(path))).then((result) => {
for (const entry of result.entries()) {
for (const file of entry[1].result) {
projects.push({
path: entry[1].path,
name: file,
});
}
}
resolve(projects);
});
});
}
readPath(path) {
return new Promise((resolve) => {
readdir(path, (error, fileList) => {
if (!error) {
const newList = [];
for (const file of fileList) {
newList.push(file);
}
return resolve({
path,
result: newList,
});
}
return {};
});
});
}
setPaths(inputPaths) {
this._paths = inputPaths;
}
}
//# sourceMappingURL=file-list-service.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"file-list-service.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/services/file-list-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,eAAgB,SAAQ,eAA4B;IAAjE;;QACS,WAAM,GAAa,CAAC,UAAU,CAAC,CAAC;IAiDzC,CAAC;IA/CA,gBAAgB;QACf,OAAO,cAAc,CAAC,cAAc,CAAC;IACtC,CAAC;IAED,cAAc;QACb,OAAO,cAAc,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAU,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;gBAChF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;oBACrC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;wBACnC,QAAQ,CAAC,IAAI,CAAC;4BACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;4BACnB,IAAI,EAAE,IAAI;yBACV,CAAC,CAAC;qBACH;iBACD;gBACD,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnB,CAAC,CAAC,CAAA;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAkB,EAAE,EAAE;gBAC3C,IAAI,CAAC,KAAK,EAAE;oBACX,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;wBAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACnB;oBACD,OAAO,OAAO,CAAC;wBACd,IAAI;wBACJ,MAAM,EAAE,OAAO;qBACf,CAAC,CAAC;iBACH;gBAED,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,UAAoB;QACnC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC1B,CAAC;CACD"}

View File

@@ -1,20 +0,0 @@
// import { WindowApiConst } from 'shared-lib';
// import { AbstractService } from './abstract-service';
// export class MultiplesService extends AbstractService<number, number[]> {
// receptionChannel(): string {
// return WindowApiConst.MULTIPLES_INPUT;
// }
// sendingChannel(): string {
// return WindowApiConst.MULTIPLES_OUTPUT;
// }
// process(input: number): number[] {
// // From 1 to 10, return input multiples
// const multiples = [];
// for (let n = 1; n <= 10; n++) {
// multiples.push(n * input);
// }
// return multiples;
// }
// }
//
//# sourceMappingURL=multiples-service.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"multiples-service.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/services/multiples-service.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,wDAAwD;AAExD,4EAA4E;AAC5E,gCAAgC;AAChC,2CAA2C;AAC3C,KAAK;AAEL,8BAA8B;AAC9B,4CAA4C;AAC5C,KAAK;AAEL,sCAAsC;AACtC,4CAA4C;AAC5C,0BAA0B;AAC1B,oCAAoC;AACpC,gCAAgC;AAChC,MAAM;AACN,sBAAsB;AACtB,KAAK;AACL,IAAI;AACJ,EAAE"}

View File

@@ -1,22 +0,0 @@
import { WindowApiConst } from 'shared-lib';
import { AbstractService } from './abstract-service';
export class PrintService extends AbstractService {
sendingChannel() {
return WindowApiConst.PRINT_OUTPUT;
}
receptionChannel() {
return WindowApiConst.PRINT_INPUT;
}
process() {
return new Promise((resolve) => {
if (this._browserWindow) {
this._browserWindow.webContents.print({ silent: true });
}
resolve();
});
}
setWindow(window) {
this._browserWindow = window;
}
}
//# sourceMappingURL=print-service.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"print-service.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/services/print-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,YAAa,SAAQ,eAA6B;IAE9D,cAAc;QACb,OAAO,cAAc,CAAC,YAAY,CAAC;IACpC,CAAC;IAED,gBAAgB;QACf,OAAO,cAAc,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,OAAO;QACN,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACxD;YACD,OAAO,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,SAAS,CAAC,MAAqB;QACrC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC9B,CAAC;CACD"}

View File

@@ -1,113 +0,0 @@
import { app } from 'electron';
import * as os from 'node:os';
import * as path from 'node:path';
import * as winston from 'winston';
export class Logger {
constructor() {
/**
* Custom winston file format
* Write JSON logs with given format :
* `${timestamp} ${level} : ${info.message} : ${meta})`
*/
this.fileFormat = winston.format.printf((data) => {
return JSON.stringify(this.prepareLogData(data));
});
/**
* Custom winston console format
* Write logs with given format :
* `${timestamp} ${level} : ${info.message} : JSON.stringify({ ...meta }) `
*/
this.consoleFormat = winston.format.printf((data) => {
const preparedData = this.prepareLogData(data);
return (`${preparedData.timestamp} ${preparedData.level} : ` +
`${preparedData.message} : ${JSON.stringify(preparedData.meta)}`);
});
this.prepareLogData = (data) => {
const additionalData = Object.assign({}, data);
delete additionalData.timestamp;
delete additionalData.level;
delete additionalData.message;
delete additionalData.service;
return {
timestamp: data.timestamp,
level: data.level,
message: data.message,
meta: additionalData,
};
};
this._logger = winston.createLogger({
level: 'debug',
format: winston.format.json(),
defaultMeta: { service: 'user-service' },
transports: [
new winston.transports.File({
filename: this.getLogFilename(),
level: global.appConfig.mainLogLevel,
format: winston.format.combine(winston.format.timestamp(), this.fileFormat),
}),
],
});
// If we're not in production then log also to the `console` with the format:
// `${info.timestamp} ${info.level}: ${info.message} JSON.stringify({ ...rest }) `
if (global.appConfig.configId === 'development') {
this._logger.add(new winston.transports.Console({
stderrLevels: ['error', 'warn'],
format: winston.format.combine(winston.format.timestamp(), this.consoleFormat),
}));
}
}
static error(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.error(message, meta);
}
static warn(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.warn(message, meta);
}
static info(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.info(message, meta);
}
static http(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.http(message, meta);
}
static verbose(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.verbose(message, meta);
}
static debug(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.debug(message, meta);
}
static silly(message, ...meta) {
Logger.initSingleton();
Logger.singleton._logger.silly(message, meta);
}
static initSingleton() {
if (!Logger.singleton) {
Logger.singleton = new Logger();
}
}
/**
* Returns log filename with standard path
* In production, returns absolute standard path depending on platform
*/
getLogFilename() {
let filename = global.appConfig.mainLogFile;
if (global.appConfig.configId === 'production') {
const appName = app.getName();
if (process.platform == 'linux') {
filename = `.config/${appName}/${filename}`;
}
else if (process.platform == 'darwin') {
filename = `Library/Logs/${appName}/${filename}`;
}
else if (process.platform == 'win32') {
filename = `AppData\\Roaming\\${appName}\\${filename}`;
}
}
return path.join(os.homedir(), filename);
}
}
//# sourceMappingURL=logger.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../workspaces/electron-app/main/utils/logger.ts"],"names":[],"mappings":"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"}

View File

@@ -1,30 +0,0 @@
/**
* This file will automatically be loaded by webpack and run in the "renderer" context.
* To learn more about the differences between the "main" and the "renderer" context in
* Electron, visit:
*
* https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes
*
* By default, Node.js integration in this file is disabled. When enabling Node.js integration
* in a renderer process, please be aware of potential security implications. You can read
* more about security risks here:
*
* https://electronjs.org/docs/tutorial/security
*
* To enable Node.js integration in this file, open up `main.js` and enable the `nodeIntegration`
* flag:
*
* ```
* // Create the browser window.
* mainWindow = new BrowserWindow({
* width: 800,
* height: 600,
* webPreferences: {
* nodeIntegration: true
* }
* });
* ```
*/
import './index.css';
console.log('👋 This message is being logged by "renderer.js", included via webpack');
//# sourceMappingURL=index.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../workspaces/electron-app/renderer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,aAAa,CAAC;AAErB,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC"}

View File

@@ -1,53 +0,0 @@
/*/ To secure user platform when running renderer process stuff,
// Node.JS and Electron APIs are only available in this script
import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron';
import { WindowApi, WindowApiConst } from 'shared-lib';
// So we expose protected methods that allow the renderer process
// to use the ipcRenderer without exposing the entire object
const windowApi: WindowApi = {
send: <In>(channel: string, input: In) => {
if (WindowApiConst.SENDING_SAFE_CHANNELS.includes(channel)) {
ipcRenderer.send(channel, input);
}
},
receive: <Out>(channel: string, callback: (output: Out) => void) => {
if (WindowApiConst.RECEIVING_SAFE_CHANNELS.includes(channel)) {
// Deliberately strip event as it includes `sender`
ipcRenderer.on(
channel,
(_event: IpcRendererEvent, ...parameters: any[]) =>
callback(parameters[0])
);
}
},
};
declare const window: Window;
if (process.env.X_NODE_ENV === 'e2e-test') {
// Injecting windowApi directly
window.api = windowApi;
} else {
// ContextBridge API can only be used when contextIsolation is enabled
// which is normally the case except in e2e test mode
contextBridge.exposeInMainWorld('api', windowApi);
}*/
import { contextBridge, ipcRenderer } from 'electron';
import { WindowApiConst } from 'shared-lib';
contextBridge.exposeInMainWorld('api', {
node: () => process.versions.node,
chrome: () => process.versions.chrome,
electron: () => process.versions.electron,
send: (channel, input) => {
if (WindowApiConst.SENDING_SAFE_CHANNELS.includes(channel)) {
ipcRenderer.send(channel, input);
}
},
receive: (channel, callback) => {
// Deliberately strip event as it includes `sender`
ipcRenderer.on(channel, (_event, ...parameters) => callback(parameters[0]));
},
// we can also expose variables, not just functions
});
console.log('The preload script has been injected successfully.');
//# sourceMappingURL=preload.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../../../workspaces/electron-app/renderer/preload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,aAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE;IACtC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzC,IAAI,EAAE,CAAK,OAAe,EAAE,KAAS,EAAE,EAAE;QACxC,IAAI,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC3D,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACjC;IACF,CAAC;IACD,OAAO,EAAE,CAAM,OAAe,EAAE,QAA+B,EAAE,EAAE;QAClE,mDAAmD;QACnD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAwB,EAAE,GAAG,UAAiB,EAAE,EAAE,CAC1E,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACvB,CAAC;IACH,CAAC;IACD,mDAAmD;CACnD,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC"}

View File

@@ -1,54 +0,0 @@
/*import MainPage from './pageobjects/main.page';
describe('My Login application', () => {
it('should login with valid credentials', async () => {
await MainPage.open();
/*await LoginPage.open();
await LoginPage.login('tomsmith', 'SuperSecretPassword!');
await expect(SecurePage.flashAlert).toBeExisting();
await expect(SecurePage.flashAlert).toHaveTextContaining(
'You logged into a secure area!');* /
});
});* /
describe('application loading', () => {
describe('App', () => {
it('should launch the application', async () => {
console.log('==>', await browser.getTitle());
// expect(title).toEqual('Test');
});
// it('should pass args through to the launched application', async () => {
// // custom args are set in the wdio.conf.js file as they need to be set before WDIO starts
// const argv = await app.mainProcess.argv();
// expect(argv).toContain('--foo');
// expect(argv).toContain('--bar=baz');
// });
});
}); */
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
describe('A simple test to check if app window is opened, visible and with expected title', () => {
describe('App should', () => {
it('show an initial window', () => __awaiter(this, void 0, void 0, function* () {
// Checking there is one visible window
// expect(await browser.).toEqual(true);
// Please note that getWindowHandles() will return 2 if `dev tools` is opened.
const { length } = yield browser.getWindowHandles();
expect(length).toEqual(1);
}));
it('have expected title', () => __awaiter(this, void 0, void 0, function* () {
expect(yield browser.getTitle()).toEqual('ElectronAngularQuickStart');
}));
});
});
//# sourceMappingURL=app.spec.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"app.spec.js","sourceRoot":"","sources":["../../workspaces/electron-e2e/app.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6BM;;;;;;;;;;AAEN,QAAQ,CAAC,iFAAiF,EAAE,GAAG,EAAE;IAChG,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,wBAAwB,EAAE,GAAS,EAAE;YACvC,uCAAuC;YACvC,wCAAwC;YACxC,8EAA8E;YAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,GAAS,EAAE;YACpC,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACvE,CAAC,CAAA,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}

View File

@@ -1,28 +0,0 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import MultiplesPage from './pageobjects/multiples.page';
describe('A simple test to check if a given input matches with computed multiples', () => {
describe('Multiples component should', () => {
it('show up on startup', () => __awaiter(void 0, void 0, void 0, function* () {
yield expect(MultiplesPage.root).toBeDisplayed();
}));
const number = Math.floor(Math.random() * 100) % 10;
it(`display expected results on input (${number})`, () => __awaiter(void 0, void 0, void 0, function* () {
yield MultiplesPage.enterInput(number);
const results = yield MultiplesPage.results;
for (const index of results.keys()) {
const ntimes = 1 + index;
const expected = `${number} * ${ntimes} = ${number * ntimes}`;
expect(yield results[index].getText()).toEqual(expected);
}
}));
});
});
//# sourceMappingURL=multiples.spec.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"multiples.spec.js","sourceRoot":"","sources":["../../workspaces/electron-e2e/multiples.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AAEzD,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACxF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,oBAAoB,EAAE,GAAS,EAAE;YACnC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QACpD,EAAE,CAAC,sCAAsC,MAAM,GAAG,EAAE,GAAS,EAAE;YAC9D,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;gBACzB,MAAM,QAAQ,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;gBAC9D,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACzD;QACF,CAAC,CAAA,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}

View File

@@ -1,38 +0,0 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import AbstractPage from './page';
class MultiplesPage extends AbstractPage {
/**
* Selectors using getter methods
*/
get root() {
return $('#multiples');
}
get input() {
return $('#input');
}
get results() {
return $$('.results');
}
get buttonSubmit() {
return $('button[type="submit"]');
}
/**
* Wrapper method to interact with the page
*/
enterInput(number) {
return __awaiter(this, void 0, void 0, function* () {
yield this.input.setValue(number);
yield this.buttonSubmit.click();
});
}
}
export default new MultiplesPage();
//# sourceMappingURL=multiples.page.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"multiples.page.js","sourceRoot":"","sources":["../../../workspaces/electron-e2e/pageobjects/multiples.page.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,MAAM,aAAc,SAAQ,YAAY;IACvC;;OAEG;IACH,IAAW,IAAI;QACd,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,CAAC;IAED,IAAW,KAAK;QACf,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAED,IAAW,YAAY;QACtB,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACU,UAAU,CAAC,MAAc;;YACrC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;KAAA;CACD;AAED,eAAe,IAAI,aAAa,EAAE,CAAC"}

View File

@@ -1,7 +0,0 @@
/**
* Abstract page object containing all methods, selectors and functionality
* that is shared across all page objects
*/
export default class AbstractPage {
}
//# sourceMappingURL=page.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../workspaces/electron-e2e/pageobjects/page.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAgB,YAAY;CAEzC"}

View File

@@ -1,362 +0,0 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import path from 'node:path';
// Path to local electron binary
let electronPath = path.join(__dirname, '../../node_modules/.bin/electron');
if (process.platform === 'win32') {
electronPath += '.cmd';
}
// Starting hook
const waitUntilWindowLoaded = () => __awaiter(void 0, void 0, void 0, function* () {
const timeout = 10000;
yield browser.waitUntil(() => __awaiter(void 0, void 0, void 0, function* () { return (yield browser.isLoading()) === false; }), {
timeout: timeout,
timeoutMsg: `Expected app to be loaded in less than ${timeout}ms`,
});
});
// Closing hook
const closeApplication = () => __awaiter(void 0, void 0, void 0, function* () {
if (browser) {
// Wait 1 second and close window
yield new Promise((resolve) => setTimeout(resolve, 1000));
yield browser.closeWindow();
}
});
export const config = {
//
// ====================
// Runner Configuration
// ====================
//
//
// =====================
// ts-node Configurations
// =====================
//
// You can write tests using TypeScript to get autocompletion and type safety.
// You will need typescript and ts-node installed as devDependencies.
// WebdriverIO will automatically detect if these dependencies are installed
// and will compile your config and tests for you.
// If you need to configure how ts-node runs please use the
// environment variables for ts-node or use wdio config's autoCompileOpts section.
//
autoCompileOpts: {
autoCompile: true,
// see https://github.com/TypeStrong/ts-node#cli-and-programmatic-options
// for all available options
tsNodeOpts: {
transpileOnly: true,
project: 'workspaces/electron-e2e/tsconfig.json',
},
// tsconfig-paths is only used if "tsConfigPathsOpts" are provided, if you
// do please make sure "tsconfig-paths" is installed as dependency
// tsConfigPathsOpts: {
// baseUrl: './'
// }
},
//
// ==================
// Specify Test Files
// ==================
// Define which test specs should run. The pattern is relative to the directory
// from which `wdio` was called.
//
// The specs are defined as an array of spec files (optionally using wildcards
// that will be expanded). The test for each spec file will be run in a separate
// worker process. In order to have a group of spec files run in the same worker
// process simply enclose them in an array within the specs array.
//
// If you are calling `wdio` from an NPM script (see https://docs.npmjs.com/cli/run-script),
// then the current working directory is where your `package.json` resides, so `wdio`
// will be called from there.
//
specs: ['./workspaces/electron-e2e/**/*.spec.ts'],
// Patterns to exclude.
exclude: [
// 'path/to/excluded/files'
],
//
// ============
// Capabilities
// ============
// Define your capabilities here. WebdriverIO can run multiple capabilities at the same
// time. Depending on the number of capabilities, WebdriverIO launches several test
// sessions. Within your capabilities you can overwrite the spec and exclude options in
// order to group specific specs to a specific capability.
//
// First, you can define how many instances should be started at the same time. Let's
// say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have
// set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec
// files and you set maxInstances to 10, all spec files will get tested at the same time
// and 30 processes will get spawned. The property handles how many capabilities
// from the same test should run tests.
//
maxInstances: 10,
//
// If you have trouble getting all important capabilities together, check out the
// Sauce Labs platform configurator - a great tool to configure your capabilities:
// https://saucelabs.com/platform/platform-configurator
//
capabilities: [
{
// maxInstances can get overwritten per capability. So if you have an in-house Selenium
// grid with only 5 firefox instances available you can make sure that not more than
// 5 instances get started at a time.
maxInstances: 5,
//
browserName: 'chrome',
acceptInsecureCerts: true,
'goog:chromeOptions': {
binary: electronPath,
args: ['app=' + '.webpack/main/index.js'],
},
// If outputDir is provided WebdriverIO can capture driver session logs
// it is possible to configure which logTypes to include/exclude.
// excludeDriverLogs: ['*'], // pass '*' to exclude all driver session logs
// excludeDriverLogs: ['bugreport', 'server'],
},
],
//
// ===================
// Test Configurations
// ===================
// Define all options that are relevant for the WebdriverIO instance here
//
// Level of logging verbosity: trace | debug | info | warn | error | silent
logLevel: 'info',
//
// Set specific log levels per logger
// loggers:
// - webdriver, webdriverio
// - @wdio/browserstack-service, @wdio/devtools-service, @wdio/sauce-service
// - @wdio/mocha-framework, @wdio/jasmine-framework
// - @wdio/local-runner
// - @wdio/sumologic-reporter
// - @wdio/cli, @wdio/config, @wdio/utils
// Level of logging verbosity: trace | debug | info | warn | error | silent
// logLevels: {
// webdriver: 'info',
// '@wdio/appium-service': 'info'
// },
//
// If you only want to run your tests until a specific amount of tests have failed use
// bail (default is 0 - don't bail, run all tests).
bail: 0,
//
// Set a base URL in order to shorten url command calls. If your `url` parameter starts
// with `/`, the base url gets prepended, not including the path portion of your baseUrl.
// If your `url` parameter starts without a scheme or `/` (like `some/path`), the base url
// gets prepended directly.
baseUrl: 'http://localhost',
//
// Default timeout for all waitFor* commands.
waitforTimeout: 10000,
//
// Default timeout in milliseconds for request
// if browser driver or grid doesn't send response
connectionRetryTimeout: 120000,
//
// Default request retries count
connectionRetryCount: 3,
//
// Test runner services
// Services take over a specific job you don't want to take care of. They enhance
// your test setup with almost no effort. Unlike plugins, they don't add new
// commands. Instead, they hook themselves up into the test process.
services: ['chromedriver'],
// Framework you want to run your specs with.
// The following are supported: Mocha, Jasmine, and Cucumber
// see also: https://webdriver.io/docs/frameworks
//
// Make sure you have the wdio adapter package for the specific framework installed
// before running any tests.
framework: 'jasmine',
//
// The number of times to retry the entire specfile when it fails as a whole
// specFileRetries: 1,
//
// Delay in seconds between the spec file retry attempts
// specFileRetriesDelay: 0,
//
// Whether or not retried specfiles should be retried immediately or deferred to the end of the queue
// specFileRetriesDeferred: false,
//
// Test reporter for stdout.
// The only one supported by default is 'dot'
// see also: https://webdriver.io/docs/dot-reporter
reporters: ['spec', ['allure', { outputDir: 'allure-results' }]],
//
// Options to be passed to Jasmine.
jasmineOpts: {
// Jasmine default timeout
defaultTimeoutInterval: 60000,
//
// The Jasmine framework allows interception of each assertion in order to log the state of the application
// or website depending on the result. For example, it is pretty handy to take a screenshot every time
// an assertion fails.
expectationResultHandler: function (_passed, _assertion) {
// do something
},
},
//
// =====
// Hooks
// =====
// WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance
// it and to build services around it. You can either apply a single function or an array of
// methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got
// resolved to continue.
/**
* Gets executed once before all workers get launched.
* @param {Object} config wdio configuration object
* @param {Array.<Object>} capabilities list of capabilities details
*/
// onPrepare: function (config, capabilities) {
// },
/**
* Gets executed before a worker process is spawned and can be used to initialise specific service
* for that worker as well as modify runtime environments in an async fashion.
* @param {String} cid capability id (e.g 0-0)
* @param {[type]} caps object containing capabilities for session that will be spawn in the worker
* @param {[type]} specs specs to be run in the worker process
* @param {[type]} args object that will be merged with the main configuration once worker is initialized
* @param {[type]} execArgv list of string arguments passed to the worker process
*/
// onWorkerStart: function (cid, caps, specs, args, execArgv) {
// },
/**
* Gets executed just after a worker process has exited.
* @param {String} cid capability id (e.g 0-0)
* @param {Number} exitCode 0 - success, 1 - fail
* @param {[type]} specs specs to be run in the worker process
* @param {Number} retries number of retries used
*/
// onWorkerEnd: function (cid, exitCode, specs, retries) {
// },
/**
* Gets executed just before initialising the webdriver session and test framework. It allows you
* to manipulate configurations depending on the capability or spec.
* @param {Object} config wdio configuration object
* @param {Array.<Object>} capabilities list of capabilities details
* @param {Array.<String>} specs List of spec file paths that are to be run
* @param {String} cid worker id (e.g. 0-0)
*/
// beforeSession: function (config, capabilities, specs, cid) {
// },
/**
* Gets executed before test execution begins. At this point you can access to all global
* variables like `browser`. It is the perfect place to define custom commands.
* @param {Array.<Object>} capabilities list of capabilities details
* @param {Array.<String>} specs List of spec file paths that are to be run
* @param {Object} browser instance of created browser/device session
*/
// before: function (capabilities, specs) {
// },
/**
* Runs before a WebdriverIO command gets executed.
* @param {String} commandName hook command name
* @param {Array} args arguments that command would receive
*/
// beforeCommand: function (commandName, args) {
// },
/**
* Hook that gets executed before the suite starts
* @param {Object} suite suite details
*/
beforeSuite: (_suite) => __awaiter(void 0, void 0, void 0, function* () {
yield waitUntilWindowLoaded();
}),
/**
* Function to be executed before a test (in Mocha/Jasmine) starts.
*/
// beforeTest: function (test, context) {
// },
/**
* Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling
* beforeEach in Mocha)
*/
// beforeHook: function (test, context) {
// },
/**
* Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling
* afterEach in Mocha)
*/
// afterHook: function (test, context, { error, result, duration, passed, retries }) {
// },
/**
* Function to be executed after a test (in Mocha/Jasmine only)
* @param {Object} test test object
* @param {Object} context scope object the test was executed with
* @param {Error} result.error error object in case the test fails, otherwise `undefined`
* @param {Any} result.result return object of test function
* @param {Number} result.duration duration of test
* @param {Boolean} result.passed true if test has passed, otherwise false
* @param {Object} result.retries informations to spec related retries, e.g. `{ attempts: 0, limit: 0 }`
*/
afterTest: function (_test, _context, result) {
return __awaiter(this, void 0, void 0, function* () {
// result = { _error, _result, _duration, passed, _retries }
if (!result.passed) {
yield browser.takeScreenshot();
}
});
},
/**
* Hook that gets executed after the suite has ended
* @param {Object} suite suite details
*/
// afterSuite: async function (_suite) {
// },
/**
* Runs after a WebdriverIO command gets executed
* @param {String} commandName hook command name
* @param {Array} args arguments that command would receive
* @param {Number} result 0 - command success, 1 - command error
* @param {Object} error error object if any
*/
// afterCommand: function (commandName, args, result, error) {
// },
/**
* Gets executed after all tests are done. You still have access to all global variables from
* the test.
* @param {Number} result 0 - test pass, 1 - test fail
* @param {Array.<Object>} capabilities list of capabilities details
* @param {Array.<String>} specs List of spec file paths that ran
*/
after: (_result, _capabilities, _specs) => __awaiter(void 0, void 0, void 0, function* () {
yield closeApplication();
}),
/**
* Gets executed right after terminating the webdriver session.
* @param {Object} config wdio configuration object
* @param {Array.<Object>} capabilities list of capabilities details
* @param {Array.<String>} specs List of spec file paths that ran
*/
// afterSession: function (config, capabilities, specs) {
// },
/**
* Gets executed after all workers got shut down and the process is about to exit. An error
* thrown in the onComplete hook will result in the test run failing.
* @param {Object} exitCode 0 - success, 1 - fail
* @param {Object} config wdio configuration object
* @param {Array.<Object>} capabilities list of capabilities details
* @param {<Object>} results object containing test results
*/
// onComplete: function(_exitCode, _config, _capabilities, _results) {
// },
/**
* Gets executed when a refresh happens.
* @param {String} oldSessionId session ID of the old session
* @param {String} newSessionId session ID of the new session
*/
// onReload: function(oldSessionId, newSessionId) {
// }
};
//# sourceMappingURL=webdriverio.config.js.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"webdriverio.config.js","sourceRoot":"","sources":["../../workspaces/electron-e2e/webdriverio.config.ts"],"names":[],"mappings":"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"}