diff options
author | Vijay A <vraravam@users.noreply.github.com> | 2021-10-01 21:51:55 +0530 |
---|---|---|
committer | Vijay A <vraravam@users.noreply.github.com> | 2021-10-01 21:51:55 +0530 |
commit | 204a80708e6e0a2189de16438a3eb4b57ef84987 (patch) | |
tree | a8fa3afb58dbfec67bced4281837d33fd4e71413 /src/environment.ts | |
parent | refactor: move 'asarRecipesPath' into 'asar-helpers' (diff) | |
download | ferdium-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)
Diffstat (limited to 'src/environment.ts')
-rw-r--r-- | src/environment.ts | 91 |
1 files changed, 1 insertions, 90 deletions
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 @@ | |||
1 | import os from 'os'; | 1 | import os from 'os'; |
2 | import { join } from 'path'; | ||
3 | |||
4 | import { api as electronApi } from 'electron-util'; | ||
5 | 2 | ||
6 | import { DEFAULT_ACCENT_COLOR } from '@meetfranz/theme'; | 3 | import { DEFAULT_ACCENT_COLOR } from '@meetfranz/theme'; |
7 | 4 | ||
8 | import osName from 'os-name'; | ||
9 | import { | 5 | import { |
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. | ||
27 | import * as buildInfo from './buildInfo.json'; | ||
28 | |||
29 | export const isMac = process.platform === 'darwin'; | 12 | export const isMac = process.platform === 'darwin'; |
30 | export const isWindows = process.platform === 'win32'; | 13 | export const isWindows = process.platform === 'win32'; |
31 | export const isLinux = process.platform === 'linux'; | 14 | export const isLinux = process.platform === 'linux'; |
32 | 15 | ||
33 | export const { app } = electronApi; | ||
34 | export const ferdiVersion = app.getVersion(); | ||
35 | export const electronVersion = process.versions.electron; | 16 | export const electronVersion = process.versions.electron; |
36 | export const chromeVersion = process.versions.chrome; | 17 | export const chromeVersion = process.versions.chrome; |
37 | export const nodeVersion = process.versions.node; | 18 | export const nodeVersion = process.versions.node; |
38 | export const ferdiLocale = app.getLocale(); | ||
39 | |||
40 | // Set app directory before loading user modules | ||
41 | if (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 | |||
52 | export const isDevMode = process.env.ELECTRON_IS_DEV !== undefined ? Number.parseInt(process.env.ELECTRON_IS_DEV, 10) === 1 : !app.isPackaged; | ||
53 | if (isDevMode) { | ||
54 | app.setPath('userData', join(app.getPath('appData'), `${app.name}Dev`)); | ||
55 | } | ||
56 | |||
57 | export function userDataPath(...segments: string[]) { | ||
58 | return join(app.getPath('userData'), ...[segments].flat()); | ||
59 | } | ||
60 | |||
61 | export function userDataRecipesPath(...segments: any[]) { | ||
62 | return userDataPath('recipes', ...[segments].flat()); | ||
63 | } | ||
64 | |||
65 | export const useLiveAPI = process.env.USE_LIVE_API; | ||
66 | const useLocalAPI = process.env.USE_LOCAL_API; | ||
67 | 19 | ||
68 | export const osPlatform = os.platform(); | 20 | export const osPlatform = os.platform(); |
69 | export const osArch = os.arch(); | 21 | export const osArch = os.arch(); |
@@ -96,33 +48,6 @@ export const addNewServiceShortcutKey = (isAccelerator = true) => | |||
96 | export const settingsShortcutKey = (isAccelerator = true) => | 48 | export const settingsShortcutKey = (isAccelerator = true) => |
97 | `${cmdOrCtrlShortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; | 49 | `${cmdOrCtrlShortcutKey(isAccelerator)}+${isMac ? ',' : 'P'}`; |
98 | 50 | ||
99 | let api: string; | ||
100 | let wsApi: string; | ||
101 | let web: string; | ||
102 | let todos: string; | ||
103 | if (!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 | |||
120 | export const API = api; | ||
121 | export const API_VERSION = 'v1'; | ||
122 | export const WS_API = wsApi; | ||
123 | export const WEBSITE = web; | ||
124 | export const TODOS_FRONTEND = todos; | ||
125 | |||
126 | export const DEFAULT_APP_SETTINGS = { | 51 | export 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 | |||
182 | export 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 | } | ||