refactor: convert to ESM syntax

This commit is contained in:
Agampreet Singh
2024-05-07 15:43:33 +05:30
parent 36e42e311b
commit 9fac90d90b
5 changed files with 75 additions and 72 deletions

View File

@@ -1,26 +1,34 @@
const { app, Menu, BrowserWindow, dialog, nativeImage } = require("electron"); import { app, Menu, BrowserWindow, dialog, nativeImage } from "electron";
const { autoUpdater } = require("electron-updater"); import { clearActivity, setActivity, loginToRPC } from './rpc.js';
const checkInternetConnected = require("check-internet-connected"); import { ElectronBlocker } from "@cliqz/adblocker-electron";
const ElectronDl = require("electron-dl"); import { getValue } from './store.js';
const contextMenu = require("electron-context-menu"); import { fileURLToPath } from 'url';
const path = require("path"); import { dirname } from 'path';
const log = require("electron-log"); import { join } from "path";
const { setActivity, loginToRPC, clearActivity } = require("./rpc");
const useragents = require("./useragents.json");
const { ElectronBlocker } = require("@cliqz/adblocker-electron");
const { getValue } = require("./store");
const { menulayout } = require("./menu");
log.transports.file.level = "verbose"; import Windows from "./useragents.json" with { type: "json" };
console.log = log.log; import checkInternetConnected from "check-internet-connected";
Object.assign(console, log.functions); import contextMenu from "electron-context-menu";
import updaterpkg from "electron-updater";
import ElectronDl from "electron-dl";
import menulayout from './menu.js'
import logpkg from 'electron-log';
const { transports, log: _log, functions } = logpkg;
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const { autoUpdater } = updaterpkg;
transports.file.level = "verbose";
console.log = _log;
Object.assign(console, functions);
function createWindow() { function createWindow() {
if (getValue("enterprise-or-normal") === "https://microsoft365.com/?auth=1") { if (getValue("enterprise-or-normal") === "https://microsoft365.com/?auth=1") {
var win = new BrowserWindow({ var win = new BrowserWindow({
width: 1181, width: 1181,
height: 670, height: 670,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"), icon: join(__dirname, "/assets/icons/png/1024x1024.png"),
show: false, show: false,
webPreferences: { webPreferences: {
nodeIntegration: true, nodeIntegration: true,
@@ -34,7 +42,7 @@ function createWindow() {
var win = new BrowserWindow({ var win = new BrowserWindow({
width: 1181, width: 1181,
height: 670, height: 670,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"), icon: join(__dirname, "/assets/icons/png/1024x1024.png"),
show: false, show: false,
webPreferences: { webPreferences: {
nodeIntegration: true, nodeIntegration: true,
@@ -55,14 +63,14 @@ function createWindow() {
height: 610, height: 610,
transparent: true, transparent: true,
frame: false, frame: false,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"), icon: join(__dirname, "/assets/icons/png/1024x1024.png"),
}); });
splash.loadURL(`https://agam778.github.io/MS-365-Electron/loading`); splash.loadURL(`https://agam778.github.io/MS-365-Electron/loading`);
win.loadURL( win.loadURL(
`${getValue("enterprise-or-normal") || "https://microsoft365.com/?auth=1"}`, `${getValue("enterprise-or-normal") || "https://microsoft365.com/?auth=1"}`,
{ {
userAgent: getValue("useragentstring") || useragents.Windows, userAgent: getValue("useragentstring") || Windows,
} }
); );
@@ -159,11 +167,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/powerpoint-mac.png") join(__dirname, "../assets/icons/apps/powerpoint-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/powerpoint.png") join(__dirname, "../assets/icons/apps/powerpoint.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "PowerPoint"); window.setOverlayIcon(nimage, "PowerPoint");
@@ -179,11 +187,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/word-mac.png") join(__dirname, "../assets/icons/apps/word-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/word.png") join(__dirname, "../assets/icons/apps/word.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Word"); window.setOverlayIcon(nimage, "Word");
@@ -199,11 +207,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/excel-mac.png") join(__dirname, "../assets/icons/apps/excel-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/excel.png") join(__dirname, "../assets/icons/apps/excel.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Excel"); window.setOverlayIcon(nimage, "Excel");
@@ -219,11 +227,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/outlook-mac.png") join(__dirname, "../assets/icons/apps/outlook-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/outlook.png") join(__dirname, "../assets/icons/apps/outlook.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Outlook"); window.setOverlayIcon(nimage, "Outlook");
@@ -239,11 +247,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/onedrive-mac.png") join(__dirname, "../assets/icons/apps/onedrive-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/onedrive.png") join(__dirname, "../assets/icons/apps/onedrive.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "OneDrive"); window.setOverlayIcon(nimage, "OneDrive");
@@ -256,11 +264,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/teams-mac.png") join(__dirname, "../assets/icons/apps/teams-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/teams.png") join(__dirname, "../assets/icons/apps/teams.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Teams"); window.setOverlayIcon(nimage, "Teams");
@@ -273,11 +281,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/onenote-mac.png") join(__dirname, "../assets/icons/apps/onenote-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/onenote.png") join(__dirname, "../assets/icons/apps/onenote.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "OneNote"); window.setOverlayIcon(nimage, "OneNote");

View File

@@ -1,20 +1,22 @@
const useragents = require("./useragents.json"); import { app, dialog, BrowserWindow, ShareMenu, clipboard } from "electron";
const { import { getValue, setValue, getValueOrDefault } from './store.js';
app, import { ElectronBlocker } from "@cliqz/adblocker-electron";
dialog, import { clearActivity, setActivity } from './rpc.js';
BrowserWindow, import { fileURLToPath } from 'url';
ShareMenu, import { shell } from "electron";
clipboard, import { dirname } from 'path';
} = require("electron");
const axios = require("axios"); import useragents from "./useragents.json" with { type: "json" }
const { clearActivity, setActivity } = require("./rpc"); import openAboutWindow from "about-window";
const { shell } = require("electron"); import updaterpkg from "electron-updater";
const { autoUpdater } = require("electron-updater"); import fetch from "cross-fetch";
const { ElectronBlocker } = require("@cliqz/adblocker-electron"); import axios from "axios";
const fetch = require("cross-fetch"); import path from "path";
const openAboutWindow = require("about-window").default;
const path = require("path"); const __filename = fileURLToPath(import.meta.url);
const { getValue, setValue, getValueOrDefault } = require("./store"); const __dirname = dirname(__filename);
const { autoUpdater } = updaterpkg;
async function checkForUpdates() { async function checkForUpdates() {
try { try {
@@ -70,7 +72,6 @@ async function openExternalLink(url) {
} }
async function openLogsFolder() { async function openLogsFolder() {
const { shell } = require("electron");
if (process.platform === "win32") { if (process.platform === "win32") {
await shell.openPath( await shell.openPath(
"C:\\Users\\" + "C:\\Users\\" +
@@ -1262,4 +1263,5 @@ const menulayout = [
], ],
}, },
]; ];
module.exports = { menulayout };
export default menulayout;

View File

@@ -1,12 +1,12 @@
const { Client } = require("@xhayper/discord-rpc"); import { dialog, BrowserWindow } from "electron";
const { dialog, BrowserWindow } = require("electron"); import { Client } from "@xhayper/discord-rpc";
const { setValue } = require("./store"); import { setValue } from "./store.js";
const client = new Client({ const client = new Client({
clientId: "942637872530460742", clientId: "942637872530460742",
}); });
async function rpcError(status) { export async function rpcError(status) {
const rpcerror = dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow(), { const rpcerror = dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow(), {
type: "error", type: "error",
title: "Discord RPC Error", title: "Discord RPC Error",
@@ -19,14 +19,14 @@ async function rpcError(status) {
} }
} }
async function clearActivity() { export async function clearActivity() {
await client.user?.clearActivity().catch((err) => { await client.user?.clearActivity().catch((err) => {
rpcError("clearing"); rpcError("clearing");
console.error(err); console.error(err);
}); });
} }
async function setActivity(details) { export async function setActivity(details) {
if (!client.user) { if (!client.user) {
await loginToRPC(); await loginToRPC();
} }
@@ -43,15 +43,9 @@ async function setActivity(details) {
}); });
} }
async function loginToRPC() { export async function loginToRPC() {
await client.login().catch((err) => { await client.login().catch((err) => {
rpcError("logging into"); rpcError("logging into");
console.error(err); console.error(err);
}); });
} }
module.exports = {
clearActivity,
setActivity,
loginToRPC,
};

View File

@@ -1,15 +1,15 @@
const Store = require("electron-store"); import Store from "electron-store";
const store = new Store(); const store = new Store();
function getValue(key) { export function getValue(key) {
return store.get(key); return store.get(key);
} }
function setValue(key, value) { export function setValue(key, value) {
store.set(key, value); store.set(key, value);
} }
function getValueOrDefault(key, defaultValue) { export function getValueOrDefault(key, defaultValue) {
const value = store.get(key); const value = store.get(key);
if (value === undefined) { if (value === undefined) {
store.set(key, defaultValue); store.set(key, defaultValue);
@@ -17,5 +17,3 @@ function getValueOrDefault(key, defaultValue) {
} }
return value; return value;
} }
module.exports = { getValue, setValue, getValueOrDefault };

View File

@@ -1,8 +1,9 @@
{ {
"name": "ms-365-electron", "name": "ms-365-electron",
"version": "1.2.0", "version": "1.2.0",
"type": "module",
"description": "Unofficial Microsoft 365 Web Desktop Wrapper made with Electron", "description": "Unofficial Microsoft 365 Web Desktop Wrapper made with Electron",
"main": "app/main.js", "main": "./app/main.js",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/agam778/MS-365-Electron.git" "url": "https://github.com/agam778/MS-365-Electron.git"