aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Vijay A <vraravam@users.noreply.github.com>2021-10-01 21:51:55 +0530
committerLibravatar Vijay A <vraravam@users.noreply.github.com>2021-10-01 21:51:55 +0530
commit204a80708e6e0a2189de16438a3eb4b57ef84987 (patch)
treea8fa3afb58dbfec67bced4281837d33fd4e71413
parentrefactor: move 'asarRecipesPath' into 'asar-helpers' (diff)
downloadferdium-app-204a80708e6e0a2189de16438a3eb4b57ef84987.tar.gz
ferdium-app-204a80708e6e0a2189de16438a3eb4b57ef84987.tar.zst
ferdium-app-204a80708e6e0a2189de16438a3eb4b57ef84987.zip
refactor: split 'environment' into 'environment-remote' with only the remote module dependency
(might be a pre-requisite for the electron v14 upgrade)
-rw-r--r--src/api/apiBase.ts2
-rw-r--r--src/api/server/ServerApi.js9
-rw-r--r--src/api/utils/auth.js2
-rw-r--r--src/components/auth/Login.js2
-rw-r--r--src/components/settings/settings/EditSettingsForm.js4
-rw-r--r--src/containers/settings/AccountScreen.js2
-rw-r--r--src/containers/settings/RecipesScreen.js2
-rw-r--r--src/electron/Settings.ts2
-rw-r--r--src/electron/ipc-api/localServer.ts2
-rw-r--r--src/electron/macOSPermissions.ts2
-rw-r--r--src/environment-remote.ts93
-rw-r--r--src/environment.ts91
-rwxr-xr-xsrc/features/settingsWS/store.js2
-rw-r--r--src/helpers/recipe-helpers.ts2
-rw-r--r--src/helpers/service-helpers.ts2
-rw-r--r--src/index.html2
-rw-r--r--src/index.js6
-rw-r--r--src/internal-server/app/Controllers/Http/RecipeController.js2
-rw-r--r--src/internal-server/app/Controllers/Http/UserController.js6
-rw-r--r--src/internal-server/start/migrate.js2
-rw-r--r--src/internal-server/start/routes.js2
-rw-r--r--src/lib/Menu.js2
-rw-r--r--src/stores/AppStore.js6
-rw-r--r--src/stores/ServicesStore.js2
-rw-r--r--src/stores/UserStore.js2
25 files changed, 125 insertions, 126 deletions
diff --git a/src/api/apiBase.ts b/src/api/apiBase.ts
index 510ccb619..a30793848 100644
--- a/src/api/apiBase.ts
+++ b/src/api/apiBase.ts
@@ -1,7 +1,7 @@
1/** 1/**
2 * Get API base URL from store 2 * Get API base URL from store
3 */ 3 */
4import { API_VERSION } from '../environment'; 4import { API_VERSION } from '../environment-remote';
5import { 5import {
6 DEV_API_FRANZ_WEBSITE, 6 DEV_API_FRANZ_WEBSITE,
7 LIVE_FRANZ_API, 7 LIVE_FRANZ_API,
diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js
index fb0d64dc3..e321f9372 100644
--- a/src/api/server/ServerApi.js
+++ b/src/api/server/ServerApi.js
@@ -22,13 +22,8 @@ import UserModel from '../../models/User';
22import { sleep } from '../../helpers/async-helpers'; 22import { sleep } from '../../helpers/async-helpers';
23 23
24import { SERVER_NOT_LOADED } from '../../config'; 24import { SERVER_NOT_LOADED } from '../../config';
25import { 25import { osArch, osPlatform } from '../../environment';
26 osArch, 26import { userDataRecipesPath, userDataPath, ferdiVersion } from '../../environment-remote';
27 osPlatform,
28 userDataRecipesPath,
29 userDataPath,
30 ferdiVersion,
31} from '../../environment';
32import { asarRecipesPath } from '../../helpers/asar-helpers'; 27import { asarRecipesPath } from '../../helpers/asar-helpers';
33import apiBase from '../apiBase'; 28import apiBase from '../apiBase';
34import { prepareAuthRequest, sendAuthRequest } from '../utils/auth'; 29import { prepareAuthRequest, sendAuthRequest } from '../utils/auth';
diff --git a/src/api/utils/auth.js b/src/api/utils/auth.js
index 527c68840..07b0c096b 100644
--- a/src/api/utils/auth.js
+++ b/src/api/utils/auth.js
@@ -1,5 +1,5 @@
1import localStorage from 'mobx-localstorage'; 1import localStorage from 'mobx-localstorage';
2import { ferdiLocale, ferdiVersion } from '../../environment'; 2import { ferdiLocale, ferdiVersion } from '../../environment-remote';
3 3
4export const prepareAuthRequest = ( 4export const prepareAuthRequest = (
5 // eslint-disable-next-line unicorn/no-object-as-default-parameter 5 // eslint-disable-next-line unicorn/no-object-as-default-parameter
diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js
index 286d2dec8..2f9986858 100644
--- a/src/components/auth/Login.js
+++ b/src/components/auth/Login.js
@@ -5,7 +5,7 @@ import { observer, inject } from 'mobx-react';
5import { defineMessages, injectIntl } from 'react-intl'; 5import { defineMessages, injectIntl } from 'react-intl';
6 6
7import { LIVE_FRANZ_API } from '../../config'; 7import { LIVE_FRANZ_API } from '../../config';
8import { API_VERSION, isDevMode, useLiveAPI } from '../../environment'; 8import { API_VERSION, isDevMode, useLiveAPI } from '../../environment-remote';
9import Form from '../../lib/Form'; 9import Form from '../../lib/Form';
10import { required, email } from '../../helpers/validation-helpers'; 10import { required, email } from '../../helpers/validation-helpers';
11import serverlessLogin from '../../helpers/serverless-helpers'; 11import serverlessLogin from '../../helpers/serverless-helpers';
diff --git a/src/components/settings/settings/EditSettingsForm.js b/src/components/settings/settings/EditSettingsForm.js
index 59aa0190e..819d0a9e6 100644
--- a/src/components/settings/settings/EditSettingsForm.js
+++ b/src/components/settings/settings/EditSettingsForm.js
@@ -15,13 +15,11 @@ import Input from '../../ui/Input';
15import { FRANZ_TRANSLATION, GITHUB_FRANZ_URL } from '../../../config'; 15import { FRANZ_TRANSLATION, GITHUB_FRANZ_URL } from '../../../config';
16import { 16import {
17 DEFAULT_APP_SETTINGS, 17 DEFAULT_APP_SETTINGS,
18 ferdiVersion,
19 isMac, 18 isMac,
20 isWindows, 19 isWindows,
21 lockFerdiShortcutKey, 20 lockFerdiShortcutKey,
22 userDataPath,
23 userDataRecipesPath,
24} from '../../../environment'; 21} from '../../../environment';
22import { ferdiVersion, userDataPath, userDataRecipesPath } from '../../../environment-remote';
25import { openPath } from '../../../helpers/url-helpers'; 23import { openPath } from '../../../helpers/url-helpers';
26import globalMessages from '../../../i18n/globalMessages'; 24import globalMessages from '../../../i18n/globalMessages';
27 25
diff --git a/src/containers/settings/AccountScreen.js b/src/containers/settings/AccountScreen.js
index 0f9457fd0..1515fc22b 100644
--- a/src/containers/settings/AccountScreen.js
+++ b/src/containers/settings/AccountScreen.js
@@ -10,7 +10,7 @@ import SettingsStore from '../../stores/SettingsStore';
10import AccountDashboard from '../../components/settings/account/AccountDashboard'; 10import AccountDashboard from '../../components/settings/account/AccountDashboard';
11import ErrorBoundary from '../../components/util/ErrorBoundary'; 11import ErrorBoundary from '../../components/util/ErrorBoundary';
12import { LIVE_FRANZ_API } from '../../config'; 12import { LIVE_FRANZ_API } from '../../config';
13import { WEBSITE } from '../../environment'; 13import { WEBSITE } from '../../environment-remote';
14 14
15@inject('stores', 'actions') 15@inject('stores', 'actions')
16@observer 16@observer
diff --git a/src/containers/settings/RecipesScreen.js b/src/containers/settings/RecipesScreen.js
index 162390d57..2e60ceefa 100644
--- a/src/containers/settings/RecipesScreen.js
+++ b/src/containers/settings/RecipesScreen.js
@@ -12,7 +12,7 @@ import UserStore from '../../stores/UserStore';
12import RecipesDashboard from '../../components/settings/recipes/RecipesDashboard'; 12import RecipesDashboard from '../../components/settings/recipes/RecipesDashboard';
13import ErrorBoundary from '../../components/util/ErrorBoundary'; 13import ErrorBoundary from '../../components/util/ErrorBoundary';
14import { CUSTOM_WEBSITE_RECIPE_ID, FRANZ_DEV_DOCS } from '../../config'; 14import { CUSTOM_WEBSITE_RECIPE_ID, FRANZ_DEV_DOCS } from '../../config';
15import { userDataRecipesPath } from '../../environment'; 15import { userDataRecipesPath } from '../../environment-remote';
16import { asarRecipesPath } from '../../helpers/asar-helpers'; 16import { asarRecipesPath } from '../../helpers/asar-helpers';
17import { communityRecipesStore } from '../../features/communityRecipes'; 17import { communityRecipesStore } from '../../features/communityRecipes';
18import RecipePreview from '../../models/RecipePreview'; 18import RecipePreview from '../../models/RecipePreview';
diff --git a/src/electron/Settings.ts b/src/electron/Settings.ts
index a1344aa97..98acfa1d5 100644
--- a/src/electron/Settings.ts
+++ b/src/electron/Settings.ts
@@ -1,6 +1,6 @@
1import { observable, toJS } from 'mobx'; 1import { observable, toJS } from 'mobx';
2import { pathExistsSync, outputJsonSync, readJsonSync } from 'fs-extra'; 2import { pathExistsSync, outputJsonSync, readJsonSync } from 'fs-extra';
3import { userDataPath } from '../environment'; 3import { userDataPath } from '../environment-remote';
4 4
5const debug = require('debug')('Ferdi:Settings'); 5const debug = require('debug')('Ferdi:Settings');
6 6
diff --git a/src/electron/ipc-api/localServer.ts b/src/electron/ipc-api/localServer.ts
index 61e56c777..7ee642101 100644
--- a/src/electron/ipc-api/localServer.ts
+++ b/src/electron/ipc-api/localServer.ts
@@ -1,7 +1,7 @@
1import { ipcMain, BrowserWindow } from 'electron'; 1import { ipcMain, BrowserWindow } from 'electron';
2import net from 'net'; 2import net from 'net';
3import { LOCAL_HOSTNAME, LOCAL_PORT } from '../../config'; 3import { LOCAL_HOSTNAME, LOCAL_PORT } from '../../config';
4import { userDataPath } from '../../environment'; 4import { userDataPath } from '../../environment-remote';
5import { server } from '../../internal-server/start'; 5import { server } from '../../internal-server/start';
6 6
7const portInUse = (port: number): Promise<boolean> => 7const portInUse = (port: number): Promise<boolean> =>
diff --git a/src/electron/macOSPermissions.ts b/src/electron/macOSPermissions.ts
index aef3ac30b..bcd5b5931 100644
--- a/src/electron/macOSPermissions.ts
+++ b/src/electron/macOSPermissions.ts
@@ -3,7 +3,7 @@ import { pathExistsSync, mkdirSync, writeFileSync } from 'fs-extra';
3import macosVersion from 'macos-version'; 3import macosVersion from 'macos-version';
4import { dirname } from 'path'; 4import { dirname } from 'path';
5import { askForScreenCaptureAccess } from 'node-mac-permissions'; 5import { askForScreenCaptureAccess } from 'node-mac-permissions';
6import { userDataPath } from '../environment'; 6import { userDataPath } from '../environment-remote';
7 7
8const debug = require('debug')('Ferdi:macOSPermissions'); 8const debug = require('debug')('Ferdi:macOSPermissions');
9 9
diff --git a/src/environment-remote.ts b/src/environment-remote.ts
new file mode 100644
index 000000000..1ff019c5f
--- /dev/null
+++ b/src/environment-remote.ts
@@ -0,0 +1,93 @@
1import { join } from 'path';
2import osName from 'os-name';
3import { api as electronApi } from 'electron-util';
4import {
5 LIVE_FERDI_API,
6 DEV_FRANZ_API,
7 LOCAL_API,
8 LOCAL_API_WEBSITE,
9 DEV_API_FRANZ_WEBSITE,
10 LIVE_API_FERDI_WEBSITE,
11 LIVE_WS_API,
12 LOCAL_WS_API,
13 DEV_WS_API,
14 LOCAL_TODOS_FRONTEND_URL,
15 PRODUCTION_TODOS_FRONTEND_URL,
16} from './config';
17import { chromeVersion, electronVersion, isWindows, nodeVersion, osArch } from './environment';
18
19// @ts-expect-error Cannot find module './buildInfo.json' or its corresponding type declarations.
20import * as buildInfo from './buildInfo.json';
21
22export const { app } = electronApi;
23export const ferdiVersion = app.getVersion();
24export const ferdiLocale = app.getLocale();
25
26// Set app directory before loading user modules
27if (process.env.FERDI_APPDATA_DIR != null) {
28 app.setPath('appData', process.env.FERDI_APPDATA_DIR);
29 app.setPath('userData', app.getPath('appData'));
30} else if (process.env.PORTABLE_EXECUTABLE_DIR != null) {
31 app.setPath('appData', join(process.env.PORTABLE_EXECUTABLE_DIR, `${app.name}AppData`));
32 app.setPath('userData', join(app.getPath('appData'), `${app.name}AppData`));
33} else if (isWindows && process.env.APPDATA != null) {
34 app.setPath('appData', process.env.APPDATA);
35 app.setPath('userData', join(app.getPath('appData'), app.name));
36}
37
38export const isDevMode = process.env.ELECTRON_IS_DEV !== undefined ? Number.parseInt(process.env.ELECTRON_IS_DEV, 10) === 1 : !app.isPackaged;
39if (isDevMode) {
40 app.setPath('userData', join(app.getPath('appData'), `${app.name}Dev`));
41}
42
43export function userDataPath(...segments: string[]) {
44 return join(app.getPath('userData'), ...[segments].flat());
45}
46
47export function userDataRecipesPath(...segments: any[]) {
48 return userDataPath('recipes', ...[segments].flat());
49}
50
51const useLocalAPI = process.env.USE_LOCAL_API;
52export const useLiveAPI = process.env.USE_LIVE_API;
53
54let api: string;
55let wsApi: string;
56let web: string;
57let todos: string;
58if (!isDevMode || (isDevMode && useLiveAPI)) {
59 api = LIVE_FERDI_API;
60 wsApi = LIVE_WS_API;
61 web = LIVE_API_FERDI_WEBSITE;
62 todos = PRODUCTION_TODOS_FRONTEND_URL;
63} else if (isDevMode && useLocalAPI) {
64 api = LOCAL_API;
65 wsApi = LOCAL_WS_API;
66 web = LOCAL_API_WEBSITE;
67 todos = LOCAL_TODOS_FRONTEND_URL;
68} else {
69 api = DEV_FRANZ_API;
70 wsApi = DEV_WS_API;
71 web = DEV_API_FRANZ_WEBSITE;
72 todos = PRODUCTION_TODOS_FRONTEND_URL;
73}
74
75export const API = api;
76export const API_VERSION = 'v1';
77export const WS_API = wsApi;
78export const WEBSITE = web;
79export const TODOS_FRONTEND = todos;
80
81export function aboutAppDetails() {
82 return [
83 `Version: ${ferdiVersion}`,
84 `Electron: ${electronVersion}`,
85 `Chrome: ${chromeVersion}`,
86 `Node.js: ${nodeVersion}`,
87 `Platform: ${osName()}`,
88 `Arch: ${osArch}`,
89 `Build date: ${new Date(Number(buildInfo.timestamp))}`,
90 `Git SHA: ${buildInfo.gitHashShort}`,
91 `Git branch: ${buildInfo.gitBranch}`,
92 ].join('\n');
93}
diff --git a/src/environment.ts b/src/environment.ts
index 9478f803c..99002367f 100644
--- a/src/environment.ts
+++ b/src/environment.ts
@@ -1,69 +1,21 @@
1import os from 'os'; 1import os from 'os';
2import { join } from 'path';
3
4import { api as electronApi } from 'electron-util';
5 2
6import { DEFAULT_ACCENT_COLOR } from '@meetfranz/theme'; 3import { DEFAULT_ACCENT_COLOR } from '@meetfranz/theme';
7 4
8import osName from 'os-name';
9import { 5import {
10 LIVE_FERDI_API, 6 LIVE_FERDI_API,
11 DEV_FRANZ_API,
12 LOCAL_API,
13 LOCAL_API_WEBSITE,
14 DEV_API_FRANZ_WEBSITE,
15 LIVE_API_FERDI_WEBSITE,
16 LIVE_WS_API,
17 LOCAL_WS_API,
18 DEV_WS_API,
19 LOCAL_TODOS_FRONTEND_URL,
20 PRODUCTION_TODOS_FRONTEND_URL,
21 DEFAULT_TODO_SERVICE, 7 DEFAULT_TODO_SERVICE,
22 SEARCH_ENGINE_DDG, 8 SEARCH_ENGINE_DDG,
23 iconSizeBias, 9 iconSizeBias,
24} from './config'; 10} from './config';
25 11
26// @ts-expect-error Cannot find module './buildInfo.json' or its corresponding type declarations.
27import * as buildInfo from './buildInfo.json';
28
29export const isMac = process.platform === 'darwin'; 12export const isMac = process.platform === 'darwin';
30export const isWindows = process.platform === 'win32'; 13export const isWindows = process.platform === 'win32';
31export const isLinux = process.platform === 'linux'; 14export const isLinux = process.platform === 'linux';
32 15
33export const { app } = electronApi;
34export const ferdiVersion = app.getVersion();
35export const electronVersion = process.versions.electron; 16export const electronVersion = process.versions.electron;
36export const chromeVersion = process.versions.chrome; 17export const chromeVersion = process.versions.chrome;
37export const nodeVersion = process.versions.node; 18export const nodeVersion = process.versions.node;
38export const ferdiLocale = app.getLocale();
39
40// Set app directory before loading user modules
41if (process.env.FERDI_APPDATA_DIR != null) {
42 app.setPath('appData', process.env.FERDI_APPDATA_DIR);
43 app.setPath('userData', app.getPath('appData'));
44} else if (process.env.PORTABLE_EXECUTABLE_DIR != null) {
45 app.setPath('appData', join(process.env.PORTABLE_EXECUTABLE_DIR, `${app.name}AppData`));
46 app.setPath('userData', join(app.getPath('appData'), `${app.name}AppData`));
47} else if (isWindows && process.env.APPDATA != null) {
48 app.setPath('appData', process.env.APPDATA);
49 app.setPath('userData', join(app.getPath('appData'), app.name));
50}
51
52export const isDevMode = process.env.ELECTRON_IS_DEV !== undefined ? Number.parseInt(process.env.ELECTRON_IS_DEV, 10) === 1 : !app.isPackaged;
53if (isDevMode) {
54 app.setPath('userData', join(app.getPath('appData'), `${app.name}Dev`));
55}
56
57export function userDataPath(...segments: string[]) {
58 return join(app.getPath('userData'), ...[segments].flat());
59}
60
61export function userDataRecipesPath(...segments: any[]) {
62 return userDataPath('recipes', ...[segments].flat());
63}
64
65export const useLiveAPI = process.env.USE_LIVE_API;
66const useLocalAPI = process.env.USE_LOCAL_API;
67 19
68export const osPlatform = os.platform(); 20export const osPlatform = os.platform();
69export const osArch = os.arch(); 21export const osArch = os.arch();
@@ -96,33 +48,6 @@ export const addNewServiceShortcutKey = (isAccelerator = true) =>
96export const settingsShortcutKey = (isAccelerator = true) => 48export const settingsShortcutKey = (isAccelerator = true) =>
97 `${cmdOrCtrlShortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; 49 `${cmdOrCtrlShortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`;
98 50
99let api: string;
100let wsApi: string;
101let web: string;
102let todos: string;
103if (!isDevMode || (isDevMode && useLiveAPI)) {
104 api = LIVE_FERDI_API;
105 wsApi = LIVE_WS_API;
106 web = LIVE_API_FERDI_WEBSITE;
107 todos = PRODUCTION_TODOS_FRONTEND_URL;
108} else if (isDevMode && useLocalAPI) {
109 api = LOCAL_API;
110 wsApi = LOCAL_WS_API;
111 web = LOCAL_API_WEBSITE;
112 todos = LOCAL_TODOS_FRONTEND_URL;
113} else {
114 api = DEV_FRANZ_API;
115 wsApi = DEV_WS_API;
116 web = DEV_API_FRANZ_WEBSITE;
117 todos = PRODUCTION_TODOS_FRONTEND_URL;
118}
119
120export const API = api;
121export const API_VERSION = 'v1';
122export const WS_API = wsApi;
123export const WEBSITE = web;
124export const TODOS_FRONTEND = todos;
125
126export const DEFAULT_APP_SETTINGS = { 51export const DEFAULT_APP_SETTINGS = {
127 autoLaunchInBackground: false, 52 autoLaunchInBackground: false,
128 runInBackground: true, 53 runInBackground: true,
@@ -140,7 +65,7 @@ export const DEFAULT_APP_SETTINGS = {
140 showDragArea: false, 65 showDragArea: false,
141 enableSpellchecking: true, 66 enableSpellchecking: true,
142 spellcheckerLanguage: 'en-us', 67 spellcheckerLanguage: 'en-us',
143 darkMode: isMac && electronApi.nativeTheme.shouldUseDarkColors, 68 darkMode: false,
144 splitMode: false, 69 splitMode: false,
145 locale: '', 70 locale: '',
146 fallbackLocale: 'en-US', 71 fallbackLocale: 'en-US',
@@ -178,17 +103,3 @@ export const DEFAULT_APP_SETTINGS = {
178 alwaysShowWorkspaces: false, 103 alwaysShowWorkspaces: false,
179 liftSingleInstanceLock: false, 104 liftSingleInstanceLock: false,
180}; 105};
181
182export function aboutAppDetails() {
183 return [
184 `Version: ${ferdiVersion}`,
185 `Electron: ${electronVersion}`,
186 `Chrome: ${chromeVersion}`,
187 `Node.js: ${nodeVersion}`,
188 `Platform: ${osName()}`,
189 `Arch: ${osArch}`,
190 `Build date: ${new Date(Number(buildInfo.timestamp))}`,
191 `Git SHA: ${buildInfo.gitHashShort}`,
192 `Git branch: ${buildInfo.gitBranch}`,
193 ].join('\n');
194}
diff --git a/src/features/settingsWS/store.js b/src/features/settingsWS/store.js
index e36ccee72..3b9e10825 100755
--- a/src/features/settingsWS/store.js
+++ b/src/features/settingsWS/store.js
@@ -4,7 +4,7 @@ import ms from 'ms';
4 4
5import { FeatureStore } from '../utils/FeatureStore'; 5import { FeatureStore } from '../utils/FeatureStore';
6import { createReactions } from '../../stores/lib/Reaction'; 6import { createReactions } from '../../stores/lib/Reaction';
7import { WS_API } from '../../environment'; 7import { WS_API } from '../../environment-remote';
8 8
9const debug = require('debug')('Ferdi:feature:settingsWS:store'); 9const debug = require('debug')('Ferdi:feature:settingsWS:store');
10 10
diff --git a/src/helpers/recipe-helpers.ts b/src/helpers/recipe-helpers.ts
index 65ef04088..d482dffab 100644
--- a/src/helpers/recipe-helpers.ts
+++ b/src/helpers/recipe-helpers.ts
@@ -1,6 +1,6 @@
1/* eslint-disable global-require */ 1/* eslint-disable global-require */
2import { parse } from 'path'; 2import { parse } from 'path';
3import { userDataRecipesPath } from '../environment'; 3import { userDataRecipesPath } from '../environment-remote';
4 4
5export function getRecipeDirectory(id: string = ''): string { 5export function getRecipeDirectory(id: string = ''): string {
6 return userDataRecipesPath(id); 6 return userDataRecipesPath(id);
diff --git a/src/helpers/service-helpers.ts b/src/helpers/service-helpers.ts
index 13c921f88..678d5024f 100644
--- a/src/helpers/service-helpers.ts
+++ b/src/helpers/service-helpers.ts
@@ -1,5 +1,5 @@
1import { readdirSync, removeSync } from 'fs-extra'; 1import { readdirSync, removeSync } from 'fs-extra';
2import { userDataPath } from '../environment'; 2import { userDataPath } from '../environment-remote';
3 3
4export function getServicePartitionsDirectory(...segments) { 4export function getServicePartitionsDirectory(...segments) {
5 return userDataPath('Partitions', ...[segments].flat()); 5 return userDataPath('Partitions', ...[segments].flat());
diff --git a/src/index.html b/src/index.html
index 929aec3ad..fea2ec387 100644
--- a/src/index.html
+++ b/src/index.html
@@ -26,7 +26,7 @@
26 ); 26 );
27 27
28 require('./sentry'); 28 require('./sentry');
29 const { isDevMode } = require('./environment'); 29 const { isDevMode } = require('./environment-remote');
30 if (isDevMode) { 30 if (isDevMode) {
31 const debugging = require('debug'); 31 const debugging = require('debug');
32 debugging.enable(process.env.DEBUG); 32 debugging.enable(process.env.DEBUG);
diff --git a/src/index.js b/src/index.js
index 97a4f0379..6035d08a4 100644
--- a/src/index.js
+++ b/src/index.js
@@ -14,14 +14,16 @@ import { DEFAULT_WINDOW_OPTIONS } from './config';
14 14
15import { 15import {
16 DEFAULT_APP_SETTINGS, 16 DEFAULT_APP_SETTINGS,
17 isDevMode,
18 isMac, 17 isMac,
19 isWindows, 18 isWindows,
20 isLinux, 19 isLinux,
20} from './environment';
21import {
22 isDevMode,
21 aboutAppDetails, 23 aboutAppDetails,
22 userDataRecipesPath, 24 userDataRecipesPath,
23 userDataPath, 25 userDataPath,
24} from './environment'; 26} from './environment-remote';
25import { ifUndefinedBoolean } from './jsUtils'; 27import { ifUndefinedBoolean } from './jsUtils';
26 28
27import { mainIpcHandler as basicAuthHandler } from './features/basicAuth'; 29import { mainIpcHandler as basicAuthHandler } from './features/basicAuth';
diff --git a/src/internal-server/app/Controllers/Http/RecipeController.js b/src/internal-server/app/Controllers/Http/RecipeController.js
index 2c7baf2a4..d44839db1 100644
--- a/src/internal-server/app/Controllers/Http/RecipeController.js
+++ b/src/internal-server/app/Controllers/Http/RecipeController.js
@@ -6,7 +6,7 @@ const Env = use('Env');
6const fetch = require('node-fetch'); 6const fetch = require('node-fetch');
7const debug = require('debug')('Ferdi:internalServer:RecipeController'); 7const debug = require('debug')('Ferdi:internalServer:RecipeController');
8const { LIVE_FERDI_API } = require('../../../../config'); 8const { LIVE_FERDI_API } = require('../../../../config');
9const { API_VERSION } = require('../../../../environment'); 9const { API_VERSION } = require('../../../../environment-remote');
10 10
11const RECIPES_URL = `${LIVE_FERDI_API}/${API_VERSION}/recipes`; 11const RECIPES_URL = `${LIVE_FERDI_API}/${API_VERSION}/recipes`;
12 12
diff --git a/src/internal-server/app/Controllers/Http/UserController.js b/src/internal-server/app/Controllers/Http/UserController.js
index 747606da7..9bbd2ff6e 100644
--- a/src/internal-server/app/Controllers/Http/UserController.js
+++ b/src/internal-server/app/Controllers/Http/UserController.js
@@ -7,10 +7,8 @@ const btoa = require('btoa');
7const fetch = require('node-fetch'); 7const fetch = require('node-fetch');
8const { v4: uuid } = require('uuid'); 8const { v4: uuid } = require('uuid');
9const crypto = require('crypto'); 9const crypto = require('crypto');
10const { 10const { DEFAULT_APP_SETTINGS } = require('../../../../environment');
11 DEFAULT_APP_SETTINGS, 11const { API_VERSION } = require('../../../../environment-remote');
12 API_VERSION,
13} = require('../../../../environment');
14const { default: userAgent } = require('../../../../helpers/userAgent-helpers'); 12const { default: userAgent } = require('../../../../helpers/userAgent-helpers');
15 13
16const apiRequest = (url, route, method, auth) => 14const apiRequest = (url, route, method, auth) =>
diff --git a/src/internal-server/start/migrate.js b/src/internal-server/start/migrate.js
index 0f25240cc..97cefcc54 100644
--- a/src/internal-server/start/migrate.js
+++ b/src/internal-server/start/migrate.js
@@ -1,4 +1,4 @@
1const { ferdiVersion } = require('../../environment'); 1const { ferdiVersion } = require('../../environment-remote');
2 2
3/** 3/**
4 * Migrate server database to work with current Ferdi version 4 * Migrate server database to work with current Ferdi version
diff --git a/src/internal-server/start/routes.js b/src/internal-server/start/routes.js
index e75380ccd..db74479c9 100644
--- a/src/internal-server/start/routes.js
+++ b/src/internal-server/start/routes.js
@@ -8,7 +8,7 @@
8/** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ 8/** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */
9const Route = use('Route'); 9const Route = use('Route');
10 10
11const { API_VERSION } = require('../../environment'); 11const { API_VERSION } = require('../../environment-remote');
12// Run latest database migration 12// Run latest database migration
13const migrate = require('./migrate'); 13const migrate = require('./migrate');
14 14
diff --git a/src/lib/Menu.js b/src/lib/Menu.js
index 349748506..56d14ebee 100644
--- a/src/lib/Menu.js
+++ b/src/lib/Menu.js
@@ -14,13 +14,13 @@ import {
14 settingsShortcutKey, 14 settingsShortcutKey,
15 isLinux, 15 isLinux,
16 isMac, 16 isMac,
17 aboutAppDetails,
18 lockFerdiShortcutKey, 17 lockFerdiShortcutKey,
19 todosToggleShortcutKey, 18 todosToggleShortcutKey,
20 workspaceToggleShortcutKey, 19 workspaceToggleShortcutKey,
21 addNewServiceShortcutKey, 20 addNewServiceShortcutKey,
22 muteFerdiShortcutKey, 21 muteFerdiShortcutKey,
23} from '../environment'; 22} from '../environment';
23import { aboutAppDetails } from '../environment-remote';
24import { todosStore } from '../features/todos'; 24import { todosStore } from '../features/todos';
25import { todoActions } from '../features/todos/actions'; 25import { todoActions } from '../features/todos/actions';
26import { workspaceActions } from '../features/workspaces/actions'; 26import { workspaceActions } from '../features/workspaces/actions';
diff --git a/src/stores/AppStore.js b/src/stores/AppStore.js
index cb17447c0..83e6a899b 100644
--- a/src/stores/AppStore.js
+++ b/src/stores/AppStore.js
@@ -20,12 +20,14 @@ import { CHECK_INTERVAL } from '../config';
20import { 20import {
21 DEFAULT_APP_SETTINGS, 21 DEFAULT_APP_SETTINGS,
22 isMac, 22 isMac,
23 ferdiVersion,
24 electronVersion, 23 electronVersion,
25 osRelease, 24 osRelease,
25} from '../environment';
26import {
27 ferdiVersion,
26 userDataPath, 28 userDataPath,
27 ferdiLocale, 29 ferdiLocale,
28} from '../environment'; 30} from '../environment-remote';
29import locales from '../i18n/translations'; 31import locales from '../i18n/translations';
30import { getLocale } from '../helpers/i18n-helpers'; 32import { getLocale } from '../helpers/i18n-helpers';
31 33
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 2a4b0511c..ce6675866 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -17,7 +17,7 @@ import {
17import { workspaceStore } from '../features/workspaces'; 17import { workspaceStore } from '../features/workspaces';
18import { KEEP_WS_LOADED_USID } from '../config'; 18import { KEEP_WS_LOADED_USID } from '../config';
19import { SPELLCHECKER_LOCALES } from '../i18n/languages'; 19import { SPELLCHECKER_LOCALES } from '../i18n/languages';
20import { ferdiVersion } from '../environment'; 20import { ferdiVersion } from '../environment-remote';
21 21
22const debug = require('debug')('Ferdi:ServiceStore'); 22const debug = require('debug')('Ferdi:ServiceStore');
23 23
diff --git a/src/stores/UserStore.js b/src/stores/UserStore.js
index 77dd28d7c..9f222d2d3 100644
--- a/src/stores/UserStore.js
+++ b/src/stores/UserStore.js
@@ -5,7 +5,7 @@ import localStorage from 'mobx-localstorage';
5import { ipcRenderer } from 'electron'; 5import { ipcRenderer } from 'electron';
6 6
7import { TODOS_PARTITION_ID } from '../config'; 7import { TODOS_PARTITION_ID } from '../config';
8import { isDevMode } from '../environment'; 8import { isDevMode } from '../environment-remote';
9import Store from './lib/Store'; 9import Store from './lib/Store';
10import Request from './lib/Request'; 10import Request from './lib/Request';
11import CachedRequest from './lib/CachedRequest'; 11import CachedRequest from './lib/CachedRequest';