diff options
Diffstat (limited to 'src')
44 files changed, 77 insertions, 76 deletions
diff --git a/src/api/UserApi.ts b/src/api/UserApi.ts index 31c8acead..2b319207a 100644 --- a/src/api/UserApi.ts +++ b/src/api/UserApi.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { BinaryLike } from 'crypto'; | 1 | import { BinaryLike } from 'node:crypto'; |
2 | import { hash } from '../helpers/password-helpers'; | 2 | import { hash } from '../helpers/password-helpers'; |
3 | 3 | ||
4 | export default class UserApi { | 4 | export default class UserApi { |
diff --git a/src/api/server/LocalApi.ts b/src/api/server/LocalApi.ts index a292bc42d..6764816f9 100644 --- a/src/api/server/LocalApi.ts +++ b/src/api/server/LocalApi.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { ExecException } from 'child_process'; | 1 | import { ExecException } from 'node:child_process'; |
2 | import { ipcRenderer } from 'electron'; | 2 | import { ipcRenderer } from 'electron'; |
3 | import fastFolderSize from 'fast-folder-size'; | 3 | import fastFolderSize from 'fast-folder-size'; |
4 | 4 | ||
diff --git a/src/api/server/ServerApi.ts b/src/api/server/ServerApi.ts index de8e0a85c..7b17fcdcd 100644 --- a/src/api/server/ServerApi.ts +++ b/src/api/server/ServerApi.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | /* eslint-disable import/no-import-module-exports */ | 1 | /* eslint-disable import/no-import-module-exports */ |
2 | /* eslint-disable global-require */ | 2 | /* eslint-disable global-require */ |
3 | import { join } from 'path'; | 3 | import { join } from 'node:path'; |
4 | import tar from 'tar'; | 4 | import tar from 'tar'; |
5 | import { | 5 | import { |
6 | readdirSync, | 6 | readdirSync, |
diff --git a/src/components/auth/Welcome.tsx b/src/components/auth/Welcome.tsx index 047512ea4..259e3c335 100644 --- a/src/components/auth/Welcome.tsx +++ b/src/components/auth/Welcome.tsx | |||
@@ -91,6 +91,7 @@ class Welcome extends Component<IProps> { | |||
91 | className="settings__hr-sections" | 91 | className="settings__hr-sections" |
92 | style={{ marginTop: 24, marginBottom: 24, borderStyle: 'solid' }} | 92 | style={{ marginTop: 24, marginBottom: 24, borderStyle: 'solid' }} |
93 | /> | 93 | /> |
94 | {/* eslint-disable-next-line react/button-has-type */} | ||
94 | <button | 95 | <button |
95 | className="button" | 96 | className="button" |
96 | onClick={this.useLocalServer.bind(this)} | 97 | onClick={this.useLocalServer.bind(this)} |
diff --git a/src/components/services/content/ServiceView.tsx b/src/components/services/content/ServiceView.tsx index 19dcdd07a..37dcafbe4 100644 --- a/src/components/services/content/ServiceView.tsx +++ b/src/components/services/content/ServiceView.tsx | |||
@@ -136,6 +136,7 @@ class ServiceView extends Component<IProps, IState> { | |||
136 | </> | 136 | </> |
137 | )} | 137 | )} |
138 | {service.isEnabled ? ( | 138 | {service.isEnabled ? ( |
139 | // eslint-disable-next-line react/jsx-no-useless-fragment | ||
139 | <> | 140 | <> |
140 | {service.isHibernating ? ( | 141 | {service.isHibernating ? ( |
141 | <div | 142 | <div |
@@ -173,6 +174,7 @@ class ServiceView extends Component<IProps, IState> { | |||
173 | )} | 174 | )} |
174 | </> | 175 | </> |
175 | ) : ( | 176 | ) : ( |
177 | // eslint-disable-next-line react/jsx-no-useless-fragment | ||
176 | <> | 178 | <> |
177 | {service.isActive && ( | 179 | {service.isActive && ( |
178 | <ServiceDisabled | 180 | <ServiceDisabled |
diff --git a/src/components/services/content/ServiceWebview.tsx b/src/components/services/content/ServiceWebview.tsx index 008e1b227..50b5d478f 100644 --- a/src/components/services/content/ServiceWebview.tsx +++ b/src/components/services/content/ServiceWebview.tsx | |||
@@ -2,7 +2,7 @@ import { Component, ReactElement } from 'react'; | |||
2 | import { observer } from 'mobx-react'; | 2 | import { observer } from 'mobx-react'; |
3 | import { action, makeObservable, observable, reaction } from 'mobx'; | 3 | import { action, makeObservable, observable, reaction } from 'mobx'; |
4 | import ElectronWebView from 'react-electron-web-view'; | 4 | import ElectronWebView from 'react-electron-web-view'; |
5 | import { join } from 'path'; | 5 | import { join } from 'node:path'; |
6 | import ServiceModel from '../../../models/Service'; | 6 | import ServiceModel from '../../../models/Service'; |
7 | 7 | ||
8 | const debug = require('../../../preload-safe-debug')('Ferdium:Services'); | 8 | const debug = require('../../../preload-safe-debug')('Ferdium:Services'); |
diff --git a/src/components/settings/settings/EditSettingsForm.tsx b/src/components/settings/settings/EditSettingsForm.tsx index 099a27ebe..0b5d4374d 100644 --- a/src/components/settings/settings/EditSettingsForm.tsx +++ b/src/components/settings/settings/EditSettingsForm.tsx | |||
@@ -386,8 +386,8 @@ class EditSettingsForm extends Component<IProps, IState> { | |||
386 | const { lockingFeatureEnabled, scheduledDNDEnabled, reloadAfterResume } = | 386 | const { lockingFeatureEnabled, scheduledDNDEnabled, reloadAfterResume } = |
387 | window['ferdium'].stores.settings.all.app; | 387 | window['ferdium'].stores.settings.all.app; |
388 | 388 | ||
389 | let cacheSize: string; | 389 | let cacheSize; |
390 | let notCleared: boolean; | 390 | let notCleared; |
391 | 391 | ||
392 | if (this.state.activeSetttingsTab === 'advanced') { | 392 | if (this.state.activeSetttingsTab === 'advanced') { |
393 | const cacheSizeBytes = getCacheSize(); | 393 | const cacheSizeBytes = getCacheSize(); |
diff --git a/src/components/ui/Tabs/TabItem.tsx b/src/components/ui/Tabs/TabItem.tsx index 815dced8c..55dee42c6 100644 --- a/src/components/ui/Tabs/TabItem.tsx +++ b/src/components/ui/Tabs/TabItem.tsx | |||
@@ -12,8 +12,8 @@ export interface IProps { | |||
12 | title?: string; // it is used on Tabs.tsx | 12 | title?: string; // it is used on Tabs.tsx |
13 | } | 13 | } |
14 | 14 | ||
15 | function TabItem({ children, title = '' }: IProps): ReactElement { | 15 | const TabItem = ({ children, title = '' }: IProps): ReactElement => { |
16 | return <Fragment key={title}>{children}</Fragment>; | 16 | return <Fragment key={title}>{children}</Fragment>; |
17 | } | 17 | }; |
18 | 18 | ||
19 | export default TabItem; | 19 | export default TabItem; |
diff --git a/src/components/ui/button/index.tsx b/src/components/ui/button/index.tsx index 3c31ca952..c37a88afa 100644 --- a/src/components/ui/button/index.tsx +++ b/src/components/ui/button/index.tsx | |||
@@ -237,6 +237,7 @@ class ButtonComponent extends Component<IProps, IState> { | |||
237 | ) : ( | 237 | ) : ( |
238 | <button | 238 | <button |
239 | id={id} | 239 | id={id} |
240 | // eslint-disable-next-line react/button-has-type | ||
240 | type={type} | 241 | type={type} |
241 | onClick={onClick} | 242 | onClick={onClick} |
242 | className={classnames({ | 243 | className={classnames({ |
diff --git a/src/components/ui/select/index.tsx b/src/components/ui/select/index.tsx index 902eb7748..650600fb3 100644 --- a/src/components/ui/select/index.tsx +++ b/src/components/ui/select/index.tsx | |||
@@ -191,12 +191,23 @@ class SelectComponent extends Component<IProps, IState> { | |||
191 | this.arrowKeysHandler = this.arrowKeysHandler.bind(this); | 191 | this.arrowKeysHandler = this.arrowKeysHandler.bind(this); |
192 | } | 192 | } |
193 | 193 | ||
194 | componentDidUpdate(): void { | 194 | UNSAFE_componentWillMount(): void { |
195 | const { open } = this.state; | 195 | const { value } = this.props; |
196 | 196 | ||
197 | if (this.searchInputRef?.current && open) { | 197 | if (this.componentRef?.current) { |
198 | this.searchInputRef.current.focus(); | 198 | this.componentRef.current.removeEventListener( |
199 | 'keydown', | ||
200 | this.keyListener, | ||
201 | ); | ||
199 | } | 202 | } |
203 | |||
204 | if (value) { | ||
205 | this.setState({ | ||
206 | value, | ||
207 | }); | ||
208 | } | ||
209 | |||
210 | this.setFilter(); | ||
200 | } | 211 | } |
201 | 212 | ||
202 | componentDidMount(): void { | 213 | componentDidMount(): void { |
@@ -212,23 +223,12 @@ class SelectComponent extends Component<IProps, IState> { | |||
212 | window.addEventListener('keydown', this.arrowKeysHandler, false); | 223 | window.addEventListener('keydown', this.arrowKeysHandler, false); |
213 | } | 224 | } |
214 | 225 | ||
215 | UNSAFE_componentWillMount(): void { | 226 | componentDidUpdate(): void { |
216 | const { value } = this.props; | 227 | const { open } = this.state; |
217 | |||
218 | if (this.componentRef?.current) { | ||
219 | this.componentRef.current.removeEventListener( | ||
220 | 'keydown', | ||
221 | this.keyListener, | ||
222 | ); | ||
223 | } | ||
224 | 228 | ||
225 | if (value) { | 229 | if (this.searchInputRef?.current && open) { |
226 | this.setState({ | 230 | this.searchInputRef.current.focus(); |
227 | value, | ||
228 | }); | ||
229 | } | 231 | } |
230 | |||
231 | this.setFilter(); | ||
232 | } | 232 | } |
233 | 233 | ||
234 | componentWillUnmount(): void { | 234 | componentWillUnmount(): void { |
diff --git a/src/electron/exception.ts b/src/electron/exception.ts index ada98d17b..a445a6475 100644 --- a/src/electron/exception.ts +++ b/src/electron/exception.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | // eslint-disable-next-line unicorn/no-empty-file | ||
1 | process.on('uncaughtException', err => { | 2 | process.on('uncaughtException', err => { |
2 | // handle the error safely | 3 | // handle the error safely |
3 | console.error(err); | 4 | console.error(err); |
diff --git a/src/electron/ipc-api/appIndicator.ts b/src/electron/ipc-api/appIndicator.ts index 766e6937a..c3232d89f 100644 --- a/src/electron/ipc-api/appIndicator.ts +++ b/src/electron/ipc-api/appIndicator.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | import { app, ipcMain, BrowserWindow } from 'electron'; | 1 | import { app, ipcMain, BrowserWindow } from 'electron'; |
2 | import { join } from 'path'; | 2 | import { join } from 'node:path'; |
3 | import { autorun } from 'mobx'; | 3 | import { autorun } from 'mobx'; |
4 | import { isMac, isWindows, isLinux } from '../../environment'; | 4 | import { isMac, isWindows, isLinux } from '../../environment'; |
5 | import TrayIcon from '../../lib/Tray'; | 5 | import TrayIcon from '../../lib/Tray'; |
diff --git a/src/electron/ipc-api/download.ts b/src/electron/ipc-api/download.ts index 851bff4c3..0c7e022d4 100644 --- a/src/electron/ipc-api/download.ts +++ b/src/electron/ipc-api/download.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | import { ipcMain, dialog, BrowserWindow } from 'electron'; | 1 | import { ipcMain, dialog, BrowserWindow } from 'electron'; |
2 | import { download } from 'electron-dl'; | 2 | import { download } from 'electron-dl'; |
3 | import { writeFileSync } from 'fs-extra'; | 3 | import { writeFileSync } from 'fs-extra'; |
4 | import { PathLike } from 'fs'; | 4 | import { PathLike } from 'node:fs'; |
5 | 5 | ||
6 | const debug = require('../../preload-safe-debug')('Ferdium:ipcApi:download'); | 6 | const debug = require('../../preload-safe-debug')('Ferdium:ipcApi:download'); |
7 | 7 | ||
diff --git a/src/electron/ipc-api/localServer.ts b/src/electron/ipc-api/localServer.ts index 6264e719d..5fdfad32c 100644 --- a/src/electron/ipc-api/localServer.ts +++ b/src/electron/ipc-api/localServer.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | import { randomBytes } from 'crypto'; | 1 | import { randomBytes } from 'node:crypto'; |
2 | import { ipcMain, BrowserWindow } from 'electron'; | 2 | import { ipcMain, BrowserWindow } from 'electron'; |
3 | import { createServer } from 'net'; | 3 | import { createServer } from 'node:net'; |
4 | import { LOCAL_HOSTNAME, LOCAL_PORT } from '../../config'; | 4 | import { LOCAL_HOSTNAME, LOCAL_PORT } from '../../config'; |
5 | import { userDataPath } from '../../environment-remote'; | 5 | import { userDataPath } from '../../environment-remote'; |
6 | import { server } from '../../internal-server/start'; | 6 | import { server } from '../../internal-server/start'; |
diff --git a/src/electron/macOSPermissions.ts b/src/electron/macOSPermissions.ts index 88706dd23..90056f59c 100644 --- a/src/electron/macOSPermissions.ts +++ b/src/electron/macOSPermissions.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | import { systemPreferences, BrowserWindow, dialog } from 'electron'; | 1 | import { systemPreferences, BrowserWindow, dialog } from 'electron'; |
2 | import { pathExistsSync, mkdirSync, writeFileSync } from 'fs-extra'; | 2 | import { pathExistsSync, mkdirSync, writeFileSync } from 'fs-extra'; |
3 | import macosVersion from 'macos-version'; | 3 | import macosVersion from 'macos-version'; |
4 | import { dirname } from 'path'; | 4 | import { dirname } from 'node:path'; |
5 | // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error | 5 | // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error |
6 | // @ts-ignore | 6 | // @ts-ignore |
7 | import { askForScreenCaptureAccess } from 'node-mac-permissions'; | 7 | import { askForScreenCaptureAccess } from 'node-mac-permissions'; |
diff --git a/src/environment-remote.ts b/src/environment-remote.ts index 5f2b68dab..691e19ef4 100644 --- a/src/environment-remote.ts +++ b/src/environment-remote.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { join } from 'path'; | 1 | import { join } from 'node:path'; |
2 | import { api as electronApi } from './electron-util'; | 2 | import { api as electronApi } from './electron-util'; |
3 | import { | 3 | import { |
4 | LIVE_FERDIUM_API, | 4 | LIVE_FERDIUM_API, |
diff --git a/src/environment.ts b/src/environment.ts index e17be0b7f..c3b9e7e58 100644 --- a/src/environment.ts +++ b/src/environment.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | // Note: This file has now become devoid of all references to values deduced from the remote process - all those now live in the `environment-remote.js` file | 1 | // Note: This file has now become devoid of all references to values deduced from the remote process - all those now live in the `environment-remote.js` file |
2 | 2 | ||
3 | import { arch, release } from 'os'; | 3 | import { arch, release } from 'node:os'; |
4 | 4 | ||
5 | export const isMac = process.platform === 'darwin'; | 5 | export const isMac = process.platform === 'darwin'; |
6 | export const isWindows = process.platform === 'win32'; | 6 | export const isWindows = process.platform === 'win32'; |
diff --git a/src/features/appearance/index.ts b/src/features/appearance/index.ts index da75bf57b..46403275e 100644 --- a/src/features/appearance/index.ts +++ b/src/features/appearance/index.ts | |||
@@ -146,12 +146,13 @@ function generateServiceRibbonWidthStyle( | |||
146 | ) { | 146 | ) { |
147 | const width = Number(widthStr); | 147 | const width = Number(widthStr); |
148 | const iconSize = Number(iconSizeStr) - iconSizeBias; | 148 | const iconSize = Number(iconSizeStr) - iconSizeBias; |
149 | let fontSize = 11; | ||
150 | let tabItemHeightBias = -5; | ||
151 | let sidebarSizeBias = 22; | ||
152 | const tabItemWidthBias = 3; | 149 | const tabItemWidthBias = 3; |
153 | const verticalStyleOffset = 29; | 150 | const verticalStyleOffset = 29; |
154 | 151 | ||
152 | let fontSize: number; | ||
153 | let tabItemHeightBias: number; | ||
154 | let sidebarSizeBias: number; | ||
155 | |||
155 | switch (width) { | 156 | switch (width) { |
156 | case 35: { | 157 | case 35: { |
157 | fontSize = 9; | 158 | fontSize = 9; |
diff --git a/src/features/workspaces/components/WorkspacesDashboard.tsx b/src/features/workspaces/components/WorkspacesDashboard.tsx index a823132c5..ba06730a0 100644 --- a/src/features/workspaces/components/WorkspacesDashboard.tsx +++ b/src/features/workspaces/components/WorkspacesDashboard.tsx | |||
@@ -152,6 +152,7 @@ class WorkspacesDashboard extends Component<IProps> { | |||
152 | {intl.formatMessage(messages.workspacesRequestFailed)} | 152 | {intl.formatMessage(messages.workspacesRequestFailed)} |
153 | </Infobox> | 153 | </Infobox> |
154 | ) : ( | 154 | ) : ( |
155 | // eslint-disable-next-line react/jsx-no-useless-fragment | ||
155 | <> | 156 | <> |
156 | {workspaces.length === 0 ? ( | 157 | {workspaces.length === 0 ? ( |
157 | <div className="align-middle settings__empty-state"> | 158 | <div className="align-middle settings__empty-state"> |
diff --git a/src/features/workspaces/containers/EditWorkspaceScreen.tsx b/src/features/workspaces/containers/EditWorkspaceScreen.tsx index 0b66db0d0..abc747c33 100644 --- a/src/features/workspaces/containers/EditWorkspaceScreen.tsx +++ b/src/features/workspaces/containers/EditWorkspaceScreen.tsx | |||
@@ -9,11 +9,10 @@ import { workspaceStore } from '../index'; | |||
9 | import { deleteWorkspaceRequest, updateWorkspaceRequest } from '../api'; | 9 | import { deleteWorkspaceRequest, updateWorkspaceRequest } from '../api'; |
10 | 10 | ||
11 | class EditWorkspaceScreen extends Component<StoresProps> { | 11 | class EditWorkspaceScreen extends Component<StoresProps> { |
12 | // @ts-expect-error Not all code paths return a value. | ||
13 | onDelete = () => { | 12 | onDelete = () => { |
14 | const { workspaceBeingEdited } = workspaceStore; | 13 | const { workspaceBeingEdited } = workspaceStore; |
15 | const { actions } = this.props; | 14 | const { actions } = this.props; |
16 | if (!workspaceBeingEdited) return null; | 15 | if (!workspaceBeingEdited) return; |
17 | actions.workspaces.delete({ workspace: workspaceBeingEdited }); | 16 | actions.workspaces.delete({ workspace: workspaceBeingEdited }); |
18 | }; | 17 | }; |
19 | 18 | ||
diff --git a/src/helpers/asar-helpers.ts b/src/helpers/asar-helpers.ts index 9d975c193..77dd50bb1 100644 --- a/src/helpers/asar-helpers.ts +++ b/src/helpers/asar-helpers.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { join } from 'path'; | 1 | import { join } from 'node:path'; |
2 | 2 | ||
3 | export function asarPath(dir: string = '') { | 3 | export function asarPath(dir: string = '') { |
4 | return dir.replace('app.asar', 'app.asar.unpacked'); | 4 | return dir.replace('app.asar', 'app.asar.unpacked'); |
diff --git a/src/helpers/password-helpers.ts b/src/helpers/password-helpers.ts index d5f2d0c49..75ef5606a 100644 --- a/src/helpers/password-helpers.ts +++ b/src/helpers/password-helpers.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { createHash, BinaryLike } from 'crypto'; | 1 | import { createHash, BinaryLike } from 'node:crypto'; |
2 | 2 | ||
3 | export function hash(password: BinaryLike): string { | 3 | export function hash(password: BinaryLike): string { |
4 | return createHash('sha256').update(password).digest('base64'); | 4 | return createHash('sha256').update(password).digest('base64'); |
diff --git a/src/helpers/recipe-helpers.ts b/src/helpers/recipe-helpers.ts index 68a1578e3..500be0cfc 100644 --- a/src/helpers/recipe-helpers.ts +++ b/src/helpers/recipe-helpers.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | /* eslint-disable import/no-import-module-exports */ | 1 | /* eslint-disable import/no-import-module-exports */ |
2 | /* eslint-disable global-require */ | 2 | /* eslint-disable global-require */ |
3 | import { parse } from 'path'; | 3 | import { parse } from 'node:path'; |
4 | import { userDataRecipesPath } from '../environment-remote'; | 4 | import { userDataRecipesPath } from '../environment-remote'; |
5 | 5 | ||
6 | export function getRecipeDirectory(id: string = ''): string { | 6 | export function getRecipeDirectory(id: string = ''): string { |
diff --git a/src/helpers/url-helpers.ts b/src/helpers/url-helpers.ts index 795d3f2cb..fe637bb08 100644 --- a/src/helpers/url-helpers.ts +++ b/src/helpers/url-helpers.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | // This is taken from: https://benjamin-altpeter.de/shell-openexternal-dangers/ | 1 | // This is taken from: https://benjamin-altpeter.de/shell-openexternal-dangers/ |
2 | import { URL } from 'url'; | 2 | import { URL } from 'node:url'; |
3 | import { ensureDirSync, existsSync } from 'fs-extra'; | 3 | import { ensureDirSync, existsSync } from 'fs-extra'; |
4 | import { shell } from 'electron'; | 4 | import { shell } from 'electron'; |
5 | import normalizeUrl from 'normalize-url'; | 5 | import normalizeUrl from 'normalize-url'; |
diff --git a/src/helpers/userAgent-helpers.ts b/src/helpers/userAgent-helpers.ts index a89207326..bc99fbc52 100644 --- a/src/helpers/userAgent-helpers.ts +++ b/src/helpers/userAgent-helpers.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { cpus } from 'os'; | 1 | import { cpus } from 'node:os'; |
2 | import macosVersion from 'macos-version'; | 2 | import macosVersion from 'macos-version'; |
3 | import { chrome } from 'useragent-generator'; | 3 | import { chrome } from 'useragent-generator'; |
4 | import { | 4 | import { |
@@ -14,6 +14,7 @@ function macOS() { | |||
14 | const version = macosVersion() ?? ''; | 14 | const version = macosVersion() ?? ''; |
15 | let cpuName = cpus()[0].model.split(' ')[0]; | 15 | let cpuName = cpus()[0].model.split(' ')[0]; |
16 | if (cpuName && /\(/.test(cpuName)) { | 16 | if (cpuName && /\(/.test(cpuName)) { |
17 | // eslint-disable-next-line prefer-destructuring | ||
17 | cpuName = cpuName.split('(')[0]; | 18 | cpuName = cpuName.split('(')[0]; |
18 | } | 19 | } |
19 | return `Macintosh; ${cpuName} Mac OS X ${version.replaceAll('.', '_')}`; | 20 | return `Macintosh; ${cpuName} Mac OS X ${version.replaceAll('.', '_')}`; |
diff --git a/src/index.ts b/src/index.ts index 1c616b499..5507a9ac4 100644 --- a/src/index.ts +++ b/src/index.ts | |||
@@ -11,11 +11,11 @@ import { | |||
11 | } from 'electron'; | 11 | } from 'electron'; |
12 | 12 | ||
13 | import { emptyDirSync, ensureFileSync } from 'fs-extra'; | 13 | import { emptyDirSync, ensureFileSync } from 'fs-extra'; |
14 | import { join } from 'path'; | 14 | import { join } from 'node:path'; |
15 | import windowStateKeeper from 'electron-window-state'; | 15 | import windowStateKeeper from 'electron-window-state'; |
16 | import minimist from 'minimist'; | 16 | import minimist from 'minimist'; |
17 | import ms from 'ms'; | 17 | import ms from 'ms'; |
18 | import { EventEmitter } from 'events'; | 18 | import { EventEmitter } from 'node:events'; |
19 | import { enableWebContents, initializeRemote } from './electron-util'; | 19 | import { enableWebContents, initializeRemote } from './electron-util'; |
20 | import enforceMacOSAppLocation from './enforce-macos-app-location'; | 20 | import enforceMacOSAppLocation from './enforce-macos-app-location'; |
21 | 21 | ||
diff --git a/src/internal-server/app/Controllers/Http/ImageController.js b/src/internal-server/app/Controllers/Http/ImageController.js index 5b8337c49..3ce6fb22d 100644 --- a/src/internal-server/app/Controllers/Http/ImageController.js +++ b/src/internal-server/app/Controllers/Http/ImageController.js | |||
@@ -1,6 +1,6 @@ | |||
1 | const Env = use('Env'); | 1 | const Env = use('Env'); |
2 | 2 | ||
3 | const path = require('path'); | 3 | const path = require('node:path'); |
4 | const fs = require('fs-extra'); | 4 | const fs = require('fs-extra'); |
5 | const sanitize = require('sanitize-filename'); | 5 | const sanitize = require('sanitize-filename'); |
6 | 6 | ||
diff --git a/src/internal-server/app/Controllers/Http/UserController.js b/src/internal-server/app/Controllers/Http/UserController.js index 43d925119..943d7705e 100644 --- a/src/internal-server/app/Controllers/Http/UserController.js +++ b/src/internal-server/app/Controllers/Http/UserController.js | |||
@@ -6,7 +6,7 @@ const { validateAll } = use('Validator'); | |||
6 | 6 | ||
7 | const fetch = require('node-fetch'); | 7 | const fetch = require('node-fetch'); |
8 | const { v4: uuid } = require('uuid'); | 8 | const { v4: uuid } = require('uuid'); |
9 | const crypto = require('crypto'); | 9 | const crypto = require('node:crypto'); |
10 | const { DEFAULT_APP_SETTINGS } = require('../../../../config'); | 10 | const { DEFAULT_APP_SETTINGS } = require('../../../../config'); |
11 | const { convertToJSON } = require('../../../../jsUtils'); | 11 | const { convertToJSON } = require('../../../../jsUtils'); |
12 | const { API_VERSION } = require('../../../../environment-remote'); | 12 | const { API_VERSION } = require('../../../../environment-remote'); |
@@ -224,11 +224,7 @@ class UserController { | |||
224 | } | 224 | } |
225 | 225 | ||
226 | // Account import/export | 226 | // Account import/export |
227 | async export({ | 227 | async export({ _auth, response }) { |
228 | // eslint-disable-next-line no-unused-vars | ||
229 | auth, | ||
230 | response, | ||
231 | }) { | ||
232 | const allServices = await Service.all(); | 228 | const allServices = await Service.all(); |
233 | const services = allServices.toJSON(); | 229 | const services = allServices.toJSON(); |
234 | const allWorkspaces = await Workspace.all(); | 230 | const allWorkspaces = await Workspace.all(); |
diff --git a/src/internal-server/app/Controllers/Http/WorkspaceController.js b/src/internal-server/app/Controllers/Http/WorkspaceController.js index 352589567..d271dac12 100644 --- a/src/internal-server/app/Controllers/Http/WorkspaceController.js +++ b/src/internal-server/app/Controllers/Http/WorkspaceController.js | |||
@@ -92,12 +92,7 @@ class WorkspaceController { | |||
92 | }); | 92 | }); |
93 | } | 93 | } |
94 | 94 | ||
95 | async delete({ | 95 | async delete({ response, params }) { |
96 | // eslint-disable-next-line no-unused-vars | ||
97 | request, | ||
98 | response, | ||
99 | params, | ||
100 | }) { | ||
101 | // Validate user input | 96 | // Validate user input |
102 | const validation = await validateAll(params, { | 97 | const validation = await validateAll(params, { |
103 | id: 'required', | 98 | id: 'required', |
diff --git a/src/internal-server/app/ImageHelper.js b/src/internal-server/app/ImageHelper.js index fba610069..b24a97836 100644 --- a/src/internal-server/app/ImageHelper.js +++ b/src/internal-server/app/ImageHelper.js | |||
@@ -2,7 +2,7 @@ const Env = use('Env'); | |||
2 | 2 | ||
3 | const { v4: uuid } = require('uuid'); | 3 | const { v4: uuid } = require('uuid'); |
4 | 4 | ||
5 | const path = require('path'); | 5 | const path = require('node:path'); |
6 | const fs = require('fs-extra'); | 6 | const fs = require('fs-extra'); |
7 | const { API_VERSION } = require('../../environment-remote'); | 7 | const { API_VERSION } = require('../../environment-remote'); |
8 | 8 | ||
diff --git a/src/internal-server/database/factory.js b/src/internal-server/database/factory.js index 8534fc20a..8cd45a80d 100644 --- a/src/internal-server/database/factory.js +++ b/src/internal-server/database/factory.js | |||
@@ -1,3 +1,4 @@ | |||
1 | /* eslint-disable unicorn/no-empty-file */ | ||
1 | /* | 2 | /* |
2 | |-------------------------------------------------------------------------- | 3 | |-------------------------------------------------------------------------- |
3 | | Factory | 4 | | Factory |
diff --git a/src/internal-server/start.ts b/src/internal-server/start.ts index f5e1953e7..b6ee65986 100644 --- a/src/internal-server/start.ts +++ b/src/internal-server/start.ts | |||
@@ -18,7 +18,7 @@ | |||
18 | import fold from '@adonisjs/fold'; | 18 | import fold from '@adonisjs/fold'; |
19 | import { Ignitor, hooks } from '@adonisjs/ignitor'; | 19 | import { Ignitor, hooks } from '@adonisjs/ignitor'; |
20 | import { readFile, stat, chmod, writeFile } from 'fs-extra'; | 20 | import { readFile, stat, chmod, writeFile } from 'fs-extra'; |
21 | import { join } from 'path'; | 21 | import { join } from 'node:path'; |
22 | import { LOCAL_HOSTNAME } from '../config'; | 22 | import { LOCAL_HOSTNAME } from '../config'; |
23 | import { isWindows } from '../environment'; | 23 | import { isWindows } from '../environment'; |
24 | 24 | ||
diff --git a/src/internal-server/start/routes.js b/src/internal-server/start/routes.js index 8aca39347..2dbd0713e 100644 --- a/src/internal-server/start/routes.js +++ b/src/internal-server/start/routes.js | |||
@@ -5,7 +5,7 @@ | |||
5 | | | 5 | | |
6 | */ | 6 | */ |
7 | 7 | ||
8 | const { timingSafeEqual } = require('crypto'); | 8 | const { timingSafeEqual } = require('node:crypto'); |
9 | 9 | ||
10 | /** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ | 10 | /** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ |
11 | const Route = use('Route'); | 11 | const Route = use('Route'); |
diff --git a/src/internal-server/test.ts b/src/internal-server/test.ts index 6949df79e..c163656fb 100644 --- a/src/internal-server/test.ts +++ b/src/internal-server/test.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { join } from 'path'; | 1 | import { join } from 'node:path'; |
2 | import { ensureDirSync } from 'fs-extra'; | 2 | import { ensureDirSync } from 'fs-extra'; |
3 | import { server } from './start'; | 3 | import { server } from './start'; |
4 | 4 | ||
diff --git a/src/jsUtils.ts b/src/jsUtils.ts index f6a1df2fe..0095028ef 100644 --- a/src/jsUtils.ts +++ b/src/jsUtils.ts | |||
@@ -3,15 +3,15 @@ export const ifUndefined = <T>( | |||
3 | defaultValue: T, | 3 | defaultValue: T, |
4 | ): T => source ?? defaultValue; | 4 | ): T => source ?? defaultValue; |
5 | 5 | ||
6 | export const convertToJSON = (data: string | any | undefined | null) => | 6 | export const convertToJSON = (data?: string | any | null) => |
7 | data && typeof data === 'string' && data.length > 0 ? JSON.parse(data) : data; | 7 | data && typeof data === 'string' && data.length > 0 ? JSON.parse(data) : data; |
8 | 8 | ||
9 | export const cleanseJSObject = (data: any | undefined | null) => | 9 | export const cleanseJSObject = (data?: any | null) => |
10 | JSON.parse(JSON.stringify(data)); | 10 | JSON.parse(JSON.stringify(data)); |
11 | 11 | ||
12 | export const isEscKeyPress = (keyCode: number) => keyCode === 27; | 12 | export const isEscKeyPress = (keyCode: number) => keyCode === 27; |
13 | 13 | ||
14 | export const safeParseInt = (text: string | number | undefined | null) => { | 14 | export const safeParseInt = (text?: string | number | null) => { |
15 | if (text === undefined || text === null) { | 15 | if (text === undefined || text === null) { |
16 | return 0; | 16 | return 0; |
17 | } | 17 | } |
diff --git a/src/lib/Menu.ts b/src/lib/Menu.ts index f587f8df9..08ad9dabe 100644 --- a/src/lib/Menu.ts +++ b/src/lib/Menu.ts | |||
@@ -12,7 +12,7 @@ import { defineMessages, IntlShape } from 'react-intl'; | |||
12 | import osName from 'os-name'; | 12 | import osName from 'os-name'; |
13 | import { fromJS } from 'immutable'; | 13 | import { fromJS } from 'immutable'; |
14 | import semver from 'semver'; | 14 | import semver from 'semver'; |
15 | import os from 'os'; | 15 | import os from 'node:os'; |
16 | import { | 16 | import { |
17 | isWindows, | 17 | isWindows, |
18 | cmdOrCtrlShortcutKey, | 18 | cmdOrCtrlShortcutKey, |
diff --git a/src/lib/Tray.ts b/src/lib/Tray.ts index dafbb68aa..0d567fc13 100644 --- a/src/lib/Tray.ts +++ b/src/lib/Tray.ts | |||
@@ -9,7 +9,7 @@ import { | |||
9 | BrowserWindow, | 9 | BrowserWindow, |
10 | NativeImage, | 10 | NativeImage, |
11 | } from 'electron'; | 11 | } from 'electron'; |
12 | import { join } from 'path'; | 12 | import { join } from 'node:path'; |
13 | import macosVersion from 'macos-version'; | 13 | import macosVersion from 'macos-version'; |
14 | import { isMac, isWindows, isLinux } from '../environment'; | 14 | import { isMac, isWindows, isLinux } from '../environment'; |
15 | 15 | ||
diff --git a/src/models/Recipe.ts b/src/models/Recipe.ts index 35e8d4979..a6d2fd86d 100644 --- a/src/models/Recipe.ts +++ b/src/models/Recipe.ts | |||
@@ -1,6 +1,6 @@ | |||
1 | import semver from 'semver'; | 1 | import semver from 'semver'; |
2 | import { pathExistsSync } from 'fs-extra'; | 2 | import { pathExistsSync } from 'fs-extra'; |
3 | import { join } from 'path'; | 3 | import { join } from 'node:path'; |
4 | import { DEFAULT_SERVICE_SETTINGS } from '../config'; | 4 | import { DEFAULT_SERVICE_SETTINGS } from '../config'; |
5 | import { ifUndefined } from '../jsUtils'; | 5 | import { ifUndefined } from '../jsUtils'; |
6 | 6 | ||
diff --git a/src/models/Service.ts b/src/models/Service.ts index af0085185..4a9fcf4fb 100644 --- a/src/models/Service.ts +++ b/src/models/Service.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | import { autorun, action, computed, makeObservable, observable } from 'mobx'; | 1 | import { autorun, action, computed, makeObservable, observable } from 'mobx'; |
2 | import { ipcRenderer } from 'electron'; | 2 | import { ipcRenderer } from 'electron'; |
3 | import { webContents } from '@electron/remote'; | 3 | import { webContents } from '@electron/remote'; |
4 | import { join } from 'path'; | 4 | import { join } from 'node:path'; |
5 | import ElectronWebView from 'react-electron-web-view'; | 5 | import ElectronWebView from 'react-electron-web-view'; |
6 | 6 | ||
7 | import { todosStore } from '../features/todos'; | 7 | import { todosStore } from '../features/todos'; |
diff --git a/src/preload-safe-debug.ts b/src/preload-safe-debug.ts index d18dd8639..471ae1a1f 100644 --- a/src/preload-safe-debug.ts +++ b/src/preload-safe-debug.ts | |||
@@ -8,6 +8,7 @@ | |||
8 | * We disable the `debug` package in context isolated renderers, | 8 | * We disable the `debug` package in context isolated renderers, |
9 | * because they correspond to preload scripts. | 9 | * because they correspond to preload scripts. |
10 | */ | 10 | */ |
11 | // eslint-disable-next-line unicorn/no-empty-file | ||
11 | module.exports = function debug(namespace: string): (...params: any[]) => void { | 12 | module.exports = function debug(namespace: string): (...params: any[]) => void { |
12 | if ( | 13 | if ( |
13 | typeof process === 'object' && | 14 | typeof process === 'object' && |
@@ -18,13 +19,14 @@ module.exports = function debug(namespace: string): (...params: any[]) => void { | |||
18 | // We don't reimplement the matching algorithm from `debug` and just dump all | 19 | // We don't reimplement the matching algorithm from `debug` and just dump all |
19 | // messages to the console if some form of `Ferdium` debugging is enabled. | 20 | // messages to the console if some form of `Ferdium` debugging is enabled. |
20 | if (process.env.DEBUG?.startsWith('Ferdium:')) { | 21 | if (process.env.DEBUG?.startsWith('Ferdium:')) { |
22 | // eslint-disable-next-line no-console | ||
21 | return (...params) => console.debug(`[${namespace}]`, ...params); | 23 | return (...params) => console.debug(`[${namespace}]`, ...params); |
22 | } | 24 | } |
23 | return () => {}; | 25 | return () => {}; |
24 | } | 26 | } |
25 | /* | 27 | /* |
26 | eslint-disable-next-line global-require -- | ||
27 | This file contains a workaround for situations were global require is problematic. | 28 | This file contains a workaround for situations were global require is problematic. |
28 | */ | 29 | */ |
30 | // eslint-disable-next-line global-require | ||
29 | return require('debug')(namespace); | 31 | return require('debug')(namespace); |
30 | }; | 32 | }; |
diff --git a/src/stores/AppStore.ts b/src/stores/AppStore.ts index 412c52ecf..0bf845e4d 100644 --- a/src/stores/AppStore.ts +++ b/src/stores/AppStore.ts | |||
@@ -11,7 +11,7 @@ import { action, computed, makeObservable, observable } from 'mobx'; | |||
11 | import moment from 'moment'; | 11 | import moment from 'moment'; |
12 | import AutoLaunch from 'auto-launch'; | 12 | import AutoLaunch from 'auto-launch'; |
13 | import ms from 'ms'; | 13 | import ms from 'ms'; |
14 | import { URL } from 'url'; | 14 | import { URL } from 'node:url'; |
15 | import { readJsonSync } from 'fs-extra'; | 15 | import { readJsonSync } from 'fs-extra'; |
16 | 16 | ||
17 | import { Stores } from '../@types/stores.types'; | 17 | import { Stores } from '../@types/stores.types'; |
diff --git a/src/stores/ServicesStore.ts b/src/stores/ServicesStore.ts index 82f3b95ce..1cee0c57f 100644 --- a/src/stores/ServicesStore.ts +++ b/src/stores/ServicesStore.ts | |||
@@ -3,7 +3,7 @@ import { action, reaction, computed, observable, makeObservable } from 'mobx'; | |||
3 | import { debounce, remove } from 'lodash'; | 3 | import { debounce, remove } from 'lodash'; |
4 | import ms from 'ms'; | 4 | import ms from 'ms'; |
5 | import { ensureFileSync, pathExistsSync, writeFileSync } from 'fs-extra'; | 5 | import { ensureFileSync, pathExistsSync, writeFileSync } from 'fs-extra'; |
6 | import { join } from 'path'; | 6 | import { join } from 'node:path'; |
7 | 7 | ||
8 | import { Stores } from '../@types/stores.types'; | 8 | import { Stores } from '../@types/stores.types'; |
9 | import { ApiInterface } from '../api'; | 9 | import { ApiInterface } from '../api'; |
diff --git a/src/webview/darkmode.ts b/src/webview/darkmode.ts index f5e8700e0..88d39f19f 100644 --- a/src/webview/darkmode.ts +++ b/src/webview/darkmode.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { join } from 'path'; | 1 | import { join } from 'node:path'; |
2 | import { pathExistsSync, readFileSync } from 'fs-extra'; | 2 | import { pathExistsSync, readFileSync } from 'fs-extra'; |
3 | 3 | ||
4 | const debug = require('../preload-safe-debug')('Ferdium:DarkMode'); | 4 | const debug = require('../preload-safe-debug')('Ferdium:DarkMode'); |
diff --git a/src/webview/recipe.ts b/src/webview/recipe.ts index 76615d234..ee7fa26d2 100644 --- a/src/webview/recipe.ts +++ b/src/webview/recipe.ts | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | import { noop, debounce } from 'lodash'; | 4 | import { noop, debounce } from 'lodash'; |
5 | import { contextBridge, ipcRenderer } from 'electron'; | 5 | import { contextBridge, ipcRenderer } from 'electron'; |
6 | import { join } from 'path'; | 6 | import { join } from 'node:path'; |
7 | import { autorun, computed, makeObservable, observable } from 'mobx'; | 7 | import { autorun, computed, makeObservable, observable } from 'mobx'; |
8 | import { pathExistsSync, readFileSync } from 'fs-extra'; | 8 | import { pathExistsSync, readFileSync } from 'fs-extra'; |
9 | import { | 9 | import { |
@@ -11,7 +11,7 @@ import { | |||
11 | enable as enableDarkMode, | 11 | enable as enableDarkMode, |
12 | } from 'darkreader'; | 12 | } from 'darkreader'; |
13 | 13 | ||
14 | import { existsSync } from 'fs'; | 14 | import { existsSync } from 'node:fs'; |
15 | import ignoreList from './darkmode/ignore'; | 15 | import ignoreList from './darkmode/ignore'; |
16 | import customDarkModeCss from './darkmode/custom'; | 16 | import customDarkModeCss from './darkmode/custom'; |
17 | 17 | ||