diff --git a/.eslintignore b/.eslintignore index e060870990..101d08eedf 100644 --- a/.eslintignore +++ b/.eslintignore @@ -493,7 +493,6 @@ packages/lib/InMemoryCache.js packages/lib/JoplinDatabase.js packages/lib/JoplinError.js packages/lib/JoplinServerApi.js -packages/lib/Logger.js packages/lib/ObjectUtils.js packages/lib/PoorManIntervals.js packages/lib/RotatingLogs.test.js diff --git a/.gitignore b/.gitignore index 0ff31d5550..258f8b20ab 100644 --- a/.gitignore +++ b/.gitignore @@ -478,7 +478,6 @@ packages/lib/InMemoryCache.js packages/lib/JoplinDatabase.js packages/lib/JoplinError.js packages/lib/JoplinServerApi.js -packages/lib/Logger.js packages/lib/ObjectUtils.js packages/lib/PoorManIntervals.js packages/lib/RotatingLogs.test.js diff --git a/packages/app-cli/app/ResourceServer.js b/packages/app-cli/app/ResourceServer.js index 7d424bb7f1..2e11c2f127 100644 --- a/packages/app-cli/app/ResourceServer.js +++ b/packages/app-cli/app/ResourceServer.js @@ -1,4 +1,4 @@ -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const { findAvailablePort } = require('@joplin/lib/net-utils'); const http = require('http'); diff --git a/packages/app-cli/app/app-gui.js b/packages/app-cli/app/app-gui.js index f27112b126..c3a84d3350 100644 --- a/packages/app-cli/app/app-gui.js +++ b/packages/app-cli/app/app-gui.js @@ -1,4 +1,4 @@ -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const Folder = require('@joplin/lib/models/Folder').default; const BaseItem = require('@joplin/lib/models/BaseItem').default; const Tag = require('@joplin/lib/models/Tag').default; diff --git a/packages/app-cli/app/cli-integration-tests.js b/packages/app-cli/app/cli-integration-tests.js index 8e64a071e0..fb2fe6da85 100644 --- a/packages/app-cli/app/cli-integration-tests.js +++ b/packages/app-cli/app/cli-integration-tests.js @@ -3,7 +3,7 @@ /* eslint-disable no-console */ const fs = require('fs-extra'); -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const { dirname } = require('@joplin/lib/path-utils'); const { DatabaseDriverNode } = require('@joplin/lib/database-driver-node.js'); const JoplinDatabase = require('@joplin/lib/JoplinDatabase').default; diff --git a/packages/app-cli/app/cli-utils.js b/packages/app-cli/app/cli-utils.js index fd484cee28..6b3219e6c7 100644 --- a/packages/app-cli/app/cli-utils.js +++ b/packages/app-cli/app/cli-utils.js @@ -2,7 +2,7 @@ const yargParser = require('yargs-parser'); const { _ } = require('@joplin/lib/locale'); const time = require('@joplin/lib/time').default; const stringPadding = require('string-padding'); -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const cliUtils = {}; diff --git a/packages/app-cli/app/command-server.js b/packages/app-cli/app/command-server.js index b75b21285e..4b0305e60a 100644 --- a/packages/app-cli/app/command-server.js +++ b/packages/app-cli/app/command-server.js @@ -1,7 +1,7 @@ const BaseCommand = require('./base-command').default; const { _ } = require('@joplin/lib/locale'); const Setting = require('@joplin/lib/models/Setting').default; -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const shim = require('@joplin/lib/shim').default; class Command extends BaseCommand { diff --git a/packages/app-cli/app/fuzzing.js b/packages/app-cli/app/fuzzing.js index 3c21a7aa49..a76dfea64e 100644 --- a/packages/app-cli/app/fuzzing.js +++ b/packages/app-cli/app/fuzzing.js @@ -1,7 +1,7 @@ 'use strict'; const time = require('@joplin/lib/time').default; -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const Resource = require('@joplin/lib/models/Resource').default; const { dirname } = require('@joplin/lib/path-utils'); const FsDriverNode = require('@joplin/lib/fs-driver-node').default; diff --git a/packages/app-cli/app/main.js b/packages/app-cli/app/main.js index c4a61aba2c..75d8c52b28 100644 --- a/packages/app-cli/app/main.js +++ b/packages/app-cli/app/main.js @@ -20,7 +20,7 @@ const NoteTag = require('@joplin/lib/models/NoteTag').default; const MasterKey = require('@joplin/lib/models/MasterKey').default; const Setting = require('@joplin/lib/models/Setting').default; const Revision = require('@joplin/lib/models/Revision').default; -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const FsDriverNode = require('@joplin/lib/fs-driver-node').default; const sharp = require('sharp'); const { shimInit } = require('@joplin/lib/shim-init-node.js'); diff --git a/packages/app-desktop/ElectronAppWrapper.ts b/packages/app-desktop/ElectronAppWrapper.ts index 43cd0380e7..97b8c67486 100644 --- a/packages/app-desktop/ElectronAppWrapper.ts +++ b/packages/app-desktop/ElectronAppWrapper.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { PluginMessage } from './services/plugins/PluginRunner'; import shim from '@joplin/lib/shim'; import { isCallbackUrl } from '@joplin/lib/callbackUrlUtils'; diff --git a/packages/app-desktop/app.reducer.ts b/packages/app-desktop/app.reducer.ts index eb0b1ed23b..fa95e90179 100644 --- a/packages/app-desktop/app.reducer.ts +++ b/packages/app-desktop/app.reducer.ts @@ -4,7 +4,7 @@ import { defaultState, State } from '@joplin/lib/reducer'; import iterateItems from './gui/ResizableLayout/utils/iterateItems'; import { LayoutItem } from './gui/ResizableLayout/utils/types'; import validateLayout from './gui/ResizableLayout/utils/validateLayout'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('app.reducer'); diff --git a/packages/app-desktop/app.ts b/packages/app-desktop/app.ts index 9c95c3bf39..e4f64579d2 100644 --- a/packages/app-desktop/app.ts +++ b/packages/app-desktop/app.ts @@ -8,7 +8,7 @@ import PlatformImplementation from './services/plugins/PlatformImplementation'; import shim from '@joplin/lib/shim'; import AlarmService from '@joplin/lib/services/AlarmService'; import AlarmServiceDriverNode from '@joplin/lib/services/AlarmServiceDriverNode'; -import Logger, { TargetType } from '@joplin/lib/Logger'; +import Logger, { TargetType } from '@joplin/utils/Logger'; import Setting from '@joplin/lib/models/Setting'; import actionApi from '@joplin/lib/services/rest/actionApi.desktop'; import BaseApplication from '@joplin/lib/BaseApplication'; diff --git a/packages/app-desktop/checkForUpdates.ts b/packages/app-desktop/checkForUpdates.ts index d2ca50fa59..2f8a2c4f92 100644 --- a/packages/app-desktop/checkForUpdates.ts +++ b/packages/app-desktop/checkForUpdates.ts @@ -1,5 +1,5 @@ import shim from '@joplin/lib/shim'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { _ } from '@joplin/lib/locale'; import bridge from './services/bridge'; import KvStore from '@joplin/lib/services/KvStore'; diff --git a/packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx b/packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx index d7de8911e4..ec44507a3e 100644 --- a/packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx +++ b/packages/app-desktop/gui/ConfigScreen/controls/plugins/PluginsStates.tsx @@ -13,7 +13,7 @@ import { PluginItem } from './PluginBox'; import RepositoryApi from '@joplin/lib/services/plugins/RepositoryApi'; import Setting from '@joplin/lib/models/Setting'; import useOnInstallHandler, { OnPluginSettingChangeEvent } from './useOnInstallHandler'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import StyledMessage from '../../../style/StyledMessage'; import StyledLink from '../../../style/StyledLink'; const { space } = require('styled-system'); diff --git a/packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.ts b/packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.ts index 2f693b4f73..b34374bbd9 100644 --- a/packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.ts +++ b/packages/app-desktop/gui/ConfigScreen/controls/plugins/useOnInstallHandler.ts @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import PluginService, { defaultPluginSetting, PluginSettings } from '@joplin/lib/services/plugins/PluginService'; import produce from 'immer'; import { _ } from '@joplin/lib/locale'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { ItemEvent } from './PluginBox'; const logger = Logger.create('useOnInstallHandler'); diff --git a/packages/app-desktop/gui/MainScreen/commands/leaveSharedFolder.ts b/packages/app-desktop/gui/MainScreen/commands/leaveSharedFolder.ts index e0b23a9f79..7b8ac1e2b5 100644 --- a/packages/app-desktop/gui/MainScreen/commands/leaveSharedFolder.ts +++ b/packages/app-desktop/gui/MainScreen/commands/leaveSharedFolder.ts @@ -1,7 +1,7 @@ import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService'; import { _ } from '@joplin/lib/locale'; import ShareService from '@joplin/lib/services/share/ShareService'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('leaveSharedFolder'); diff --git a/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.ts b/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.ts index f512026f77..5ea54beb6a 100644 --- a/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.ts +++ b/packages/app-desktop/gui/NoteEditor/NoteBody/CodeMirror/utils/useEditorSearch.ts @@ -1,6 +1,6 @@ import { useEffect, useRef, useState } from 'react'; import shim from '@joplin/lib/shim'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('useEditorSearch'); diff --git a/packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.ts b/packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.ts index 79169806bf..613d5a9cd8 100644 --- a/packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.ts +++ b/packages/app-desktop/gui/NoteEditor/utils/contextMenuUtils.ts @@ -1,5 +1,5 @@ import Resource from '@joplin/lib/models/Resource'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('contextMenuUtils'); export enum ContextMenuItemType { None = '', diff --git a/packages/app-desktop/gui/NoteEditor/utils/resourceHandling.ts b/packages/app-desktop/gui/NoteEditor/utils/resourceHandling.ts index 2aa0b7091b..4f654de499 100644 --- a/packages/app-desktop/gui/NoteEditor/utils/resourceHandling.ts +++ b/packages/app-desktop/gui/NoteEditor/utils/resourceHandling.ts @@ -7,7 +7,7 @@ const bridge = require('@electron/remote').require('./bridge').default; import ResourceFetcher from '@joplin/lib/services/ResourceFetcher'; import htmlUtils from '@joplin/lib/htmlUtils'; import rendererHtmlUtils from '@joplin/renderer/htmlUtils'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const { fileUriToPath } = require('@joplin/lib/urlUtils'); const joplinRendererUtils = require('@joplin/renderer').utils; const { clipboard } = require('electron'); diff --git a/packages/app-desktop/gui/NoteEditor/utils/useNoteSearchBar.ts b/packages/app-desktop/gui/NoteEditor/utils/useNoteSearchBar.ts index 96ba3e2c96..db3c91a25d 100644 --- a/packages/app-desktop/gui/NoteEditor/utils/useNoteSearchBar.ts +++ b/packages/app-desktop/gui/NoteEditor/utils/useNoteSearchBar.ts @@ -1,5 +1,5 @@ import { useState, useCallback, MutableRefObject, useEffect } from 'react'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { SearchMarkers } from './useSearchMarkers'; const CommandService = require('@joplin/lib/services/CommandService').default; diff --git a/packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx b/packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx index 059e7dcd2a..d47bff6cd8 100644 --- a/packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx +++ b/packages/app-desktop/gui/ShareFolderDialog/ShareFolderDialog.tsx @@ -10,7 +10,7 @@ import styled from 'styled-components'; import StyledFormLabel from '../style/StyledFormLabel'; import StyledInput from '../style/StyledInput'; import Button, { ButtonSize } from '../Button/Button'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import StyledMessage from '../style/StyledMessage'; import { SharePermissions, ShareUserStatus, StateShare, StateShareUser } from '@joplin/lib/services/share/reducer'; import { State } from '@joplin/lib/reducer'; diff --git a/packages/app-desktop/gui/Sidebar/Sidebar.tsx b/packages/app-desktop/gui/Sidebar/Sidebar.tsx index ca305de5b8..fbff0a1f48 100644 --- a/packages/app-desktop/gui/Sidebar/Sidebar.tsx +++ b/packages/app-desktop/gui/Sidebar/Sidebar.tsx @@ -19,7 +19,7 @@ import BaseModel from '@joplin/lib/BaseModel'; import Folder from '@joplin/lib/models/Folder'; import Note from '@joplin/lib/models/Note'; import Tag from '@joplin/lib/models/Tag'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { FolderEntity, FolderIcon, FolderIconType } from '@joplin/lib/services/database/types'; import stateToWhenClauseContext from '../../services/commands/stateToWhenClauseContext'; import { store } from '@joplin/lib/reducer'; diff --git a/packages/app-desktop/gui/dialogs.ts b/packages/app-desktop/gui/dialogs.ts index 964af1c97d..ad06172e72 100644 --- a/packages/app-desktop/gui/dialogs.ts +++ b/packages/app-desktop/gui/dialogs.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; // Can't upgrade beyond 2.x because it doesn't work with Electron. If trying to // upgrade again, check that adding a link from the CodeMirror editor works/ diff --git a/packages/app-desktop/gui/utils/loadScript.ts b/packages/app-desktop/gui/utils/loadScript.ts index 467b6fc7dc..986068ac27 100644 --- a/packages/app-desktop/gui/utils/loadScript.ts +++ b/packages/app-desktop/gui/utils/loadScript.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('loadScript'); diff --git a/packages/app-desktop/main-html.js b/packages/app-desktop/main-html.js index 34f231820e..ceabd26a2e 100644 --- a/packages/app-desktop/main-html.js +++ b/packages/app-desktop/main-html.js @@ -20,7 +20,7 @@ const NoteTag = require('@joplin/lib/models/NoteTag').default; const MasterKey = require('@joplin/lib/models/MasterKey').default; const Setting = require('@joplin/lib/models/Setting').default; const Revision = require('@joplin/lib/models/Revision').default; -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const FsDriverNode = require('@joplin/lib/fs-driver-node').default; const shim = require('@joplin/lib/shim').default; const { shimInit } = require('@joplin/lib/shim-init-node.js'); diff --git a/packages/app-desktop/main.js b/packages/app-desktop/main.js index e97facc611..4a83329d3d 100644 --- a/packages/app-desktop/main.js +++ b/packages/app-desktop/main.js @@ -4,7 +4,7 @@ const electronApp = require('electron').app; require('@electron/remote/main').initialize(); const ElectronAppWrapper = require('./ElectronAppWrapper').default; const { initBridge } = require('./bridge'); -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const FsDriverNode = require('@joplin/lib/fs-driver-node').default; const envFromArgs = require('@joplin/lib/envFromArgs'); const packageInfo = require('./packageInfo.js'); diff --git a/packages/app-desktop/package.json b/packages/app-desktop/package.json index cbe0c5a831..a1819578df 100644 --- a/packages/app-desktop/package.json +++ b/packages/app-desktop/package.json @@ -138,6 +138,7 @@ "@joeattardi/emoji-button": "4.6.4", "@joplin/lib": "~2.12", "@joplin/renderer": "~2.12", + "@joplin/utils": "~2.12", "async-mutex": "0.4.0", "codemirror": "5.65.9", "color": "3.2.1", diff --git a/packages/app-desktop/plugins/GotoAnything.tsx b/packages/app-desktop/plugins/GotoAnything.tsx index cd0cdc4cd1..3388fec52d 100644 --- a/packages/app-desktop/plugins/GotoAnything.tsx +++ b/packages/app-desktop/plugins/GotoAnything.tsx @@ -18,7 +18,7 @@ const { surroundKeywords, nextWhitespaceIndex, removeDiacritics } = require('@jo import { mergeOverlappingIntervals } from '@joplin/lib/ArrayUtils'; import markupLanguageUtils from '../utils/markupLanguageUtils'; import focusEditorIfEditorCommand from '@joplin/lib/services/commands/focusEditorIfEditorCommand'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { MarkupToHtml } from '@joplin/renderer'; const logger = Logger.create('GotoAnything'); diff --git a/packages/app-desktop/services/plugins/BackOffHandler.ts b/packages/app-desktop/services/plugins/BackOffHandler.ts index 015d2d3bbb..8e9d5d8cc1 100644 --- a/packages/app-desktop/services/plugins/BackOffHandler.ts +++ b/packages/app-desktop/services/plugins/BackOffHandler.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import time from '@joplin/lib/time'; const logger = Logger.create('BackOffHandler'); diff --git a/packages/app-desktop/services/plugins/PluginRunner.ts b/packages/app-desktop/services/plugins/PluginRunner.ts index 90ec40b526..d48a84092b 100644 --- a/packages/app-desktop/services/plugins/PluginRunner.ts +++ b/packages/app-desktop/services/plugins/PluginRunner.ts @@ -6,7 +6,7 @@ import bridge from '../bridge'; import Setting from '@joplin/lib/models/Setting'; import { EventHandlers } from '@joplin/lib/services/plugins/utils/mapEventHandlersToIds'; import shim from '@joplin/lib/shim'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; // import BackOffHandler from './BackOffHandler'; const ipcRenderer = require('electron').ipcRenderer; diff --git a/packages/app-desktop/services/plugins/UserWebview.tsx b/packages/app-desktop/services/plugins/UserWebview.tsx index 5686c6aa36..544ab05d15 100644 --- a/packages/app-desktop/services/plugins/UserWebview.tsx +++ b/packages/app-desktop/services/plugins/UserWebview.tsx @@ -7,7 +7,7 @@ import useSubmitHandler from './hooks/useSubmitHandler'; import useHtmlLoader from './hooks/useHtmlLoader'; import useWebviewToPluginMessages from './hooks/useWebviewToPluginMessages'; import useScriptLoader from './hooks/useScriptLoader'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import styled from 'styled-components'; const logger = Logger.create('UserWebview'); diff --git a/packages/app-desktop/services/share/invitationRespond.ts b/packages/app-desktop/services/share/invitationRespond.ts index f42803e04a..32cebe17df 100644 --- a/packages/app-desktop/services/share/invitationRespond.ts +++ b/packages/app-desktop/services/share/invitationRespond.ts @@ -1,5 +1,5 @@ import ShareService from '@joplin/lib/services/share/ShareService'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import Folder from '@joplin/lib/models/Folder'; import { reg } from '@joplin/lib/registry'; import { _ } from '@joplin/lib/locale'; diff --git a/packages/app-desktop/services/spellChecker/SpellCheckerServiceDriverNative.ts b/packages/app-desktop/services/spellChecker/SpellCheckerServiceDriverNative.ts index f90e51164e..e2991c19b9 100644 --- a/packages/app-desktop/services/spellChecker/SpellCheckerServiceDriverNative.ts +++ b/packages/app-desktop/services/spellChecker/SpellCheckerServiceDriverNative.ts @@ -2,7 +2,7 @@ import SpellCheckerServiceDriverBase from '@joplin/lib/services/spellChecker/SpellCheckerServiceDriverBase'; import bridge from '../bridge'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { languageCodeOnly, localesFromLanguageCode } from '@joplin/lib/locale'; const logger = Logger.create('SpellCheckerServiceDriverNative'); diff --git a/packages/app-mobile/components/NoteBodyViewer/hooks/useSource.ts b/packages/app-mobile/components/NoteBodyViewer/hooks/useSource.ts index 0003fda63a..b18e4efce2 100644 --- a/packages/app-mobile/components/NoteBodyViewer/hooks/useSource.ts +++ b/packages/app-mobile/components/NoteBodyViewer/hooks/useSource.ts @@ -3,7 +3,7 @@ import shim from '@joplin/lib/shim'; import Setting from '@joplin/lib/models/Setting'; const { themeStyle } = require('../../global-style.js'); import markupLanguageUtils from '@joplin/lib/markupLanguageUtils'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const { assetsToHeaders } = require('@joplin/renderer'); const logger = Logger.create('NoteBodyViewer/useSource'); diff --git a/packages/app-mobile/components/biometrics/BiometricPopup.tsx b/packages/app-mobile/components/biometrics/BiometricPopup.tsx index 3f4f267340..02f084057e 100644 --- a/packages/app-mobile/components/biometrics/BiometricPopup.tsx +++ b/packages/app-mobile/components/biometrics/BiometricPopup.tsx @@ -4,7 +4,7 @@ import { useEffect, useMemo, useState } from 'react'; import { View, Dimensions, Alert, Button } from 'react-native'; import { SensorInfo } from './sensorInfo'; import { _ } from '@joplin/lib/locale'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import biometricAuthenticate from './biometricAuthenticate'; const logger = Logger.create('BiometricPopup'); diff --git a/packages/app-mobile/components/biometrics/biometricAuthenticate.ts b/packages/app-mobile/components/biometrics/biometricAuthenticate.ts index fffb4c318b..c1d60990aa 100644 --- a/packages/app-mobile/components/biometrics/biometricAuthenticate.ts +++ b/packages/app-mobile/components/biometrics/biometricAuthenticate.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import FingerprintScanner, { Errors } from 'react-native-fingerprint-scanner'; import { _ } from '@joplin/lib/locale'; diff --git a/packages/app-mobile/components/biometrics/sensorInfo.ts b/packages/app-mobile/components/biometrics/sensorInfo.ts index fc780ebe78..06765f2e92 100644 --- a/packages/app-mobile/components/biometrics/sensorInfo.ts +++ b/packages/app-mobile/components/biometrics/sensorInfo.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '@joplin/lib/models/Setting'; import FingerprintScanner from 'react-native-fingerprint-scanner'; const logger = Logger.create('sensorInfo'); diff --git a/packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/NoteExportButton.tsx b/packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/NoteExportButton.tsx index ff3510c0d6..a3618bc715 100644 --- a/packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/NoteExportButton.tsx +++ b/packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/NoteExportButton.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Text, Alert, View } from 'react-native'; import { _ } from '@joplin/lib/locale'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { ProgressBar } from 'react-native-paper'; import { FunctionComponent, useCallback, useState } from 'react'; import shim from '@joplin/lib/shim'; diff --git a/packages/app-mobile/components/screens/Note.tsx b/packages/app-mobile/components/screens/Note.tsx index 5d782ac7e8..2bfc531a79 100644 --- a/packages/app-mobile/components/screens/Note.tsx +++ b/packages/app-mobile/components/screens/Note.tsx @@ -43,7 +43,7 @@ import SelectDateTimeDialog from '../SelectDateTimeDialog'; import ShareExtension from '../../utils/ShareExtension.js'; import CameraView from '../CameraView'; import { NoteEntity } from '@joplin/lib/services/database/types'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import VoiceTypingDialog from '../voiceTyping/VoiceTypingDialog'; import { voskEnabled } from '../../services/voiceTyping/vosk'; import { isSupportedLanguage } from '../../services/voiceTyping/vosk.android'; diff --git a/packages/app-mobile/components/screens/log.js b/packages/app-mobile/components/screens/log.js index 02c1309022..dd2893f80d 100644 --- a/packages/app-mobile/components/screens/log.js +++ b/packages/app-mobile/components/screens/log.js @@ -6,7 +6,7 @@ const { reg } = require('@joplin/lib/registry.js'); const { ScreenHeader } = require('../ScreenHeader'); const time = require('@joplin/lib/time').default; const { themeStyle } = require('../global-style.js'); -const Logger = require('@joplin/lib/Logger').default; +const Logger = require('@joplin/utils/Logger').default; const { BaseScreenComponent } = require('../base-screen.js'); const { _ } = require('@joplin/lib/locale'); diff --git a/packages/app-mobile/ios/Podfile.lock b/packages/app-mobile/ios/Podfile.lock index 7d6a072076..8178f63b25 100644 --- a/packages/app-mobile/ios/Podfile.lock +++ b/packages/app-mobile/ios/Podfile.lock @@ -475,9 +475,9 @@ PODS: - React-Core - RNFS (2.20.0): - React-Core - - RNGestureHandler (2.11.0): + - RNGestureHandler (2.12.0): - React-Core - - RNLocalize (3.0.1): + - RNLocalize (3.0.2): - React-Core - RNQuickAction (0.3.13): - React @@ -854,8 +854,8 @@ SPEC CHECKSUMS: RNExitApp: c4e052df2568b43bec8a37c7cd61194d4cfee2c3 RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592 RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 - RNGestureHandler: 026038a97d4c8649ce397a22e162ca58b4e6c230 - RNLocalize: 6dd9226886fa61bf0cefc7644e3f9620770b1a31 + RNGestureHandler: dec4645026e7401a0899f2846d864403478ff6a5 + RNLocalize: dbea38dcb344bf80ff18a1757b1becf11f70cae4 RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93 RNReanimated: 9976fbaaeb8a188c36026154c844bf374b3b7eeb RNSecureRandom: 07efbdf2cd99efe13497433668e54acd7df49fef diff --git a/packages/app-mobile/package.json b/packages/app-mobile/package.json index cbd547c9c0..f753f0bd50 100644 --- a/packages/app-mobile/package.json +++ b/packages/app-mobile/package.json @@ -22,6 +22,7 @@ "@joplin/react-native-alarm-notification": "~2.12", "@joplin/react-native-saf-x": "~2.12", "@joplin/renderer": "~2.12", + "@joplin/utils": "~2.12", "@react-native-community/clipboard": "1.5.1", "@react-native-community/datetimepicker": "7.1.0", "@react-native-community/geolocation": "3.0.6", diff --git a/packages/app-mobile/root.tsx b/packages/app-mobile/root.tsx index 5e19f07baf..c9f0380abb 100644 --- a/packages/app-mobile/root.tsx +++ b/packages/app-mobile/root.tsx @@ -7,7 +7,7 @@ import PluginAssetsLoader from './PluginAssetsLoader'; import AlarmService from '@joplin/lib/services/AlarmService'; import Alarm from '@joplin/lib/models/Alarm'; import time from '@joplin/lib/time'; -import Logger, { TargetType } from '@joplin/lib/Logger'; +import Logger, { TargetType } from '@joplin/utils/Logger'; import BaseModel from '@joplin/lib/BaseModel'; import BaseService from '@joplin/lib/services/BaseService'; import ResourceService from '@joplin/lib/services/ResourceService'; diff --git a/packages/app-mobile/services/AlarmServiceDriver.android.ts b/packages/app-mobile/services/AlarmServiceDriver.android.ts index a80a738f49..2576c8ddfa 100644 --- a/packages/app-mobile/services/AlarmServiceDriver.android.ts +++ b/packages/app-mobile/services/AlarmServiceDriver.android.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { Notification } from '@joplin/lib/models/Alarm'; const ReactNativeAN = require('@joplin/react-native-alarm-notification').default; diff --git a/packages/app-mobile/services/AlarmServiceDriver.ios.ts b/packages/app-mobile/services/AlarmServiceDriver.ios.ts index 4900b488c5..b6ada39951 100644 --- a/packages/app-mobile/services/AlarmServiceDriver.ios.ts +++ b/packages/app-mobile/services/AlarmServiceDriver.ios.ts @@ -1,5 +1,5 @@ import { Notification } from '@joplin/lib/models/Alarm'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const PushNotificationIOS = require('@react-native-community/push-notification-ios').default; export default class AlarmServiceDriver { diff --git a/packages/app-mobile/services/voiceTyping/vosk.android.ts b/packages/app-mobile/services/voiceTyping/vosk.android.ts index 68551defe1..20bc89bd92 100644 --- a/packages/app-mobile/services/voiceTyping/vosk.android.ts +++ b/packages/app-mobile/services/voiceTyping/vosk.android.ts @@ -1,5 +1,5 @@ import { languageCodeOnly } from '@joplin/lib/locale'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '@joplin/lib/models/Setting'; import { rtrimSlashes } from '@joplin/lib/path-utils'; import shim from '@joplin/lib/shim'; diff --git a/packages/app-mobile/utils/autodetectTheme.ts b/packages/app-mobile/utils/autodetectTheme.ts index d0ff9e3df9..b657f207dd 100644 --- a/packages/app-mobile/utils/autodetectTheme.ts +++ b/packages/app-mobile/utils/autodetectTheme.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '@joplin/lib/models/Setting'; import { Appearance, ColorSchemeName } from 'react-native'; diff --git a/packages/app-mobile/utils/checkPermissions.ts b/packages/app-mobile/utils/checkPermissions.ts index 13157f01d5..67402ccc65 100644 --- a/packages/app-mobile/utils/checkPermissions.ts +++ b/packages/app-mobile/utils/checkPermissions.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const { Platform, PermissionsAndroid } = require('react-native'); const logger = Logger.create('checkPermissions'); diff --git a/packages/app-mobile/utils/fs-driver-rn.ts b/packages/app-mobile/utils/fs-driver-rn.ts index 39bd06f8cb..506ac57208 100644 --- a/packages/app-mobile/utils/fs-driver-rn.ts +++ b/packages/app-mobile/utils/fs-driver-rn.ts @@ -8,7 +8,7 @@ import { Platform } from 'react-native'; import * as tar from 'tar-stream'; import { resolve } from 'path'; import { Buffer } from 'buffer'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('fs-driver-rn'); diff --git a/packages/lib/BaseApplication.ts b/packages/lib/BaseApplication.ts index cc0c3aa201..1b96dc4086 100644 --- a/packages/lib/BaseApplication.ts +++ b/packages/lib/BaseApplication.ts @@ -1,5 +1,5 @@ import Setting, { Env } from './models/Setting'; -import Logger, { TargetType, LoggerWrapper } from './Logger'; +import Logger, { TargetType, LoggerWrapper } from '@joplin/utils/Logger'; import shim from './shim'; const { setupProxySettings } = require('./shim-init-node'); import BaseService from './services/BaseService'; diff --git a/packages/lib/BaseSyncTarget.ts b/packages/lib/BaseSyncTarget.ts index f114a18ceb..d91535bb06 100644 --- a/packages/lib/BaseSyncTarget.ts +++ b/packages/lib/BaseSyncTarget.ts @@ -1,4 +1,4 @@ -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import Synchronizer from './Synchronizer'; import EncryptionService from './services/e2ee/EncryptionService'; import shim from './shim'; diff --git a/packages/lib/ClipperServer.ts b/packages/lib/ClipperServer.ts index e5998f0935..017d2c0d5c 100644 --- a/packages/lib/ClipperServer.ts +++ b/packages/lib/ClipperServer.ts @@ -1,5 +1,5 @@ import Setting from './models/Setting'; -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import Api, { RequestFile } from './services/rest/Api'; import ApiResponse from './services/rest/ApiResponse'; const urlParser = require('url'); diff --git a/packages/lib/DropboxApi.js b/packages/lib/DropboxApi.js index 80581b2e12..10323f4fe7 100644 --- a/packages/lib/DropboxApi.js +++ b/packages/lib/DropboxApi.js @@ -1,4 +1,4 @@ -const Logger = require('./Logger').default; +const Logger = require('@joplin/utils/Logger').default; const shim = require('./shim').default; const JoplinError = require('./JoplinError').default; const time = require('./time').default; diff --git a/packages/lib/JoplinServerApi.ts b/packages/lib/JoplinServerApi.ts index bc276e47bf..5bf29e310f 100644 --- a/packages/lib/JoplinServerApi.ts +++ b/packages/lib/JoplinServerApi.ts @@ -3,7 +3,7 @@ import { _ } from './locale'; const { rtrimSlashes } = require('./path-utils.js'); import JoplinError from './JoplinError'; import { Env } from './models/Setting'; -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import personalizedUserContentBaseUrl from './services/joplinServer/personalizedUserContentBaseUrl'; import { getHttpStatusMessage } from './net-utils'; const { stringify } = require('query-string'); diff --git a/packages/lib/SyncTargetJoplinServer.ts b/packages/lib/SyncTargetJoplinServer.ts index db73b8dac1..97b83bdfb5 100644 --- a/packages/lib/SyncTargetJoplinServer.ts +++ b/packages/lib/SyncTargetJoplinServer.ts @@ -5,7 +5,7 @@ import { _ } from './locale.js'; import JoplinServerApi from './JoplinServerApi'; import BaseSyncTarget from './BaseSyncTarget'; import { FileApi } from './file-api'; -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; const staticLogger = Logger.create('SyncTargetJoplinServer'); diff --git a/packages/lib/Synchronizer.ts b/packages/lib/Synchronizer.ts index f6a6d917e0..ea7aa6c48e 100644 --- a/packages/lib/Synchronizer.ts +++ b/packages/lib/Synchronizer.ts @@ -1,4 +1,4 @@ -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import LockHandler, { appTypeToLockType, hasActiveLock, LockClientType, LockType } from './services/synchronizer/LockHandler'; import Setting, { AppType } from './models/Setting'; import shim from './shim'; diff --git a/packages/lib/TaskQueue.ts b/packages/lib/TaskQueue.ts index b251dfd6ba..47077cddcc 100644 --- a/packages/lib/TaskQueue.ts +++ b/packages/lib/TaskQueue.ts @@ -1,6 +1,6 @@ import time from './time'; import Setting from './models/Setting'; -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; interface Task { id: string; diff --git a/packages/lib/WebDavApi.js b/packages/lib/WebDavApi.js index 096f661d7f..a3c9ca161c 100644 --- a/packages/lib/WebDavApi.js +++ b/packages/lib/WebDavApi.js @@ -1,4 +1,4 @@ -const Logger = require('./Logger').default; +const Logger = require('@joplin/utils/Logger').default; const shim = require('./shim').default; const parseXmlString = require('xml2js').parseString; const JoplinError = require('./JoplinError').default; diff --git a/packages/lib/components/shared/config-shared.js b/packages/lib/components/shared/config-shared.js index fadfc7797e..c0dbd72f10 100644 --- a/packages/lib/components/shared/config-shared.js +++ b/packages/lib/components/shared/config-shared.js @@ -3,7 +3,7 @@ const SyncTargetRegistry = require('../../SyncTargetRegistry').default; const ObjectUtils = require('../../ObjectUtils'); const { _ } = require('../../locale'); const { createSelector } = require('reselect'); -const Logger = require('../../Logger').default; +const Logger = require('@joplin/utils/Logger').default; const logger = Logger.create('config-shared'); diff --git a/packages/lib/database.ts b/packages/lib/database.ts index 9b2b5ab2ba..28f9b2fca0 100644 --- a/packages/lib/database.ts +++ b/packages/lib/database.ts @@ -1,4 +1,4 @@ -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import time from './time'; import shim from './shim'; diff --git a/packages/lib/file-api.ts b/packages/lib/file-api.ts index 1f134289b7..e695b56928 100644 --- a/packages/lib/file-api.ts +++ b/packages/lib/file-api.ts @@ -1,4 +1,4 @@ -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import shim from './shim'; import BaseItem from './models/BaseItem'; import time from './time'; diff --git a/packages/lib/geolocation-node.ts b/packages/lib/geolocation-node.ts index d1ac4fa6e1..43e43ff072 100644 --- a/packages/lib/geolocation-node.ts +++ b/packages/lib/geolocation-node.ts @@ -1,4 +1,4 @@ -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import shim from './shim'; const logger = Logger.create('geolocation-node'); diff --git a/packages/lib/models/Folder.ts b/packages/lib/models/Folder.ts index 8b55f6340b..5b78c66b25 100644 --- a/packages/lib/models/Folder.ts +++ b/packages/lib/models/Folder.ts @@ -7,7 +7,7 @@ import Database from '../database'; import BaseItem from './BaseItem'; import Resource from './Resource'; import { isRootSharedFolder } from '../services/share/reducer'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import syncDebugLog from '../services/synchronizer/syncDebugLog'; import ResourceService from '../services/ResourceService'; import { LoadOptions } from './utils/types'; diff --git a/packages/lib/models/Setting.test.ts b/packages/lib/models/Setting.test.ts index f8365359ba..9267014ce8 100644 --- a/packages/lib/models/Setting.test.ts +++ b/packages/lib/models/Setting.test.ts @@ -1,7 +1,7 @@ import Setting, { SettingItemType, SettingSectionSource, SettingStorage } from '../models/Setting'; import { setupDatabaseAndSynchronizer, switchClient, expectThrow, expectNotThrow, msleep } from '../testing/test-utils'; import { readFile, stat, mkdirp, writeFile, pathExists, readdir } from 'fs-extra'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import { defaultProfileConfig } from '../services/profileConfig/types'; import { createNewProfile, saveProfileConfig } from '../services/profileConfig'; import initProfile from '../services/profileConfig/initProfile'; diff --git a/packages/lib/models/Setting.ts b/packages/lib/models/Setting.ts index 0281541029..ecc2009a3a 100644 --- a/packages/lib/models/Setting.ts +++ b/packages/lib/models/Setting.ts @@ -6,7 +6,7 @@ import Database from '../database'; import SyncTargetRegistry from '../SyncTargetRegistry'; import time from '../time'; import FileHandler, { SettingValues } from './settings/FileHandler'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import mergeGlobalAndLocalSettings from '../services/profileConfig/mergeGlobalAndLocalSettings'; import splitGlobalAndLocalSettings from '../services/profileConfig/splitGlobalAndLocalSettings'; import JoplinError from '../JoplinError'; diff --git a/packages/lib/models/settings/FileHandler.ts b/packages/lib/models/settings/FileHandler.ts index 7f6601354f..ab90fc180c 100644 --- a/packages/lib/models/settings/FileHandler.ts +++ b/packages/lib/models/settings/FileHandler.ts @@ -1,4 +1,4 @@ -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import shim from '../../shim'; import Setting from '../Setting'; diff --git a/packages/lib/onedrive-api.ts b/packages/lib/onedrive-api.ts index 554282f3c9..f6d5152e9a 100644 --- a/packages/lib/onedrive-api.ts +++ b/packages/lib/onedrive-api.ts @@ -1,6 +1,6 @@ import shim from './shim'; import time from './time'; -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import { _ } from './locale'; const { stringify } = require('query-string'); diff --git a/packages/lib/react-logger.js b/packages/lib/react-logger.js index 08e1c9e78b..938ab215dc 100644 --- a/packages/lib/react-logger.js +++ b/packages/lib/react-logger.js @@ -1,4 +1,4 @@ -const Logger = require('./Logger').default; +const Logger = require('@joplin/utils/Logger').default; class ReactLogger extends Logger {} diff --git a/packages/lib/registry.ts b/packages/lib/registry.ts index 7bf067707f..13c8160b5c 100644 --- a/packages/lib/registry.ts +++ b/packages/lib/registry.ts @@ -1,4 +1,4 @@ -import Logger from './Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from './models/Setting'; import shim from './shim'; import SyncTargetRegistry from './SyncTargetRegistry'; diff --git a/packages/lib/services/AlarmService.ts b/packages/lib/services/AlarmService.ts index 0d7a11d5d0..25f6c8c445 100644 --- a/packages/lib/services/AlarmService.ts +++ b/packages/lib/services/AlarmService.ts @@ -1,4 +1,4 @@ -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import Alarm from '../models/Alarm'; import Note from '../models/Note'; diff --git a/packages/lib/services/BaseService.ts b/packages/lib/services/BaseService.ts index d0b5f2e84b..558337b966 100644 --- a/packages/lib/services/BaseService.ts +++ b/packages/lib/services/BaseService.ts @@ -1,4 +1,4 @@ -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; export default class BaseService { diff --git a/packages/lib/services/DecryptionWorker.ts b/packages/lib/services/DecryptionWorker.ts index 3e30ff0455..ae61500eea 100644 --- a/packages/lib/services/DecryptionWorker.ts +++ b/packages/lib/services/DecryptionWorker.ts @@ -3,7 +3,7 @@ import BaseModel from '../BaseModel'; import MasterKey from '../models/MasterKey'; import Resource from '../models/Resource'; import ResourceService from './ResourceService'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import shim from '../shim'; import KvStore from './KvStore'; import EncryptionService from './e2ee/EncryptionService'; diff --git a/packages/lib/services/ExternalEditWatcher.ts b/packages/lib/services/ExternalEditWatcher.ts index 31a6b9f00e..f6d57a3029 100644 --- a/packages/lib/services/ExternalEditWatcher.ts +++ b/packages/lib/services/ExternalEditWatcher.ts @@ -1,4 +1,4 @@ -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '../models/Setting'; import shim from '../shim'; import { basename, toSystemSlashes } from '../path-utils'; diff --git a/packages/lib/services/ExternalEditWatcher/utils.ts b/packages/lib/services/ExternalEditWatcher/utils.ts index ade384e5a5..a0ecb41410 100644 --- a/packages/lib/services/ExternalEditWatcher/utils.ts +++ b/packages/lib/services/ExternalEditWatcher/utils.ts @@ -2,7 +2,7 @@ import { splitCommandString } from '@joplin/utils'; import { spawn } from 'child_process'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '../../models/Setting'; import { fileExtension } from '../../path-utils'; import shim from '../../shim'; diff --git a/packages/lib/services/PluginManager.js b/packages/lib/services/PluginManager.js index f8c6e04577..e28389a3e5 100644 --- a/packages/lib/services/PluginManager.js +++ b/packages/lib/services/PluginManager.js @@ -1,4 +1,4 @@ -const Logger = require('../Logger').default; +const Logger = require('@joplin/utils/Logger').default; class PluginManager { constructor() { diff --git a/packages/lib/services/PostMessageService.ts b/packages/lib/services/PostMessageService.ts index 1c5a8541f0..67a8241e5d 100644 --- a/packages/lib/services/PostMessageService.ts +++ b/packages/lib/services/PostMessageService.ts @@ -22,7 +22,7 @@ // another location, when the response is received, it resolves that promise. // See UserWebviewIndex.js to see how it's done. -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import PluginService from './plugins/PluginService'; const logger = Logger.create('PostMessageService'); diff --git a/packages/lib/services/ResourceEditWatcher/index.ts b/packages/lib/services/ResourceEditWatcher/index.ts index b1e9dd1f89..3a20c8e0d0 100644 --- a/packages/lib/services/ResourceEditWatcher/index.ts +++ b/packages/lib/services/ResourceEditWatcher/index.ts @@ -2,7 +2,7 @@ import AsyncActionQueue from '../../AsyncActionQueue'; import shim from '../../shim'; import { _ } from '../../locale'; import { toSystemSlashes } from '../../path-utils'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '../../models/Setting'; import Resource from '../../models/Resource'; import { ResourceEntity } from '../database/types'; diff --git a/packages/lib/services/ResourceFetcher.ts b/packages/lib/services/ResourceFetcher.ts index f54295c9bb..49d58cf882 100644 --- a/packages/lib/services/ResourceFetcher.ts +++ b/packages/lib/services/ResourceFetcher.ts @@ -2,7 +2,7 @@ import Resource from '../models/Resource'; import Setting from '../models/Setting'; import BaseService from './BaseService'; import ResourceService from './ResourceService'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import shim from '../shim'; const { Dirnames } = require('./synchronizer/utils/types'); const EventEmitter = require('events'); diff --git a/packages/lib/services/RevisionService.ts b/packages/lib/services/RevisionService.ts index 397d8b11ef..8d19b12c3b 100644 --- a/packages/lib/services/RevisionService.ts +++ b/packages/lib/services/RevisionService.ts @@ -9,7 +9,7 @@ import shim from '../shim'; import BaseService from './BaseService'; import { _ } from '../locale'; import { ItemChangeEntity, NoteEntity, RevisionEntity } from './database/types'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; import { MarkupLanguage } from '../../renderer'; const { substrWithEllipsis } = require('../string-utils'); const { sprintf } = require('sprintf-js'); diff --git a/packages/lib/services/e2ee/EncryptionService.ts b/packages/lib/services/e2ee/EncryptionService.ts index 3e835a7539..bb5a607a53 100644 --- a/packages/lib/services/e2ee/EncryptionService.ts +++ b/packages/lib/services/e2ee/EncryptionService.ts @@ -1,5 +1,5 @@ import { MasterKeyEntity } from './types'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import shim from '../../shim'; import Setting from '../../models/Setting'; import MasterKey from '../../models/MasterKey'; diff --git a/packages/lib/services/e2ee/utils.ts b/packages/lib/services/e2ee/utils.ts index ff362fc6d7..38c04bc0c3 100644 --- a/packages/lib/services/e2ee/utils.ts +++ b/packages/lib/services/e2ee/utils.ts @@ -1,4 +1,4 @@ -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import BaseItem from '../../models/BaseItem'; import MasterKey from '../../models/MasterKey'; import Setting from '../../models/Setting'; diff --git a/packages/lib/services/plugins/Plugin.ts b/packages/lib/services/plugins/Plugin.ts index 95fe3995c7..4cbd572b67 100644 --- a/packages/lib/services/plugins/Plugin.ts +++ b/packages/lib/services/plugins/Plugin.ts @@ -3,7 +3,7 @@ import ViewController from './ViewController'; import shim from '../../shim'; import { ViewHandle } from './utils/createViewHandle'; import { ContentScriptType } from './api/types'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; const EventEmitter = require('events'); const logger = Logger.create('Plugin'); diff --git a/packages/lib/services/plugins/PluginService.ts b/packages/lib/services/plugins/PluginService.ts index 7f4759e1e2..7de8cb612d 100644 --- a/packages/lib/services/plugins/PluginService.ts +++ b/packages/lib/services/plugins/PluginService.ts @@ -6,7 +6,7 @@ import BaseService from '../BaseService'; import shim from '../../shim'; import { filename, dirname, rtrimSlashes } from '../../path-utils'; import Setting from '../../models/Setting'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import RepositoryApi from './RepositoryApi'; import produce from 'immer'; const compareVersions = require('compare-versions'); diff --git a/packages/lib/services/plugins/RepositoryApi.ts b/packages/lib/services/plugins/RepositoryApi.ts index ff28aacafd..4caf881cce 100644 --- a/packages/lib/services/plugins/RepositoryApi.ts +++ b/packages/lib/services/plugins/RepositoryApi.ts @@ -1,4 +1,4 @@ -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import shim from '../../shim'; import { PluginManifest } from './utils/types'; const md5 = require('md5'); diff --git a/packages/lib/services/plugins/api/JoplinPlugins.ts b/packages/lib/services/plugins/api/JoplinPlugins.ts index 9161c79ab9..56aa9cc1dc 100644 --- a/packages/lib/services/plugins/api/JoplinPlugins.ts +++ b/packages/lib/services/plugins/api/JoplinPlugins.ts @@ -1,7 +1,7 @@ /* eslint-disable multiline-comment-style */ import Plugin from '../Plugin'; -import Logger from '../../../Logger'; +import Logger from '@joplin/utils/Logger'; import { ContentScriptType, Script } from './types'; const logger = Logger.create('joplin.plugins'); diff --git a/packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.ts b/packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.ts index 122d37d7e8..a08249fd27 100644 --- a/packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.ts +++ b/packages/lib/services/plugins/defaultPlugins/defaultPluginsUtils.ts @@ -3,7 +3,7 @@ import path = require('path'); import Setting from '../../../models/Setting'; import shim from '../../../shim'; import PluginService, { defaultPluginSetting, DefaultPluginsInfo, PluginSettings } from '../PluginService'; -import Logger from '../../../Logger'; +import Logger from '@joplin/utils/Logger'; import * as React from 'react'; const shared = require('../../../components/shared/config-shared.js'); diff --git a/packages/lib/services/plugins/utils/loadContentScripts.ts b/packages/lib/services/plugins/utils/loadContentScripts.ts index 9f1fbabda0..3355423b21 100644 --- a/packages/lib/services/plugins/utils/loadContentScripts.ts +++ b/packages/lib/services/plugins/utils/loadContentScripts.ts @@ -2,7 +2,7 @@ import { PluginStates } from '../reducer'; import { ContentScriptType, ContentScriptContext, PostMessageHandler } from '../api/types'; import { dirname } from '@joplin/renderer/pathUtils'; import shim from '../../../shim'; -import Logger from '../../../Logger'; +import Logger from '@joplin/utils/Logger'; import PluginService from '../PluginService'; const logger = Logger.create('loadContentScripts'); diff --git a/packages/lib/services/profileConfig/mergeGlobalAndLocalSettings.ts b/packages/lib/services/profileConfig/mergeGlobalAndLocalSettings.ts index 3a637fe6eb..e1f9a4d01f 100644 --- a/packages/lib/services/profileConfig/mergeGlobalAndLocalSettings.ts +++ b/packages/lib/services/profileConfig/mergeGlobalAndLocalSettings.ts @@ -1,4 +1,4 @@ -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import Setting from '../../models/Setting'; const logger = Logger.create('mergeGlobalAndLocalSettings'); diff --git a/packages/lib/services/rest/routes/notes.ts b/packages/lib/services/rest/routes/notes.ts index 33e3b59a16..828265ca19 100644 --- a/packages/lib/services/rest/routes/notes.ts +++ b/packages/lib/services/rest/routes/notes.ts @@ -21,7 +21,7 @@ const md5 = require('md5'); import HtmlToMd from '../../../HtmlToMd'; const urlUtils = require('../../../urlUtils.js'); import * as ArrayUtils from '../../../ArrayUtils'; -import Logger from '../../../Logger'; +import Logger from '@joplin/utils/Logger'; const { mimeTypeFromHeaders } = require('../../../net-utils'); const { fileExtension, safeFileExtension, safeFilename, filename } = require('../../../path-utils'); const { fileUriToPath } = require('../../../urlUtils'); diff --git a/packages/lib/services/searchengine/SearchEngine.ts b/packages/lib/services/searchengine/SearchEngine.ts index fcaf941db6..26e21b658c 100644 --- a/packages/lib/services/searchengine/SearchEngine.ts +++ b/packages/lib/services/searchengine/SearchEngine.ts @@ -1,4 +1,4 @@ -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import ItemChange from '../../models/ItemChange'; import Setting from '../../models/Setting'; import Note from '../../models/Note'; diff --git a/packages/lib/services/share/ShareService.test.ts b/packages/lib/services/share/ShareService.test.ts index 2d1e4d2224..6ecfba4586 100644 --- a/packages/lib/services/share/ShareService.test.ts +++ b/packages/lib/services/share/ShareService.test.ts @@ -10,7 +10,7 @@ import { generateKeyPair } from '../e2ee/ppk'; import MasterKey from '../../models/MasterKey'; import { MasterKeyEntity } from '../e2ee/types'; import { loadMasterKeysFromSettings, setupAndEnableEncryption, updateMasterPassword } from '../e2ee/utils'; -import Logger, { LogLevel } from '../../Logger'; +import Logger, { LogLevel } from '@joplin/utils/Logger'; import shim from '../../shim'; import Resource from '../../models/Resource'; import { readFile } from 'fs-extra'; diff --git a/packages/lib/services/share/ShareService.ts b/packages/lib/services/share/ShareService.ts index b4e3cd38ef..497b67de32 100644 --- a/packages/lib/services/share/ShareService.ts +++ b/packages/lib/services/share/ShareService.ts @@ -1,7 +1,7 @@ import { Store } from 'redux'; import JoplinServerApi from '../../JoplinServerApi'; import { _ } from '../../locale'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import Folder from '../../models/Folder'; import MasterKey from '../../models/MasterKey'; import Note from '../../models/Note'; diff --git a/packages/lib/services/share/reducer.ts b/packages/lib/services/share/reducer.ts index d6e707fc1c..a6b1ec56c2 100644 --- a/packages/lib/services/share/reducer.ts +++ b/packages/lib/services/share/reducer.ts @@ -2,7 +2,7 @@ import { State as RootState } from '../../reducer'; import { Draft } from 'immer'; import { FolderEntity } from '../database/types'; import { MasterKeyEntity } from '../e2ee/types'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('share/reducer'); diff --git a/packages/lib/services/synchronizer/ItemUploader.ts b/packages/lib/services/synchronizer/ItemUploader.ts index 35b32d9700..812de937ce 100644 --- a/packages/lib/services/synchronizer/ItemUploader.ts +++ b/packages/lib/services/synchronizer/ItemUploader.ts @@ -1,7 +1,7 @@ import { ModelType } from '../../BaseModel'; import { FileApi, MultiPutItem } from '../../file-api'; import JoplinError from '../../JoplinError'; -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; import BaseItem from '../../models/BaseItem'; import { BaseItemEntity } from '../database/types'; import { ApiCallFunction } from './utils/types'; diff --git a/packages/lib/services/synchronizer/syncDebugLog.ts b/packages/lib/services/synchronizer/syncDebugLog.ts index 8bcdea61c9..1d2c123129 100644 --- a/packages/lib/services/synchronizer/syncDebugLog.ts +++ b/packages/lib/services/synchronizer/syncDebugLog.ts @@ -2,7 +2,7 @@ // related events. In particular, it logs notes and folders being saved, and the // relevant sync operations. Enable it in app.ts -import Logger from '../../Logger'; +import Logger from '@joplin/utils/Logger'; const syncDebugLog = new Logger(); diff --git a/packages/lib/services/synchronizer/utils/handleConflictAction.ts b/packages/lib/services/synchronizer/utils/handleConflictAction.ts index 601028d132..1862d60aa7 100644 --- a/packages/lib/services/synchronizer/utils/handleConflictAction.ts +++ b/packages/lib/services/synchronizer/utils/handleConflictAction.ts @@ -1,5 +1,5 @@ import { Dispatch } from 'redux'; -import Logger from '../../../Logger'; +import Logger from '@joplin/utils/Logger'; import BaseItem from '../../../models/BaseItem'; import ItemChange from '../../../models/ItemChange'; import Note from '../../../models/Note'; diff --git a/packages/lib/services/synchronizer/utils/handleSyncStartupOperation.ts b/packages/lib/services/synchronizer/utils/handleSyncStartupOperation.ts index ff78b9821f..fabaece2d5 100644 --- a/packages/lib/services/synchronizer/utils/handleSyncStartupOperation.ts +++ b/packages/lib/services/synchronizer/utils/handleSyncStartupOperation.ts @@ -1,7 +1,7 @@ import Setting, { SyncStartupOperation } from '../../../models/Setting'; import { clearLocalDataForRedownload, clearLocalSyncStateForReupload } from '../tools'; import { reg } from '../../../registry'; -import Logger from '../../../Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('handleSyncStartupOperation'); diff --git a/packages/lib/testing/test-utils.ts b/packages/lib/testing/test-utils.ts index ef6a8727d5..537b0729f8 100644 --- a/packages/lib/testing/test-utils.ts +++ b/packages/lib/testing/test-utils.ts @@ -1,7 +1,7 @@ /* eslint-disable require-atomic-updates */ import BaseApplication from '../BaseApplication'; import BaseModel from '../BaseModel'; -import Logger, { TargetType, LoggerWrapper, LogLevel } from '../Logger'; +import Logger, { TargetType, LoggerWrapper, LogLevel } from '@joplin/utils/Logger'; import Setting from '../models/Setting'; import BaseService from '../services/BaseService'; import FsDriverNode from '../fs-driver-node'; diff --git a/packages/lib/utils/userFetcher.ts b/packages/lib/utils/userFetcher.ts index 884ec0e7ef..4385fcd59c 100644 --- a/packages/lib/utils/userFetcher.ts +++ b/packages/lib/utils/userFetcher.ts @@ -2,7 +2,7 @@ import SyncTargetRegistry from '../SyncTargetRegistry'; import eventManager from '../eventManager'; import Setting from '../models/Setting'; import { reg } from '../registry'; -import Logger from '../Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('userFetcher'); diff --git a/packages/server/package.json b/packages/server/package.json index fd7e8586b0..1833321214 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -25,6 +25,7 @@ "@fortawesome/fontawesome-free": "5.15.4", "@joplin/lib": "~2.12", "@joplin/renderer": "~2.12", + "@joplin/utils": "~2.12", "@koa/cors": "3.4.3", "@types/uuid": "9.0.1", "bcryptjs": "2.4.3", diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index e273fff88f..1768cf35cb 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -3,7 +3,7 @@ require('source-map-support').install(); import * as Koa from 'koa'; import * as fs from 'fs-extra'; -import Logger, { LoggerWrapper, TargetType } from '@joplin/lib/Logger'; +import Logger, { LoggerWrapper, TargetType } from '@joplin/utils/Logger'; import config, { fullVersionString, initConfig, runningInDocker } from './config'; import { migrateLatest, waitForConnection, sqliteDefaultDir, latestMigration } from './db'; import { AppContext, Env, KoaNext } from './utils/types'; diff --git a/packages/server/src/commands/MigrateCommand.ts b/packages/server/src/commands/MigrateCommand.ts index 599db58777..f58e375eec 100644 --- a/packages/server/src/commands/MigrateCommand.ts +++ b/packages/server/src/commands/MigrateCommand.ts @@ -1,5 +1,5 @@ import { PositionalOptions, Options } from 'yargs'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { disconnectDb, migrateDown, migrateLatest, migrateList, migrateUnlock, migrateUp } from '../db'; import BaseCommand, { RunContext } from './BaseCommand'; diff --git a/packages/server/src/commands/StorageCommand.ts b/packages/server/src/commands/StorageCommand.ts index 0e4640bf8e..3b9fa13948 100644 --- a/packages/server/src/commands/StorageCommand.ts +++ b/packages/server/src/commands/StorageCommand.ts @@ -1,5 +1,5 @@ import { PositionalOptions, Options } from 'yargs'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import BaseCommand, { RunContext } from './BaseCommand'; import parseStorageConnectionString from '../models/items/storage/parseStorageConnectionString'; import storageConnectionCheck from '../utils/storageConnectionCheck'; diff --git a/packages/server/src/db.ts b/packages/server/src/db.ts index 49eaad38d7..f8b16973a7 100644 --- a/packages/server/src/db.ts +++ b/packages/server/src/db.ts @@ -2,7 +2,7 @@ import { knex, Knex } from 'knex'; import { DatabaseConfig, DatabaseConfigClient } from './utils/types'; import * as pathUtils from 'path'; import time from '@joplin/lib/time'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { databaseSchema } from './services/database/types'; // Make sure bigInteger values are numbers and not strings diff --git a/packages/server/src/middleware/notificationHandler.ts b/packages/server/src/middleware/notificationHandler.ts index f53c79d655..f75ace2b3e 100644 --- a/packages/server/src/middleware/notificationHandler.ts +++ b/packages/server/src/middleware/notificationHandler.ts @@ -3,7 +3,7 @@ import { isApiRequest } from '../utils/requestUtils'; import { NotificationLevel } from '../services/database/types'; import { defaultAdminEmail, defaultAdminPassword } from '../db'; import { _ } from '@joplin/lib/locale'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { NotificationKey } from '../models/NotificationModel'; import { helpUrl, profileUrl } from '../utils/urlUtils'; import { userFlagToString } from '../models/UserFlagModel'; diff --git a/packages/server/src/models/BaseModel.ts b/packages/server/src/models/BaseModel.ts index 49a97fcfc8..6ea0d852d7 100644 --- a/packages/server/src/models/BaseModel.ts +++ b/packages/server/src/models/BaseModel.ts @@ -6,7 +6,7 @@ import { ErrorUnprocessableEntity, ErrorBadRequest } from '../utils/errors'; import { Models, NewModelFactoryHandler } from './factory'; import { Config, Env } from '../utils/types'; import personalizedUserContentBaseUrl from '@joplin/lib/services/joplinServer/personalizedUserContentBaseUrl'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import dbuuid from '../utils/dbuuid'; import { defaultPagination, PaginatedResults, Pagination } from './utils/pagination'; import { Knex } from 'knex'; diff --git a/packages/server/src/models/ChangeModel.ts b/packages/server/src/models/ChangeModel.ts index ee4a49eb9a..963f27182c 100644 --- a/packages/server/src/models/ChangeModel.ts +++ b/packages/server/src/models/ChangeModel.ts @@ -1,5 +1,5 @@ import { Knex } from 'knex'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { SqliteMaxVariableNum } from '../db'; import { Change, ChangeType, Item, Uuid } from '../services/database/types'; import { md5 } from '../utils/crypto'; diff --git a/packages/server/src/models/ItemModel.ts b/packages/server/src/models/ItemModel.ts index 582ac0016d..95a0a67773 100644 --- a/packages/server/src/models/ItemModel.ts +++ b/packages/server/src/models/ItemModel.ts @@ -13,7 +13,7 @@ import { Config, StorageDriverConfig, StorageDriverMode } from '../utils/types'; import { NewModelFactoryHandler } from './factory'; import loadStorageDriver from './items/storage/loadStorageDriver'; import { msleep } from '../utils/time'; -import Logger, { LoggerWrapper } from '@joplin/lib/Logger'; +import Logger, { LoggerWrapper } from '@joplin/utils/Logger'; import prettyBytes = require('pretty-bytes'); const mimeUtils = require('@joplin/lib/mime-utils.js').mime; diff --git a/packages/server/src/models/ShareModel.ts b/packages/server/src/models/ShareModel.ts index dba25efe08..b9be180ec6 100644 --- a/packages/server/src/models/ShareModel.ts +++ b/packages/server/src/models/ShareModel.ts @@ -7,7 +7,7 @@ import BaseModel, { AclAction, DeleteOptions, ValidateOptions } from './BaseMode import { userIdFromUserContentUrl } from '../utils/routeUtils'; import { getCanShareFolder } from './utils/user'; import { isUniqueConstraintError } from '../db'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('ShareModel'); diff --git a/packages/server/src/models/UserFlagModel.ts b/packages/server/src/models/UserFlagModel.ts index 8e8427cea6..920997e576 100644 --- a/packages/server/src/models/UserFlagModel.ts +++ b/packages/server/src/models/UserFlagModel.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { isUniqueConstraintError } from '../db'; import { User, UserFlag, UserFlagType, userFlagTypeToLabel, Uuid } from '../services/database/types'; import { formatDateTime } from '../utils/time'; diff --git a/packages/server/src/models/UserModel.ts b/packages/server/src/models/UserModel.ts index 0b90ab9c1f..7d039b3402 100644 --- a/packages/server/src/models/UserModel.ts +++ b/packages/server/src/models/UserModel.ts @@ -14,7 +14,7 @@ import accountConfirmationTemplate from '../views/emails/accountConfirmationTemp import resetPasswordTemplate from '../views/emails/resetPasswordTemplate'; import { betaStartSubUrl, betaUserDateRange, betaUserTrialPeriodDays, isBetaUser, stripeConfig } from '../utils/stripe'; import endOfBetaTemplate from '../views/emails/endOfBetaTemplate'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { PublicPrivateKeyPair } from '@joplin/lib/services/e2ee/ppk'; import paymentFailedUploadDisabledTemplate from '../views/emails/paymentFailedUploadDisabledTemplate'; import oversizedAccount1 from '../views/emails/oversizedAccount1'; diff --git a/packages/server/src/routes/index/password.ts b/packages/server/src/routes/index/password.ts index 57da1bfc5e..0338a2fec4 100644 --- a/packages/server/src/routes/index/password.ts +++ b/packages/server/src/routes/index/password.ts @@ -6,7 +6,7 @@ import { ErrorNotFound } from '../../utils/errors'; import defaultView from '../../utils/defaultView'; import { forgotPasswordUrl, resetPasswordUrl } from '../../utils/urlUtils'; import { bodyFields } from '../../utils/requestUtils'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; const logger = Logger.create('index/password'); diff --git a/packages/server/src/routes/index/stripe.ts b/packages/server/src/routes/index/stripe.ts index e899050089..52473221ae 100644 --- a/packages/server/src/routes/index/stripe.ts +++ b/packages/server/src/routes/index/stripe.ts @@ -6,7 +6,7 @@ import { bodyFields } from '../../utils/requestUtils'; import globalConfig from '../../config'; import { ErrorBadRequest, ErrorForbidden, ErrorNotFound } from '../../utils/errors'; import { Stripe } from 'stripe'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import getRawBody = require('raw-body'); import { AccountType } from '../../models/UserModel'; import { betaUserTrialPeriodDays, cancelSubscription, initStripe, isBetaUser, priceIdToAccountType, stripeConfig } from '../../utils/stripe'; diff --git a/packages/server/src/services/BaseService.ts b/packages/server/src/services/BaseService.ts index 2f8b2045cc..9411915552 100644 --- a/packages/server/src/services/BaseService.ts +++ b/packages/server/src/services/BaseService.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { Models } from '../models/factory'; import { msleep } from '../utils/time'; import { Config, Env } from '../utils/types'; diff --git a/packages/server/src/services/EmailService.ts b/packages/server/src/services/EmailService.ts index 9d973587b9..6f805c3909 100644 --- a/packages/server/src/services/EmailService.ts +++ b/packages/server/src/services/EmailService.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import BaseService from './BaseService'; import Mail = require('nodemailer/lib/mailer'); import SMTPTransport = require('nodemailer/lib/smtp-transport'); diff --git a/packages/server/src/services/TaskService.ts b/packages/server/src/services/TaskService.ts index d316f56461..69216ab0f2 100644 --- a/packages/server/src/services/TaskService.ts +++ b/packages/server/src/services/TaskService.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { Models } from '../models/factory'; import { Config, Env } from '../utils/types'; import BaseService from './BaseService'; diff --git a/packages/server/src/services/UserDeletionService.ts b/packages/server/src/services/UserDeletionService.ts index b585b1049e..cd91ec2c82 100644 --- a/packages/server/src/services/UserDeletionService.ts +++ b/packages/server/src/services/UserDeletionService.ts @@ -1,4 +1,4 @@ -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import { Pagination } from '../models/utils/pagination'; import { Day, msleep } from '../utils/time'; import BaseService from './BaseService'; diff --git a/packages/server/src/utils/joplinUtils.ts b/packages/server/src/utils/joplinUtils.ts index 5ca7135b48..e07a9aca0f 100644 --- a/packages/server/src/utils/joplinUtils.ts +++ b/packages/server/src/utils/joplinUtils.ts @@ -23,7 +23,7 @@ import { themeStyle } from '@joplin/lib/theme'; import Setting from '@joplin/lib/models/Setting'; import { Models } from '../models/factory'; import MustacheService from '../services/MustacheService'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import config from '../config'; import { TreeItem } from '../models/ItemResourceModel'; const { substrWithEllipsis } = require('@joplin/lib/string-utils'); diff --git a/packages/server/src/utils/setupAppContext.ts b/packages/server/src/utils/setupAppContext.ts index 9e6bc15c0e..ff571fb813 100644 --- a/packages/server/src/utils/setupAppContext.ts +++ b/packages/server/src/utils/setupAppContext.ts @@ -1,4 +1,4 @@ -import { LoggerWrapper } from '@joplin/lib/Logger'; +import { LoggerWrapper } from '@joplin/utils/Logger'; import config from '../config'; import { DbConnection } from '../db'; import newModelFactory, { Models } from '../models/factory'; diff --git a/packages/server/src/utils/testing/testUtils.ts b/packages/server/src/utils/testing/testUtils.ts index 4cfc1a436f..c83d7a7d7e 100644 --- a/packages/server/src/utils/testing/testUtils.ts +++ b/packages/server/src/utils/testing/testUtils.ts @@ -4,7 +4,7 @@ import { createDb, CreateDbOptions } from '../../tools/dbTools'; import modelFactory from '../../models/factory'; import { AppContext, Env } from '../types'; import config, { initConfig } from '../../config'; -import Logger from '@joplin/lib/Logger'; +import Logger from '@joplin/utils/Logger'; import FakeCookies from './koa/FakeCookies'; import FakeRequest from './koa/FakeRequest'; import FakeResponse from './koa/FakeResponse'; diff --git a/packages/server/src/utils/types.ts b/packages/server/src/utils/types.ts index 4cfd519bea..6be254d4ee 100644 --- a/packages/server/src/utils/types.ts +++ b/packages/server/src/utils/types.ts @@ -1,4 +1,4 @@ -import { LoggerWrapper } from '@joplin/lib/Logger'; +import { LoggerWrapper } from '@joplin/utils/Logger'; import { StripePublicConfig } from '@joplin/lib/utils/joplinCloud'; import * as Koa from 'koa'; import { User, Uuid } from '../services/database/types'; diff --git a/packages/lib/Logger.ts b/packages/utils/Logger.ts similarity index 91% rename from packages/lib/Logger.ts rename to packages/utils/Logger.ts index 66fdf66db6..7471d42ee8 100644 --- a/packages/lib/Logger.ts +++ b/packages/utils/Logger.ts @@ -1,6 +1,4 @@ const moment = require('moment'); -import time from './time'; -const { FsDriverDummy } = require('./fs-driver-dummy.js'); const { sprintf } = require('sprintf-js'); const Mutex = require('async-mutex').Mutex; @@ -50,6 +48,14 @@ export interface LoggerWrapper { error: Function; } +interface FsDriver { + appendFile: (path: string, content: string, encoding: string)=> Promise; +} + +const dummyFsDriver: FsDriver = { + appendFile: async (_path: string, _content: string, _encoding: string) => {}, +}; + class Logger { // For backward compatibility @@ -59,16 +65,16 @@ class Logger { public static LEVEL_INFO = LogLevel.Info; public static LEVEL_DEBUG = LogLevel.Debug; - public static fsDriver_: any = null; - private static globalLogger_: Logger = null; + public static fsDriver_: FsDriver|null = null; + private static globalLogger_: Logger|null = null; private targets_: Target[] = []; private level_: LogLevel = LogLevel.Info; - private lastDbCleanup_: number = time.unixMs(); + private lastDbCleanup_: number = Date.now(); private enabled_ = true; public static fsDriver() { - if (!Logger.fsDriver_) Logger.fsDriver_ = new FsDriverDummy(); + if (!Logger.fsDriver_) Logger.fsDriver_ = dummyFsDriver; return Logger.fsDriver_; } @@ -130,7 +136,7 @@ class Logger { return this.targets_; } - public addTarget(type: TargetType, options: TargetOptions = null) { + public addTarget(type: TargetType, options: TargetOptions|null = null) { const target = { type: type }; for (const n in options) { if (!options.hasOwnProperty(n)) continue; @@ -199,12 +205,12 @@ class Logger { return []; } - public targetLevel(target: Target) { - if ('level' in target) return target.level; + public targetLevel(target: Target): LogLevel { + if ('level' in target) return target.level as LogLevel; return this.level(); } - public log(level: LogLevel, prefix: string, ...object: any[]) { + public log(level: LogLevel, prefix: string | null, ...object: any[]) { if (!this.targets_.length || !this.enabled) return; for (let i = 0; i < this.targets_.length; i++) { @@ -253,11 +259,11 @@ class Logger { // when many log operations are being done (eg. during sync in // dev mode). // eslint-disable-next-line @typescript-eslint/ban-types -- Old code before rule was applied - let release: Function = null; + let release: Function|null = null; /* eslint-disable-next-line promise/prefer-await-to-then, @typescript-eslint/ban-types -- Old code before rule was applied, Old code before rule was applied */ writeToFileMutex_.acquire().then((r: Function) => { release = r; - return Logger.fsDriver().appendFile(target.path, `${line.join(': ')}\n`, 'utf8'); + return Logger.fsDriver().appendFile(target.path as string, `${line.join(': ')}\n`, 'utf8'); // eslint-disable-next-line promise/prefer-await-to-then -- Old code before rule was applied }).catch((error: any) => { console.error('Cannot write to log file:', error); @@ -273,11 +279,11 @@ class Logger { const queries = [ { sql: 'INSERT INTO logs (`source`, `level`, `message`, `timestamp`) VALUES (?, ?, ?, ?)', - params: [target.source, level, msg.join(': '), time.unixMs()], + params: [target.source, level, msg.join(': '), Date.now()], }, ]; - const now = time.unixMs(); + const now = Date.now(); if (now - this.lastDbCleanup_ > 1000 * 60 * 60) { this.lastDbCleanup_ = now; const dayKeep = 14; diff --git a/packages/utils/package.json b/packages/utils/package.json index 2c9d6f0d66..bae4915011 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -6,7 +6,8 @@ "exports": { ".": "./dist/index.js", "./net": "./dist/net.js", - "./fs": "./dist/fs.js" + "./fs": "./dist/fs.js", + "./Logger": "./dist/Logger.js" }, "publishConfig": { "access": "public" @@ -20,10 +21,13 @@ "author": "", "license": "AGPL-3.0-or-later", "dependencies": { + "async-mutex": "0.4.0", "execa": "5.1.1", "fs-extra": "11.1.1", "glob": "10.2.7", - "node-fetch": "2.6.7" + "moment": "2.29.4", + "node-fetch": "2.6.7", + "sprintf-js": "1.1.2" }, "devDependencies": { "@types/fs-extra": "11.0.1", diff --git a/yarn.lock b/yarn.lock index 430f5c341d..bcb752f195 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4443,6 +4443,7 @@ __metadata: "@joplin/lib": ~2.12 "@joplin/renderer": ~2.12 "@joplin/tools": ~2.12 + "@joplin/utils": ~2.12 "@testing-library/react-hooks": 8.0.1 "@types/jest": 29.5.1 "@types/node": 18.15.13 @@ -4530,6 +4531,7 @@ __metadata: "@joplin/react-native-saf-x": ~2.12 "@joplin/renderer": ~2.12 "@joplin/tools": ~2.12 + "@joplin/utils": ~2.12 "@lezer/highlight": 1.1.4 "@react-native-community/clipboard": 1.5.1 "@react-native-community/datetimepicker": 7.1.0 @@ -4890,6 +4892,7 @@ __metadata: "@joplin/lib": ~2.12 "@joplin/renderer": ~2.12 "@joplin/tools": ~2.12 + "@joplin/utils": ~2.12 "@koa/cors": 3.4.3 "@rmp135/sql-ts": 1.17.0 "@types/formidable": 2.0.6 @@ -5033,11 +5036,14 @@ __metadata: "@types/fs-extra": 11.0.1 "@types/jest": 29.5.1 "@types/node-fetch": 2.6.3 + async-mutex: 0.4.0 execa: 5.1.1 fs-extra: 11.1.1 glob: 10.2.7 jest: 29.5.0 + moment: 2.29.4 node-fetch: 2.6.7 + sprintf-js: 1.1.2 ts-jest: 29.1.0 languageName: unknown linkType: soft