aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-05-25 18:40:23 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-05-26 15:49:18 +0200
commit8484d3262dfb4fedd8b83f65d053bc21e455008d (patch)
tree9020f95a13ddf11863b0541619dd57ca3f511104 /packages/main
parentchore(deps): bump dependencies (diff)
downloadsophie-8484d3262dfb4fedd8b83f65d053bc21e455008d.tar.gz
sophie-8484d3262dfb4fedd8b83f65d053bc21e455008d.tar.zst
sophie-8484d3262dfb4fedd8b83f65d053bc21e455008d.zip
chore: use node16 moduleResolution where possible
We can't do this in the renderer package, because we need to import MUI files that are not exported (MUI v6 is not ESM yet). Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/main')
-rw-r--r--packages/main/src/i18n/I18nStore.ts2
-rw-r--r--packages/main/src/i18n/RepositoryBasedI18nBackend.ts4
-rw-r--r--packages/main/src/i18n/i18nLog.ts2
-rw-r--r--packages/main/src/i18n/impl/LocaltizationFiles.ts8
-rw-r--r--packages/main/src/i18n/loadLocalization.ts12
-rw-r--r--packages/main/src/index.ts10
-rw-r--r--packages/main/src/infrastructure/config/ConfigRepository.ts2
-rw-r--r--packages/main/src/infrastructure/config/impl/ConfigFile.ts10
-rw-r--r--packages/main/src/infrastructure/electron/RendererBridge.ts4
-rw-r--r--packages/main/src/infrastructure/electron/__tests__/RendererBridge.test.ts4
-rw-r--r--packages/main/src/infrastructure/electron/__tests__/UserAgents.test.ts2
-rw-r--r--packages/main/src/infrastructure/electron/impl/ElectronMainWindow.ts18
-rw-r--r--packages/main/src/infrastructure/electron/impl/ElectronPartition.ts6
-rw-r--r--packages/main/src/infrastructure/electron/impl/ElectronServiceView.ts12
-rw-r--r--packages/main/src/infrastructure/electron/impl/ElectronViewFactory.ts23
-rw-r--r--packages/main/src/infrastructure/electron/impl/__tests__/electron.integ.test.ts2
-rw-r--r--packages/main/src/infrastructure/electron/impl/__tests__/hardenSession.test.ts4
-rw-r--r--packages/main/src/infrastructure/electron/impl/__tests__/lockWebContentsToFile.test.ts4
-rw-r--r--packages/main/src/infrastructure/electron/impl/electronShell.ts2
-rw-r--r--packages/main/src/infrastructure/electron/impl/hardenSession.ts4
-rw-r--r--packages/main/src/infrastructure/electron/impl/lockWebContentsToFile.ts6
-rw-r--r--packages/main/src/infrastructure/electron/impl/setApplicationMenu.ts2
-rw-r--r--packages/main/src/infrastructure/electron/types.ts6
-rw-r--r--packages/main/src/infrastructure/resources/impl/__tests__/getDistResources.test.ts4
-rw-r--r--packages/main/src/infrastructure/resources/impl/getDistResources.ts2
-rw-r--r--packages/main/src/initReactions.ts28
-rw-r--r--packages/main/src/reactions/__tests__/synchronizeConfig.test.ts8
-rw-r--r--packages/main/src/reactions/__tests__/synchronizeNativeTheme.test.ts6
-rw-r--r--packages/main/src/reactions/loadServices.ts8
-rw-r--r--packages/main/src/reactions/synchronizeConfig.ts10
-rw-r--r--packages/main/src/reactions/synchronizeNativeTheme.ts6
-rw-r--r--packages/main/src/stores/GlobalSettings.ts4
-rw-r--r--packages/main/src/stores/MainStore.ts18
-rw-r--r--packages/main/src/stores/Profile.ts2
-rw-r--r--packages/main/src/stores/Service.ts10
-rw-r--r--packages/main/src/stores/ServiceSettings.ts2
-rw-r--r--packages/main/src/stores/SharedStore.ts12
-rw-r--r--packages/main/src/stores/__tests__/SharedStore.test.ts8
-rw-r--r--packages/main/src/stores/config/Config.ts6
-rw-r--r--packages/main/src/stores/config/loadConfig.ts14
40 files changed, 151 insertions, 146 deletions
diff --git a/packages/main/src/i18n/I18nStore.ts b/packages/main/src/i18n/I18nStore.ts
index 8ea4430..4c77322 100644
--- a/packages/main/src/i18n/I18nStore.ts
+++ b/packages/main/src/i18n/I18nStore.ts
@@ -21,7 +21,7 @@
21import type { i18n, ResourceKey, TFunction } from 'i18next'; 21import type { i18n, ResourceKey, TFunction } from 'i18next';
22import { IAtom, createAtom } from 'mobx'; 22import { IAtom, createAtom } from 'mobx';
23 23
24import getLogger from '../utils/getLogger'; 24import getLogger from '../utils/getLogger.js';
25 25
26const log = getLogger('I18nStore'); 26const log = getLogger('I18nStore');
27 27
diff --git a/packages/main/src/i18n/RepositoryBasedI18nBackend.ts b/packages/main/src/i18n/RepositoryBasedI18nBackend.ts
index 23f70d7..5b667d5 100644
--- a/packages/main/src/i18n/RepositoryBasedI18nBackend.ts
+++ b/packages/main/src/i18n/RepositoryBasedI18nBackend.ts
@@ -26,9 +26,9 @@ import type {
26} from 'i18next'; 26} from 'i18next';
27import { debounce } from 'lodash-es'; 27import { debounce } from 'lodash-es';
28 28
29import getLogger from '../utils/getLogger'; 29import getLogger from '../utils/getLogger.js';
30 30
31import type LocatlizationRepository from './LocalizationRepository'; 31import type LocatlizationRepository from './LocalizationRepository.js';
32 32
33const MISSING_ENTRIES_DEBOUNCE_TIME_MS = 1000; 33const MISSING_ENTRIES_DEBOUNCE_TIME_MS = 1000;
34 34
diff --git a/packages/main/src/i18n/i18nLog.ts b/packages/main/src/i18n/i18nLog.ts
index 308a1cc..94f6473 100644
--- a/packages/main/src/i18n/i18nLog.ts
+++ b/packages/main/src/i18n/i18nLog.ts
@@ -20,7 +20,7 @@
20 20
21import type { LoggerModule } from 'i18next'; 21import type { LoggerModule } from 'i18next';
22 22
23import getLogger from '../utils/getLogger'; 23import getLogger from '../utils/getLogger.js';
24 24
25const log = getLogger('i18nLog'); 25const log = getLogger('i18nLog');
26 26
diff --git a/packages/main/src/i18n/impl/LocaltizationFiles.ts b/packages/main/src/i18n/impl/LocaltizationFiles.ts
index 9cd854e..74e3ae3 100644
--- a/packages/main/src/i18n/impl/LocaltizationFiles.ts
+++ b/packages/main/src/i18n/impl/LocaltizationFiles.ts
@@ -22,10 +22,10 @@ import { readFile, writeFile } from 'node:fs/promises';
22 22
23import type { ResourceKey } from 'i18next'; 23import type { ResourceKey } from 'i18next';
24 24
25import type Resources from '../../infrastructure/resources/Resources'; 25import type Resources from '../../infrastructure/resources/Resources.js';
26import getLogger from '../../utils/getLogger'; 26import getLogger from '../../utils/getLogger.js';
27import isErrno from '../../utils/isErrno'; 27import isErrno from '../../utils/isErrno.js';
28import type LocatlizationRepository from '../LocalizationRepository'; 28import type LocatlizationRepository from '../LocalizationRepository.js';
29 29
30const log = getLogger('LocalizationFiles'); 30const log = getLogger('LocalizationFiles');
31 31
diff --git a/packages/main/src/i18n/loadLocalization.ts b/packages/main/src/i18n/loadLocalization.ts
index e62b3e3..19da9e2 100644
--- a/packages/main/src/i18n/loadLocalization.ts
+++ b/packages/main/src/i18n/loadLocalization.ts
@@ -23,13 +23,13 @@ import i18next, { i18n } from 'i18next';
23import { reaction } from 'mobx'; 23import { reaction } from 'mobx';
24import { addDisposer } from 'mobx-state-tree'; 24import { addDisposer } from 'mobx-state-tree';
25 25
26import type MainStore from '../stores/MainStore'; 26import type MainStore from '../stores/MainStore.js';
27import getLogger from '../utils/getLogger'; 27import getLogger from '../utils/getLogger.js';
28 28
29import I18nStore from './I18nStore'; 29import I18nStore from './I18nStore.js';
30import type LocatlizationRepository from './LocalizationRepository'; 30import type LocatlizationRepository from './LocalizationRepository.js';
31import RepositoryBasedI18nBackend from './RepositoryBasedI18nBackend'; 31import RepositoryBasedI18nBackend from './RepositoryBasedI18nBackend.js';
32import i18nLog from './i18nLog'; 32import i18nLog from './i18nLog.js';
33 33
34const log = getLogger('loadLocationzation'); 34const log = getLogger('loadLocationzation');
35 35
diff --git a/packages/main/src/index.ts b/packages/main/src/index.ts
index 3494f25..3496212 100644
--- a/packages/main/src/index.ts
+++ b/packages/main/src/index.ts
@@ -23,11 +23,11 @@ import os from 'node:os';
23 23
24import { app } from 'electron'; 24import { app } from 'electron';
25 25
26import { enableStacktraceSourceMaps } from './infrastructure/electron/impl/devTools'; 26import { enableStacktraceSourceMaps } from './infrastructure/electron/impl/devTools.js';
27import electronShell from './infrastructure/electron/impl/electronShell'; 27import electronShell from './infrastructure/electron/impl/electronShell.js';
28import initReactions from './initReactions'; 28import initReactions from './initReactions.js';
29import MainStore from './stores/MainStore'; 29import MainStore from './stores/MainStore.js';
30import getLogger from './utils/getLogger'; 30import getLogger from './utils/getLogger.js';
31 31
32const isDevelopment = import.meta.env.MODE === 'development'; 32const isDevelopment = import.meta.env.MODE === 'development';
33 33
diff --git a/packages/main/src/infrastructure/config/ConfigRepository.ts b/packages/main/src/infrastructure/config/ConfigRepository.ts
index 67bffb0..7d5e12b 100644
--- a/packages/main/src/infrastructure/config/ConfigRepository.ts
+++ b/packages/main/src/infrastructure/config/ConfigRepository.ts
@@ -18,7 +18,7 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import type Disposer from '../../utils/Disposer'; 21import type Disposer from '../../utils/Disposer.js';
22 22
23export type ReadConfigResult = 23export type ReadConfigResult =
24 | { found: true; contents: string } 24 | { found: true; contents: string }
diff --git a/packages/main/src/infrastructure/config/impl/ConfigFile.ts b/packages/main/src/infrastructure/config/impl/ConfigFile.ts
index 6203c89..684a827 100644
--- a/packages/main/src/infrastructure/config/impl/ConfigFile.ts
+++ b/packages/main/src/infrastructure/config/impl/ConfigFile.ts
@@ -24,11 +24,11 @@ import path from 'node:path';
24 24
25import { throttle } from 'lodash-es'; 25import { throttle } from 'lodash-es';
26 26
27import type Disposer from '../../../utils/Disposer'; 27import type Disposer from '../../../utils/Disposer.js';
28import getLogger from '../../../utils/getLogger'; 28import getLogger from '../../../utils/getLogger.js';
29import isErrno from '../../../utils/isErrno'; 29import isErrno from '../../../utils/isErrno.js';
30import type ConfigRepository from '../ConfigRepository'; 30import type ConfigRepository from '../ConfigRepository.js';
31import type { ReadConfigResult } from '../ConfigRepository'; 31import type { ReadConfigResult } from '../ConfigRepository.js';
32 32
33const log = getLogger('ConfigFile'); 33const log = getLogger('ConfigFile');
34 34
diff --git a/packages/main/src/infrastructure/electron/RendererBridge.ts b/packages/main/src/infrastructure/electron/RendererBridge.ts
index 097580a..921f09a 100644
--- a/packages/main/src/infrastructure/electron/RendererBridge.ts
+++ b/packages/main/src/infrastructure/electron/RendererBridge.ts
@@ -26,8 +26,8 @@ import {
26 onPatch, 26 onPatch,
27} from 'mobx-state-tree'; 27} from 'mobx-state-tree';
28 28
29import type MainStore from '../../stores/MainStore'; 29import type MainStore from '../../stores/MainStore.js';
30import Disposer from '../../utils/Disposer'; 30import Disposer from '../../utils/Disposer.js';
31 31
32export type PatchListener = (patch: IJsonPatch[]) => void; 32export type PatchListener = (patch: IJsonPatch[]) => void;
33 33
diff --git a/packages/main/src/infrastructure/electron/__tests__/RendererBridge.test.ts b/packages/main/src/infrastructure/electron/__tests__/RendererBridge.test.ts
index b7c8a76..e29429d 100644
--- a/packages/main/src/infrastructure/electron/__tests__/RendererBridge.test.ts
+++ b/packages/main/src/infrastructure/electron/__tests__/RendererBridge.test.ts
@@ -30,8 +30,8 @@ import {
30 unprotect, 30 unprotect,
31} from 'mobx-state-tree'; 31} from 'mobx-state-tree';
32 32
33import MainStore from '../../../stores/MainStore'; 33import MainStore from '../../../stores/MainStore.js';
34import RendererBridge, { type PatchListener } from '../RendererBridge'; 34import RendererBridge, { type PatchListener } from '../RendererBridge.js';
35 35
36const TestStore = MainStore.actions((theSelf) => ({ 36const TestStore = MainStore.actions((theSelf) => ({
37 /** 37 /**
diff --git a/packages/main/src/infrastructure/electron/__tests__/UserAgents.test.ts b/packages/main/src/infrastructure/electron/__tests__/UserAgents.test.ts
index d963704..0c6dd1c 100644
--- a/packages/main/src/infrastructure/electron/__tests__/UserAgents.test.ts
+++ b/packages/main/src/infrastructure/electron/__tests__/UserAgents.test.ts
@@ -18,7 +18,7 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import UserAgents from '../UserAgents'; 21import UserAgents from '../UserAgents.js';
22 22
23let userAgents: UserAgents; 23let userAgents: UserAgents;
24 24
diff --git a/packages/main/src/infrastructure/electron/impl/ElectronMainWindow.ts b/packages/main/src/infrastructure/electron/impl/ElectronMainWindow.ts
index 20a1f70..c4b3823 100644
--- a/packages/main/src/infrastructure/electron/impl/ElectronMainWindow.ts
+++ b/packages/main/src/infrastructure/electron/impl/ElectronMainWindow.ts
@@ -27,15 +27,15 @@ import {
27import { BrowserWindow, ipcMain, IpcMainEvent } from 'electron'; 27import { BrowserWindow, ipcMain, IpcMainEvent } from 'electron';
28import type { IJsonPatch } from 'mobx-state-tree'; 28import type { IJsonPatch } from 'mobx-state-tree';
29 29
30import type MainStore from '../../../stores/MainStore'; 30import type MainStore from '../../../stores/MainStore.js';
31import getLogger from '../../../utils/getLogger'; 31import getLogger from '../../../utils/getLogger.js';
32import RendererBridge from '../RendererBridge'; 32import RendererBridge from '../RendererBridge.js';
33import type { MainWindow, ServiceView } from '../types'; 33import type { MainWindow, ServiceView } from '../types.js';
34 34
35import ElectronServiceView from './ElectronServiceView'; 35import ElectronServiceView from './ElectronServiceView.js';
36import type ElectronViewFactory from './ElectronViewFactory'; 36import type ElectronViewFactory from './ElectronViewFactory.js';
37import { openDevToolsWhenReady } from './devTools'; 37import { openDevToolsWhenReady } from './devTools.js';
38import lockWebContentsToFile from './lockWebContentsToFile'; 38import lockWebContentsToFile from './lockWebContentsToFile.js';
39 39
40const log = getLogger('ElectronMainWindow'); 40const log = getLogger('ElectronMainWindow');
41 41
diff --git a/packages/main/src/infrastructure/electron/impl/ElectronPartition.ts b/packages/main/src/infrastructure/electron/impl/ElectronPartition.ts
index e60ce21..d1220c5 100644
--- a/packages/main/src/infrastructure/electron/impl/ElectronPartition.ts
+++ b/packages/main/src/infrastructure/electron/impl/ElectronPartition.ts
@@ -20,10 +20,10 @@
20 20
21import { Session, session } from 'electron'; 21import { Session, session } from 'electron';
22 22
23import type Profile from '../../../stores/Profile'; 23import type Profile from '../../../stores/Profile.js';
24import type { Partition } from '../types'; 24import type { Partition } from '../types.js';
25 25
26import type ElectronViewFactory from './ElectronViewFactory'; 26import type ElectronViewFactory from './ElectronViewFactory.js';
27 27
28export default class ElectronPartition implements Partition { 28export default class ElectronPartition implements Partition {
29 readonly id: string; 29 readonly id: string;
diff --git a/packages/main/src/infrastructure/electron/impl/ElectronServiceView.ts b/packages/main/src/infrastructure/electron/impl/ElectronServiceView.ts
index a9298bd..91247c8 100644
--- a/packages/main/src/infrastructure/electron/impl/ElectronServiceView.ts
+++ b/packages/main/src/infrastructure/electron/impl/ElectronServiceView.ts
@@ -20,13 +20,13 @@
20 20
21import { BrowserView } from 'electron'; 21import { BrowserView } from 'electron';
22 22
23import type Service from '../../../stores/Service'; 23import type Service from '../../../stores/Service.js';
24import getLogger from '../../../utils/getLogger'; 24import getLogger from '../../../utils/getLogger.js';
25import type Resources from '../../resources/Resources'; 25import type Resources from '../../resources/Resources.js';
26import type { ServiceView } from '../types'; 26import type { ServiceView } from '../types.js';
27 27
28import ElectronPartition from './ElectronPartition'; 28import ElectronPartition from './ElectronPartition.js';
29import type ElectronViewFactory from './ElectronViewFactory'; 29import type ElectronViewFactory from './ElectronViewFactory.js';
30 30
31const log = getLogger('ElectronServiceView'); 31const log = getLogger('ElectronServiceView');
32 32
diff --git a/packages/main/src/infrastructure/electron/impl/ElectronViewFactory.ts b/packages/main/src/infrastructure/electron/impl/ElectronViewFactory.ts
index c72860d..df3de85 100644
--- a/packages/main/src/infrastructure/electron/impl/ElectronViewFactory.ts
+++ b/packages/main/src/infrastructure/electron/impl/ElectronViewFactory.ts
@@ -18,16 +18,21 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import type MainStore from '../../../stores/MainStore'; 21import type MainStore from '../../../stores/MainStore.js';
22import type Profile from '../../../stores/Profile'; 22import type Profile from '../../../stores/Profile.js';
23import type Service from '../../../stores/Service'; 23import type Service from '../../../stores/Service.js';
24import type Resources from '../../resources/Resources'; 24import type Resources from '../../resources/Resources.js';
25import type UserAgents from '../UserAgents'; 25import type UserAgents from '../UserAgents.js';
26import type { MainWindow, Partition, ServiceView, ViewFactory } from '../types'; 26import type {
27 MainWindow,
28 Partition,
29 ServiceView,
30 ViewFactory,
31} from '../types.js';
27 32
28import ElectronMainWindow from './ElectronMainWindow'; 33import ElectronMainWindow from './ElectronMainWindow.js';
29import ElectronPartition from './ElectronPartition'; 34import ElectronPartition from './ElectronPartition.js';
30import ElectronServiceView from './ElectronServiceView'; 35import ElectronServiceView from './ElectronServiceView.js';
31 36
32export default class ElectronViewFactory implements ViewFactory { 37export default class ElectronViewFactory implements ViewFactory {
33 private readonly webContentsIdToServiceView = new Map< 38 private readonly webContentsIdToServiceView = new Map<
diff --git a/packages/main/src/infrastructure/electron/impl/__tests__/electron.integ.test.ts b/packages/main/src/infrastructure/electron/impl/__tests__/electron.integ.test.ts
index 67cf689..75b12ac 100644
--- a/packages/main/src/infrastructure/electron/impl/__tests__/electron.integ.test.ts
+++ b/packages/main/src/infrastructure/electron/impl/__tests__/electron.integ.test.ts
@@ -1,6 +1,6 @@
1import { BrowserWindow } from 'electron'; 1import { BrowserWindow } from 'electron';
2 2
3import '../ElectronMainWindow'; 3import '../ElectronMainWindow.js';
4 4
5test('create a BrowserWindow', async () => { 5test('create a BrowserWindow', async () => {
6 const w = new BrowserWindow(); 6 const w = new BrowserWindow();
diff --git a/packages/main/src/infrastructure/electron/impl/__tests__/hardenSession.test.ts b/packages/main/src/infrastructure/electron/impl/__tests__/hardenSession.test.ts
index 7b70d10..bbbd675 100644
--- a/packages/main/src/infrastructure/electron/impl/__tests__/hardenSession.test.ts
+++ b/packages/main/src/infrastructure/electron/impl/__tests__/hardenSession.test.ts
@@ -30,8 +30,8 @@ import type {
30 WebContents, 30 WebContents,
31} from 'electron'; 31} from 'electron';
32 32
33import type Resources from '../../../resources/Resources'; 33import type Resources from '../../../resources/Resources.js';
34import hardenSession from '../hardenSession'; 34import hardenSession from '../hardenSession.js';
35 35
36const permissions = [ 36const permissions = [
37 'clipboard-read', 37 'clipboard-read',
diff --git a/packages/main/src/infrastructure/electron/impl/__tests__/lockWebContentsToFile.test.ts b/packages/main/src/infrastructure/electron/impl/__tests__/lockWebContentsToFile.test.ts
index 47525d3..6332db7 100644
--- a/packages/main/src/infrastructure/electron/impl/__tests__/lockWebContentsToFile.test.ts
+++ b/packages/main/src/infrastructure/electron/impl/__tests__/lockWebContentsToFile.test.ts
@@ -25,8 +25,8 @@ import { fake } from '@sophie/test-utils';
25import type { Event, HandlerDetails, WebContents } from 'electron'; 25import type { Event, HandlerDetails, WebContents } from 'electron';
26import { mocked } from 'jest-mock'; 26import { mocked } from 'jest-mock';
27 27
28import type Resources from '../../../resources/Resources'; 28import type Resources from '../../../resources/Resources.js';
29import lockWebContentsToFile from '../lockWebContentsToFile'; 29import lockWebContentsToFile from '../lockWebContentsToFile.js';
30 30
31type WillNavigateHandler = (event: Event, url: string) => void; 31type WillNavigateHandler = (event: Event, url: string) => void;
32 32
diff --git a/packages/main/src/infrastructure/electron/impl/electronShell.ts b/packages/main/src/infrastructure/electron/impl/electronShell.ts
index f7f7001..da246c0 100644
--- a/packages/main/src/infrastructure/electron/impl/electronShell.ts
+++ b/packages/main/src/infrastructure/electron/impl/electronShell.ts
@@ -23,7 +23,7 @@ import { writeFile } from 'node:fs/promises';
23import { app, dialog, shell } from 'electron'; 23import { app, dialog, shell } from 'electron';
24import { getLogger } from 'loglevel'; 24import { getLogger } from 'loglevel';
25 25
26import type MainEnv from '../../../stores/MainEnv'; 26import type MainEnv from '../../../stores/MainEnv.js';
27 27
28const log = getLogger('ElectronShell'); 28const log = getLogger('ElectronShell');
29 29
diff --git a/packages/main/src/infrastructure/electron/impl/hardenSession.ts b/packages/main/src/infrastructure/electron/impl/hardenSession.ts
index fc358a1..0574146 100644
--- a/packages/main/src/infrastructure/electron/impl/hardenSession.ts
+++ b/packages/main/src/infrastructure/electron/impl/hardenSession.ts
@@ -22,8 +22,8 @@ import { URL } from 'node:url';
22 22
23import type { Session } from 'electron'; 23import type { Session } from 'electron';
24 24
25import getLogger from '../../../utils/getLogger'; 25import getLogger from '../../../utils/getLogger.js';
26import type Resources from '../../resources/Resources'; 26import type Resources from '../../resources/Resources.js';
27 27
28/** 28/**
29 * URL prefixes Sophie is allowed load in dev mode. 29 * URL prefixes Sophie is allowed load in dev mode.
diff --git a/packages/main/src/infrastructure/electron/impl/lockWebContentsToFile.ts b/packages/main/src/infrastructure/electron/impl/lockWebContentsToFile.ts
index da40a56..338c845 100644
--- a/packages/main/src/infrastructure/electron/impl/lockWebContentsToFile.ts
+++ b/packages/main/src/infrastructure/electron/impl/lockWebContentsToFile.ts
@@ -20,9 +20,9 @@
20 20
21import type { WebContents } from 'electron'; 21import type { WebContents } from 'electron';
22 22
23import getLogger from '../../../utils/getLogger'; 23import getLogger from '../../../utils/getLogger.js';
24import isErrno from '../../../utils/isErrno'; 24import isErrno from '../../../utils/isErrno.js';
25import type Resources from '../../resources/Resources'; 25import type Resources from '../../resources/Resources.js';
26 26
27const log = getLogger('lockWebContentsToFile'); 27const log = getLogger('lockWebContentsToFile');
28 28
diff --git a/packages/main/src/infrastructure/electron/impl/setApplicationMenu.ts b/packages/main/src/infrastructure/electron/impl/setApplicationMenu.ts
index 32b2d4d..7e45401 100644
--- a/packages/main/src/infrastructure/electron/impl/setApplicationMenu.ts
+++ b/packages/main/src/infrastructure/electron/impl/setApplicationMenu.ts
@@ -22,7 +22,7 @@ import { Menu, MenuItemConstructorOptions } from 'electron';
22import { autorun } from 'mobx'; 22import { autorun } from 'mobx';
23import { addDisposer } from 'mobx-state-tree'; 23import { addDisposer } from 'mobx-state-tree';
24 24
25import type MainStore from '../../../stores/MainStore'; 25import type MainStore from '../../../stores/MainStore.js';
26 26
27export default function setApplicationMenu( 27export default function setApplicationMenu(
28 store: MainStore, 28 store: MainStore,
diff --git a/packages/main/src/infrastructure/electron/types.ts b/packages/main/src/infrastructure/electron/types.ts
index 92ca9ad..608a342 100644
--- a/packages/main/src/infrastructure/electron/types.ts
+++ b/packages/main/src/infrastructure/electron/types.ts
@@ -18,9 +18,9 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import type MainStore from '../../stores/MainStore'; 21import type MainStore from '../../stores/MainStore.js';
22import type Profile from '../../stores/Profile'; 22import type Profile from '../../stores/Profile.js';
23import type Service from '../../stores/Service'; 23import type Service from '../../stores/Service.js';
24 24
25export interface ViewFactory { 25export interface ViewFactory {
26 createMainWindow(store: MainStore): Promise<MainWindow>; 26 createMainWindow(store: MainStore): Promise<MainWindow>;
diff --git a/packages/main/src/infrastructure/resources/impl/__tests__/getDistResources.test.ts b/packages/main/src/infrastructure/resources/impl/__tests__/getDistResources.test.ts
index 649536b..c7c6e22 100644
--- a/packages/main/src/infrastructure/resources/impl/__tests__/getDistResources.test.ts
+++ b/packages/main/src/infrastructure/resources/impl/__tests__/getDistResources.test.ts
@@ -20,8 +20,8 @@
20 20
21import os from 'node:os'; 21import os from 'node:os';
22 22
23import Resources from '../../Resources'; 23import Resources from '../../Resources.js';
24import getDistResources from '../getDistResources'; 24import getDistResources from '../getDistResources.js';
25 25
26const defaultDevServerURL = 'http://localhost:3000/'; 26const defaultDevServerURL = 'http://localhost:3000/';
27 27
diff --git a/packages/main/src/infrastructure/resources/impl/getDistResources.ts b/packages/main/src/infrastructure/resources/impl/getDistResources.ts
index 3c1ffb3..3b7827c 100644
--- a/packages/main/src/infrastructure/resources/impl/getDistResources.ts
+++ b/packages/main/src/infrastructure/resources/impl/getDistResources.ts
@@ -21,7 +21,7 @@
21import path from 'node:path'; 21import path from 'node:path';
22import { pathToFileURL, URL } from 'node:url'; 22import { pathToFileURL, URL } from 'node:url';
23 23
24import Resources from '../Resources'; 24import Resources from '../Resources.js';
25 25
26export default function getDistResources( 26export default function getDistResources(
27 devMode: boolean, 27 devMode: boolean,
diff --git a/packages/main/src/initReactions.ts b/packages/main/src/initReactions.ts
index 05bc205..cbc0265 100644
--- a/packages/main/src/initReactions.ts
+++ b/packages/main/src/initReactions.ts
@@ -20,20 +20,20 @@
20 20
21import { app, session } from 'electron'; 21import { app, session } from 'electron';
22 22
23import LocalizationFiles from './i18n/impl/LocaltizationFiles'; 23import LocalizationFiles from './i18n/impl/LocaltizationFiles.js';
24import loadLocalization from './i18n/loadLocalization'; 24import loadLocalization from './i18n/loadLocalization.js';
25import ConfigFile from './infrastructure/config/impl/ConfigFile'; 25import ConfigFile from './infrastructure/config/impl/ConfigFile.js';
26import UserAgents from './infrastructure/electron/UserAgents'; 26import UserAgents from './infrastructure/electron/UserAgents.js';
27import ElectronViewFactory from './infrastructure/electron/impl/ElectronViewFactory'; 27import ElectronViewFactory from './infrastructure/electron/impl/ElectronViewFactory.js';
28import { installDevToolsExtensions } from './infrastructure/electron/impl/devTools'; 28import { installDevToolsExtensions } from './infrastructure/electron/impl/devTools.js';
29import hardenSession from './infrastructure/electron/impl/hardenSession'; 29import hardenSession from './infrastructure/electron/impl/hardenSession.js';
30import setApplicationMenu from './infrastructure/electron/impl/setApplicationMenu'; 30import setApplicationMenu from './infrastructure/electron/impl/setApplicationMenu.js';
31import getDistResources from './infrastructure/resources/impl/getDistResources'; 31import getDistResources from './infrastructure/resources/impl/getDistResources.js';
32import loadServices from './reactions/loadServices'; 32import loadServices from './reactions/loadServices.js';
33import synchronizeConfig from './reactions/synchronizeConfig'; 33import synchronizeConfig from './reactions/synchronizeConfig.js';
34import synchronizeNativeTheme from './reactions/synchronizeNativeTheme'; 34import synchronizeNativeTheme from './reactions/synchronizeNativeTheme.js';
35import type MainStore from './stores/MainStore'; 35import type MainStore from './stores/MainStore.js';
36import type Disposer from './utils/Disposer'; 36import type Disposer from './utils/Disposer.js';
37 37
38export default async function initReactions( 38export default async function initReactions(
39 store: MainStore, 39 store: MainStore,
diff --git a/packages/main/src/reactions/__tests__/synchronizeConfig.test.ts b/packages/main/src/reactions/__tests__/synchronizeConfig.test.ts
index f0e88c1..d4d8abf 100644
--- a/packages/main/src/reactions/__tests__/synchronizeConfig.test.ts
+++ b/packages/main/src/reactions/__tests__/synchronizeConfig.test.ts
@@ -21,10 +21,10 @@
21import { jest } from '@jest/globals'; 21import { jest } from '@jest/globals';
22import { mocked } from 'jest-mock'; 22import { mocked } from 'jest-mock';
23 23
24import type ConfigRepository from '../../infrastructure/config/ConfigRepository'; 24import type ConfigRepository from '../../infrastructure/config/ConfigRepository.js';
25import SharedStore from '../../stores/SharedStore'; 25import SharedStore from '../../stores/SharedStore.js';
26import type Disposer from '../../utils/Disposer'; 26import type Disposer from '../../utils/Disposer.js';
27import synchronizeConfig, { serializeConfig } from '../synchronizeConfig'; 27import synchronizeConfig, { serializeConfig } from '../synchronizeConfig.js';
28 28
29let store: SharedStore; 29let store: SharedStore;
30const repository: ConfigRepository = { 30const repository: ConfigRepository = {
diff --git a/packages/main/src/reactions/__tests__/synchronizeNativeTheme.test.ts b/packages/main/src/reactions/__tests__/synchronizeNativeTheme.test.ts
index 05f14fb..c89f989 100644
--- a/packages/main/src/reactions/__tests__/synchronizeNativeTheme.test.ts
+++ b/packages/main/src/reactions/__tests__/synchronizeNativeTheme.test.ts
@@ -21,8 +21,8 @@
21import { jest } from '@jest/globals'; 21import { jest } from '@jest/globals';
22import { mocked } from 'jest-mock'; 22import { mocked } from 'jest-mock';
23 23
24import SharedStore from '../../stores/SharedStore'; 24import SharedStore from '../../stores/SharedStore.js';
25import type Disposer from '../../utils/Disposer'; 25import type Disposer from '../../utils/Disposer.js';
26 26
27let shouldUseDarkColors = false; 27let shouldUseDarkColors = false;
28 28
@@ -39,7 +39,7 @@ jest.unstable_mockModule('electron', () => ({
39 39
40const { nativeTheme } = await import('electron'); 40const { nativeTheme } = await import('electron');
41const { default: synchronizeNativeTheme } = await import( 41const { default: synchronizeNativeTheme } = await import(
42 '../synchronizeNativeTheme' 42 '../synchronizeNativeTheme.js'
43); 43);
44 44
45let store: SharedStore; 45let store: SharedStore;
diff --git a/packages/main/src/reactions/loadServices.ts b/packages/main/src/reactions/loadServices.ts
index 50fd2cb..1325a36 100644
--- a/packages/main/src/reactions/loadServices.ts
+++ b/packages/main/src/reactions/loadServices.ts
@@ -26,10 +26,10 @@ import type {
26 Partition, 26 Partition,
27 ServiceView, 27 ServiceView,
28 ViewFactory, 28 ViewFactory,
29} from '../infrastructure/electron/types'; 29} from '../infrastructure/electron/types.js';
30import type MainStore from '../stores/MainStore'; 30import type MainStore from '../stores/MainStore.js';
31import type Service from '../stores/Service'; 31import type Service from '../stores/Service.js';
32import getLogger from '../utils/getLogger'; 32import getLogger from '../utils/getLogger.js';
33 33
34const log = getLogger('loadServices'); 34const log = getLogger('loadServices');
35 35
diff --git a/packages/main/src/reactions/synchronizeConfig.ts b/packages/main/src/reactions/synchronizeConfig.ts
index 5fe924a..f3c8b4a 100644
--- a/packages/main/src/reactions/synchronizeConfig.ts
+++ b/packages/main/src/reactions/synchronizeConfig.ts
@@ -21,11 +21,11 @@
21import { debounce } from 'lodash-es'; 21import { debounce } from 'lodash-es';
22import { reaction } from 'mobx'; 22import { reaction } from 'mobx';
23 23
24import type ConfigRepository from '../infrastructure/config/ConfigRepository'; 24import type ConfigRepository from '../infrastructure/config/ConfigRepository.js';
25import type SharedStore from '../stores/SharedStore'; 25import type SharedStore from '../stores/SharedStore.js';
26import type Config from '../stores/config/Config'; 26import type Config from '../stores/config/Config.js';
27import type Disposer from '../utils/Disposer'; 27import type Disposer from '../utils/Disposer.js';
28import getLogger from '../utils/getLogger'; 28import getLogger from '../utils/getLogger.js';
29 29
30const DEFAULT_CONFIG_DEBOUNCE_TIME_MS = 1000; 30const DEFAULT_CONFIG_DEBOUNCE_TIME_MS = 1000;
31 31
diff --git a/packages/main/src/reactions/synchronizeNativeTheme.ts b/packages/main/src/reactions/synchronizeNativeTheme.ts
index 384d54d..10d5f69 100644
--- a/packages/main/src/reactions/synchronizeNativeTheme.ts
+++ b/packages/main/src/reactions/synchronizeNativeTheme.ts
@@ -21,9 +21,9 @@
21import { nativeTheme } from 'electron'; 21import { nativeTheme } from 'electron';
22import { autorun } from 'mobx'; 22import { autorun } from 'mobx';
23 23
24import type SharedStore from '../stores/SharedStore'; 24import type SharedStore from '../stores/SharedStore.js';
25import type Disposer from '../utils/Disposer'; 25import type Disposer from '../utils/Disposer.js';
26import getLogger from '../utils/getLogger'; 26import getLogger from '../utils/getLogger.js';
27 27
28const log = getLogger('synchronizeNativeTheme'); 28const log = getLogger('synchronizeNativeTheme');
29 29
diff --git a/packages/main/src/stores/GlobalSettings.ts b/packages/main/src/stores/GlobalSettings.ts
index 84248ea..9ebc1b1 100644
--- a/packages/main/src/stores/GlobalSettings.ts
+++ b/packages/main/src/stores/GlobalSettings.ts
@@ -21,9 +21,9 @@
21import { defineGlobalSettingsModel, ThemeSource } from '@sophie/shared'; 21import { defineGlobalSettingsModel, ThemeSource } from '@sophie/shared';
22import { Instance, resolveIdentifier } from 'mobx-state-tree'; 22import { Instance, resolveIdentifier } from 'mobx-state-tree';
23 23
24import getLogger from '../utils/getLogger'; 24import getLogger from '../utils/getLogger.js';
25 25
26import Service from './Service'; 26import Service from './Service.js';
27 27
28const log = getLogger('sharedStore'); 28const log = getLogger('sharedStore');
29 29
diff --git a/packages/main/src/stores/MainStore.ts b/packages/main/src/stores/MainStore.ts
index b3e2830..1abd20c 100644
--- a/packages/main/src/stores/MainStore.ts
+++ b/packages/main/src/stores/MainStore.ts
@@ -22,16 +22,16 @@ import type { Action } from '@sophie/shared';
22import type { ResourceKey } from 'i18next'; 22import type { ResourceKey } from 'i18next';
23import { flow, Instance, types } from 'mobx-state-tree'; 23import { flow, Instance, types } from 'mobx-state-tree';
24 24
25import type I18nStore from '../i18n/I18nStore'; 25import type I18nStore from '../i18n/I18nStore.js';
26import type { UseTranslationResult } from '../i18n/I18nStore'; 26import type { UseTranslationResult } from '../i18n/I18nStore.js';
27import type { MainWindow } from '../infrastructure/electron/types'; 27import type { MainWindow } from '../infrastructure/electron/types.js';
28import getLogger from '../utils/getLogger'; 28import getLogger from '../utils/getLogger.js';
29 29
30import GlobalSettings from './GlobalSettings'; 30import GlobalSettings from './GlobalSettings.js';
31import { getEnv } from './MainEnv'; 31import { getEnv } from './MainEnv.js';
32import Profile from './Profile'; 32import Profile from './Profile.js';
33import Service from './Service'; 33import Service from './Service.js';
34import SharedStore from './SharedStore'; 34import SharedStore from './SharedStore.js';
35 35
36const log = getLogger('MainStore'); 36const log = getLogger('MainStore');
37 37
diff --git a/packages/main/src/stores/Profile.ts b/packages/main/src/stores/Profile.ts
index 405a5d4..b4343a0 100644
--- a/packages/main/src/stores/Profile.ts
+++ b/packages/main/src/stores/Profile.ts
@@ -21,7 +21,7 @@
21import { Certificate, Profile as ProfileBase } from '@sophie/shared'; 21import { Certificate, Profile as ProfileBase } from '@sophie/shared';
22import { clone, getSnapshot, Instance } from 'mobx-state-tree'; 22import { clone, getSnapshot, Instance } from 'mobx-state-tree';
23 23
24import type ProfileConfig from './config/ProfileConfig'; 24import type ProfileConfig from './config/ProfileConfig.js';
25 25
26const Profile = ProfileBase.views((self) => ({ 26const Profile = ProfileBase.views((self) => ({
27 get config(): ProfileConfig { 27 get config(): ProfileConfig {
diff --git a/packages/main/src/stores/Service.ts b/packages/main/src/stores/Service.ts
index 9256f65..3b7d0b2 100644
--- a/packages/main/src/stores/Service.ts
+++ b/packages/main/src/stores/Service.ts
@@ -29,12 +29,12 @@ import {
29} from '@sophie/shared'; 29} from '@sophie/shared';
30import { type Instance, getSnapshot, cast, flow } from 'mobx-state-tree'; 30import { type Instance, getSnapshot, cast, flow } from 'mobx-state-tree';
31 31
32import type { ServiceView } from '../infrastructure/electron/types'; 32import type { ServiceView } from '../infrastructure/electron/types.js';
33import getLogger from '../utils/getLogger'; 33import getLogger from '../utils/getLogger.js';
34 34
35import { getEnv } from './MainEnv'; 35import { getEnv } from './MainEnv.js';
36import ServiceSettings from './ServiceSettings'; 36import ServiceSettings from './ServiceSettings.js';
37import type ServiceConfig from './config/ServiceConfig'; 37import type ServiceConfig from './config/ServiceConfig.js';
38 38
39const log = getLogger('Service'); 39const log = getLogger('Service');
40 40
diff --git a/packages/main/src/stores/ServiceSettings.ts b/packages/main/src/stores/ServiceSettings.ts
index 5d37347..d5c2843 100644
--- a/packages/main/src/stores/ServiceSettings.ts
+++ b/packages/main/src/stores/ServiceSettings.ts
@@ -21,7 +21,7 @@
21import { defineServiceSettingsModel } from '@sophie/shared'; 21import { defineServiceSettingsModel } from '@sophie/shared';
22import { Instance } from 'mobx-state-tree'; 22import { Instance } from 'mobx-state-tree';
23 23
24import Profile from './Profile'; 24import Profile from './Profile.js';
25 25
26const ServiceSettings = defineServiceSettingsModel(Profile); 26const ServiceSettings = defineServiceSettingsModel(Profile);
27 27
diff --git a/packages/main/src/stores/SharedStore.ts b/packages/main/src/stores/SharedStore.ts
index f93c3d4..e1c2d3c 100644
--- a/packages/main/src/stores/SharedStore.ts
+++ b/packages/main/src/stores/SharedStore.ts
@@ -21,13 +21,13 @@
21import { defineSharedStoreModel, WritingDirection } from '@sophie/shared'; 21import { defineSharedStoreModel, WritingDirection } from '@sophie/shared';
22import { getSnapshot, Instance } from 'mobx-state-tree'; 22import { getSnapshot, Instance } from 'mobx-state-tree';
23 23
24import getLogger from '../utils/getLogger'; 24import getLogger from '../utils/getLogger.js';
25 25
26import GlobalSettings from './GlobalSettings'; 26import GlobalSettings from './GlobalSettings.js';
27import Profile from './Profile'; 27import Profile from './Profile.js';
28import Service from './Service'; 28import Service from './Service.js';
29import type Config from './config/Config'; 29import type Config from './config/Config.js';
30import loadConfig from './config/loadConfig'; 30import loadConfig from './config/loadConfig.js';
31 31
32const log = getLogger('SharedStore'); 32const log = getLogger('SharedStore');
33 33
diff --git a/packages/main/src/stores/__tests__/SharedStore.test.ts b/packages/main/src/stores/__tests__/SharedStore.test.ts
index 0ed63e3..78396da 100644
--- a/packages/main/src/stores/__tests__/SharedStore.test.ts
+++ b/packages/main/src/stores/__tests__/SharedStore.test.ts
@@ -18,10 +18,10 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import SharedStore from '../SharedStore'; 21import SharedStore from '../SharedStore.js';
22import type Config from '../config/Config'; 22import type Config from '../config/Config.js';
23import type ProfileConfig from '../config/ProfileConfig'; 23import type ProfileConfig from '../config/ProfileConfig.js';
24import type ServiceConfig from '../config/ServiceConfig'; 24import type ServiceConfig from '../config/ServiceConfig.js';
25 25
26const profileProps: ProfileConfig = { 26const profileProps: ProfileConfig = {
27 name: 'Test profile', 27 name: 'Test profile',
diff --git a/packages/main/src/stores/config/Config.ts b/packages/main/src/stores/config/Config.ts
index c38e3c5..adb10a6 100644
--- a/packages/main/src/stores/config/Config.ts
+++ b/packages/main/src/stores/config/Config.ts
@@ -18,10 +18,10 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import type { GlobalSettingsSnapshotIn } from '../GlobalSettings'; 21import type { GlobalSettingsSnapshotIn } from '../GlobalSettings.js';
22 22
23import type ProfileConfig from './ProfileConfig'; 23import type ProfileConfig from './ProfileConfig.js';
24import type ServiceConfig from './ServiceConfig'; 24import type ServiceConfig from './ServiceConfig.js';
25 25
26export default interface Config extends GlobalSettingsSnapshotIn { 26export default interface Config extends GlobalSettingsSnapshotIn {
27 profiles?: ProfileConfig[] | undefined; 27 profiles?: ProfileConfig[] | undefined;
diff --git a/packages/main/src/stores/config/loadConfig.ts b/packages/main/src/stores/config/loadConfig.ts
index 2463084..8a1adcb 100644
--- a/packages/main/src/stores/config/loadConfig.ts
+++ b/packages/main/src/stores/config/loadConfig.ts
@@ -30,14 +30,14 @@ import {
30import { nanoid } from 'nanoid'; 30import { nanoid } from 'nanoid';
31import slug from 'slug'; 31import slug from 'slug';
32 32
33import GlobalSettings from '../GlobalSettings'; 33import GlobalSettings from '../GlobalSettings.js';
34import type Profile from '../Profile'; 34import type Profile from '../Profile.js';
35import type Service from '../Service'; 35import type Service from '../Service.js';
36import type { ServiceSettingsSnapshotIn } from '../ServiceSettings'; 36import type { ServiceSettingsSnapshotIn } from '../ServiceSettings.js';
37 37
38import type Config from './Config'; 38import type Config from './Config.js';
39import type ProfileConfig from './ProfileConfig'; 39import type ProfileConfig from './ProfileConfig.js';
40import type ServiceConfig from './ServiceConfig'; 40import type ServiceConfig from './ServiceConfig.js';
41 41
42function generateId(name?: string | undefined): string { 42function generateId(name?: string | undefined): string {
43 const nameSlug = typeof name === 'undefined' ? '' : slug(name); 43 const nameSlug = typeof name === 'undefined' ? '' : slug(name);